Files
sencho/frontend/src/lib/events.ts
T
SaelixCode 4475afd793 refactor(settings): replace modal with nested full-page route
Settings sections are now URL-addressable at /settings/:sectionId, rendered
nested inside EditorLayout alongside the stack sidebar. Browser back/forward
navigates between sections. Deep links (e.g. /settings/cloud-backup) load
the section directly on hard reload.

- Add react-router-dom v7; BrowserRouter wraps the full app tree
- New SettingsPage (scroll memory, Cmd+K palette), SettingsSidebar (NavLink
  active styling, back-arrow), SectionGate (visibility + tier lock card)
- Rename SectionId 'appstore' to 'app-store' so slug === SectionId
- Decouple SystemSection, DeveloperSection, AppStoreSection from modal-
  passed props; each fetches its own data on mount
- Replace onLabelsChanged prop chain with SENCHO_LABELS_CHANGED window event
- Drop onOpenSettings prop from UserProfileDropdown, HomeDashboard,
  ConfigurationStatus; each calls useNavigate directly
- Delete SettingsModal.tsx
2026-04-30 12:23:27 -04:00

17 lines
430 B
TypeScript

/** Cross-component custom event constants and typed detail interfaces. */
export const SENCHO_OPEN_LOGS_EVENT = 'sencho-open-logs';
export interface SenchoOpenLogsDetail {
containerId: string;
containerName: string;
}
export const SENCHO_SETTINGS_CHANGED = 'sencho-settings-changed';
export interface SenchoSettingsChangedDetail {
changedKeys: string[];
}
export const SENCHO_LABELS_CHANGED = 'sencho-labels-changed';