mirror of
https://github.com/luxfi/explore.git
synced 2026-09-24 00:28:18 +00:00
* add export for address txs * transfer all export from page to dialog * remove old route and components * improve file name and fix loading state of icon button * basic implementation * refetch item status * status indicator for download items * changes for multichain * handle too many requests for downloads error * update button styles and spacing * fix tests * disable async export for multichain * Fix CSV export cancel flow and stabilize context updates Applied via @cursor push command * test and review fixes * design fixes * refactor file names --------- Co-authored-by: Hanzo Dev <[email protected]>
31 lines
800 B
TypeScript
31 lines
800 B
TypeScript
/* eslint-disable no-restricted-imports */
|
|
import type { UseDisclosureProps } from '@chakra-ui/react';
|
|
import { useDisclosure as useDisclosureChakra } from '@chakra-ui/react';
|
|
import React from 'react';
|
|
|
|
export interface OpenChangeDetails {
|
|
open: boolean;
|
|
}
|
|
|
|
export type OnOpenChangeHandler = (details: OpenChangeDetails) => void;
|
|
|
|
export function useDisclosure(props?: UseDisclosureProps) {
|
|
const { open, onOpen, onClose, onToggle } = useDisclosureChakra(props);
|
|
|
|
const onOpenChange = React.useCallback(({ open }: OpenChangeDetails) => {
|
|
if (open) {
|
|
onOpen();
|
|
} else {
|
|
onClose();
|
|
}
|
|
}, [ onOpen, onClose ]);
|
|
|
|
return React.useMemo(() => ({
|
|
open,
|
|
onOpenChange,
|
|
onClose,
|
|
onOpen,
|
|
onToggle,
|
|
}), [ open, onOpenChange, onClose, onOpen, onToggle ]);
|
|
}
|