"use client" import { Button } from '@/components/ui/button'; import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from "./ui/card"; import { getHosts, getRouteUpstreams } from '@/lib/utils'; import { toast } from './ui/use-toast'; import React, { useState } from 'react'; import useSWRMutation from 'swr/mutation'; import { deleteRoute } from '@/lib/clientActions'; import { RouteDialog } from './RouteDialog'; export default function RouteCards({ routes }: { routes: Route[] }) { const [route, setRoute] = useState(); const [open, setOpen] = useState(false); const { trigger: handleDelete } = useSWRMutation("/api/caddy/routes", deleteRoute, { onError: () => { return toast({ title: "Error", description: "There was an error deleting the route", variant: "destructive" }); }, onSuccess: () => { toast({ title: "Success", description: "Route deleted successfully!", variant: "success" }); } }); let editRoute = (route: Route) => { setRoute(route); } return ( <> {route && } { routes.map((route, index) => (
{getHosts(route)!.values().next().value} {getHosts(route)!.map((route => {route}))}

Tunneling to

{getRouteUpstreams(route)?.map((upstream => upstream.dial))}

))} ) }