'use client'; import { MOCK_CREW_RANKING } from '../constants'; import type { FormState } from '../types'; type Props = { form: FormState; }; const THEME_NAMES = ['basic', 'dark', 'minimal']; export default function CrewWidgetPreviewPanel({ form }: Props) { const visibleItems = MOCK_CREW_RANKING.slice(0, form.maxDisplayCount); const themeName = THEME_NAMES[form.theme] ?? 'basic'; const getFontStyle = (rank: number) => { if (rank === 1) { return { fontFamily: form.rank1FontFamily || undefined, fontSize: `${form.rank1FontSizePx}px`, color: form.rank1FontColor }; } if (rank === 2) { return { fontFamily: form.rank2FontFamily || undefined, fontSize: `${form.rank2FontSizePx}px`, color: form.rank2FontColor }; } if (rank === 3) { return { fontFamily: form.rank3FontFamily || undefined, fontSize: `${form.rank3FontSizePx}px`, color: form.rank3FontColor }; } return { fontFamily: form.rowFontFamily || undefined, fontSize: `${form.rowFontSizePx}px`, color: form.rowFontColor }; }; const getBadgeClass = (rank: number) => { if (rank <= 3) { return `crew-widget-preview__badge--${rank}`; } return 'crew-widget-preview__badge--default'; }; return ( ); }