SignIn
uses tcmts.share.shareNow, which uses process
Signing in, with a contributor's token or the server's (the link tcm contribute prints does it by itself).
import { at, shareNow, SignInForm } from "#codebase/tcmts/share"; export function SignIn({ then }: { then: string }) { const s = shareNow(); return ( <div className="signin"> <h2 className="title">Sign in</h2> <p className="muted"> {s.isPublic ? "Anyone can read here; commenting, closing and merging take a token." : "This server is private: reading it takes a token."} Use your contributor token, or open the link <code>tcm contribute</code> prints. </p> <SignInForm then={at(then.startsWith("/") && !then.startsWith("//") ? then : "/")} /> </div> ); }