diff --git a/src/apps/officer-web/Screens/Dashboard/Settings/IntegrationsSettings/index.tsx b/src/apps/officer-web/Screens/Dashboard/Settings/IntegrationsSettings/index.tsx index b4249bce..bdd39670 100644 --- a/src/apps/officer-web/Screens/Dashboard/Settings/IntegrationsSettings/index.tsx +++ b/src/apps/officer-web/Screens/Dashboard/Settings/IntegrationsSettings/index.tsx @@ -11,7 +11,6 @@ import { GoogleOAuthConfig } from './GoogleOAuthConfig'; import { BrowserRelay } from './BrowserRelay'; import { ApifyConfig } from './ApifyConfig'; import { DavAppPasswords } from './DavAppPasswords'; -import { ApiKeys } from './ApiKeys'; const BASE_PATH = '/settings/integrations'; @@ -51,13 +50,6 @@ const personalSections: SettingsSection[] = [ description: 'Per-device passwords for CalDAV/CardDAV clients', content: , }, - { - key: 'api-keys', - icon: KeyRound, - title: 'API keys', - description: 'Per-app keys that sign in as you, revocable one at a time', - content: , - }, { key: 'browser-relay', icon: Globe, diff --git a/src/apps/officer-web/Screens/Dashboard/Settings/IntegrationsSettings/ApiKeys.tsx b/src/apps/officer-web/Screens/Dashboard/Settings/ProfileSettings/ApiKeys.tsx similarity index 100% rename from src/apps/officer-web/Screens/Dashboard/Settings/IntegrationsSettings/ApiKeys.tsx rename to src/apps/officer-web/Screens/Dashboard/Settings/ProfileSettings/ApiKeys.tsx diff --git a/src/apps/officer-web/Screens/Dashboard/Settings/ProfileSettings/index.tsx b/src/apps/officer-web/Screens/Dashboard/Settings/ProfileSettings/index.tsx index 0d3b2a7a..b69c3611 100644 --- a/src/apps/officer-web/Screens/Dashboard/Settings/ProfileSettings/index.tsx +++ b/src/apps/officer-web/Screens/Dashboard/Settings/ProfileSettings/index.tsx @@ -1,11 +1,12 @@ import { useMemo } from 'react'; -import { User, Lock, Globe, LayoutGrid, Volume2 } from 'lucide-react'; +import { User, Lock, Globe, KeyRound, LayoutGrid, Volume2 } from 'lucide-react'; import type { LayoutNode, PanelComponents } from 'officerdev'; import { WorkspaceLayout } from 'officerdev'; import { SettingsRoute, createSettingsPanelComponents, type SettingsSection } from '../SettingsPanel'; import { UserData } from './UserData'; import { ChangePassword } from './ChangePassword'; +import { ApiKeys } from './ApiKeys'; import { Languages } from './Languages'; import { DockSettings } from './DockSettings'; import { VoicePreference } from './VoicePreference'; @@ -21,6 +22,17 @@ const sections: SettingsSection[] = [ description: 'Update your password', content: , }, + // Beside the password rather than under Integrations, where it was until 2026-08-21. A key is not an + // integration with anything — it is a second way to present the authority this account already has, and + // the permission registry says so: `/api-keys` is `core`, sitting with `/user` and `/dock`. Somebody + // looking for it went to user management and then to profile, which is where it should have been. + { + key: 'api-keys', + icon: KeyRound, + title: 'API keys', + description: 'Per-app keys that sign in as you, revocable one at a time', + content: , + }, { key: 'languages', icon: Globe,