mirror of https://github.com/halo-dev/halo
31 lines
767 B
Vue
31 lines
767 B
Vue
![]() |
<script lang="ts" setup>
|
||
|
import { VEntityField, VSwitch } from "@halo-dev/components";
|
||
|
import type { Plugin } from "@halo-dev/api-client";
|
||
|
import { usePluginLifeCycle } from "../../composables/use-plugin";
|
||
|
import { toRefs } from "vue";
|
||
|
const props = withDefaults(
|
||
|
defineProps<{
|
||
|
plugin: Plugin;
|
||
|
}>(),
|
||
|
{}
|
||
|
);
|
||
|
|
||
|
const { plugin } = toRefs(props);
|
||
|
|
||
|
const { changingStatus, changeStatus } = usePluginLifeCycle(plugin);
|
||
|
</script>
|
||
|
|
||
|
<template>
|
||
|
<VEntityField v-permission="['system:plugins:manage']">
|
||
|
<template #description>
|
||
|
<div class="flex items-center">
|
||
|
<VSwitch
|
||
|
:model-value="plugin.spec.enabled"
|
||
![]() |
:loading="changingStatus"
|
||
![]() |
@click="changeStatus"
|
||
|
/>
|
||
|
</div>
|
||
|
</template>
|
||
|
</VEntityField>
|
||
|
</template>
|