'use client'; import { FoxBadge, type FoxBadgeColor } from '@fox/core/components/fox-badge'; import { FoxIconButton } from '@fox/core/components/fox-icon-button'; import { FoxStatusIndicator } from '@fox/core/components/fox-status-indicator'; import type { FoxListColumn } from '@fox/core/components/fox-list-container'; import type { CommonCode } from '@/lib/domain/common-code'; import { formatPhoneNumber } from '@/lib/domain/phone-number'; import { EMPTY_FIELD_PLACEHOLDER, formatAnswerStatusLabel, formatBoardCategoryLabel, formatFaqTypeLabel, formatInquiryTypeLabel, formatOptionalValue, formatVisibilityLabel, type BoardPost, type BoardType, } from '@/lib/domain/board-post'; import { BoardRowActions } from './board-row-actions'; import { InquiryRowActions } from '../inquiries/_components/inquiry-row-actions'; function numberColumn(page: number, pageSize: number): FoxListColumn { return { key: 'no', header: '번호', width: 80, render: (_row, index) => (page - 1) * pageSize + index + 1, }; } function visibilityColumn(): FoxListColumn { return { key: 'isVisible', header: '사용여부', width: 120, render: (row) => ( ), }; } function actionsColumn( boardType: BoardType, faqTypes: readonly CommonCode[] = [] ): FoxListColumn { return { key: 'actions', header: '관리', width: 120, render: (row) => ( event.stopPropagation()}> ), }; } function noticeColumns(page: number, pageSize: number): FoxListColumn[] { return [ numberColumn(page, pageSize), { key: 'category', header: '구분', width: 120, render: (row) => ( {formatBoardCategoryLabel(row.categoryCode)} ), }, { key: 'title', header: '제목', width: 320, emphasis: true }, { key: 'attachment', header: '첨부', width: 100, render: (row) => row.attachmentId ? (