import Link from "next/link"; import { getMyMeshesResponseSchema } from "@turbostarter/api/schema"; import { handle } from "@turbostarter/api/utils"; import { Badge } from "@turbostarter/ui-web/badge"; import { buttonVariants } from "@turbostarter/ui-web/button"; import { pathsConfig } from "~/config/paths"; import { api } from "~/lib/api/server"; import { getMetadata } from "~/lib/metadata"; import { DashboardHeader, DashboardHeaderDescription, DashboardHeaderTitle, } from "~/modules/common/layout/dashboard/header"; export const generateMetadata = getMetadata({ title: "Meshes", description: "Meshes you own or belong to.", }); export default async function MeshesPage() { const { data } = await handle(api.my.meshes.$get, { schema: getMyMeshesResponseSchema, })({ query: { page: "1", perPage: "50", sort: JSON.stringify([]) }, }); return ( <>
Meshes Meshes you own or have joined. Click any to open.
New mesh
{data.length === 0 ? (

You haven't joined any meshes yet.

Create your first mesh
) : (
{data.map((m) => (

{m.name}

{m.slug}

{m.isOwner ? "owner" : m.myRole}
{m.tier} {m.memberCount} {m.memberCount === 1 ? "member" : "members"} {m.archivedAt && ( archived )}
))}
)} ); }