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

@@ -32,7 +32,7 @@ import {
import { RuleModal } from './RuleModal';
import { toast } from 'sonner';
import type { Process, ClassificationRule, ProcessType, ProcessStep } from '@/types/process';
import { PROCESS_TYPE_OPTIONS, PROCESS_CATEGORY_OPTIONS } from '@/types/process';
import { PROCESS_CATEGORY_OPTIONS } from '@/types/process';
import {
createProcess,
updateProcess,
@@ -54,7 +54,7 @@ export function ProcessForm({ mode, initialData }: ProcessFormProps) {
// 기본 정보 상태
const [processName, setProcessName] = useState(initialData?.processName || '');
const [processType, setProcessType] = useState<ProcessType>(
const [processType, _setProcessType] = useState<ProcessType>(
initialData?.processType || '생산'
);
const [department, setDepartment] = useState(initialData?.department || '');
@@ -68,7 +68,7 @@ export function ProcessForm({ mode, initialData }: ProcessFormProps) {
const [isActive, setIsActive] = useState(
initialData ? initialData.status === '사용중' : true
);
const [isLoading, setIsLoading] = useState(false);
const [, setIsLoading] = useState(false);
// 중간검사/작업일지 설정 (Process 레벨)
const [needsInspection, setNeedsInspection] = useState(
@@ -122,7 +122,7 @@ export function ProcessForm({ mode, initialData }: ProcessFormProps) {
} else if (processCategory && !categoryOptions.find(o => o.value === processCategory)) {
setProcessCategory('');
}
}, [categoryOptions]); // eslint-disable-line react-hooks/exhaustive-deps
}, [categoryOptions]);
// 개별 품목 목록 추출
const individualItems = classificationRules