import Link from "next/link"; import { redirect } from "next/navigation"; 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"; export const generateMetadata = getMetadata({ title: "Dashboard", description: "Your meshes.", }); export default async function DashboardHomePage() { const { data } = await handle(api.my.meshes.$get, { schema: getMyMeshesResponseSchema, })({ query: { page: "1", perPage: "6", sort: JSON.stringify([]) }, }); // First-time onboarding: 0-mesh user → bounce to create if (data.length === 0) { redirect(`${pathsConfig.dashboard.user.meshes.new}?onboarding=1`); } return (
Open one to see its members, generate invites, or share it.
{m.slug}