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