2022-11-26 05:05:44 +00:00
|
|
|
import type { StatusEdit } from 'masto'
|
2022-11-24 14:32:20 +00:00
|
|
|
import type { Draft } from './statusDrafts'
|
2022-11-24 04:21:30 +00:00
|
|
|
import { STORAGE_KEY_FIRST_VISIT, STORAGE_KEY_ZEN_MODE } from '~/constants'
|
2022-11-24 02:38:14 +00:00
|
|
|
|
2022-11-25 18:13:44 +00:00
|
|
|
export const imagePreview = ref({ src: '', alt: '' })
|
2022-11-26 05:05:44 +00:00
|
|
|
export const statusEdit = ref<StatusEdit>()
|
2022-11-28 07:55:57 +00:00
|
|
|
export const dialogDraftKey = ref<string>()
|
2022-11-24 02:38:14 +00:00
|
|
|
export const isFirstVisit = useLocalStorage(STORAGE_KEY_FIRST_VISIT, true)
|
2022-11-24 06:04:17 +00:00
|
|
|
export const isZenMode = useLocalStorage(STORAGE_KEY_ZEN_MODE, false)
|
|
|
|
export const toggleZenMode = useToggle(isZenMode)
|
2022-11-24 02:38:14 +00:00
|
|
|
|
2022-11-23 03:48:01 +00:00
|
|
|
export const isSigninDialogOpen = ref(false)
|
2022-11-24 08:04:53 +00:00
|
|
|
export const isPublishDialogOpen = ref(false)
|
2022-11-25 18:13:44 +00:00
|
|
|
export const isImagePreviewDialogOpen = ref(false)
|
2022-11-26 05:05:44 +00:00
|
|
|
export const isEditHistoryDialogOpen = ref(false)
|
2022-11-24 02:38:14 +00:00
|
|
|
export const isPreviewHelpOpen = ref(isFirstVisit.value)
|
2022-11-23 03:48:01 +00:00
|
|
|
|
|
|
|
export function openSigninDialog() {
|
|
|
|
isSigninDialogOpen.value = true
|
|
|
|
}
|
2022-11-24 02:38:14 +00:00
|
|
|
|
2022-11-28 07:55:57 +00:00
|
|
|
export function openPublishDialog(draftKey = 'dialog', draft?: Draft) {
|
|
|
|
dialogDraftKey.value = draftKey
|
2022-11-24 14:32:20 +00:00
|
|
|
if (draft)
|
2022-11-28 07:55:57 +00:00
|
|
|
currentUserDrafts.value[draftKey] = draft
|
2022-11-24 08:04:53 +00:00
|
|
|
isPublishDialogOpen.value = true
|
|
|
|
}
|
|
|
|
|
2022-11-24 02:38:14 +00:00
|
|
|
if (isPreviewHelpOpen.value) {
|
|
|
|
watch(isPreviewHelpOpen, () => {
|
|
|
|
isFirstVisit.value = false
|
|
|
|
})
|
|
|
|
}
|
2022-11-25 18:13:44 +00:00
|
|
|
|
|
|
|
export function openImagePreviewDialog(image: { src: string; alt: string }) {
|
|
|
|
imagePreview.value = image
|
|
|
|
isImagePreviewDialogOpen.value = true
|
|
|
|
}
|
|
|
|
|
2022-11-26 05:05:44 +00:00
|
|
|
export function openEditHistoryDialog(edit: StatusEdit) {
|
|
|
|
statusEdit.value = edit
|
|
|
|
isEditHistoryDialogOpen.value = true
|
|
|
|
}
|
|
|
|
|
2022-11-25 18:13:44 +00:00
|
|
|
export function openPreviewHelp() {
|
|
|
|
isPreviewHelpOpen.value = true
|
|
|
|
}
|
2022-11-27 03:13:39 +00:00
|
|
|
|
|
|
|
export function closePreviewHelp() {
|
|
|
|
isPreviewHelpOpen.value = false
|
|
|
|
}
|