import { useState } from "react"; import { Spinner } from "../ui/spinner"; /** * The screen a member sees in the bounded wait right after joining a practice (utils/justJoinedHandoff), in * place of a bare Loading. It offers no sign-out: the membership is real and the wait ends on its own. */ export const SettingUpAccess = () => (

Setting up your access at the practice

You have joined. This can take up to a minute. Keep this page open.

); /** * Shown when the session opened at the end of that wait before every part of the workspace admitted the * member. It says only what is known, and each press asks once. */ export const JoinAccessNotice = ({ onCheckAgain }: { onCheckAgain: () => Promise }) => { const [checking, setChecking] = useState(false); const [stillWaiting, setStillWaiting] = useState(false); const checkAgain = async () => { setChecking(true); try { setStillWaiting(!(await onCheckAgain())); } finally { setChecking(false); } }; return (

{stillWaiting ? "Your access at this practice is not ready yet. Check again in a minute." : "Your access at this practice is still being set up. If part of your workspace does not load, check again in a minute."}

); };