mirror of
https://github.com/Myzel394/kleckrelay-website.git
synced 2025-06-19 07:55:25 +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 {getAdminSettings} from "~/apis"
|
||||||
import {QueryResult} from "~/components"
|
import {QueryResult} from "~/components"
|
||||||
import {DEFAULT_ADMIN_SETTINGS} from "~/constants/admin-settings"
|
import {DEFAULT_ADMIN_SETTINGS} from "~/constants/admin-settings"
|
||||||
|
import SettingsDisabled from "~/route-widgets/GlobalSettingsRoute/SettingsDisabled"
|
||||||
import SettingsForm from "~/route-widgets/GlobalSettingsRoute/SettingsForm"
|
import SettingsForm from "~/route-widgets/GlobalSettingsRoute/SettingsForm"
|
||||||
|
|
||||||
export default function GlobalSettingsRoute(): ReactElement {
|
export default function GlobalSettingsRoute(): ReactElement {
|
||||||
const queryKey = ["get_admin_settings"]
|
const queryKey = ["get_admin_settings"]
|
||||||
const query = useQuery<AdminSettings, AxiosError>(queryKey, async () => {
|
const query = useQuery<AdminSettings | null, AxiosError>(queryKey, async () => {
|
||||||
const settings = await getAdminSettings()
|
const {code, detail, ...settings} = await getAdminSettings()
|
||||||
|
|
||||||
return _.mergeWith({}, DEFAULT_ADMIN_SETTINGS, settings, (o, s) =>
|
if (code === "error:settings:global_settings_disabled") {
|
||||||
_.isNull(s) ? o : s,
|
return null
|
||||||
) as AdminSettings
|
} else {
|
||||||
|
return _.mergeWith({}, DEFAULT_ADMIN_SETTINGS, settings, (o, s) =>
|
||||||
|
_.isNull(s) ? o : s,
|
||||||
|
) as AdminSettings
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<QueryResult<AdminSettings> query={query}>
|
<QueryResult<AdminSettings | null> query={query}>
|
||||||
{settings => <SettingsForm settings={settings} queryKey={queryKey} />}
|
{settings =>
|
||||||
|
settings === null ? (
|
||||||
|
<SettingsDisabled />
|
||||||
|
) : (
|
||||||
|
<SettingsForm settings={settings} queryKey={queryKey} />
|
||||||
|
)
|
||||||
|
}
|
||||||
</QueryResult>
|
</QueryResult>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user