"use client"; import Link from "next/link"; import { motion, AnimatePresence } from "motion/react"; import { useEffect, useState, useRef } from "react"; import { getMyMeshesResponseSchema } from "@turbostarter/api/schema"; import { handle } from "@turbostarter/api/utils"; import { api } from "~/lib/api/client"; // --------------------------------------------------------------------------- // Types // --------------------------------------------------------------------------- interface Mesh { id: string; name: string; slug: string; myRole: "admin" | "member"; isOwner: boolean; memberCount: number; } interface Props { code: string | null; port: string | null; userId: string; userEmail: string; } // --------------------------------------------------------------------------- // Helpers // --------------------------------------------------------------------------- const slugify = (s: string) => s .toLowerCase() .trim() .replace(/[^a-z0-9]+/g, "-") .replace(/^-+|-+$/g, "") .slice(0, 40); const ease = [0.22, 0.61, 0.36, 1] as const; // --------------------------------------------------------------------------- // Animated mesh node background // --------------------------------------------------------------------------- function MeshBackdrop() { return (
Confirm this matches the code shown in your terminal.
{redirected ? "If your terminal didn\u2019t pick up the token, copy it manually:" : "Paste this token in your terminal when prompted:"}
A mesh is the space where your Claude Code sessions talk to each other.
lowercase · digits · hyphens