Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 21 additions & 12 deletions .specify/DESIGN_SYSTEM.md
Original file line number Diff line number Diff line change
Expand Up @@ -277,21 +277,30 @@ Colors Kept

• ✅ All colors in Section 2 of this document

## 11. Theme Support

---
### Dark/Light Mode

## Cómo agregarlo
The app supports both dark and light themes, switchable by user preference or system setting.

No hay comando especial de spec-kit para esto. Simplemente:
#### Theme Detection
- Default: Follow system setting (MediaQuery.platformBrightness)
- User override: Stored in local preferences
- Persist across sessions

1. Crea el archivo manualmente:
```bash
# En el directorio del repo app
mkdir -p .specify
nano .specify/DESIGN_SYSTEM.md
# (pega el contenido)
#### Color Mapping

2. Y agrega referencia en el spec principal. Cuando crees el specify, incluye al final:
| Semantic Color | Dark Theme | Light Theme |
|---------------|------------|-------------|
| background | `#171A23` | `#FFFFFF` |
| backgroundCard | `#1E2230` | `#F5F5F5` |
| backgroundInput | `#252A3A` | `#EEEEEE` |
| textPrimary | `#FFFFFF` | `#1A1A1A` |
| textSecondary | `#CCCCCC` | `#666666` |
| mostroGreen | `#8CC63F` | `#8CC63F` (same) |
| sellColor | `#FF8A8A` | `#FF8A8A` (same) |

See also:- CURRENT_FEATURES.md for v1 feature reference
- DESIGN_SYSTEM.md for color palette and UI guidelines
#### Implementation
- Use `ThemeData` with `ColorScheme`
- Wrap app in `ThemeProvider` (Riverpod)
- All colors via `Theme.of(context)` — never hardcoded
55 changes: 42 additions & 13 deletions specs/001-mostro-p2p-client/checklists/requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

**Purpose**: Validate specification completeness and quality before proceeding to planning
**Created**: 2026-03-22
**Updated**: 2026-03-22 (v1 feature parity pass)
**Updated**: 2026-03-23 (clarification pass — 4 questions resolved)
**Feature**: [spec.md](../spec.md)

## Content Quality
Expand Down Expand Up @@ -32,21 +32,50 @@

## V1 Feature Parity Check

- [x] NWC (Nostr Wallet Connect) — FR-027, FR-028, US1.6, US7.6
- [x] Encrypted file messaging — FR-029, FR-030, US5.5, US5.6
- [x] Session recovery — FR-031, US10
- [x] BIP-32 key derivation — FR-032
- [x] Reputation system — FR-033, FR-034, US11
- [x] NWC (Nostr Wallet Connect) — FR-027, FR-028, FR-046, US1.3, US7.7
- [x] Encrypted file messaging — FR-029, FR-030, FR-047, US5.5-7
- [x] Session recovery — FR-031, US10 (5 scenarios including key index sync)
- [x] BIP-32 key derivation — FR-032, Identity entity (index 0 / N≥1)
- [x] Reputation system — FR-033, FR-034, FR-044, US11
- [x] Deep links — FR-035, FR-036, US12
- [x] Cooperative cancel — FR-037, FR-038, US13
- [x] Relay auto-sync — FR-039
- [x] Relay auto-sync — FR-039, Relay entity (source classification + blacklist)
- [x] Countdown timers — FR-040
- [x] Background notifications — FR-041
- [x] Buyer invoice submission — FR-042
- [x] Background notifications — FR-041, FR-049 (silent/contentless)
- [x] Buyer invoice submission — FR-042, FR-048 (paymentFailed resubmit)
- [x] Diagnostic logging — FR-050, FR-051, US7.9
- [x] Range orders — FR-005 (fixed or min/max range), US2.1, Order entity

## Protocol Enrichment Check

- [x] Full 15-state order machine documented — Protocol Reference section, FR-043, Order entity
- [x] NIP-59 three-layer encryption documented — Protocol Reference section, Message entity
- [x] Complete protocol action catalog — Protocol Reference section (table)
- [x] Protocol versioning note — Protocol Reference section
- [x] Privacy modes (standard vs full) — FR-044 (global toggle in settings), Identity entity
- [x] Encrypted-at-rest chat storage — FR-045, Message entity, SC-022
- [x] Cross-language core/UI architecture constraint documented — Assumptions section (stack details deferred to ADR)
- [x] Key derivation path (m/44'/1237'/38383'/0/N) — Assumptions section

## Dark/Light Theme Check

- [x] Three-option theme selection (System/Dark/Light) — FR-019b, US7.4
- [x] OS preference default — FR-019a, US7.5, SC-020
- [x] Device-local persistence — FR-019c, Theme Preference entity
- [x] Smooth transitions, no flash — FR-019d
- [x] WCAG AA contrast in both themes — FR-019e, SC-019
- [x] Brand color consistency across themes — FR-019f
- [x] Theme switch during active modal edge case — Edge Cases

## Clarification Pass (2026-03-23)

- [x] Admin role scoped to user-side only — Non-Goals updated
- [x] Privacy mode is global toggle in settings — FR-044 updated
- [x] Range orders supported — FR-005, US2.1, Order entity updated
- [x] Diagnostic logging included — FR-050, FR-051, US7.9 added

## Notes

- All items pass. Spec updated with v1 feature parity from `.specify/CURRENT_FEATURES.md`.
- 13 user stories (up from 9) covering: buy, sell, onboarding, browsing, chat+files, disputes, settings+NWC+relay-sync, history, responsive, session recovery, reputation, deep links, cooperative cancel.
- 42 functional requirements (up from 26), 18 success criteria (up from 12), 11 edge cases (up from 6).
- Non-goals: no multi-trade, no fiat integration, no built-in Lightning node (NWC integration IS in scope).
- All items pass. 4 clarifications resolved, all integrated into spec.
- 13 user stories, 51 functional requirements, 22 success criteria, 15 edge cases.
- No outstanding ambiguities blocking `/speckit.plan`.
Loading