@@ -3,10 +3,16 @@ import { sequence } from '@sveltejs/kit/hooks';
33
44// * Theme event handler, gets the data from the event and then return the user theme
55const themeHookHandle : Handle = ( { event, resolve } ) => {
6- const newTheme = event . url . searchParams . get ( 'theme' ) ;
7- const currentTheme = event . cookies . get ( 'theme' ) ;
8- const selectedTheme = newTheme || currentTheme || 'dark' ;
9- const theme = selectedTheme === 'dark' ? 'dark' : 'light' ;
6+ let theme : 'dark' | 'light' = 'dark' ;
7+
8+ try {
9+ const newTheme = event . url . searchParams . get ( 'theme' ) ;
10+ const currentTheme = event . cookies . get ( 'theme' ) ;
11+ const selectedTheme = newTheme || currentTheme || 'dark' ;
12+ theme = selectedTheme === 'dark' ? 'dark' : 'light' ;
13+ } catch ( error ) {
14+ console . error ( 'Error parsing theme:' , error ) ;
15+ }
1016
1117 return resolve ( event , {
1218 transformPageChunk : ( { html } ) => {
@@ -18,15 +24,20 @@ const themeHookHandle: Handle = ({ event, resolve }) => {
1824
1925// * i18n event handler, gets the data from the event and then return the user language
2026const i18nHookHandle : Handle = ( { event, resolve } ) => {
21- const acceptLanguageHeader = event . request . headers . get ( 'accept-language' ) ;
22-
23- // Get the default language from the browser
24- const defaultLanguage = acceptLanguageHeader ?. split ( ',' ) [ 0 ] . split ( '-' ) [ 0 ] ;
25- const newLanguageSetting = event . url . searchParams . get ( 'lang' ) ;
26- const currentLanguageSetting = event . cookies . get ( 'lang' ) ;
27- // Pick language by priority
28- const selectedLang = newLanguageSetting || currentLanguageSetting || defaultLanguage || 'en' ;
29- const lang = selectedLang === 'pt' ? 'pt' : 'en' ;
27+ let lang = 'en' ;
28+
29+ try {
30+ const acceptLanguageHeader = event . request . headers . get ( 'accept-language' ) ;
31+ // Get the default language from the browser
32+ const defaultLanguage = acceptLanguageHeader ?. split ( ',' ) [ 0 ] . split ( '-' ) [ 0 ] ;
33+ const newLanguageSetting = event . url . searchParams . get ( 'lang' ) ;
34+ const currentLanguageSetting = event . cookies . get ( 'lang' ) ;
35+ // Pick language by priority
36+ const selectedLang = newLanguageSetting || currentLanguageSetting || defaultLanguage || 'en' ;
37+ lang = selectedLang === 'pt' ? 'pt' : 'en'
38+ } catch ( error ) {
39+ console . error ( 'Error parsing language:' , error ) ;
40+ }
3041
3142 // Set the cookie for the selected language
3243 event . cookies . set ( 'lang' , lang , {
0 commit comments