- Profile Photo card: replace the tall centered avatar+buttons stack with a
compact horizontal row (avatar left, caption + Upload/Camera buttons right),
roughly halving the card height and reclaiming the dead vertical space.
- TasQColumn gains an optional `minWidth`; the adaptive table now sums per-column
minimums instead of a flat 200 px each. User Management sets narrow widths on
its short columns (Role/Offices/Status/Last active) so all six columns fit at
desktop width without the horizontal scroll that was clipping the Status
column. Other tables keep the 200 px default (unchanged).
Verified: flutter analyze lib clean; flutter build web green; visual QA
(Profile, User Management) in dark.
Co-Authored-By: claude-flow <ruv@ruv.net>
Address the remaining concrete items flagged by the dogfood pass.
Section headers (→ AppSectionHeader, azure accent bar + uppercase):
- Attendance: "Today's Schedule", "Pass Slip History", and two "Pending
Approvals" rows (were plain bold text / a manual tertiary accent bar).
User Management:
- Roles now display human-friendly labels (it_staff → "IT Staff", standard →
"Standard", …) in the table cell, mobile tile and edit dropdown, instead of
raw snake_case (Content/terminology consistency).
- _StatusBadge is now semantic via AppStatusColors: Active → success (green),
Locked → danger (red), else neutral — previously everything was teal, so a
Locked account read the same as an Active one.
Verified: flutter analyze lib clean; flutter build web green; visual QA
(Attendance, User Management) in dark.
Co-Authored-By: claude-flow <ruv@ruv.net>
Re-theme TasQ with a refined enterprise "Cyber/IT" identity on Material 3.
Functionality is unchanged — only color/shape tokens and a few state widgets.
Foundation:
- Hand-tuned light + dark ColorSchemes (deep-slate surfaces, azure/teal/violet
accents), tightened 12-16dp shape language, flat hairline-outlined cards.
- New AppStatusColors theme extension (success/warning/danger/info/neutral,
per-brightness) replacing scattered raw Colors.green/orange/red/grey so status
color is consistent and legible in dark mode.
- New TechChip mono primitive; StatusPill.kind; M3Card hairline variants;
tightened AppSurfaces radii.
Per-screen:
- Tokenized status colors + radii across dashboard, tickets, tasks, IT service
requests, attendance, whereabouts, network map, reports charts, auth, and
shared/admin screens. Added _ticketStatusKind/_taskStatusKind/_isrStatusKind
mappers so status carries meaning consistently.
- Fixed white pie-slice borders for dark mode; dropped ad-hoc dialog radius
overrides in favor of the theme default. Categorical palettes (leave-type
icons, team color picker, distribution charts) intentionally preserved.
Verified: flutter analyze lib clean; flutter build web green; visual QA in
light and dark (dashboard, tickets, attendance).
Co-Authored-By: claude-flow <ruv@ruv.net>