Centralize shared WebUI structural primitives

This commit is contained in:
2026-08-18 13:17:31 +02:00
parent ee5c881df9
commit 7685a103e8
26 changed files with 767 additions and 81 deletions
+16 -15
View File
@@ -7,7 +7,7 @@ import Card from "../../components/Card";
import FormField from "../../components/FormField";
import PasswordField from "../../components/PasswordField";
import Button from "../../components/Button";
import PageTitle from "../../components/PageTitle";
import PageLayout from "../../components/PageLayout";
import ToggleSwitch from "../../components/ToggleSwitch";
import { apiFetch } from "../../api/client";
import { fetchAuthProfile, fetchAuthRoles, updateProfile } from "../../api/auth";
@@ -22,6 +22,7 @@ import { hasAnyScope, hasScope } from "../../utils/permissions";
import { usePlatformLanguage } from "../../i18n/LanguageContext";
import CredentialEnvelopeManager from "../../components/CredentialEnvelopeManager";
import DocumentationHelpLink from "../../components/help/DocumentationHelpLink";
import WorkspaceLayout from "../../components/WorkspaceLayout";
type SettingsSection = "profile" | "mail-profiles" | "file-connectors" | "interface" | "workspace" | "local-connection" | string;
@@ -306,17 +307,18 @@ export default function SettingsPage({
}
return (
<div className="workspace module-workspace">
<ModuleSubnav active={active} groups={settingsSubnav} onSelect={selectSection} />
<section className="workspace-content">
<div className="content-pad workspace-data-page">
<div className="page-heading split workspace-heading">
<div>
<PageTitle>i18n:govoplan-core.settings.c7f73bb5</PageTitle>
<p>i18n:govoplan-core.your_profile_personal_webui_preferences_and_loca.beda6d56</p>
</div>
<DocumentationHelpLink reference={SETTINGS_DOCUMENTATION} />
</div>
<WorkspaceLayout
className="module-workspace"
primary={<ModuleSubnav active={active} groups={settingsSubnav} onSelect={selectSection} />}
primaryLabel="i18n:govoplan-core.settings.c7f73bb5"
contentLabel="i18n:govoplan-core.settings.c7f73bb5"
>
<PageLayout
title="i18n:govoplan-core.settings.c7f73bb5"
description="i18n:govoplan-core.your_profile_personal_webui_preferences_and_loca.beda6d56"
actions={<DocumentationHelpLink reference={SETTINGS_DOCUMENTATION} />}
mode="workspace"
>
{active === "profile" &&
<ContentGrid columns={2} collapseAt="workspace" className="">
@@ -551,9 +553,8 @@ export default function SettingsPage({
selectSection
})
}
</div>
</section>
</div>);
</PageLayout>
</WorkspaceLayout>);
}