Initial commit

This commit is contained in:
2025-12-04 22:24:47 +01:00
commit 453ce10494
106 changed files with 17145 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
import { useEffect } from 'react';
import siteConfig from '../config/site.config';
/**
* Hook to set the document title
* @param title - Page-specific title (will be appended to site name)
* @param useFullTitle - If true, use title as-is without appending site name
*/
export function useDocumentTitle(title?: string, useFullTitle = false): void {
useEffect(() => {
if (useFullTitle && title) {
document.title = title;
} else if (title) {
document.title = `${title} | ${siteConfig.name}`;
} else {
document.title = siteConfig.meta.title;
}
// Cleanup: restore default title on unmount
return () => {
document.title = siteConfig.meta.title;
};
}, [title, useFullTitle]);
}
/**
* Set the document title imperatively (for use outside React components)
*/
export function setDocumentTitle(title?: string): void {
if (title) {
document.title = `${title} | ${siteConfig.name}`;
} else {
document.title = siteConfig.meta.title;
}
}