Skip to content

Add a theme select control and appearance preview to the settings page #66

Description

@mikewheeleer

Expand the settings page with an appearance preview and API base display

Description

src/app/settings/page.tsx is a near-empty stub: it renders only a heading and the ThemeToggle. Operators have nowhere to confirm which backend the dashboard is pointed at or preview how the chosen theme looks. This issue makes settings a useful operator surface.

Requirements and context

  • Repository scope: StableRoute-Org/Stableroute-frontend only.
  • Add a read-only "API base" row showing the configured NEXT_PUBLIC_STABLEROUTE_API_BASE (or the localhost default) so operators can verify the target, reusing src/components/Card.tsx.
  • Add a small live appearance preview (sample text/surface) below the existing ThemeToggle so the effect of light/dark/system is visible without leaving the page.
  • Keep the #main-content/focus:outline-none skip target and the existing metadata title.
  • Do not log or expose any secret; only the public API base may be displayed.

Suggested execution

Test and commit

  • Run npm run lint, npm test, and npm run build.
  • Cover edge cases: default base, custom env base, and theme preview reflects selection.
  • Include the full npm test output in the PR description.

Example commit message

feat: add appearance preview and API base display to settings page

Guidelines

  • Minimum 95 percent test coverage for impacted modules.
  • Clear, reviewer-focused documentation.
  • Timeframe: 96 hours.

Community & contribution rewards

  • 💬 Join the StableRoute community on Discord for questions, reviews, and faster merges: https://discord.gg/37aCpusvx
  • ⭐ This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project — if this issue and the maintainers helped you ship, we'd be grateful for a 5-star rating. Clear questions in Discord and tidy, well-tested PRs are the fastest path to a merge and a reward.

Metadata

Metadata

Assignees

No one assigned
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions