Back to Github Store

Screen Inventory

.design/SCREEN-INVENTORY.md

1.9.07.5 KB
Original Source

Screen Inventory

Master list of every screen in GHS + its coverage by the handoff. Drives Phase 6+ work order. Uncovered screens get pre-build design pass + maintainer approval per decision D9.

Coverage legend

  • FULL — handoff has ASCII layout + spec + JSX reference for this screen
  • PARTIAL — handoff mentions the screen but only fragments (e.g. component used, but no full layout)
  • NONE — handoff doesn't cover; extrapolate from primitives/patterns + ask user

Primary routes (from GithubStoreGraph.kt)

#RouteModuleCoverageHandoff refNotes
1HomeScreenfeature/home/FULLDESIGN.md §9.3 / §10.1 + home.jsx + mobile.jsxLead + Hot + Trending + Popular + From-your-stars
2SearchScreen(initialPlatform)feature/search/PARTIALDESIGN.md §10.3 + desktop.jsx DesktopSearchScreenSource toggle (GitHub/Codeberg/Custom) NOT in handoff
3AuthenticationScreenfeature/auth/PARTIALDESIGN.md §16.5 (full-screen sheet pattern w/ device-flow code)Web-OAuth path + PAT path need extrapolation
4DetailsScreen(repoId, owner, repo, isComingFromUpdate, sourceHost)feature/details/FULLDESIGN.md §8.4 + §9.4 + desktop.jsx + mobile.jsx + detail-inner.jsxForeign-source variant needs handling
5DeveloperProfileScreen(username)feature/dev-profile/NONEPre-build design pass
6ProfileScreenfeature/profile/PARTIALDESIGN.md §8.1 mentions user card + MIGRATION.md §risky areas (Connect + Business inquiries vs donate)Need full layout pass
7TweaksScreenfeature/tweaks/PARTIALDESIGN.md §8.1 mentions Settings entry, tweaks-panel.jsx shows palette picker onlyFull Tweaks UI needs design — many sub-sections (Network, Translation, Installation, Updates, etc.)
8FavouritesScreenfeature/favourites/NONEReuse list-row pattern but pre-build design pass
9StarredReposScreenfeature/starred/NONEReuse list-row pattern but pre-build design pass
10RecentlyViewedScreenfeature/recently-viewed/NONEReuse list-row pattern but pre-build design pass
11AppsScreen (= Library)feature/apps/FULLDESIGN.md §8.3 / §9.5 + desktop.jsx (two-pane) + mobile.jsxDesktop two-pane is net-new for GHS
12ExternalImportScreenfeature/apps/ (import wizard)PARTIALDESIGN.md §16.5 full-screen sheet patternMulti-step Obtainium import flow needs full design
13MirrorPickerScreenfeature/tweaks/ (mirror sub-screen)NONEtokens.json mentions SignalBars for mirror speedPre-build design pass
14SkippedUpdatesScreenfeature/tweaks/ (updates sub-screen)NONEPre-build design pass
15HiddenRepositoriesScreenfeature/tweaks/ (updates sub-screen)NONEPre-build design pass
16WhatsNewHistoryScreenfeature/profile/ or standaloneNONEDESIGN.md §16.6 mentions What's-new sheet (per-version), not history pagePre-build design pass
17AnnouncementsScreenfeature/profile/ or standaloneNONEPre-build design pass
18StarredPickerScreenfeature/apps/ (link-app wizard)NONEPre-build design pass
19HostTokensScreenfeature/tweaks/ (access tokens)NONEPre-build design pass (per-host PAT manager — GHS-specific)

Cross-screen overlay surfaces (DESIGN.md §16)

SurfaceCoverageWhere it shows up
Bottom sheet (asset picker, install variant, source)FULL §16.1Details install panel, link-app sheet
Confirm dialog (sign out, uninstall, clear cache)FULL §16.2Profile sign-out, Apps uninstall, Tweaks clear
Toast (retry-after, install complete, network changed)FULL §16.3Cross-app
Diagnostics card (Send feedback)FULL §16.4Tweaks → Feedback (current FeedbackBottomSheet)
Full-screen sheet (OAuth, PAT, Imports wizard)FULL §16.5Auth, ExternalImport
What's-new sheet (per-version one-shot)FULL §16.6First launch after upgrade (existing WhatsNewHistory ≠ this sheet)
Dropdown menu (translate lang, sort, palette)PARTIAL §16.7TranslateButton in Details, Apps sort menu

Sub-components / dialogs that need design (GHS-specific, no handoff coverage)

  • CustomForgesDialog (Tweaks → Network → Custom forges) — list + add/remove forge hosts
  • AdvancedAppSettingsBottomSheet (Apps → row long-press) — asset filter regex, monorepo fallback, pin variant, include pre-releases
  • LinkAppBottomSheet (Apps → unlinked device app) — search GitHub repo + pick + link
  • ApkInspectSheet (Details → Android only) — partial coverage in DESIGN.md §9.6 standalone APK Inspect screen
  • ReleaseAssetsPicker / VersionPicker / VersionTypePicker (Details install panel) — pickers for asset / version / channel
  • AutoSuggestMirrorSheet (Tweaks → Mirror auto-suggest) — locale-gated suggestion
  • FeedbackBottomSheet (Tweaks → Feedback) — already aligned with §16.4 pattern
  • DownloadProgress / InstallProgress UI (Details install flow) — DESIGN.md mentions inline progress but doesn't detail
  • LanguagePicker (Details → translate) — DESIGN.md §16.7 pattern
  • TranslationControls (Details → translate bar) — provider-aware toggle
  • PlatformSectionCard (Details → cross-platform assets) — group APK/EXE/DMG by platform

Sub-screens not in GithubStoreGraph.kt but composed inside features

  • APK Inspect (full-screen, Android only) — handoff DESIGN.md §9.6 covers FULL
  • Inner Detail (About / What's-new tabs + version rail) — handoff DESIGN.md §8.4 covers FULL
  • Onboarding (first launch) — not currently a screen in GHS but worth considering. MIGRATION.md mentions "first-launch surfaces"
  • Empty states (Library before scan, Search before query, Updates when none, Favourites empty) — patterns.md §Pattern: Empty state

What stays purely behavioural (no UI redesign)

  • Install flow (Shizuku / Dhizuku / Root / Default) — pickers re-styled, logic untouched
  • Background update check (WorkManager) — no UI surface
  • KSafe encryption layer — no UI
  • Crash reporter (Desktop) — no UI
  • WinGet publish workflow — CI only
  • SignPath Windows signing — CI only

Open per-screen questions (resolve in their respective phases)

  1. Onboarding — build it? (Currently no formal onboarding; first launch goes straight to Home.)
  2. Profile Connect rows — what platforms? (Mastodon, GitHub Discussions, Reddit, Discord? Maintainer pick.)
  3. Profile Business inquiries — what data? (Email + GitHub Issues link?)
  4. WhatsNewHistory — page or per-version sheet only? (Current GHS has a route — keep as history list.)
  5. Announcements — backend-driven or static? (Current is backend-driven.)
  6. MirrorPickerScreen vs MirrorPickerSheet — is full-screen still right, or move to bottom sheet?
  7. HostTokensScreen — table-style or card-style rows? (Sensitive data; mask PAT by default.)
  8. CustomForgesDialog — keep as dialog or promote to sub-screen?
  9. Desktop two-pane Apps — does it apply to Favourites/Starred/Recently-viewed too?
  10. Search source toggle — chip row above results or in filter sheet?

These get re-asked in the relevant phase.