diff --git a/src/routes/GlobalSettingsRoute.tsx b/src/routes/GlobalSettingsRoute.tsx index db94e40..59cfbbc 100644 --- a/src/routes/GlobalSettingsRoute.tsx +++ b/src/routes/GlobalSettingsRoute.tsx @@ -8,21 +8,32 @@ import {AdminSettings} from "~/server-types" import {getAdminSettings} from "~/apis" import {QueryResult} from "~/components" import {DEFAULT_ADMIN_SETTINGS} from "~/constants/admin-settings" +import SettingsDisabled from "~/route-widgets/GlobalSettingsRoute/SettingsDisabled" import SettingsForm from "~/route-widgets/GlobalSettingsRoute/SettingsForm" export default function GlobalSettingsRoute(): ReactElement { const queryKey = ["get_admin_settings"] - const query = useQuery(queryKey, async () => { - const settings = await getAdminSettings() + const query = useQuery(queryKey, async () => { + const {code, detail, ...settings} = await getAdminSettings() - return _.mergeWith({}, DEFAULT_ADMIN_SETTINGS, settings, (o, s) => - _.isNull(s) ? o : s, - ) as AdminSettings + if (code === "error:settings:global_settings_disabled") { + return null + } else { + return _.mergeWith({}, DEFAULT_ADMIN_SETTINGS, settings, (o, s) => + _.isNull(s) ? o : s, + ) as AdminSettings + } }) return ( - query={query}> - {settings => } + query={query}> + {settings => + settings === null ? ( + + ) : ( + + ) + } ) }