mirror of
https://github.com/Myzel394/kleckrelay-website.git
synced 2025-06-18 23:45:26 +02:00
feat: Show message when global settings are disabled
This commit is contained in:
parent
a367e93c55
commit
9c85cc13ac
@ -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<AdminSettings, AxiosError>(queryKey, async () => {
|
||||
const settings = await getAdminSettings()
|
||||
const query = useQuery<AdminSettings | null, AxiosError>(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 (
|
||||
<QueryResult<AdminSettings> query={query}>
|
||||
{settings => <SettingsForm settings={settings} queryKey={queryKey} />}
|
||||
<QueryResult<AdminSettings | null> query={query}>
|
||||
{settings =>
|
||||
settings === null ? (
|
||||
<SettingsDisabled />
|
||||
) : (
|
||||
<SettingsForm settings={settings} queryKey={queryKey} />
|
||||
)
|
||||
}
|
||||
</QueryResult>
|
||||
)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user