feat: 급여관리 개선 + 설비관리 신규 + 팝업관리/카드관리/가격표 개선

- 급여관리: 상세/등록 다이얼로그 리팩토링, actions/types 확장
- 설비관리: 설비현황/점검/수리 4개 페이지 신규 추가
- 팝업관리: PopupDetail/PopupForm 개선
- 카드관리: CardForm 개선
- IntegratedListTemplateV2, SearchFilter, useColumnSettings 개선
- CLAUDE.md: 페이지 모드 라우팅 패턴 규칙 추가
- 공통 페이지 패턴 가이드 확장
This commit is contained in:
유병철
2026-03-12 21:48:37 +09:00
parent 945a371cdf
commit ca5a9325c6
40 changed files with 10284 additions and 1867 deletions

View File

@@ -1,7 +1,7 @@
"use client";
import { useState } from "react";
import { useRouter } from "next/navigation";
import { useRouter, useSearchParams } from "next/navigation";
import { useTranslations } from "next-intl";
import Image from "next/image";
import { toast } from "sonner";
@@ -20,6 +20,7 @@ import { isNextRedirectError } from '@/lib/utils/redirect-error';
export function LoginPage() {
const router = useRouter();
const searchParams = useSearchParams();
const t = useTranslations('auth');
const tCommon = useTranslations('common');
const tValidation = useTranslations('validation');
@@ -134,8 +135,9 @@ export function LoginPage() {
// 메뉴 폴링 재시작 플래그 설정 (세션 만료 후 재로그인 시)
sessionStorage.setItem('auth_just_logged_in', 'true');
// 대시보드로 이동
router.push("/dashboard");
// redirect 파라미터가 있으면 해당 페이지로, 없으면 대시보드로 이동
const redirectTo = searchParams.get('redirect');
router.push(redirectTo && redirectTo.startsWith('/') ? redirectTo : '/dashboard');
} catch (err) {
if (isNextRedirectError(err)) throw err;
// 상세 에러 로깅