refactor(WEB): 코드 품질 개선 및 불필요 코드 제거

- 미사용 import/변수/console.log 대량 정리 (100+개 파일)
- ItemMasterContext 간소화 (미사용 로직 제거)
- IntegratedListTemplateV2 / UniversalListPage 개선
- 결재 컴포넌트(ApprovalBox, DraftBox, ReferenceBox) 정리
- HR 컴포넌트(급여/휴가/부서) 코드 간소화
- globals.css 스타일 정리 및 개선
- AuthenticatedLayout 개선
- middleware CSP 정리
- proxy route 불필요 로깅 제거

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
유병철
2026-02-10 20:55:11 +09:00
parent 437d5f6834
commit 0db6302652
138 changed files with 779 additions and 1034 deletions

View File

@@ -146,11 +146,9 @@ export function useMenuPolling(options: UseMenuPollingOptions = {}): UseMenuPoll
// 401 세션 만료 응답
if (result.sessionExpired) {
sessionExpiredCountRef.current += 1;
console.log(`[Menu] 401 응답 (${sessionExpiredCountRef.current}/${MAX_SESSION_EXPIRED_COUNT})`);
// 3회 연속 401 → 폴링 중지
if (sessionExpiredCountRef.current >= MAX_SESSION_EXPIRED_COUNT) {
console.log('[Menu] 세션 만료로 폴링 중지');
isSessionExpiredRef.current = true;
stopPolling();
onSessionExpiredRef.current?.();
@@ -179,7 +177,6 @@ export function useMenuPolling(options: UseMenuPollingOptions = {}): UseMenuPoll
const resume = useCallback(() => {
// 세션 만료 상태면 재개 불가 (restartAfterAuth 사용)
if (isSessionExpiredRef.current) {
console.log('[Menu] 세션 만료 상태 - resume 불가, restartAfterAuth 사용 필요');
return;
}
@@ -191,7 +188,6 @@ export function useMenuPolling(options: UseMenuPollingOptions = {}): UseMenuPoll
// 인증 성공 후 폴링 재시작 (401 카운트 리셋)
const restartAfterAuth = useCallback(() => {
console.log('[Menu] 인증 성공 - 폴링 재시작');
sessionExpiredCountRef.current = 0;
isSessionExpiredRef.current = false;
isPausedRef.current = false;
@@ -263,7 +259,6 @@ export function useMenuPolling(options: UseMenuPollingOptions = {}): UseMenuPoll
// 세션 만료 상태였다면 폴링 재시작
if (isSessionExpiredRef.current) {
console.log('[Menu] 🔔 토큰 갱신 감지 - 폴링 재시작');
sessionExpiredCountRef.current = 0;
isSessionExpiredRef.current = false;
isPausedRef.current = false;