Files
minstrel/flutter_client/lib/theme/tokens.dart
T
bvandeusen f97cf6eb38 feat(flutter): token + asset sync from web; gen_tokens.dart
shared/fabledsword.tokens.json mirrors web/src/lib/styles/tokens.json;
assets/error-copy.json mirrors the web's error-code copy table;
assets/svg/album-fallback.svg mirrors the web placeholder. Together
these give Flutter the same visual + copy starting point as the SPA.

tool/gen_tokens.dart emits lib/theme/tokens.dart from the JSON; the
generated file is committed so CI can verify the JSON and the Dart
file haven't drifted (gate added in Task 21).

tool/sync_shared.sh mkdirs the shared/ + assets/ destinations before
copying so the script works on a fresh checkout (the original
plan-text shape only mkdir'd assets/svg).

pubspec.yaml assets block uncommented now that the three asset paths
exist on disk.
2026-05-02 16:55:21 -04:00

28 lines
1.1 KiB
Dart

// GENERATED — do not edit. Source: shared/fabledsword.tokens.json
// Run `dart run tool/gen_tokens.dart` to regenerate.
import 'package:flutter/material.dart';
class FabledSwordTokens {
static const Color obsidian = Color(0xFF14171A);
static const Color iron = Color(0xFF1E2228);
static const Color slate = Color(0xFF2C313A);
static const Color pewter = Color(0xFF3F4651);
static const Color parchment = Color(0xFFE8E4D8);
static const Color vellum = Color(0xFFC2BFB4);
static const Color ash = Color(0xFF9C9A92);
static const Color moss = Color(0xFF4A5D3F);
static const Color bronze = Color(0xFF8B7355);
static const Color oxblood = Color(0xFF6B2118);
static const Color warning = Color(0xFF8B6F1E);
static const Color error = Color(0xFFC04A1F);
static const Color info = Color(0xFF3D5A6E);
static const Color accent = Color(0xFF4A6B5C);
static const double radiusSm = 4;
static const double radiusMd = 8;
static const double radiusLg = 12;
static const double radiusXl = 16;
static const String fontDisplay = "Fraunces";
static const String fontBody = "Inter";
static const String fontMono = "JetBrains Mono";
}