Skip to main content

UI Reference: Screens and Components

This document serves as the comprehensive technical directory for the TkushPatch web console (ota-web-console), engineered on Next.js 15, React 19, Tailwind CSS, and Lucide Icons.


1. App Router Route Inventory​

RouteSource FilePermitted RBAC RolesPrimary Purpose
/src/app/page.tsxAll rolesMain operational cockpit: fleet metrics, pending approval alerts, subsystem health.
/loginsrc/app/login/page.tsxPublicCredential entry form triggering 2FA OTP verification challenge.
/registersrc/app/register/page.tsxPublicTenant registration or collaborator invitation onboarding with secure token.
/forgot-passwordsrc/app/forgot-password/page.tsxPublicPassword recovery flow with time-bound signed token dispatch.
/releasessrc/app/releases/page.tsxADMIN, DEV, SECURITY, SREMaster-detail workspace for Store releases, architectures (aarch64/arm), and patches.
/rolloutsrc/app/rollout/page.tsxADMIN, SRECanary percentage controls (0-100%), geo-targeting by ISO country, emergency Kill-Switch.
/catalogsrc/app/catalog/page.tsxAll rolesRegistered application catalog, app_id identifiers, and public Cryptographic Signing Keys.
/assetssrc/app/assets/page.tsxADMIN, DEVDynamic OTA asset management (i18n translation bundles, hot-delivered media).
/approvalssrc/app/approvals/page.tsxADMIN, SECURITY, AUDITOR (read-only)Maker-Checker governance center and cryptographic signing engine asymmetric RSA signing gateway.
/symbolssrc/app/symbols/page.tsxADMIN, DEV, SREDart .symbols archive repository and live deobfuscation stack trace analyzer.
/policiessrc/app/policies/page.tsxADMIN, SECURITY, AUDITOR (read-only)Governance rules, OTP token lifetimes, organization SMTP setup, and mobile shields.
/cli/loginsrc/app/cli/login/page.tsxADMIN, DEVOAuth/PKCE consent gateway for tk-ota-push command-line developer sessions.
/telemetrysrc/app/telemetry/page.tsxADMIN, SECURITY, SRE, AUDITORReal-time telemetry war room, crash rates, network latencies, circuit-breaker alerts.
/supportsrc/app/support/page.tsxADMIN, DEV, SREL3 device diagnostics, client_id inspection, QA device whitelist, targeted rollbacks.
/auditsrc/app/audit/page.tsxADMIN, SECURITY, AUDITORTamper-evident audit logs with SHA-256 integrity signatures and CSV/PDF export.
/healthsrc/app/health/page.tsxADMIN, SREDay-2 infrastructure monitoring: signing engine seal status, disk space, and binary diff purges.
/teamssrc/app/teams/page.tsxADMIN (write), All (read)Organization member roster, 5-role RBAC assignments, and MFA credential resets.
/accountsrc/app/account/page.tsxAll rolesOperator profile view, light/dark theme switcher, and personal security summary.
/organization/settingssrc/app/organization/settings/page.tsxADMINOrganization profile, application quotas, and enterprise license details.
/apps/[appId]/trackssrc/app/apps/[appId]/tracks/page.tsxADMIN, DEV, SECURITY, SREDeployment tracks (dev, staging, stable) and 1-click zero-recompile promotion.

2. Structural and Layout Components​

The frontend layout relies on modular framing components to ensure consistency across responsive viewports:

ComponentPathArchitectural Function
AppLayoutShellsrc/components/layout/AppLayoutShell.tsxGlobal layout shell: collapsible responsive sidebar, sticky header, and content canvas.
Headersrc/components/layout/Header.tsxTop navigation bar: ProjectSwitcher, dark/light theme switch, language selector, and profile dropdown.
ProjectSwitchersrc/components/layout/ProjectSwitcher.tsxSynchronizes active application context (selectedAppId) across all sub-pages.
RoleGuardsrc/lib/auth/RoleGuard.tsxDeclarative RBAC authorization wrapper gating routes and buttons against the user's role.
IdleTimersrc/lib/auth/IdleTimer.tsxClient-side inactivity listener detecting mouse/keyboard idle state to enforce automatic lockouts.

3. Specialized Deployment and Release Components​

These interactive components power the complex release and patch workflows:

ComponentPathFunctionality
ReleaseListMasterPanesrc/components/deployments/ReleaseListMasterPane.tsxMaster view: sorted list of baseline Store releases with multi-platform badge indicators.
ReleaseDetailInspectorPanesrc/components/deployments/ReleaseDetailInspectorPane.tsxInspector view: patch children, lock state, adoption curves, and context actions.
FullWidthPlatformBarsrc/components/deployments/FullWidthPlatformBar.tsxFull-width visual banner switching between Android, iOS, and unified target views.
PlatformSegmentedControlsrc/components/deployments/PlatformSegmentedControl.tsxCompact segment control filtering CPU architectures (arm64-v8a, armeabi-v7a).
PatchActionMenusrc/components/deployments/PatchActionMenu.tsxAction menu exposing Rollback, Promote, Disable, and Download Binary operations.
CountrySelectorModalsrc/components/deployments/CountrySelectorModal.tsxMulti-select dialog for configuring deployment ISO country codes (e.g., CM, CI, SN).
UpdateStrategyModalsrc/components/deployments/UpdateStrategyModal.tsxConfiguration modal for client update policies (Wi-Fi Only vs Forced Full Screen Lockout).
CreateProjectModalsrc/components/project/CreateProjectModal.tsxModal form declaring new applications with automated Store namespace detection.
ReleaseHistoryDrawersrc/components/deployments/ReleaseHistoryDrawer.tsxSlide-over drawer detailing the comprehensive historical timeline of a release version.

4. Atomic UI Components​

ComponentPathCharacteristics
StatusBadgesrc/components/ui/StatusBadge.tsxColor-coded status badge with Lucide iconography for ACTIVE, STAGED, REVOKED, etc.
CopyableHashsrc/components/ui/CopyableHash.tsxTruncated hexadecimal hash widget with 1-click clipboard copy and animated feedback.
PaginationBarsrc/components/ui/PaginationBar.tsxStandardized server-side pagination bar supporting variable page sizing (10, 25, 50 items).
Toastsrc/components/ui/Toast.tsxEphemeral toast notifications (Success, Error, Warning, Info) with automated dismiss timers.
Buttonsrc/components/ui/Button.tsxAccessible button primitive supporting primary, secondary, danger, and outline variants.