31 Commits

Author SHA1 Message Date
redz1029 e7706058b7 UI Phase 2: cosmetic leftovers — compact Profile photo card, fit Users table
- 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>
2026-09-26 23:35:19 +08:00
redz1029 4685430406 UI Phase 2: dogfood follow-ups — section headers, role terms, status semantics
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>
2026-09-26 16:44:39 +08:00
redz1029 57377b1b21 UI: Cyber/IT design overhaul with semantic status tokens (Material 3)
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>
2026-09-26 15:13:47 +08:00
redz1029 3cb980b629 QA hardening: security RLS fixes, Flutter 3.47.5 upgrade, UI/validation fixes
Security — enforce write authorization server-side (was UI/RPC-only):
- it_service_requests RLS: block cross-office read/edit + self-approve (QA-015)
- pass_slips RLS: owner can complete but not self-approve (QA-046)
- swap_requests RLS: scope select/update to participants + admin (QA-047)
- storage: tighten it_service_attachments + task_attachments write/delete (QA-027)
- admin_user_management edge function: allow programmers to manage users (QA-016)

Fixes:
- workforce generator "uncovered shifts" false alarms (QA-043/044)
- network-map VLAN + New-location dialog validation, disabled-until-valid (QA-048)
- de-flake time-of-day-dependent dashboard metrics test (QA-045)

Toolchain:
- upgrade to Flutter 3.47.5 / Dart 3.13.4; font_awesome_flutter 11.0.0,
  flutter_quill 11.6.0, pdfrx 2.6.5; clear resulting deprecations (QA-002)

analyze clean; 139 tests pass; web build succeeds. Report + evidence in docs/qa/.

Note: also carries the in-progress Brick model cleanup already present in the
working tree. QA-001 (AI keys public in the build) is deferred by owner decision.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-09-26 11:52:16 +08:00
redz1029 5d818e0d4f Enhanced APK Update Screen 2026-06-05 09:15:48 +08:00
redz1029 48cd3bcd60 Offline Support 2026-04-27 06:20:39 +08:00
redz1029 74197c525d Enhanced material design 3 implementation 2026-03-20 15:15:38 +08:00
redz1029 81853c4367 Added programmer role and fixed snackbar not showing 2026-03-16 07:23:20 +08:00
redz1029 885b543fb5 Pass Slip and Leave approval/rejection push notifications 2026-03-15 22:36:33 +08:00
redz1029 6fd3b66251 OTA Updates for adnroid app and web apk uploader 2026-03-15 19:24:34 +08:00
redz1029 9bbaf67fef A more robust self hosted OTA updates implementation 2026-03-13 07:15:28 +08:00
redz1029 9267ebee2c No need update check for web 2026-03-12 20:38:19 +08:00
redz1029 0bd2a94ece OTA Update attempt 2026-03-11 22:28:38 +08:00
redz1029 c6f536edeb Initial Commit: Duty Schedule and Attendance Logbook 2026-03-07 10:16:28 +08:00
redz1029 73dc735cce M3 Overhaul 2026-03-06 20:03:32 +08:00
redz1029 9bad41a5ee Fixed IT Job showing without Service 2026-02-28 19:23:34 +08:00
redz1029 e75d61ac64 Wrapped Offices and Services dropdown with consumer to watch if they are already available 2026-02-28 19:12:58 +08:00
redz1029 eaabc0114c Proper pagination 2026-02-25 18:25:00 +08:00
redz1029 1074572905 A better state and alerts 2026-02-23 20:19:07 +08:00
redz1029 46a84b4d95 Added Service 2026-02-21 21:57:31 +08:00
redz1029 c64c356c1b Adhere to OpenStreetMap's Policy to avoid blocked tiles 2026-02-19 07:26:56 +08:00
redz1029 5488238051 Geofence test screen 2026-02-19 06:49:21 +08:00
redz1029 8c1bb7646e Fixed user management 2026-02-18 20:43:11 +08:00
redz1029 04fd874a48 chore: remove unused profile lock migration and admin_profile_service 2026-02-18 18:13:10 +08:00
redz1029 e3afd51410 Removed User access button in office screen 2026-02-17 11:10:30 +08:00
redz1029 7fb465f6c9 Created App Surfaces for Theming 2026-02-17 07:27:42 +08:00
redz1029 5f666ed6ea Pagination 2026-02-17 06:46:52 +08:00
redz1029 678a73a696 Implement Asia/Manila Time Zone
Handled saving of Relievers
2026-02-11 20:12:48 +08:00
redz1029 01c6b3537c Major UI overhaul 2026-02-10 23:11:45 +08:00
redz1029 f4dea74394 * Workforce, Schedule generation and geofencing. 2026-02-09 22:19:31 +08:00
redz1029 1f16da8f88 Initial commit 2026-02-09 20:10:42 +08:00