vuepress-theme-hope
Version:
A light vuepress theme with tons of features
30 lines • 1.16 kB
JavaScript
import { defineComponent, h, onMounted, ref } from "vue";
import MainFadeInUpTransition from "@theme-hope/components/base/MainFadeInUpTransition";
import PasswordModal from "@theme-hope/components/encrypt/PasswordModal";
import { useGlobalEncrypt } from "@theme-hope/composables/encrypt/useGlobalEncrypt";
export default defineComponent({
name: "GlobalEncrypt",
slots: Object,
setup(_props, { slots }) {
const { status, validate } = useGlobalEncrypt();
const isMounted = ref(false);
onMounted(() => {
isMounted.value = true;
});
return () => {
const { isEncrypted, isLocked, hint } = status.value;
return h(MainFadeInUpTransition, () => isEncrypted
? isMounted.value
? isLocked
? h(PasswordModal, {
full: true,
hint,
onVerify: validate,
})
: slots.default()
: null
: slots.default());
};
},
});
//# sourceMappingURL=GlobalEncrypt.js.map