2022-07-20 08:00:02 +00:00
|
|
|
import { DeepReadonly, InjectionKey, Ref } from 'vue'
|
2022-11-19 18:04:21 +00:00
|
|
|
import Overlay from '@/components/ui/Overlay.vue'
|
2022-07-26 09:51:19 +00:00
|
|
|
import DialogBox from '@/components/ui/DialogBox.vue'
|
2022-07-26 13:59:46 +00:00
|
|
|
import MessageToaster from '@/components/ui/MessageToaster.vue'
|
2022-10-08 10:54:25 +00:00
|
|
|
import Router from '@/router'
|
2022-06-10 10:47:46 +00:00
|
|
|
|
2022-11-08 19:35:18 +00:00
|
|
|
export type ReadonlyInjectionKey<T> = InjectionKey<[Readonly<T> | DeepReadonly<T>, Closure]>
|
2022-07-10 15:17:48 +00:00
|
|
|
|
2022-10-08 10:54:25 +00:00
|
|
|
export const RouterKey: InjectionKey<Router> = Symbol('Router')
|
2022-11-19 18:04:21 +00:00
|
|
|
export const OverlayKey: InjectionKey<Ref<InstanceType<typeof Overlay>>> = Symbol('Overlay')
|
2022-07-26 09:51:19 +00:00
|
|
|
export const DialogBoxKey: InjectionKey<Ref<InstanceType<typeof DialogBox>>> = Symbol('DialogBox')
|
2022-07-26 13:59:46 +00:00
|
|
|
export const MessageToasterKey: InjectionKey<Ref<InstanceType<typeof MessageToaster>>> = Symbol('MessageToaster')
|
2022-07-26 09:51:19 +00:00
|
|
|
|
2022-10-08 10:54:25 +00:00
|
|
|
export const SongsKey: ReadonlyInjectionKey<Ref<Song[]>> | InjectionKey<Ref<Song[]>> = Symbol('Songs')
|
2022-10-13 15:18:47 +00:00
|
|
|
export const CurrentSongKey: InjectionKey<Ref<Song | null>> = Symbol('CurrentSong')
|
2022-07-20 08:00:02 +00:00
|
|
|
export const SelectedSongsKey: ReadonlyInjectionKey<Ref<Song[]>> = Symbol('SelectedSongs')
|
|
|
|
export const SongListConfigKey: ReadonlyInjectionKey<Partial<SongListConfig>> = Symbol('SongListConfig')
|
|
|
|
export const SongListSortFieldKey: ReadonlyInjectionKey<Ref<SongListSortField>> = Symbol('SongListSortField')
|
|
|
|
export const SongListSortOrderKey: ReadonlyInjectionKey<Ref<SortOrder>> = Symbol('SongListSortOrder')
|
2022-07-10 15:17:48 +00:00
|
|
|
|
2022-11-27 15:29:29 +00:00
|
|
|
export const ModalContextKey: InjectionKey<Ref<Record<string, any>>> = Symbol('ModalContext')
|