import { useMemo } from 'react' import { MessageSquare, Trash2 } from 'lucide-react' import type { SubtitleStyle } from '../../types/project-model' import { DEFAULT_SUBTITLE_STYLE } from '../../types/project-model' import { selectSelectedSubtitleId, selectSubtitles, selectTracks, } from './editor-selectors' import { useEditorActions, useEditorStore } from './editor-store' export function SubtitlePropertiesPanel() { const { updateSubtitle, deleteSubtitle } = useEditorActions() const selectedSubtitleId = useEditorStore(selectSelectedSubtitleId) const subtitles = useEditorStore(selectSubtitles) const tracks = useEditorStore(selectTracks) const selectedSub = useMemo( () => subtitles.find(subtitle => subtitle.id === selectedSubtitleId) ?? null, [selectedSubtitleId, subtitles], ) if (!selectedSub) return null const trackStyle = useMemo(() => { const track = tracks[selectedSub.trackIndex] return { ...(track?.subtitleStyle || {}), ...(selectedSub.style || {}), } }, [selectedSub, tracks]) const subStyle = { ...DEFAULT_SUBTITLE_STYLE, ...trackStyle, ...selectedSub.style } return (