From b4f9ac947b2e9788b22f5ce9b067bb17500d6888 Mon Sep 17 00:00:00 2001 From: Damjan Savic Date: Sun, 25 Jan 2026 06:42:26 +0100 Subject: [PATCH] auto-claude: subtask-3-2 - Add JSDoc to fontLoader.ts --- src/utils/fontLoader.ts | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/utils/fontLoader.ts b/src/utils/fontLoader.ts index 3aab35f..f04ec64 100644 --- a/src/utils/fontLoader.ts +++ b/src/utils/fontLoader.ts @@ -1,4 +1,13 @@ -// Font loading utility to ensure fonts are loaded before showing content +/** + * Font Loading Utility + * Ensures fonts are loaded before showing content to prevent FOUT/FOIT + */ + +/** + * Preload fonts asynchronously + * Uses the Font Loading API to ensure Inter font is loaded + * Falls back to system fonts on error + */ export const preloadFonts = async () => { if ('fonts' in document) { try { @@ -12,14 +21,18 @@ export const preloadFonts = async () => { } }; -// Call this function as early as possible +/** + * Initialize font loading process + * Should be called as early as possible in the application lifecycle + * Adds loading state and fallback timeout to prevent indefinite loading + */ export const initializeFonts = () => { // Add loading class immediately document.documentElement.classList.add('fonts-loading'); - + // Start font loading preloadFonts(); - + // Remove loading class after a timeout to prevent indefinite loading state setTimeout(() => { document.documentElement.classList.remove('fonts-loading'); @@ -27,4 +40,4 @@ export const initializeFonts = () => { document.documentElement.classList.add('fonts-fallback'); } }, 3000); -}; \ No newline at end of file +};