mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-17 21:15:32 +09:00
20 lines
674 B
TypeScript
20 lines
674 B
TypeScript
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
import React, {useContext} from 'react';
|
|
|
|
export type LayoutVariant = 'app' | 'auth' | 'call';
|
|
|
|
interface LayoutVariantContextValue {
|
|
variant: LayoutVariant;
|
|
setVariant: (variant: LayoutVariant) => void;
|
|
}
|
|
|
|
const defaultValue: LayoutVariantContextValue = {
|
|
variant: 'app',
|
|
setVariant: () => {},
|
|
};
|
|
const LayoutVariantContext = React.createContext<LayoutVariantContextValue>(defaultValue);
|
|
export const LayoutVariantProvider = LayoutVariantContext.Provider;
|
|
export const useLayoutVariant = () => useContext(LayoutVariantContext).variant;
|
|
export const useSetLayoutVariant = () => useContext(LayoutVariantContext).setVariant;
|