Disable broker dialog trigger when connected
This commit is contained in:
parent
48905228d1
commit
144100993a
@ -43,11 +43,6 @@ export default function BrokerConnectDialog({
|
||||
open,
|
||||
onOpenChange,
|
||||
}: BrokerConnectDialogProps) {
|
||||
const triggerClassName = useMemo(
|
||||
() => (layout === "mobile" ? "w-full justify-center shimmer" : "px-4 rounded-xl shimmer"),
|
||||
[layout],
|
||||
);
|
||||
|
||||
const [connectOpenInternal, setConnectOpenInternal] = useState(false);
|
||||
const isControlled = open !== undefined;
|
||||
const connectOpen = isControlled ? open : connectOpenInternal;
|
||||
@ -169,8 +164,18 @@ export default function BrokerConnectDialog({
|
||||
const connectedAt = brokerStatus?.connected_at
|
||||
? new Date(brokerStatus.connected_at)
|
||||
: null;
|
||||
const triggerClassName = useMemo(() => {
|
||||
const layoutClasses =
|
||||
layout === "mobile" ? "w-full justify-center shimmer" : "px-4 rounded-xl shimmer";
|
||||
return connected
|
||||
? `${layoutClasses} disabled:opacity-100 disabled:cursor-default`
|
||||
: layoutClasses;
|
||||
}, [connected, layout]);
|
||||
|
||||
const handleConnectClick = async () => {
|
||||
if (connected) {
|
||||
return;
|
||||
}
|
||||
const latest = await refetchSessionUser();
|
||||
if (!latest.data) {
|
||||
setLoginPromptOpen(true);
|
||||
@ -231,6 +236,7 @@ export default function BrokerConnectDialog({
|
||||
<Button
|
||||
variant={connected ? "secondary" : "secondary"}
|
||||
className={triggerClassName}
|
||||
disabled={connected}
|
||||
onClick={handleConnectClick}
|
||||
>
|
||||
<PlugZap className="h-4 w-4" />
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user