'use client'; import { useRouter } from 'next/navigation'; import PaperClipSvg from '../svgs/paperclipsvg'; type NoticeRow = { id: number; title: string; date: string; views: number; writer: string; hasAttachment?: boolean; }; const rows: NoticeRow[] = [ { id: 2, title: '공지사항 제목이 노출돼요', date: '2025-09-10', views: 1230, writer: '문지호', }, { id: 1, title: '📢 방사선학 온라인 강의 수강 안내 및 필수 공지', date: '2025-06-28', views: 594, writer: '문지호', hasAttachment: true, }, ]; export default function NoticesPage() { const router = useRouter(); return (
{/* 헤더 영역 */}

공지사항

{/* 본문 영역 */}
{/* 총 건수 */}

{rows.length}

{/* 표 */}
{/* 헤더 */}
번호
제목
게시일
조회수
작성자
{/* 바디 */}
{rows.map((r) => (
router.push(`/notices/${r.id}`)} onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); router.push(`/notices/${r.id}`); } }} className={[ 'grid grid-cols-[57px_1fr_140px_140px_140px] h-[48px] text-[15px] font-medium text-[#1B2027] border-t border-[#DEE1E6] hover:bg-[rgba(236,240,255,0.5)] cursor-pointer', ].join(' ')} >
{r.id}
{r.title} {r.hasAttachment && ( )}
{r.date}
{r.views.toLocaleString()}
{r.writer}
))}
); }