@@ -121,8 +121,9 @@ function createSchema(
121121}
122122
123123export async function loader ( { request } : LoaderFunctionArgs ) {
124- await requireUserId ( request ) ;
125- const showThemeSwitcher = await flag ( { key : "hasThemeSwitcher" , defaultValue : false } ) ;
124+ const user = await requireUser ( request ) ;
125+ const showThemeSwitcher =
126+ user . admin || ( await flag ( { key : "hasThemeSwitcher" , defaultValue : false } ) ) ;
126127 return json ( { showThemeSwitcher } ) ;
127128}
128129
@@ -132,22 +133,24 @@ export const action: ActionFunction = async ({ request }) => {
132133 const formData = await request . formData ( ) ;
133134
134135 if ( formData . get ( "action" ) === "update-theme" ) {
135- const showThemeSwitcher = await flag ( { key : "hasThemeSwitcher" , defaultValue : false } ) ;
136+ const user = await requireUser ( request ) ;
137+ const showThemeSwitcher =
138+ user . admin || ( await flag ( { key : "hasThemeSwitcher" , defaultValue : false } ) ) ;
136139 if ( ! showThemeSwitcher ) {
137140 return json ( { error : "Not available" } , { status : 404 } ) ;
138141 }
139- const user = await requireUser ( request ) ;
140142 const theme = normalizeThemePreference ( formData . get ( "theme" ) ) ;
141143 await updateThemePreference ( { user, theme } ) ;
142144 return json ( { success : true } ) ;
143145 }
144146
145147 if ( formData . get ( "action" ) === "update-contrast" ) {
146- const showThemeSwitcher = await flag ( { key : "hasThemeSwitcher" , defaultValue : false } ) ;
148+ const user = await requireUser ( request ) ;
149+ const showThemeSwitcher =
150+ user . admin || ( await flag ( { key : "hasThemeSwitcher" , defaultValue : false } ) ) ;
147151 if ( ! showThemeSwitcher ) {
148152 return json ( { error : "Not available" } , { status : 404 } ) ;
149153 }
150- const user = await requireUser ( request ) ;
151154 const contrast = normalizeThemeContrast ( formData . get ( "contrast" ) ) ;
152155 await updateContrastPreference ( { user, contrast } ) ;
153156 return json ( { success : true } ) ;
0 commit comments