generated from john/python-template
Continue GC code review: UI
This commit is contained in:
@@ -65,12 +65,16 @@ Semantic tokens currently include:
|
||||
4. ui-card-surface
|
||||
5. ui-row-surface
|
||||
6. ui-note-box
|
||||
7. ui-card-error
|
||||
|
||||
### 5.3 Interactive Elements
|
||||
1. ui-btn-primary
|
||||
2. ui-btn-secondary
|
||||
3. ui-link-primary
|
||||
4. ui-text-accent
|
||||
5. ui-chip-primary
|
||||
6. ui-badge-secondary
|
||||
7. ui-status and ui-status--<status>
|
||||
|
||||
### 5.4 Table Patterns
|
||||
1. ui-table
|
||||
@@ -80,21 +84,15 @@ Semantic tokens currently include:
|
||||
Use existing class combinations from [src/transcription/ui/components](src/transcription/ui/components) and [src/transcription/ui/pages](src/transcription/ui/pages) as reference implementations.
|
||||
|
||||
## 6. Legacy Class Policy
|
||||
Legacy classes with vibe- prefix still exist in a few components and are allowed only for compatibility while migrating:
|
||||
1. Existing usage may remain temporarily.
|
||||
2. New usage of vibe- classes is not allowed.
|
||||
3. When touching a file that uses vibe- classes, prefer migrating it to ui- semantic classes in the same change when safe.
|
||||
|
||||
Current legacy usage examples are in:
|
||||
1. [src/transcription/ui/components/document_panzoom.py](src/transcription/ui/components/document_panzoom.py)
|
||||
2. [src/transcription/ui/components/error_presenter.py](src/transcription/ui/components/error_presenter.py)
|
||||
3. [src/transcription/ui/components/transcript.py](src/transcription/ui/components/transcript.py)
|
||||
Legacy `vibe-` presentation classes are prohibited. Use `ui-` semantic classes from `theme.css`.
|
||||
|
||||
## 7. Prohibited Patterns
|
||||
1. Inline hex colors in Python UI class strings or style blocks, except in isolated bridge code explicitly marked for migration.
|
||||
2. Ad-hoc one-off class names that duplicate existing semantic class intent.
|
||||
3. Page-specific palette forks that bypass theme tokens.
|
||||
4. Hidden or low-contrast focus states on interactive controls.
|
||||
5. Embedded `<style>` blocks or NiceGUI `.style(...)` calls in Python UI code.
|
||||
6. Additional page- or component-specific stylesheets; `theme.css` is the single CSS source.
|
||||
|
||||
## 8. Implementation Rules For Contributors
|
||||
1. Prefer composing existing semantic classes before creating new ones.
|
||||
|
||||
Reference in New Issue
Block a user