feat: 다중 도메인 UI 개선 및 컴포넌트 리팩토링
- 게시판, HR, 설정, 차량관리, 건설, 견적 등 전반적 UI 개선 - FormField, TabChip, Select 등 공통 컴포넌트 개선 - 가격배분 edit 페이지 제거 및 상세 페이지 통합 - 체크리스트, 근태, 급여, 권한 관리 등 폼 개선 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -183,7 +183,7 @@ export function WorkScheduleManagement() {
|
||||
onValueChange={(value: EmploymentType) => handleEmploymentTypeChange(value)}
|
||||
disabled={isLoading}
|
||||
>
|
||||
<SelectTrigger className="w-64">
|
||||
<SelectTrigger className="w-full md:w-64">
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
@@ -229,13 +229,13 @@ export function WorkScheduleManagement() {
|
||||
<CardTitle className="text-lg">1일 기준 근로시간</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="grid grid-cols-2 gap-6">
|
||||
<div className="grid grid-cols-1 sm:grid-cols-2 gap-6">
|
||||
<div className="space-y-2">
|
||||
<Label>출근 시간</Label>
|
||||
<TimePicker
|
||||
value={settings.workStartTime}
|
||||
onChange={(value) => setSettings(prev => ({ ...prev, workStartTime: value }))}
|
||||
className="w-40"
|
||||
className="w-full sm:w-40"
|
||||
minuteStep={1}
|
||||
/>
|
||||
</div>
|
||||
@@ -244,7 +244,7 @@ export function WorkScheduleManagement() {
|
||||
<TimePicker
|
||||
value={settings.workEndTime}
|
||||
onChange={(value) => setSettings(prev => ({ ...prev, workEndTime: value }))}
|
||||
className="w-40"
|
||||
className="w-full sm:w-40"
|
||||
minuteStep={1}
|
||||
/>
|
||||
</div>
|
||||
@@ -258,7 +258,7 @@ export function WorkScheduleManagement() {
|
||||
<CardTitle className="text-lg">주당 근로시간</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="grid grid-cols-2 gap-6">
|
||||
<div className="grid grid-cols-1 sm:grid-cols-2 gap-6">
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="weekly-hours">주당 기준 근로시간</Label>
|
||||
<div className="flex items-center gap-2">
|
||||
@@ -270,9 +270,9 @@ export function WorkScheduleManagement() {
|
||||
onChange={(value) =>
|
||||
setSettings(prev => ({ ...prev, weeklyWorkHours: value ?? 0 }))
|
||||
}
|
||||
className="w-24"
|
||||
className="flex-1 sm:w-24 sm:flex-none"
|
||||
/>
|
||||
<span className="text-sm text-muted-foreground">시간</span>
|
||||
<span className="text-sm text-muted-foreground shrink-0">시간</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
@@ -286,9 +286,9 @@ export function WorkScheduleManagement() {
|
||||
onChange={(value) =>
|
||||
setSettings(prev => ({ ...prev, weeklyOvertimeHours: value ?? 0 }))
|
||||
}
|
||||
className="w-24"
|
||||
className="flex-1 sm:w-24 sm:flex-none"
|
||||
/>
|
||||
<span className="text-sm text-muted-foreground">시간</span>
|
||||
<span className="text-sm text-muted-foreground shrink-0">시간</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -301,13 +301,13 @@ export function WorkScheduleManagement() {
|
||||
<CardTitle className="text-lg">1일 기준 휴게시간</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="grid grid-cols-2 gap-6">
|
||||
<div className="grid grid-cols-1 sm:grid-cols-2 gap-6">
|
||||
<div className="space-y-2">
|
||||
<Label>휴게 시작</Label>
|
||||
<TimePicker
|
||||
value={settings.breakStartTime}
|
||||
onChange={(value) => setSettings(prev => ({ ...prev, breakStartTime: value }))}
|
||||
className="w-40"
|
||||
className="w-full sm:w-40"
|
||||
minuteStep={1}
|
||||
/>
|
||||
</div>
|
||||
@@ -316,7 +316,7 @@ export function WorkScheduleManagement() {
|
||||
<TimePicker
|
||||
value={settings.breakEndTime}
|
||||
onChange={(value) => setSettings(prev => ({ ...prev, breakEndTime: value }))}
|
||||
className="w-40"
|
||||
className="w-full sm:w-40"
|
||||
minuteStep={1}
|
||||
/>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user