All files / stores useFontScaleModeStore.ts

100% Statements 17/17
100% Branches 3/3
100% Functions 2/2
100% Lines 17/17

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 271x 1x 1x         1x 1x 1x 2x           2x 4x 4x 2x 1x 1x 1x 1x 1x 1x  
import { create } from "zustand";
import { createJSONStorage, persist } from "zustand/middleware";
import {
	FONT_SCALE_MODE_STORE_IDENTIFIER,
	FontScaleStore,
} from "~/types/FontScaleStore";
 
export const useFontScaleModeStore = create<FontScaleStore>()(
	persist(
		(set, get) => ({
			isLargeFont: false,
 
			/**
			 * Toggles the font scale mode between large and normal.
			 * Updates the `isLargeFont` state accordingly.
			 */
			toggleFontScaleMode: () => {
				set({ isLargeFont: !get().isLargeFont });
			},
		}),
		{
			name: FONT_SCALE_MODE_STORE_IDENTIFIER,
			storage: createJSONStorage(() => localStorage),
		},
	),
);