import type { InjectionKey, ComputedRef, Ref } from 'vue';
|
import { createContext, useContext } from '@/hooks/core/useContext';
|
|
export interface PageContextProps {
|
contentHeight: ComputedRef<number>;
|
pageHeight: Ref<number>;
|
setPageHeight: (height: number) => Promise<void>;
|
}
|
|
const key: InjectionKey<PageContextProps> = Symbol();
|
|
export function createPageContext(context: PageContextProps) {
|
return createContext<PageContextProps>(context, key, { native: true });
|
}
|
|
export function usePageContext() {
|
return useContext<PageContextProps>(key);
|
}
|