feat: ESLint 정리 및 전체 코드 품질 개선

- eslint.config.mjs 규칙 강화 및 정리
- 전역 unused import/변수 제거 (312개 파일)
- next.config.ts, middleware, proxy route 개선
- CopyableCell molecule 추가
- 회계/결재/HR/생산/건설/품질/영업 등 전 도메인 lint 정리
- IntegratedListTemplateV2, DataTable, MobileCard 등 공통 컴포넌트 개선
- execute-server-action 에러 핸들링 보강
This commit is contained in:
유병철
2026-03-11 10:27:10 +09:00
parent 924726cba1
commit 81affdc441
315 changed files with 1977 additions and 1344 deletions

View File

@@ -11,7 +11,7 @@
import { useEffect, useRef } from 'react';
import { Label } from '@/components/ui/label';
import { Input } from '@/components/ui/input';
import type { DynamicFieldRendererProps, ComputedConfig, DynamicFormData } from '../types';
import type { DynamicFieldRendererProps, ComputedConfig } from '../types';
/**
* 안전한 수식 평가기

View File

@@ -30,7 +30,7 @@ function formatCurrency(num: number, precision: number): string {
}
function parseCurrency(str: string): number {
const cleaned = str.replace(/[^0-9.\-]/g, '');
const cleaned = str.replace(/[^0-9.-]/g, '');
const num = parseFloat(cleaned);
return isNaN(num) ? 0 : num;
}
@@ -77,7 +77,7 @@ export function CurrencyField({
const handleChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {
const raw = e.target.value;
// 숫자, 점, 마이너스만 허용
const pattern = allowNegative ? /[^0-9.\-]/g : /[^0-9.]/g;
const pattern = allowNegative ? /[^0-9.-]/g : /[^0-9.]/g;
const cleaned = raw.replace(pattern, '');
setInputValue(cleaned);
}, [allowNegative]);

View File

@@ -17,7 +17,6 @@ export function NumberField({
disabled,
}: DynamicFieldRendererProps) {
const fieldKey = field.field_key || `field_${field.id}`;
const stringValue = value !== null && value !== undefined ? String(value) : '';
// properties에서 단위, 정밀도 등 추출
const unit = field.properties?.unit as string | undefined;