"use client"; import { useState } from "react"; export function InviteControl({ sourceId }: { sourceId: number }) { const [role, setRole] = useState("viewer"); const [url, setUrl] = useState(""); const [error, setError] = useState(""); async function create() { setError(""); const response = await fetch(`/api/sources/${sourceId}/invites`, { method: "POST", headers: { "Content-Type": "application/json", Accept: "application/json" }, body: JSON.stringify({ role }) }); const body = await response.json(); if (!response.ok) setError(body.error || "無法建立邀請"); else setUrl(body.url); } return
{url && <> event.currentTarget.select()} />}{error &&

{error}

}
; }