feat: User Management menu — My Settings, Oracle IAM page, sidebar restructure

- Sidebar: "User Management" expandable group with sub-items (Users, My Settings, Oracle IAM)
- MySettingsPage: self-service timezone + MFA setup/disable (any user)
- OracleIamPage: admin-only OIDC config (auth mode, issuer, client ID/secret, group→role mapping, test connection)
- UsersPage: removed timezone card (moved to My Settings)
- i18n: 35+ new keys (pt/en) for settings and IAM pages
- Routes: /admin/user-settings, /admin/iam registered with code splitting
This commit is contained in:
nogueiraguh
2026-04-01 15:00:23 -03:00
parent 7b50767159
commit c3035abf81
7 changed files with 593 additions and 48 deletions

View File

@@ -21,6 +21,8 @@ const AdbConfigPage = lazy(() => import('@/pages/config/AdbConfigPage'));
const EmbeddingsPage = lazy(() => import('@/pages/config/EmbeddingsPage'));
const EmbConsultPage = lazy(() => import('@/pages/config/EmbConsultPage'));
const UsersPage = lazy(() => import('@/pages/admin/UsersPage'));
const MySettingsPage = lazy(() => import('@/pages/admin/MySettingsPage'));
const OracleIamPage = lazy(() => import('@/pages/admin/OracleIamPage'));
const AuditPage = lazy(() => import('@/pages/admin/AuditPage'));
function PageLoader() {
@@ -66,6 +68,8 @@ export default function App() {
<Route path="/config/embeddings" element={<EmbeddingsPage />} />
<Route path="/config/embeddings/consult" element={<EmbConsultPage />} />
<Route path="/admin/users" element={<UsersPage />} />
<Route path="/admin/user-settings" element={<MySettingsPage />} />
<Route path="/admin/iam" element={<OracleIamPage />} />
<Route path="/admin/audit" element={<AuditPage />} />
</Route>
<Route path="*" element={<Navigate to="/chat" replace />} />