33 lines
1.8 KiB
Markdown
33 lines
1.8 KiB
Markdown
# CRR brand
|
|
|
|
Canonical CRR visual assets and framework-independent CSS, consumed by both apps.
|
|
|
|
- `assets/logo.png`: the original Tournament logo, copied without conversion.
|
|
- `assets/favicon.png`: the original Tournament favicon.
|
|
- `styles/tokens.css`: shared palette around `#ed1c24`, font stack, radii,
|
|
shadows, spacing and focus-ring values.
|
|
- `styles/base.css`: box sizing, body defaults, links, controls, focus and tables.
|
|
- `styles/components.css`: the existing primary/quiet button, panel and error
|
|
alert patterns used by both Vue and Jinja. Existing class names are supported
|
|
directly so templates retain their own structure.
|
|
|
|
Load tokens, base and components **before** the application's own stylesheet.
|
|
Application CSS owns sizes, typography hierarchy, responsive layout, control
|
|
spacing, specialist badges and print-card dimensions. Local variable names are
|
|
aliases of `--crr-*` tokens, keeping existing styles/components compatible.
|
|
|
|
Tournament resolves `@crr-brand` through Vite and uses `assets/` as its public
|
|
asset directory. Shifts mounts this directory at `/brand` using FastAPI
|
|
`StaticFiles`; Jinja uses `url_for('brand', ...)` so `ROOT_PATH` is respected.
|
|
Its PDF exporter reads this same logo. Both Docker builds copy the package from
|
|
the repository-root context, preserving its relative path to each application.
|
|
|
|
Brand-only changes trigger both application CI jobs. This package contains no
|
|
domain code or UI framework components and has no independent public version.
|
|
|
|
After changing branding, run both app checks/builds and `make branding-visual-check`
|
|
to compare desktop/mobile geometry and Tournament print cards against the legacy
|
|
baseline. `make migration-visual-check` compares rendered pages to the approved
|
|
Phase 2 screenshots. Baseline staging and Playwright prerequisites are documented
|
|
in `migration/README.md`.
|