fix: 입고 채우기 작성자를 실제 로그인 사용자로 변경

- useAuth (mock 시스템) 대신 localStorage 'user' 키에서 실제 로그인 사용자명 조회
- 채우기 실행 시점마다 localStorage를 읽어 항상 최신 사용자 반영
This commit is contained in:
2026-01-29 13:54:22 +09:00
parent 260167c6a8
commit 0e52e78134

View File

@@ -14,7 +14,7 @@
* 2. 수입검사 정보 - 검사일, 검사결과, 업체 제공 성적서 자료
*/
import { useState, useCallback, useEffect, useRef } from 'react';
import { useState, useCallback, useEffect } from 'react';
import { useRouter } from 'next/navigation';
import { Upload, FileText, Search } from 'lucide-react';
import { ItemSearchModal } from '@/components/quotes/ItemSearchModal';
@@ -47,7 +47,6 @@ import {
import { isNextRedirectError } from '@/lib/utils/redirect-error';
import { toast } from 'sonner';
import { useDevFill, generateReceivingData } from '@/components/dev';
import { useAuth } from '@/contexts/AuthContext';
interface Props {
id: string;
@@ -82,9 +81,23 @@ function generateLotNo(): string {
return `${yy}${mm}${dd}-${seq}`;
}
// localStorage에서 로그인 사용자명 가져오기
function getLoggedInUserName(): string {
if (typeof window === 'undefined') return '';
try {
const userData = localStorage.getItem('user');
if (userData) {
const parsed = JSON.parse(userData);
return parsed.name || '';
}
} catch {
// ignore
}
return '';
}
export function ReceivingDetail({ id, mode = 'view' }: Props) {
const router = useRouter();
const { currentUser } = useAuth();
const isNewMode = mode === 'new' || id === 'new';
const isEditMode = mode === 'edit';
const isViewMode = mode === 'view' && !isNewMode;
@@ -103,12 +116,6 @@ export function ReceivingDetail({ id, mode = 'view' }: Props) {
const [isItemSearchOpen, setIsItemSearchOpen] = useState(false);
const [isSupplierSearchOpen, setIsSupplierSearchOpen] = useState(false);
// currentUser를 ref로 추적 (useCallback 내에서 항상 최신 값 참조)
const currentUserRef = useRef(currentUser);
useEffect(() => {
currentUserRef.current = currentUser;
}, [currentUser]);
// Dev 모드 폼 자동 채우기
useDevFill(
'receiving',
@@ -125,7 +132,7 @@ export function ReceivingDetail({ id, mode = 'view' }: Props) {
supplier: data.supplier,
receivingQty: data.receivingQty,
receivingDate: data.receivingDate,
createdBy: currentUserRef.current?.name || '',
createdBy: getLoggedInUserName(),
status: data.status as ReceivingStatus,
remark: data.remark,
}));