import { Box, Button, Group, Overlay, Stack, Text } from '@mantine/core'; import { useDebouncedState, useDisclosure, useElementSize, useHover, } from '@mantine/hooks'; import { DeleteItemModal } from 'components'; import { useCommonHooks } from 'hooks'; import type { Theme, ThemePlaylist } from 'types'; import { MiniAppItem, MiniGroupItem, ThemeManagementPill } from '.'; export function ThemeCard({ cardTheme, handleOpen, allThemes, themePlaylists, }: { cardTheme: Theme; handleOpen: (cardTheme: Theme) => void; allThemes: Theme[]; themePlaylists: ThemePlaylist[]; }) { const { hovered, ref: hoverRef } = useHover(); const { ref, width } = useElementSize(); const [modalOpened, { open: openModal, close: closeModal }] = useDisclosure(false); const { currentTheme, setCurrentTheme, setCurrentThemePlaylist, handleDelete } = useCommonHooks(); const [hoverPreview, setHoverPreview] = useDebouncedState(false, 1000); const [transition, setTransition] = useDebouncedState(false, 200); return ( handleDelete(cardTheme, 'api/themes')} title={'Delete Theme'} body={ Are you sure you want to delete this theme? {`"${cardTheme.name}"`} This action cannot be undone! } /> {cardTheme.name} ); }