mirror of
https://github.com/BewlyBewly/BewlyBewly.git
synced 2025-04-14 13:15:29 +00:00
21 lines
581 B
TypeScript
21 lines
581 B
TypeScript
import type { Ref } from 'vue'
|
|
import type { AppPage } from '~/enums/appEnums'
|
|
|
|
export interface BewlyAppProvider {
|
|
activatedPage: Ref<AppPage>
|
|
scrollbarRef: Ref<any>
|
|
mainAppRef: Ref<HTMLElement>
|
|
handleReachBottom: Ref<(() => void) | undefined>
|
|
handlePageRefresh: Ref<(() => void) | undefined>
|
|
handleBackToTop: (targetScrollTop: number) => void
|
|
}
|
|
|
|
export function useBewlyApp(): BewlyAppProvider {
|
|
const provider = inject<BewlyAppProvider>('BEWLY_APP')
|
|
|
|
if (import.meta.env.DEV && !provider)
|
|
throw new Error('AppProvider is not injected')
|
|
|
|
return provider!
|
|
}
|