Context
The directory extension/src/options/ looks like an options-page implementation (it has components/, an api.ts, a styles.css). It is not. The components are all re-imported by SettingsScreen.tsx (which renders the in-popup settings flow), and there is no entrypoints/options/ and no options_ui/options_page in wxt.config.ts. The folder naming misleads readers and contributors.
Problem / Observation
Proposed approach
Either:
- Promote it: add
extension/src/entrypoints/options/ with an index.html + main.tsx, declare options_ui in wxt.config.ts, and route from the popup's chrome.runtime.openOptionsPage() when desktop screen real estate is available. Bitwarden-style.
- Demote it: rename
src/options/ → src/settings/, delete api.ts and styles.css (the popup already owns these), and delete AccountsSection.tsx.
Option 2 is the smaller surgical change. Pick (1) only if a real options UI is on the roadmap.
Acceptance criteria
Context
The directory
extension/src/options/looks like an options-page implementation (it hascomponents/, anapi.ts, astyles.css). It is not. The components are all re-imported bySettingsScreen.tsx(which renders the in-popup settings flow), and there is noentrypoints/options/and nooptions_ui/options_pageinwxt.config.ts. The folder naming misleads readers and contributors.Problem / Observation
background.ts,content.ts,popup/.shared/api.ts(export { BackgroundError, send } from "../shared/api.js";), 100% duplicated ofpopup/api.ts:1.grep -rn "AccountsSection" src/returning only the definition. Pure dead code.Proposed approach
Either:
extension/src/entrypoints/options/with anindex.html+main.tsx, declareoptions_uiinwxt.config.ts, and route from the popup'schrome.runtime.openOptionsPage()when desktop screen real estate is available. Bitwarden-style.src/options/→src/settings/, deleteapi.tsandstyles.css(the popup already owns these), and deleteAccountsSection.tsx.Option 2 is the smaller surgical change. Pick (1) only if a real options UI is on the roadmap.
Acceptance criteria
AccountsSection.tsxis deleted unless wired up.SettingsScreen.tsxetc. are updated.npm run typecheckandnpm run lintare green.