mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-10-14 17:54:42 +00:00
Handle fetch fail in client app, fix data binding in location data (#243)
* Improve error handling for server rendered routes * Fix data binding issue for country/state codes (use alias in sql)
This commit is contained in:
@@ -8,7 +8,7 @@ export interface ThemeOption {
|
||||
}
|
||||
|
||||
export const defaultThemeName: ThemeName = 'biergarten-lager';
|
||||
export const themeStorageKey = 'biergarten-theme';
|
||||
export const themeCookieName = 'biergarten-theme';
|
||||
|
||||
export const biergartenThemes: ThemeOption[] = [
|
||||
{
|
||||
@@ -36,3 +36,9 @@ export const biergartenThemes: ThemeOption[] = [
|
||||
export const isBiergartenTheme = (value: string | null | undefined): value is ThemeName => {
|
||||
return biergartenThemes.some((theme) => theme.value === value);
|
||||
};
|
||||
|
||||
export const parseThemeCookie = (cookieHeader: string | null): ThemeName => {
|
||||
const match = cookieHeader?.match(new RegExp(`(?:^|; )${themeCookieName}=([^;]*)`));
|
||||
const value = match ? decodeURIComponent(match[1]) : null;
|
||||
return isBiergartenTheme(value) ? value : defaultThemeName;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user