refactor: UI 일관성 개선 및 회사 타입 배지 통일
Some checks failed
Flutter Test & Quality Check / Test on macos-latest (push) Has been cancelled
Flutter Test & Quality Check / Test on ubuntu-latest (push) Has been cancelled
Flutter Test & Quality Check / Build APK (push) Has been cancelled

- 회사 리스트 화면의 배지를 ShadcnBadge 컴포넌트로 통일
- 본사(Blue)와 지점(Purple) 색상 차별화로 시각적 구분 강화
- 고객사(Orange), 파트너사(Green) 색상 체계 개선
- 장비/라이선스 관리 화면과 동일한 배지 스타일 적용
- 불필요한 문서 파일 정리
- 라이선스 만료 요약 모델 업데이트
- 리스트 화면들의 페이지네이션 및 필터링 로직 개선

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
JiWoong Sul
2025-08-09 23:45:28 +09:00
parent 7d0077cd57
commit 6b5d126990
27 changed files with 1552 additions and 5755 deletions

View File

@@ -140,37 +140,27 @@ class _CompanyListRedesignState extends State<CompanyListRedesign> {
spacing: 4,
runSpacing: 2,
children: types.map((type) {
Color bgColor;
Color textColor;
ShadcnBadgeVariant variant;
String displayText;
switch (type) {
case CompanyType.customer:
bgColor = ShadcnTheme.green.withValues(alpha: 0.9);
textColor = Colors.white;
variant = ShadcnBadgeVariant.companyCustomer; // Orange
displayText = '고객사';
break;
case CompanyType.partner:
bgColor = ShadcnTheme.purple.withValues(alpha: 0.9);
textColor = Colors.white;
variant = ShadcnBadgeVariant.companyPartner; // Green
displayText = '파트너사';
break;
default:
bgColor = ShadcnTheme.muted.withValues(alpha: 0.9);
textColor = ShadcnTheme.foreground;
variant = ShadcnBadgeVariant.secondary;
displayText = companyTypeToString(type);
}
return Container(
padding: const EdgeInsets.symmetric(horizontal: 6, vertical: 1),
decoration: BoxDecoration(
color: bgColor,
borderRadius: BorderRadius.circular(3),
),
child: Text(
companyTypeToString(type),
style: TextStyle(
fontSize: 11,
fontWeight: FontWeight.w500,
color: textColor,
),
),
return ShadcnBadge(
text: displayText,
variant: variant,
size: ShadcnBadgeSize.small,
);
}).toList(),
),
@@ -181,23 +171,12 @@ class _CompanyListRedesignState extends State<CompanyListRedesign> {
/// 본사/지점 구분 배지 생성
Widget _buildCompanyTypeLabel(bool isBranch) {
return Container(
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 2),
decoration: BoxDecoration(
color:
isBranch
? ShadcnTheme.blue.withValues(alpha: 0.9)
: ShadcnTheme.primary.withValues(alpha: 0.9),
borderRadius: BorderRadius.circular(4),
),
child: Text(
isBranch ? '지점' : '본사',
style: TextStyle(
fontSize: 12,
fontWeight: FontWeight.w500,
color: Colors.white,
),
),
return ShadcnBadge(
text: isBranch ? '지점' : '본사',
variant: isBranch
? ShadcnBadgeVariant.companyBranch // Purple (#7C3AED) - 차별화
: ShadcnBadgeVariant.companyHeadquarters, // Blue (#2563EB)
size: ShadcnBadgeSize.small,
);
}