import Link from "next/link";
import { getMyInvitesResponseSchema } from "@turbostarter/api/schema";
import { handle } from "@turbostarter/api/utils";
import { Badge } from "@turbostarter/ui-web/badge";
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: "Invites",
description: "Invites you've issued.",
});
export default async function InvitesPage() {
const { sent } = await handle(api.my.invites.$get, {
schema: getMyInvitesResponseSchema,
})();
return (
<>
You haven't issued any invites yet. Open a mesh and generate one.
| Mesh | Role | Uses | Expires | Status |
|---|---|---|---|---|
| {inv.meshId ? ( {inv.meshName ?? "—"} {inv.meshSlug ?? "—"} ) : ( — )} |
|
{inv.usedCount} / {inv.maxUses} | {new Date(inv.expiresAt).toLocaleDateString()} |
{inv.revokedAt ? (
|