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

@@ -12,7 +12,7 @@ import {
import { Button } from '@/components/ui/button';
import { Input } from '@/components/ui/input';
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';
import { Plus, Trash2, GripVertical } from 'lucide-react';
import { Plus, Trash2 } from 'lucide-react';
import { cn } from '@/lib/utils';
export interface EditableColumn<T> {

View File

@@ -4,7 +4,6 @@ import { useEffect, useState } from 'react';
import { NoticePopupModal, isPopupDismissedForToday } from './NoticePopupModal';
import { getActivePopups } from './actions';
import type { NoticePopupData } from './NoticePopupModal';
import type { Popup } from '@/components/settings/PopupManagement/types';
/**
* 활성 팝업을 자동으로 가져와 순차적으로 표시하는 컨테이너

View File

@@ -19,7 +19,7 @@ interface ParentMenuRedirectProps {
*/
export function ParentMenuRedirect({ parentPath, fallbackPath }: ParentMenuRedirectProps) {
const router = useRouter();
const pathname = usePathname();
const _pathname = usePathname();
useEffect(() => {
try {

View File

@@ -50,7 +50,7 @@ export function ScheduleBar({
const leftPercent = (startCol / 7) * 100;
// 툴팁 내용 생성
const tooltipContent = `${event.title}\n기간: ${event.startDate} ~ ${event.endDate}`;
const _tooltipContent = `${event.title}\n기간: ${event.startDate} ~ ${event.endDate}`;
return (
<TooltipProvider delayDuration={200}>

View File

@@ -2,7 +2,6 @@
import { useMemo } from 'react';
import { cn } from '@/components/ui/utils';
import { DayCell } from './DayCell';
import { ScheduleBar } from './ScheduleBar';
import { MorePopover } from './MorePopover';
import type { WeekViewProps } from './types';
@@ -132,7 +131,7 @@ export function WeekView({
{/* 날짜 셀들 */}
{weekDays.map((date, colIndex) => {
const dayOfWeek = getDay(date);
const isWeekend = dayOfWeek === 0 || dayOfWeek === 6;
const _isWeekend = dayOfWeek === 0 || dayOfWeek === 6;
const badge = getBadgeForDate(badges, date);
const hiddenCount = hiddenEventCounts.get(colIndex) || 0;
const dayEvents = getEventsForDate(events, date);