feat(rhema-code): add the colors setting with four palettes
The stored `colors` key names a palette — rhema (the default, Jadeite), aquamarine, black-and-white, or dracula — and the Appearance page of /settings cycles it live, like the theme and icon toggles beside it. Each palette carries a dark and a light appearance under the existing `theme` key; dracula's light side is derived, the official palette ships only dark. The appearance decision moves off token comparison: Theme now answers is_dark() from the ground/text luminance, so palettes beyond the original two get the right per-profile fallback tones.
This commit is contained in:
commit
81da26b955
159 files changed
+50628
No files matched your search
@@ -0,0 +1,37 @@
|
||||
[package]
|
||||
name = "rhema-calendar-integration"
|
||||
description = "The calendar integration: ICS/webcal feeds, CalDAV collections, and the Google Calendar API normalized into one occurrence vocabulary for reminder-style dispatch"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
rust-version.workspace = true
|
||||
license.workspace = true
|
||||
repository.workspace = true
|
||||
authors.workspace = true
|
||||
# The resident tier is still indev: `cargo publish --workspace` skips
|
||||
# it until the claw ships.
|
||||
publish = false
|
||||
|
||||
[dependencies]
|
||||
serde = { workspace = true }
|
||||
serde_json = { workspace = true }
|
||||
thiserror = { workspace = true }
|
||||
async-trait = { workspace = true }
|
||||
# HTTP against the three feed kinds: one bounded request per poll, no
|
||||
# streaming
|
||||
reqwest = { version = "0.12", features = ["json"] }
|
||||
# The CalDAV adapter reads 207 multistatus bodies; the element set it
|
||||
# cares about is small enough that a pull parser beats a DOM
|
||||
quick-xml = "0.41"
|
||||
# Every wire time (RFC 3339, iCalendar's compact `YYYYMMDDTHHMMSS[Z]`,
|
||||
# `VALUE=DATE` all-days) normalizes to an OffsetDateTime, and the
|
||||
# vocabulary's instants round-trip as RFC 3339.
|
||||
time = { version = "0.3", default-features = false, features = [
|
||||
"parsing",
|
||||
"formatting",
|
||||
"serde-well-known",
|
||||
] }
|
||||
|
||||
[dev-dependencies]
|
||||
tokio = { workspace = true, features = ["rt-multi-thread", "macros", "sync", "time"] }
|
||||
# In-process HTTP mocks for offline tests
|
||||
wiremock = "0.6"
|
||||
Reference in new issue
Block a user