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:
@@ -29,7 +29,6 @@ import type { Post } from '../types';
|
||||
import { getBoards } from '../BoardManagement/actions';
|
||||
import { getPosts, getMyPosts, deletePost } from '../actions';
|
||||
import type { Board } from '../BoardManagement/types';
|
||||
import { toast } from 'sonner';
|
||||
import { DeleteConfirmDialog } from '@/components/ui/confirm-dialog';
|
||||
|
||||
export function BoardListUnified() {
|
||||
@@ -133,7 +132,7 @@ export function BoardListUnified() {
|
||||
totalCount: 0,
|
||||
};
|
||||
},
|
||||
deleteItem: async (id: string) => {
|
||||
deleteItem: async (_id: string) => {
|
||||
// 게시글 삭제는 boardCode가 필요하므로 별도 처리
|
||||
// UniversalListPage에서는 사용하지 않고 커스텀 삭제 처리
|
||||
return { success: false, error: 'Use custom delete handler' };
|
||||
@@ -143,10 +142,10 @@ export function BoardListUnified() {
|
||||
// ===== 테이블 컬럼 =====
|
||||
columns: [
|
||||
{ key: 'no', label: 'No.', className: 'w-[60px] text-center' },
|
||||
{ key: 'title', label: '제목', className: 'min-w-[300px]' },
|
||||
{ key: 'author', label: '작성자', className: 'w-[120px]' },
|
||||
{ key: 'createdAt', label: '등록일', className: 'w-[120px]' },
|
||||
{ key: 'viewCount', label: '조회수', className: 'w-[80px] text-center' },
|
||||
{ key: 'title', label: '제목', className: 'min-w-[300px]', copyable: true },
|
||||
{ key: 'author', label: '작성자', className: 'w-[120px]', copyable: true },
|
||||
{ key: 'createdAt', label: '등록일', className: 'w-[120px]', copyable: true },
|
||||
{ key: 'viewCount', label: '조회수', className: 'w-[80px] text-center', copyable: true },
|
||||
{ key: 'actions', label: '작업', className: 'w-[100px] text-center' },
|
||||
],
|
||||
|
||||
@@ -161,7 +160,7 @@ export function BoardListUnified() {
|
||||
detailMode: 'none', // 커스텀 라우팅 사용 (boardCode 포함)
|
||||
|
||||
// ===== 헤더 액션 =====
|
||||
headerActions: ({ onCreate }) => (
|
||||
headerActions: ({ onCreate: _onCreate }) => (
|
||||
<>
|
||||
<DateRangeSelector
|
||||
startDate={startDate}
|
||||
|
||||
@@ -132,7 +132,7 @@ export function BoardList() {
|
||||
}, []);
|
||||
|
||||
// ===== 액션 핸들러 =====
|
||||
const handleRowClick = useCallback(
|
||||
const _handleRowClick = useCallback(
|
||||
(item: Post) => {
|
||||
router.push(`/ko/board/${item.boardCode}/${item.id}?mode=view`);
|
||||
},
|
||||
@@ -224,10 +224,10 @@ export function BoardList() {
|
||||
|
||||
columns: [
|
||||
{ key: 'no', label: 'No.', className: 'w-[60px] text-center' },
|
||||
{ key: 'title', label: '제목', className: 'min-w-[300px]', sortable: true },
|
||||
{ key: 'author', label: '작성자', className: 'w-[120px]', sortable: true },
|
||||
{ key: 'createdAt', label: '등록일', className: 'w-[120px]', sortable: true },
|
||||
{ key: 'viewCount', label: '조회수', className: 'w-[80px] text-center', sortable: true },
|
||||
{ key: 'title', label: '제목', className: 'min-w-[300px]', sortable: true, copyable: true },
|
||||
{ key: 'author', label: '작성자', className: 'w-[120px]', sortable: true, copyable: true },
|
||||
{ key: 'createdAt', label: '등록일', className: 'w-[120px]', sortable: true, copyable: true },
|
||||
{ key: 'viewCount', label: '조회수', className: 'w-[80px] text-center', sortable: true, copyable: true },
|
||||
{ key: 'actions', label: '작업', className: 'w-[100px] text-center' },
|
||||
],
|
||||
|
||||
|
||||
Reference in New Issue
Block a user