import { Text, Card, Anchor, AspectRatio, Image, Center, createStyles } from '@mantine/core'; import { motion } from 'framer-motion'; import { useState } from 'react'; import { useSortable } from '@dnd-kit/sortable'; import { CSS } from '@dnd-kit/utilities'; import { serviceItem } from '../../tools/types'; import PingComponent from '../modules/ping/PingModule'; import AppShelfMenu from './AppShelfMenu'; import { useConfig } from '../../tools/state'; const useStyles = createStyles((theme) => ({ item: { transition: 'box-shadow 150ms ease, transform 100ms ease', '&:hover': { boxShadow: `${theme.shadows.md} !important`, transform: 'scale(1.05)', }, [theme.fn.smallerThan('sm')]: { WebkitUserSelect: 'none', }, }, })); export function SortableAppShelfItem(props: any) { const { attributes, listeners, setNodeRef, transform, transition } = useSortable({ id: props.id, }); const { config } = useConfig(); const style = { opacity: `${config.settings.appOpacity || 100}%`, transform: CSS.Transform.toString(transform), transition, }; return (