Disable broker dialog trigger when connected

This commit is contained in:
Thigazhezhilan J 2026-03-27 22:30:51 +05:30
parent 48905228d1
commit 144100993a

View File

@ -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" />