1
0
mirror of https://github.com/elk-zone/elk synced 2024-12-05 02:08:09 +09:00
elk/composables/dialog.ts

44 lines
1.2 KiB
TypeScript
Raw Normal View History

2022-11-24 23:32:20 +09:00
import type { Draft } from './statusDrafts'
2022-11-24 13:21:30 +09:00
import { STORAGE_KEY_FIRST_VISIT, STORAGE_KEY_ZEN_MODE } from '~/constants'
2022-11-24 11:38:14 +09:00
export const imagePreview = ref({ src: '', alt: '' })
2022-11-24 11:38:14 +09:00
export const isFirstVisit = useLocalStorage(STORAGE_KEY_FIRST_VISIT, true)
2022-11-24 15:04:17 +09:00
export const isZenMode = useLocalStorage(STORAGE_KEY_ZEN_MODE, false)
export const toggleZenMode = useToggle(isZenMode)
2022-11-24 11:38:14 +09:00
2022-11-23 13:25:48 +09:00
export const isUserSwitcherOpen = ref(false)
2022-11-23 12:48:01 +09:00
export const isSigninDialogOpen = ref(false)
2022-11-24 17:04:53 +09:00
export const isPublishDialogOpen = ref(false)
export const isImagePreviewDialogOpen = ref(false)
2022-11-24 11:38:14 +09:00
export const isPreviewHelpOpen = ref(isFirstVisit.value)
2022-11-23 12:48:01 +09:00
2022-11-23 13:25:48 +09:00
export function openUserSwitcher() {
isUserSwitcherOpen.value = true
2022-11-23 12:48:01 +09:00
}
export function openSigninDialog() {
isSigninDialogOpen.value = true
2022-11-23 13:25:48 +09:00
isUserSwitcherOpen.value = false
2022-11-23 12:48:01 +09:00
}
2022-11-24 11:38:14 +09:00
2022-11-24 23:32:20 +09:00
export function openPublishDialog(draft?: Draft) {
if (draft)
dialogDraft.draft.value = draft
2022-11-24 17:04:53 +09:00
isPublishDialogOpen.value = true
}
2022-11-24 11:38:14 +09:00
if (isPreviewHelpOpen.value) {
watch(isPreviewHelpOpen, () => {
isFirstVisit.value = false
})
}
export function openImagePreviewDialog(image: { src: string; alt: string }) {
imagePreview.value = image
isImagePreviewDialogOpen.value = true
}
export function openPreviewHelp() {
isPreviewHelpOpen.value = true
}