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>
This commit is contained in:
@@ -9,6 +9,7 @@ import '../providers/attendance_provider.dart';
|
||||
import '../providers/profile_provider.dart';
|
||||
import '../services/face_verification.dart' as face;
|
||||
import '../services/image_compress_service.dart';
|
||||
import '../theme/app_status_colors.dart';
|
||||
import '../theme/m3_motion.dart';
|
||||
import '../widgets/qr_verification_dialog.dart';
|
||||
|
||||
@@ -302,7 +303,7 @@ class _FaceVerificationOverlayState
|
||||
textAlign: TextAlign.center,
|
||||
style: textTheme.titleMedium?.copyWith(
|
||||
color: _phase == _Phase.success
|
||||
? Colors.green
|
||||
? AppStatusColors.of(context).success.color
|
||||
: _phase == _Phase.failed
|
||||
? colors.error
|
||||
: _phase == _Phase.saving
|
||||
@@ -337,7 +338,7 @@ class _FaceVerificationOverlayState
|
||||
|
||||
final Color ringColor;
|
||||
if (isSuccess) {
|
||||
ringColor = Colors.green;
|
||||
ringColor = AppStatusColors.of(context).success.color;
|
||||
} else if (isFailed) {
|
||||
ringColor = colors.error;
|
||||
} else if (isSaving) {
|
||||
@@ -461,7 +462,7 @@ class _FaceVerificationOverlayState
|
||||
|
||||
Color dotColor;
|
||||
if (isSuccess_) {
|
||||
dotColor = Colors.green;
|
||||
dotColor = AppStatusColors.of(context).success.color;
|
||||
} else if (isDone) {
|
||||
dotColor = colors.error.withValues(alpha: 0.5);
|
||||
} else if (isCurrent) {
|
||||
|
||||
Reference in New Issue
Block a user