import { Button, Group, Modal, SimpleGrid, Text, TextInput } from '@mantine/core'; import { useCommonHooks } from 'hooks'; import { useEffect, useState } from 'react'; import { modalClasses, textInputClasses } from 'styles'; import type { Theme, ThemePlaylist } from 'types'; import ThemePreviewMiddleware from './ThemePreivewMiddleware'; import TimeOfDay from './TimeOfDay'; function ThemePlaylistModal({ opened, handleClose, createPlaylist, selectedPlaylist, defaultPlaylist, setSelectedPlaylist, handleSavePlaylist, allThemes, }: { opened: boolean; handleClose: () => void; createPlaylist: any; selectedPlaylist: ThemePlaylist; defaultPlaylist: ThemePlaylist; setSelectedPlaylist: (selectedPlaylist: ThemePlaylist) => void; handleSavePlaylist: () => void; allThemes: Theme[]; }) { const { isMobile } = useCommonHooks(); const [themeList, setThemeList] = useState([]); useEffect(() => { if (selectedPlaylist?.themeList) { setThemeList(JSON.parse(selectedPlaylist?.themeList)); } }, [selectedPlaylist]); if (selectedPlaylist?.name === undefined) { setSelectedPlaylist(defaultPlaylist); } return ( { handleClose(); setThemeList('[]'); }} > Name: setSelectedPlaylist({ ...selectedPlaylist, name: e.target.value }) } styles={{ label: { color: 'var(--mantine-color-primary-0)', }, input: { color: 'var(--mantine-color-primary-0)', border: 'none', borderBottom: '1px solid var(--mantine-color-primary-0)', }, }} /> {selectedPlaylist?.name === 'Time of Day' ? ( ) : ( <> {selectedPlaylist?.name !== 'Time of Day' && allThemes?.map((miniTheme: Theme) => { const newThemeList = themeList; return ( ); })} )} ); } export default ThemePlaylistModal;