import { Container, Title, Card, Text, Button, Flex, Badge, } from "@mantine/core"; import { TimeValue } from "@mantine/dates"; import { IconPencil, IconPlus } from "@tabler/icons-react"; import React from "react"; import { Params, useLoaderData, useParams, useNavigate } from "react-router"; export const subOrderSetsLoader = async ({ params: { username }, }: { params: Params; }) => fetch(`/api/subs/${username}/sets`).then((response) => response.json()); const NavigateButton: React.FC<{ children: React.ReactNode; to: string; }> = ({ children, to }) => { const navigate = useNavigate(); const handleClick = React.useCallback(() => { navigate(to); }, [to]); return ( ); }; export const SubOrderSets: React.FC = () => { const { username: sub_username } = useParams(); const orderSets = useLoaderData< (Pick< OrderSet, "id" | "name" | "scheduled" | "time" | "weekends" | "weekdays" | "orders" > & { orders: Pick[]; })[] >(); return ( Order Sets for {sub_username} {orderSets ? orderSets.map( ({ id, name, scheduled, orders, time, weekdays, weekends }) => ( {name} {scheduled ? ( Scheduled: {weekdays ? Weekdays : null} {weekends ? Weekends : null} ) : null} Orders: {orders.length} Edit ), ) : null} New ); };