my website at ewancroft.uk
6
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat(footer): refactor copyright text calculation to handle birth year validation

+22 -7
+22 -7
src/lib/components/layout/Footer.svelte
··· 6 6 let siteInfo: SiteInfoData | null = null; 7 7 let loading = true; 8 8 let error: string | null = null; 9 + let copyrightText: string; 9 10 10 11 const currentYear = new Date().getFullYear(); 11 - const getBirthYear = () => { 12 + 13 + $: { 14 + console.log('[Footer] Reactive: siteInfo updated:', siteInfo); 12 15 const birthYear = siteInfo?.additionalInfo?.websiteBirthYear; 13 - // Ensure birth year is valid and not in the future 14 - return birthYear && birthYear <= currentYear ? birthYear : currentYear; 15 - }; 16 - const copyrightText = getBirthYear() === currentYear 17 - ? `${currentYear}` 18 - : `${getBirthYear()} - ${currentYear}`; 16 + console.log('[Footer] Current year:', currentYear); 17 + console.log('[Footer] Birth year:', birthYear); 18 + console.log('[Footer] Birth year type:', typeof birthYear); 19 + 20 + if (!birthYear || typeof birthYear !== 'number') { 21 + console.log('[Footer] Using current year (invalid/missing birth year)'); 22 + copyrightText = `${currentYear}`; 23 + } else if (birthYear > currentYear) { 24 + console.log('[Footer] Using current year (birth year in future)'); 25 + copyrightText = `${currentYear}`; 26 + } else if (birthYear === currentYear) { 27 + console.log('[Footer] Using current year (birth year equals current)'); 28 + copyrightText = `${currentYear}`; 29 + } else { 30 + console.log('[Footer] Using year range'); 31 + copyrightText = `${birthYear} - ${currentYear}`; 32 + } 33 + } 19 34 20 35 onMount(async () => { 21 36 try {