## 주요 변경사항: ### UI/UX 개선 - shadcn/ui 스타일 기반의 새로운 디자인 시스템 도입 - 모든 주요 화면에 대한 리디자인 구현 완료 - 로그인 화면: 모던한 카드 스타일 적용 - 대시보드: 통계 카드와 차트를 활용한 개요 화면 - 리스트 화면들: 일관된 테이블 디자인과 검색/필터 기능 - 다크모드 지원을 위한 테마 시스템 구축 ### 기능 개선 - Equipment List: 고급 필터링 (상태, 담당자별) - Company List: 검색 및 정렬 기능 강화 - User List: 역할별 필터링 추가 - License List: 만료일 기반 상태 표시 - Warehouse Location: 재고 수준 시각화 ### 기술적 개선 - 재사용 가능한 컴포넌트 라이브러리 구축 - 일관된 코드 패턴 가이드라인 작성 - 프로젝트 구조 분석 및 문서화 ### 문서화 - 프로젝트 분석 문서 추가 - UI 리디자인 진행 상황 문서 - 코드 패턴 가이드 작성 - Equipment 기능 격차 분석 및 구현 계획 ### 삭제/리팩토링 - goods_list.dart 제거 (equipment_list로 통합) - 불필요한 import 및 코드 정리 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
187 lines
5.3 KiB
Markdown
187 lines
5.3 KiB
Markdown
# UI 리디자인 현황 분석
|
|
|
|
## 1. 리디자인 진행 상황 요약
|
|
|
|
### 1.1 완료된 리디자인 파일
|
|
| 기존 파일 | 리디자인 파일 | 상태 |
|
|
|-----------|--------------|------|
|
|
| `app_layout.dart` | `app_layout_redesign.dart` | ✅ 완료 |
|
|
| `login_view.dart` | `login_view_redesign.dart` | ✅ 완료 |
|
|
| `overview_screen.dart` | `overview_screen_redesign.dart` | ✅ 완료 |
|
|
| `company_list.dart` | `company_list_redesign.dart` | ✅ 완료 |
|
|
| `equipment_list.dart` | `equipment_list_redesign.dart` | ✅ 완료 |
|
|
| `license_list.dart` | `license_list_redesign.dart` | ✅ 완료 |
|
|
| `user_list.dart` | `user_list_redesign.dart` | ✅ 완료 |
|
|
| `warehouse_location_list.dart` | `warehouse_location_list_redesign.dart` | ✅ 완료 |
|
|
|
|
### 1.2 새로 추가된 파일
|
|
- `theme_shadcn.dart` - shadcn/ui 테마 시스템
|
|
- `components/shadcn_components.dart` - 재사용 가능한 UI 컴포넌트
|
|
|
|
### 1.3 미완료 리디자인 (Form 화면들)
|
|
| 기존 파일 | 예상 리디자인 파일명 | 상태 |
|
|
|-----------|---------------------|------|
|
|
| `company_form_screen.dart` | `company_form_screen_redesign.dart` | ❌ 미완료 |
|
|
| `equipment_in_form_screen.dart` | `equipment_in_form_screen_redesign.dart` | ❌ 미완료 |
|
|
| `equipment_out_form_screen.dart` | `equipment_out_form_screen_redesign.dart` | ❌ 미완료 |
|
|
| `user_form_screen.dart` | `user_form_screen_redesign.dart` | ❌ 미완료 |
|
|
| `maintenance_form_screen.dart` | `maintenance_form_screen_redesign.dart` | ❌ 미완료 |
|
|
| `warehouse_location_form_screen.dart` | `warehouse_location_form_screen_redesign.dart` | ❌ 미완료 |
|
|
|
|
## 2. 디자인 시스템 변경사항
|
|
|
|
### 2.1 색상 체계 변경
|
|
#### 기존 (Tailwind 스타일)
|
|
```dart
|
|
// 하드코딩된 색상값
|
|
Color(0xFF3B82F6) // blue-500
|
|
Color(0xFFF3F4F6) // gray-100
|
|
```
|
|
|
|
#### 새로운 (shadcn/ui 스타일)
|
|
```dart
|
|
// 의미론적 색상 변수
|
|
ShadcnTheme.primary
|
|
ShadcnTheme.secondary
|
|
ShadcnTheme.muted
|
|
```
|
|
|
|
### 2.2 컴포넌트 표준화
|
|
#### 기존
|
|
- 각 화면마다 커스텀 위젯 구현
|
|
- 일관성 없는 스타일링
|
|
|
|
#### 새로운
|
|
- `ShadcnCard`, `ShadcnButton`, `ShadcnInput` 등 표준 컴포넌트
|
|
- 일관된 디자인 언어
|
|
|
|
### 2.3 레이아웃 구조 개선
|
|
#### 기존
|
|
- 단순한 사이드바 + 컨텐츠 구조
|
|
- 고정된 레이아웃
|
|
|
|
#### 새로운
|
|
- 헤더 + 접을 수 있는 사이드바 + 브레드크럼 + 컨텐츠
|
|
- Microsoft Dynamics 365 스타일
|
|
- 애니메이션 전환 효과
|
|
|
|
## 3. 주요 개선사항
|
|
|
|
### 3.1 사용자 경험(UX)
|
|
1. **네비게이션 개선**
|
|
- 브레드크럼으로 현재 위치 명확히 표시
|
|
- 사이드바 접기/펼치기로 작업 공간 확대
|
|
|
|
2. **시각적 피드백**
|
|
- 호버/포커스 상태 명확한 표시
|
|
- 로딩 상태 표시
|
|
- 빈 상태 UI 제공
|
|
|
|
3. **일관성**
|
|
- 모든 화면에서 동일한 레이아웃 구조
|
|
- 표준화된 버튼, 입력 필드, 카드 디자인
|
|
|
|
### 3.2 기술적 개선
|
|
1. **컴포넌트 재사용성**
|
|
- 공통 컴포넌트 라이브러리 구축
|
|
- 코드 중복 제거
|
|
|
|
2. **유지보수성**
|
|
- 테마 시스템으로 스타일 중앙 관리
|
|
- 명확한 파일 구조
|
|
|
|
3. **확장성**
|
|
- 다크 모드 지원 준비
|
|
- 반응형 디자인 기반 마련
|
|
|
|
## 4. 리디자인 패턴 분석
|
|
|
|
### 4.1 파일 구조 패턴
|
|
```
|
|
기존파일명.dart → 기존파일명_redesign.dart
|
|
```
|
|
|
|
### 4.2 코드 구조 패턴
|
|
1. **Import 변경**
|
|
```dart
|
|
// 기존
|
|
import '../common/app_layout.dart';
|
|
|
|
// 새로운
|
|
import '../common/app_layout_redesign.dart';
|
|
import '../common/theme_shadcn.dart';
|
|
import '../common/components/shadcn_components.dart';
|
|
```
|
|
|
|
2. **위젯 구조**
|
|
```dart
|
|
// 표준 구조
|
|
AppLayoutRedesign(
|
|
currentRoute: Routes.화면명,
|
|
child: Column(
|
|
children: [
|
|
// 헤더 영역
|
|
Row(...),
|
|
// 컨텐츠 영역
|
|
Expanded(
|
|
child: ShadcnCard(...),
|
|
),
|
|
],
|
|
),
|
|
)
|
|
```
|
|
|
|
### 4.3 스타일링 패턴
|
|
- 인라인 스타일 대신 테마 시스템 사용
|
|
- 하드코딩된 값 대신 테마 상수 사용
|
|
- 일관된 spacing, padding, margin 적용
|
|
|
|
## 5. 향후 작업 계획
|
|
|
|
### 5.1 즉시 필요한 작업
|
|
1. **Form 화면 리디자인**
|
|
- 6개의 Form 화면 리디자인 필요
|
|
- ShadcnInput 컴포넌트 활용
|
|
- 일관된 레이아웃 적용
|
|
|
|
2. **라우팅 업데이트**
|
|
- 모든 라우트가 리디자인 화면을 가리키도록 수정
|
|
- 기존 화면 제거 또는 백업
|
|
|
|
### 5.2 추가 개선사항
|
|
1. **폼 유효성 검사 UI**
|
|
- 에러 메시지 표시 개선
|
|
- 실시간 유효성 검사 피드백
|
|
|
|
2. **로딩/에러 상태**
|
|
- 스켈레톤 로더 추가
|
|
- 에러 바운더리 구현
|
|
|
|
3. **접근성**
|
|
- 키보드 네비게이션 개선
|
|
- 스크린 리더 지원
|
|
|
|
## 6. 기술 부채 및 리스크
|
|
|
|
### 6.1 현재 이슈
|
|
1. **코드 중복**
|
|
- 기존 파일과 리디자인 파일 공존
|
|
- 유지보수 복잡도 증가
|
|
|
|
2. **일관성 리스크**
|
|
- 일부는 기존 UI, 일부는 새 UI 사용
|
|
- 사용자 혼란 가능성
|
|
|
|
### 6.2 해결 방안
|
|
1. **단계적 마이그레이션**
|
|
- Form 화면 리디자인 완료
|
|
- 기존 파일 제거
|
|
- 파일명에서 '_redesign' 제거
|
|
|
|
2. **테스트**
|
|
- UI 테스트 추가
|
|
- 사용자 피드백 수집
|
|
|
|
---
|
|
|
|
*마지막 업데이트: 2025-07-07* |