File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
'use client';
import { useState } from 'react';
import { FoxButton } from '@fox/core/components/fox-button';
import type { StudentMember } from '@/lib/domain/student-member';
import { StudentDetailModal } from './student-detail-modal';
interface StudentRowActionsProps {
member: StudentMember;
}
/**
* 목록 행의 "관리" 셀 — 조회 팝업의 열림 상태만 소유하는 최말단 상호작용 경계다(테이블 전체를
* 클라이언트로 내리지 않기 위해 이 셀만 분리했다 — §2.4 "'use client'는 최말단에만"). 팝업에
* 필요한 데이터는 이미 이 행이 갖고 있는 member를 그대로 전달한다(재조회 없음).
*
* 시안(관리자페이지 QsFVFFUKGH68xAPVkF3SJ9 5199:9014)의 관리 열은 "학생 회원 조회" 텍스트
* 버튼이다 — 앞서 기획 시안을 근거로 돋보기 아이콘을 넣었으나, 이 Figma 시안이 더 최신이라
* 그쪽으로 맞췄다(사용자 확정). 누르면 상세 팝업이 열리는 동작은 그대로다.
*/
export function StudentRowActions({ member }: StudentRowActionsProps) {
const [isDetailOpen, setIsDetailOpen] = useState(false);
return (
<>
<FoxButton
type="default"
size="sm"
label="학생 회원 조회"
onAction={() => setIsDetailOpen(true)}
/>
{isDetailOpen && (
<StudentDetailModal
member={member}
onClose={() => setIsDetailOpen(false)}
/>
)}
</>
);
}