fix: pop-work-detail 버튼/입력 크기 원복 (design-v2-final)
- DESIGN.button.height: 56 → 60 원복 - DESIGN.input.height: 56 → 52 원복 - GlossyButton default minHeight: 56 → 60, fontSize: 20 → 18 - 타이머 버튼(시작/일시정지/재개/완료): minHeight 56 → 48, fontSize 20 → 16 원복 - GroupCompleteButton: minHeight 56 → 64, fontSize 20 → 18 원복 - InspectNumericInput 저장버튼: minHeight 56 → 48, fontSize 20 → 16 - InspectNumericInput 입력필드: height 56 → 48 - InspectSelectInput 버튼: minHeight 56 → 52, fontSize 20 → 16 - InspectTextInput 입력/버튼: height 56 → 48, fontSize 20 → 15 - MaterialInputOnly 입력/버튼: height 56 → 48, fontSize 20 → 15 - ResultInputOnly 입력/버튼: height 56 → 44, fontSize 20 → 15 - CheckInputOnly 체크박스: h-10 w-10 → h-8 w-8 - ProcedureInputOnly 체크박스: h-10 w-10 → h-5 w-5 - InputOnlyItem 입력필드: height 56 → 48 - O/X 버튼(InspectOXInput): 56px, 20px 유지 (변경 없음)
This commit is contained in:
parent
5cad4ed7fd
commit
590ae8fbb7
|
|
@ -140,7 +140,7 @@ const DEFAULT_CFG: PopWorkDetailConfig = {
|
|||
|
||||
const DESIGN = {
|
||||
button: { height: 60, minWidth: 130 },
|
||||
input: { height: 56 },
|
||||
input: { height: 52 },
|
||||
stat: { valueSize: 40, labelSize: 16, weight: 700 },
|
||||
section: { titleSize: 16, gap: 16 },
|
||||
tab: { height: 52 },
|
||||
|
|
@ -236,7 +236,7 @@ function GlossyButton({
|
|||
style={{
|
||||
...glossyBase,
|
||||
...variantStyle,
|
||||
minHeight: DESIGN.button.height,
|
||||
minHeight: 60,
|
||||
minWidth: DESIGN.button.minWidth,
|
||||
fontSize: 18,
|
||||
...style,
|
||||
|
|
@ -2455,7 +2455,7 @@ function GroupCompleteButton({
|
|||
return (
|
||||
<div
|
||||
className="flex items-center justify-center gap-2 rounded-2xl border-2 border-green-400 bg-green-50"
|
||||
style={{ width: '100%', minHeight: 64, fontSize: 20, color: '#16a34a', borderRadius: 16 }}
|
||||
style={{ width: '100%', minHeight: 64, fontSize: 18, color: '#16a34a', borderRadius: 16 }}
|
||||
>
|
||||
<Check className="h-6 w-6" />
|
||||
작업완료됨
|
||||
|
|
@ -2479,7 +2479,7 @@ function GroupCompleteButton({
|
|||
setConfirmOpen(false);
|
||||
onComplete();
|
||||
}}
|
||||
style={{ flex: 2, minHeight: 64, fontSize: 20, borderRadius: 16 }}
|
||||
style={{ flex: 2, minHeight: 64, fontSize: 18, borderRadius: 16 }}
|
||||
>
|
||||
<Check className="h-6 w-6" />
|
||||
정말 작업완료
|
||||
|
|
@ -2500,7 +2500,7 @@ function GroupCompleteButton({
|
|||
onNavigateNext();
|
||||
}
|
||||
}}
|
||||
style={{ width: '100%', minHeight: 64, fontSize: 20, borderRadius: 16 }}
|
||||
style={{ width: '100%', minHeight: 64, fontSize: 18, borderRadius: 16 }}
|
||||
>
|
||||
<svg className="h-6 w-6" fill="none" stroke="currentColor" strokeWidth={2.5} viewBox="0 0 24 24">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" d="M5 13l4 4L19 7" />
|
||||
|
|
@ -2638,7 +2638,7 @@ function InspectNumericInput({ item, disabled, saving, onSave }: { item: WorkRes
|
|||
<input
|
||||
type="number"
|
||||
className="rounded-xl border-2 border-gray-200 text-center font-bold transition-colors focus:border-blue-400 focus:outline-none focus:ring-2 focus:ring-blue-100"
|
||||
style={{ width: 140, height: 52, fontSize: 24, color: item.is_passed === "Y" ? '#16a34a' : item.is_passed === "N" ? '#dc2626' : '#1f2937' }}
|
||||
style={{ width: 140, height: 48, fontSize: 22, color: item.is_passed === "Y" ? '#16a34a' : item.is_passed === "N" ? '#dc2626' : '#1f2937' }}
|
||||
value={inputVal}
|
||||
onChange={(e) => setInputVal(e.target.value)}
|
||||
onBlur={handleSave}
|
||||
|
|
@ -2807,7 +2807,7 @@ function InputOnlyItem({ item, disabled, saving, onSave }: { item: WorkResultRow
|
|||
<input
|
||||
type={inputType}
|
||||
className="flex-1 rounded-xl border-2 border-gray-200 px-3 text-center font-semibold transition-colors focus:border-blue-400 focus:outline-none focus:ring-2 focus:ring-blue-100"
|
||||
style={{ height: 48, fontSize: 18 }}
|
||||
style={{ height: 48, fontSize: 16 }}
|
||||
value={inputVal}
|
||||
onChange={(e) => setInputVal(e.target.value)}
|
||||
onBlur={handleBlur}
|
||||
|
|
@ -2827,7 +2827,7 @@ function ProcedureInputOnly({ item, disabled, saving, onSave }: { item: WorkResu
|
|||
<Checkbox
|
||||
checked={checked}
|
||||
disabled={disabled}
|
||||
className="h-8 w-8"
|
||||
className="h-5 w-5"
|
||||
onCheckedChange={(v) => {
|
||||
onSave(item.id, v ? "Y" : "N", null, v ? "completed" : "pending");
|
||||
}}
|
||||
|
|
@ -2850,7 +2850,7 @@ function MaterialInputOnly({ item, disabled, saving, onSave }: { item: WorkResul
|
|||
<>
|
||||
<input
|
||||
className="flex-1 rounded-xl border-2 border-gray-200 px-3 transition-colors focus:border-blue-400 focus:outline-none focus:ring-2 focus:ring-blue-100"
|
||||
style={{ height: 48, fontSize: 16 }}
|
||||
style={{ height: 48, fontSize: 15 }}
|
||||
value={inputVal}
|
||||
onChange={(e) => setInputVal(e.target.value)}
|
||||
onKeyDown={(e) => e.key === "Enter" && handleSubmit()}
|
||||
|
|
@ -2881,11 +2881,11 @@ function ResultInputOnly({ item, disabled, saving, onSave }: { item: WorkResultR
|
|||
<>
|
||||
<div className="flex items-center gap-1.5">
|
||||
<span className="text-gray-500" style={{ fontSize: 14 }}>양품</span>
|
||||
<input type="number" className="w-20 rounded-lg border-2 border-gray-200 px-2 text-center font-bold" style={{ height: 44, fontSize: 18 }} value={good} onChange={(e) => setGood(e.target.value)} disabled={disabled} placeholder="0" />
|
||||
<input type="number" className="w-20 rounded-lg border-2 border-gray-200 px-2 text-center font-bold" style={{ height: 44, fontSize: 16 }} value={good} onChange={(e) => setGood(e.target.value)} disabled={disabled} placeholder="0" />
|
||||
</div>
|
||||
<div className="flex items-center gap-1.5">
|
||||
<span className="text-gray-500" style={{ fontSize: 14 }}>불량</span>
|
||||
<input type="number" className="w-20 rounded-lg border-2 border-red-200 px-2 text-center font-bold text-red-600" style={{ height: 44, fontSize: 18 }} value={defect} onChange={(e) => setDefect(e.target.value)} disabled={disabled} placeholder="0" />
|
||||
<input type="number" className="w-20 rounded-lg border-2 border-red-200 px-2 text-center font-bold text-red-600" style={{ height: 44, fontSize: 16 }} value={defect} onChange={(e) => setDefect(e.target.value)} disabled={disabled} placeholder="0" />
|
||||
</div>
|
||||
<GlossyButton variant="blue" onClick={handleSave} disabled={disabled} style={{ minHeight: 44, minWidth: 80, fontSize: 15 }}>
|
||||
등록
|
||||
|
|
@ -2906,7 +2906,7 @@ function CheckItem({ item, disabled, saving, onSave }: { item: WorkResultRow; di
|
|||
<Checkbox
|
||||
checked={checked}
|
||||
disabled={disabled}
|
||||
className="h-5 w-5"
|
||||
className="h-8 w-8"
|
||||
onCheckedChange={(v) => {
|
||||
const val = v ? "Y" : "N";
|
||||
onSave(item.id, val, v ? "Y" : "N", v ? "completed" : "pending");
|
||||
|
|
@ -3007,7 +3007,7 @@ function InspectOX({ item, disabled, saving, onSave }: { item: WorkResultRow; di
|
|||
size="sm"
|
||||
variant={currentValue === "OK" ? "default" : "outline"}
|
||||
className={cn("gap-1.5 px-6 font-medium", currentValue === "OK" && "bg-green-600 hover:bg-green-700")}
|
||||
style={{ height: `${DESIGN.button.height}px`, fontSize: `${DESIGN.section.titleSize}px` }}
|
||||
style={{ height: `${DESIGN.button.height}px`, fontSize: 20 }}
|
||||
disabled={disabled}
|
||||
onClick={() => handleSelect("OK")}
|
||||
>
|
||||
|
|
@ -3017,7 +3017,7 @@ function InspectOX({ item, disabled, saving, onSave }: { item: WorkResultRow; di
|
|||
size="sm"
|
||||
variant={currentValue === "NG" ? "default" : "outline"}
|
||||
className={cn("gap-1.5 px-6 font-medium", currentValue === "NG" && "bg-red-600 hover:bg-red-700")}
|
||||
style={{ height: `${DESIGN.button.height}px`, fontSize: `${DESIGN.section.titleSize}px` }}
|
||||
style={{ height: `${DESIGN.button.height}px`, fontSize: 20 }}
|
||||
disabled={disabled}
|
||||
onClick={() => handleSelect("NG")}
|
||||
>
|
||||
|
|
@ -3065,7 +3065,7 @@ function InspectSelect({ item, disabled, saving, onSave }: { item: WorkResultRow
|
|||
size="sm"
|
||||
variant={currentValue === opt ? "default" : "outline"}
|
||||
className="px-4"
|
||||
style={{ height: `${DESIGN.button.height}px`, fontSize: `${DESIGN.section.titleSize}px` }}
|
||||
style={{ height: `${DESIGN.button.height}px`, fontSize: 20 }}
|
||||
disabled={disabled}
|
||||
onClick={() => handleSelect(opt)}
|
||||
>
|
||||
|
|
@ -3111,7 +3111,7 @@ function InspectText({ item, disabled, saving, onSave }: { item: WorkResultRow;
|
|||
size="sm"
|
||||
variant={judged === "Y" ? "default" : "outline"}
|
||||
className={cn("px-4", judged === "Y" && "bg-green-600 hover:bg-green-700")}
|
||||
style={{ height: `${DESIGN.button.height}px`, fontSize: `${DESIGN.section.titleSize}px` }}
|
||||
style={{ height: `${DESIGN.button.height}px`, fontSize: 20 }}
|
||||
disabled={disabled}
|
||||
onClick={() => handleJudge("Y")}
|
||||
>
|
||||
|
|
@ -3121,7 +3121,7 @@ function InspectText({ item, disabled, saving, onSave }: { item: WorkResultRow;
|
|||
size="sm"
|
||||
variant={judged === "N" ? "default" : "outline"}
|
||||
className={cn("px-4", judged === "N" && "bg-red-600 hover:bg-red-700")}
|
||||
style={{ height: `${DESIGN.button.height}px`, fontSize: `${DESIGN.section.titleSize}px` }}
|
||||
style={{ height: `${DESIGN.button.height}px`, fontSize: 20 }}
|
||||
disabled={disabled}
|
||||
onClick={() => handleJudge("N")}
|
||||
>
|
||||
|
|
@ -3176,7 +3176,7 @@ function ProcedureItem({ item, disabled, saving, onSave }: { item: WorkResultRow
|
|||
<Checkbox
|
||||
checked={checked}
|
||||
disabled={disabled}
|
||||
className="h-5 w-5"
|
||||
className="h-8 w-8"
|
||||
onCheckedChange={(v) => {
|
||||
onSave(item.id, v ? "Y" : "N", null, v ? "completed" : "pending");
|
||||
}}
|
||||
|
|
@ -3226,7 +3226,7 @@ function MaterialItem({ item, disabled, saving, onSave }: { item: WorkResultRow;
|
|||
disabled={disabled}
|
||||
placeholder="LOT/바코드 스캔 또는 입력"
|
||||
/>
|
||||
<Button size="sm" variant="outline" className="px-4" style={{ height: `${DESIGN.button.height}px`, fontSize: `${DESIGN.section.titleSize}px` }} onClick={handleSubmit} disabled={disabled || !inputVal}>
|
||||
<Button size="sm" variant="outline" className="px-4" style={{ height: `${DESIGN.button.height}px`, fontSize: 20 }} onClick={handleSubmit} disabled={disabled || !inputVal}>
|
||||
확인
|
||||
</Button>
|
||||
{saving && <Loader2 className="h-4 w-4 animate-spin" />}
|
||||
|
|
@ -3290,7 +3290,7 @@ function ResultInputItem({ item, disabled, saving, onSave }: { item: WorkResultR
|
|||
</div>
|
||||
|
||||
<div className="flex items-center gap-2.5">
|
||||
<Button size="sm" variant="outline" className="px-4" style={{ height: `${DESIGN.button.height}px`, fontSize: `${DESIGN.section.titleSize}px` }} onClick={handleSave} disabled={disabled}>
|
||||
<Button size="sm" variant="outline" className="px-4" style={{ height: `${DESIGN.button.height}px`, fontSize: 20 }} onClick={handleSave} disabled={disabled}>
|
||||
실적 등록
|
||||
</Button>
|
||||
{saving && <Loader2 className="h-4 w-4 animate-spin" />}
|
||||
|
|
|
|||
Loading…
Reference in New Issue