Skip to content

M19 — Page skins #48

Description

@julia-shtal

Context. book.css currently has one fixed palette + page-stack texture,
entirely driven by CSS custom properties (README: "no hard-coded colours
elsewhere").

Scope

  1. Introduce a data-theme attribute on the app root with 2–3 named skins
    (e.g. parchment [current default], night, linen), each just
    redefining the existing CSS custom properties — no new component logic.
    If implementing this surfaces a component that hardcodes a color instead of
    using the token system, fix that component as part of this task (it's a
    pre-existing violation of the stated CSS convention, not scope creep).
  2. Settings view: a theme picker next to font family/size, applied live
    without restart — same pattern as the other "live settings."
  3. Persisted in settingsStore/userData/settings.json.

Out of scope v1: a free-form/custom color picker — fixed curated skins only.

Acceptance criteria

  • Switching themes in Settings updates the editor immediately, no restart.
  • Every themed surface uses CSS custom properties — no leftover hardcoded colors.
  • Selected theme persists across restart.

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions