web: migrate health notifications to js_interop; add browser hook
- Replace dart:js with package:js in health_check_service_web.dart\n- Implement showHealthCheckNotification in web/index.html\n- Pin js dependency to ^0.6.7 for flutter_secure_storage_web compatibility auth: harden AuthInterceptor + tests - Allow overrideAuthRepository injection for testing\n- Normalize imports to package: paths\n- Add unit test covering token attach, 401→refresh→retry, and failure path\n- Add integration test skeleton gated by env vars ui/data: map User.companyName to list column - Add companyName to domain User\n- Map UserDto.company?.name\n- Render companyName in user_list cleanup: remove legacy equipment table + unused code; minor warnings - Remove _buildFlexibleTable and unused helpers\n- Remove unused zipcode details and cache retry constant\n- Fix null-aware and non-null assertions\n- Address child-last warnings in administrator dialog docs: update AGENTS.md session context
This commit is contained in:
@@ -45,19 +45,19 @@ class ShadcnTheme {
|
||||
static const Color infoLight = Color(0xFFCFFAFE); // cyan-100
|
||||
static const Color infoForeground = Color(0xFFFFFFFF);
|
||||
|
||||
// ============= 비즈니스 상태 색상 =============
|
||||
// 회사 구분 색상
|
||||
static const Color companyHeadquarters = Color(0xFF2563EB); // 본사 - Primary Blue (권위)
|
||||
static const Color companyBranch = Color(0xFF7C3AED); // 지점 - Purple (연결성)
|
||||
static const Color companyPartner = Color(0xFF059669); // 파트너사 - Green (협력)
|
||||
static const Color companyCustomer = Color(0xFFEA580C); // 고객사 - Orange (활력)
|
||||
// ============= 비즈니스 상태 색상 (색체심리학 기반) =============
|
||||
// 회사 구분 색상 - Phase 10 업데이트
|
||||
static const Color companyHeadquarters = Color(0xFF2563EB); // 본사 - 진한 파랑 (권위, 안정성)
|
||||
static const Color companyBranch = Color(0xFF3B82F6); // 지점 - 밝은 파랑 (연결성, 확장)
|
||||
static const Color companyPartner = Color(0xFF10B981); // 파트너사 - 에메랄드 (협력, 신뢰)
|
||||
static const Color companyCustomer = Color(0xFF059669); // 고객사 - 진한 그린 (성장, 번영)
|
||||
|
||||
// 장비 상태 색상
|
||||
static const Color equipmentIn = Color(0xFF059669); // 입고 - Green (진입/추가)
|
||||
static const Color equipmentOut = Color(0xFF0891B2); // 출고 - Cyan (이동/프로세스)
|
||||
static const Color equipmentRent = Color(0xFF7C3AED); // 대여 - Purple (임시 상태)
|
||||
static const Color equipmentDisposal = Color(0xFF6B7280); // 폐기 - Gray (비활성)
|
||||
static const Color equipmentRepair = Color(0xFFD97706); // 수리중 - Amber (주의 필요)
|
||||
// 트랜잭션 상태 색상 - Phase 10 업데이트
|
||||
static const Color equipmentIn = Color(0xFF10B981); // 입고 - 에메랄드 (추가/성장)
|
||||
static const Color equipmentOut = Color(0xFF3B82F6); // 출고 - 블루 (이동/처리)
|
||||
static const Color equipmentRent = Color(0xFF8B5CF6); // 대여 - Purple (임시 상태)
|
||||
static const Color equipmentDisposal = Color(0xFF6B7280); // 폐기 - Gray (종료/비활성)
|
||||
static const Color equipmentRepair = Color(0xFFF59E0B); // 수리중 - Amber (주의/진행)
|
||||
static const Color equipmentUnknown = Color(0xFF9CA3AF); // 알수없음 - Light Gray
|
||||
|
||||
// ============= UI 요소 색상 =============
|
||||
@@ -93,8 +93,15 @@ class ShadcnTheme {
|
||||
|
||||
// 추가 색상 (기존 호환)
|
||||
static const Color blue = primary;
|
||||
static const Color purple = companyBranch;
|
||||
static const Color green = companyPartner;
|
||||
static const Color purple = equipmentRent;
|
||||
static const Color green = equipmentIn;
|
||||
|
||||
// Phase 10 - 알림/경고 색상 체계 (긴급도 기반)
|
||||
static const Color alertNormal = Color(0xFF10B981); // 60일 이상 - 안전 (그린)
|
||||
static const Color alertWarning60 = Color(0xFFF59E0B); // 60일 이내 - 주의 (앰버)
|
||||
static const Color alertWarning30 = Color(0xFFF97316); // 30일 이내 - 경고 (오렌지)
|
||||
static const Color alertCritical7 = Color(0xFFEF4444); // 7일 이내 - 위험 (레드)
|
||||
static const Color alertExpired = Color(0xFFDC2626); // 만료됨 - 심각 (진한 레드)
|
||||
|
||||
static const Color radius = Color(0xFF000000); // 사용하지 않음
|
||||
|
||||
@@ -526,51 +533,60 @@ class ShadcnTheme {
|
||||
}
|
||||
|
||||
// ============= 유틸리티 메서드 =============
|
||||
/// 회사 타입에 따른 색상 반환
|
||||
/// 회사 타입에 따른 색상 반환 (Phase 10 업데이트)
|
||||
static Color getCompanyColor(String type) {
|
||||
switch (type.toLowerCase()) {
|
||||
case '본사':
|
||||
case 'headquarters':
|
||||
return companyHeadquarters;
|
||||
return companyHeadquarters; // #2563eb - 진한 파랑
|
||||
case '지점':
|
||||
case 'branch':
|
||||
return companyBranch;
|
||||
return companyBranch; // #3b82f6 - 밝은 파랑
|
||||
case '파트너사':
|
||||
case 'partner':
|
||||
return companyPartner;
|
||||
return companyPartner; // #10b981 - 에메랄드
|
||||
case '고객사':
|
||||
case 'customer':
|
||||
return companyCustomer;
|
||||
return companyCustomer; // #059669 - 진한 그린
|
||||
default:
|
||||
return secondary;
|
||||
}
|
||||
}
|
||||
|
||||
/// 장비 상태에 따른 색상 반환
|
||||
/// 트랜잭션 상태에 따른 색상 반환 (Phase 10 업데이트)
|
||||
static Color getEquipmentStatusColor(String status) {
|
||||
switch (status.toLowerCase()) {
|
||||
case '입고':
|
||||
case 'in':
|
||||
return equipmentIn;
|
||||
return equipmentIn; // #10b981 - 에메랄드
|
||||
case '출고':
|
||||
case 'out':
|
||||
return equipmentOut;
|
||||
return equipmentOut; // #3b82f6 - 블루
|
||||
case '대여':
|
||||
case 'rent':
|
||||
return equipmentRent;
|
||||
return equipmentRent; // #8b5cf6 - 퍼플
|
||||
case '폐기':
|
||||
case 'disposal':
|
||||
return equipmentDisposal;
|
||||
return equipmentDisposal; // #6b7280 - 그레이
|
||||
case '수리중':
|
||||
case 'repair':
|
||||
return equipmentRepair;
|
||||
return equipmentRepair; // #f59e0b - 앰버
|
||||
case '알수없음':
|
||||
case 'unknown':
|
||||
return equipmentUnknown;
|
||||
return equipmentUnknown; // #9ca3af - 라이트 그레이
|
||||
default:
|
||||
return secondary;
|
||||
}
|
||||
}
|
||||
|
||||
/// 알림/경고 긴급도에 따른 색상 반환 (Phase 10 신규 추가)
|
||||
static Color getAlertColor(int daysUntilExpiry) {
|
||||
if (daysUntilExpiry < 0) return alertExpired; // 만료됨
|
||||
if (daysUntilExpiry <= 7) return alertCritical7; // 7일 이내
|
||||
if (daysUntilExpiry <= 30) return alertWarning30; // 30일 이내
|
||||
if (daysUntilExpiry <= 60) return alertWarning60; // 60일 이내
|
||||
return alertNormal; // 60일 이상
|
||||
}
|
||||
|
||||
/// 상태별 배경색 반환 (연한 버전)
|
||||
static Color getStatusBackgroundColor(String status) {
|
||||
|
||||
Reference in New Issue
Block a user