{setup.blurb}
+ + ); +} + +export function SettingsOverviewPage() { + const { t } = useTranslation(); + const schema = useSchemaStore((s) => s.schema); + const edition = useAccountStore((s) => s.edition); + + const layout = useMemo(() => schema?.layouts.find((l) => l.name === SETTINGS_LAYOUT_NAME), [schema]); + + // What each item in the menu bar covers: explainers only, the bar does the navigating. + const cards = useMemo(() => { + if (!layout) return []; + return SETTINGS_CATEGORIES.filter((cat) => { + const item = layout.items.find((it) => 'container' in it && it.container.name === cat.name); + return item !== undefined && topItemVisible(item, edition); + }); + }, [layout, edition]); + + const pages = useMemo( + () => (schema && layout ? singletonPages(schema, layout.items).filter((pg) => checkLinkVisible(pg.viewName)) : []), + [schema, layout], + ); + const changed = useChangedPages(pages); + const setups = GUIDED_SETUPS.filter((s) => checkLinkVisible(s.gate)); + + return ( ++ {t( + 'settingsOverview.subtitle', + 'The menu above groups everything the server does by job. Here is what each part covers. Anything you change is marked against its default.', + )} +
+{cat.blurb}
+