import React, { useState } from 'react'; import { motion } from 'framer-motion'; import { Text, AspectRatio, Card, Image, Center, Grid, createStyles } from '@mantine/core'; import { useConfig } from '../../tools/state'; import { serviceItem } from '../../tools/types'; import AppShelfMenu from './AppShelfMenu'; import PingComponent from '../modules/ping/PingModule'; const useStyles = createStyles((theme) => ({ item: { transition: 'box-shadow 150ms ease, transform 100ms ease', '&:hover': { boxShadow: `${theme.shadows.md} !important`, transform: 'scale(1.05)', }, }, })); const AppShelf = (props: any) => { const { config } = useConfig(); return ( {config.services.map((service) => ( ))} ); }; export function AppShelfItem(props: any) { const { service }: { service: serviceItem } = props; const [hovering, setHovering] = useState(false); const { classes, theme } = useStyles(); return ( { setHovering(true); }} onHoverEnd={() => { setHovering(false); }} > {service.name}
{ window.open(service.url); }} />
); } export default AppShelf;