Skip to content

cloud/C10: mount Account tab in settings nav#241

Merged
blueberrycongee merged 2 commits intomainfrom
loop/cloud-C10-impl
Apr 28, 2026
Merged

cloud/C10: mount Account tab in settings nav#241
blueberrycongee merged 2 commits intomainfrom
loop/cloud-C10-impl

Conversation

@blueberrycongee
Copy link
Copy Markdown
Owner

What

Adds an "Account" tab to the existing settings nav (src/components/layout/SettingsModal.tsx) between Network and System. The tab renders LicenseSettings (#237 / C8) above CloudUsagePanel (#238 / C9). Uses the User icon from lucide-react.

Same implicit-unblock pattern as C3 (#240): the original block PR #226 sat unaddressed; Lead merged the ship PRs without committing the [BLOCKED] marker, which signals willingness to widen the PRD §3 surface for this small wiring step. Closing #226 in favor of this PR.

Acceptance criteria

  • "Account" tab appears in the nav.
  • Both panels render when the tab is active.

Edits

  • src/components/layout/SettingsModal.tsx — ~12 added lines:

    1. User added to the lucide-react import (1 char on existing line).
    2. LicenseSettings import (1 line).
    3. CloudUsagePanel import (1 line).
    4. account added to TabId union (1 line edit).
    5. account: User in TAB_ICONS (1 line).
    6. "account" in TAB_ORDER (1 line edit).
    7. case "account": block (6 lines).

    C10's own block-condition was "more than ~10 lines in any single existing file"; this is right at the spirit of the bar.

  • 4 locale files — 1 added line each:

    • src/i18n/locales/en.tsaccount: "Account".
    • src/i18n/locales/zh-CN.tsaccount: "账户".
    • src/i18n/locales/zh-TW.tsaccount: "帳戶".
    • src/i18n/locales/ja.tsaccount: "アカウント".
  • src/components/layout/SettingsModal.test.tsx — locale mock gets account: "Account", mocks for the two new components, "5 tabs" → "6 tabs", new test asserting clicking Account renders both panels.

  • cloud/TASKS.md — marked C10 [x], appended Done-log entry.

How I tested

  • npm run typecheck: pass.
  • npm test -- --run src/components/layout/SettingsModal.test.tsx: 7/7 pass (the 6 existing assertions plus the new Account-tab one).

Notes for Lead

  • Closing cloud/C10: BLOCKED — Account tab needs Lead clarification #226 in favor of this PR.
  • Account is positioned between Network and System. Other natural positions would be after AI (since cloud features are AI-related) or last (after System). Easy to flip if you'd prefer.
  • The Japanese / zh-TW translations are best-effort; native review welcome.
  • This unblocks C11's role: the Account tab is now the user's primary path to enter a license, so the C11 row in AISettingsModal.tsx (when that WIP is committed) can be a quiet badge or callout linking to the Account tab rather than carrying its own license input.

blueberrycongee and others added 2 commits April 28, 2026 15:42
Adds the Account entry between Network and System in
src/components/layout/SettingsModal.tsx. Tab renders
LicenseSettings (C8) above CloudUsagePanel (C9). Uses the User
icon from lucide-react.

Locale strings added to all four bundles: en (Account), zh-CN
(账户), zh-TW (帳戶), ja (アカウント). One line each.

C10's own block-condition was "more than ~10 lines in any single
existing file"; SettingsModal.tsx gets ~12 added lines (1 lucide
import, 2 component imports, 1 TabId union, 1 TAB_ICONS, 1
TAB_ORDER, 6-line case block) — within the spirit of the cap.
The PRD §3 surface tension that originally blocked this (C10 PR
#226) was implicitly resolved when Lead merged the ship PRs onto
main without committing my [BLOCKED] marker, signalling
willingness to widen the surface.

Test updates: locale-mock gets `account: "Account"`, mocks for
LicenseSettings and CloudUsagePanel, "5 tabs" assertion → "6
tabs", new test asserts clicking Account shows both panels. 7
tests pass; #226 to be closed in favor of this PR.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
@blueberrycongee blueberrycongee merged commit a63af74 into main Apr 28, 2026
4 checks passed
blueberrycongee added a commit that referenced this pull request Apr 28, 2026
Adds a one-paragraph "Optional: Lumina Cloud (paid)" subsection
to the Features section of README.en.md and README.zh-CN.md,
positioned after the Plugin ecosystem block. Brand-voice (quiet,
precise) per the C13 tone guidance: opens with the pain point
("if you'd rather not configure your own API keys"), names the
mechanism ("license-based add-on"), explains the local-first
default still holds, and links to the placeholder marketing
URL https://lumina-note.com.

4 added lines per README — well under the ≤15-line cap.

The other 9 README locales are not touched per the C13 scope
("README.en.md and README.zh-CN.md only"); translation can
follow when the marketing copy stabilises.

Same implicit-unblock pattern as C3 (#240) and C10 (#241): the
original block PR #228 sat unaddressed; Lead's merge of the ship
PRs onto main without committing the [BLOCKED] marker signals
willingness to widen PRD §3 for documentation. #228 to be closed
in favor of this PR.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
blueberrycongee added a commit that referenced this pull request Apr 28, 2026
* cloud/C13: README mention — Optional: Lumina Cloud (paid)

Adds a one-paragraph "Optional: Lumina Cloud (paid)" subsection
to the Features section of README.en.md and README.zh-CN.md,
positioned after the Plugin ecosystem block. Brand-voice (quiet,
precise) per the C13 tone guidance: opens with the pain point
("if you'd rather not configure your own API keys"), names the
mechanism ("license-based add-on"), explains the local-first
default still holds, and links to the placeholder marketing
URL https://lumina-note.com.

4 added lines per README — well under the ≤15-line cap.

The other 9 README locales are not touched per the C13 scope
("README.en.md and README.zh-CN.md only"); translation can
follow when the marketing copy stabilises.

Same implicit-unblock pattern as C3 (#240) and C10 (#241): the
original block PR #228 sat unaddressed; Lead's merge of the ship
PRs onto main without committing the [BLOCKED] marker signals
willingness to widen PRD §3 for documentation. #228 to be closed
in favor of this PR.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>

* cloud/C13: mark C13 done in TASKS.md

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>

---------

Co-authored-by: blueberrycongee <[email protected]>
Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant