CodebaseForm
uses location
The codebase whose libraries are "Libraries I use", as the visitor gave it: a tcm serve URL.
import { codebaseHere } from "#codebase/tcmts/hub/session"; import { useState } from "react"; export function CodebaseForm({ url }: { url: string }) { const [value, setValue] = useState(url); const [error, setError] = useState<string | undefined>(); return ( <form className="codebaseform" onSubmit={(e) => { e.preventDefault(); setError(undefined); codebaseHere(value).then( () => location.reload(), (err: Error) => setError(err.message), ); }} > <label> Your codebase{" "} <input name="codebase" type="url" placeholder="https://tcm.example.dev" value={value} onChange={(e) => setValue(e.target.value)} /> </label>{" "} <button type="submit">Use it</button> {error && ( <span className="error" role="alert"> {" "} {error} </span> )} </form> ); }