feat: integrate invite API and improve notification handling
- Add invite code display and binding functionality via API - Fix notification unread count sync on auth state change - Improve notification mark read with server state validation - Add auth state listener to trigger notification refresh - Add YaoCoinConverter for coin-to-yao type conversion - Remove YaoLegend from divination screens (UI cleanup) - Abbreviate relation labels in yao detail view - Add re-register notice to account delete screen - Update 'coins' terminology to 'points' in localization - Fix backend points consumption to only run in CHAT mode - Add HttpxAuthNoiseFilter to suppress auth endpoint logging - Fix notification static_schema import path - Add test coverage for notification bloc error handling - Update AGENTS.md page header rules and image handling - Delete deprecated run-dev.sh script
This commit is contained in:
@@ -45,6 +45,26 @@ This file governs `apps/**` (Flutter). Keep rules strict, short, and reusable.
|
||||
- `AppTheme.light` / `AppTheme.dark` provide complete `ColorScheme` (light + dark). `MaterialApp` wires them via `theme:` / `darkTheme:`.
|
||||
- If a semantic slot is missing from `ColorScheme`, add it to `AppTheme` — do not bypass `colorScheme` with hardcoded values.
|
||||
|
||||
### Page Header (Must)
|
||||
|
||||
All sub-pages (sub-page = any page that is not a home Tab page) `AppBar` must follow:
|
||||
|
||||
- **`centerTitle: true`** — title must be horizontally centered; never left-aligned.
|
||||
- **`backgroundColor`** and **`surfaceTintColor`** should match the page background to avoid visual seams.
|
||||
- Example:
|
||||
|
||||
```dart
|
||||
appBar: AppBar(
|
||||
title: Text('Notifications'),
|
||||
centerTitle: true,
|
||||
backgroundColor: colors.surfaceContainerLow,
|
||||
surfaceTintColor: colors.surfaceContainerLow,
|
||||
actions: [...],
|
||||
),
|
||||
```
|
||||
|
||||
- When a repeated pattern emerges, extract a reusable component into `shared/widgets/` instead of building `AppBar` independently in each page.
|
||||
|
||||
## Divination Terminology (Must)
|
||||
|
||||
- Divination domain terminology must use fixed Chinese terms in code contracts, protocol fields, and UI semantic labels.
|
||||
|
||||
Reference in New Issue
Block a user