diff options
Diffstat (limited to 'src/components/input/RefreshButton.tsx')
| -rw-r--r-- | src/components/input/RefreshButton.tsx | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/components/input/RefreshButton.tsx b/src/components/input/RefreshButton.tsx new file mode 100644 index 0000000..b52f830 --- /dev/null +++ b/src/components/input/RefreshButton.tsx @@ -0,0 +1,32 @@ +import { Icon, LoadingButton, Tooltip, TooltipTrigger } from '@umami/react-zen'; +import { useDateRange, useMessages } from '@/components/hooks'; +import { RefreshCw } from '@/components/icons'; +import { setWebsiteDateRange } from '@/store/websites'; + +export function RefreshButton({ + websiteId, + isLoading, +}: { + websiteId: string; + isLoading?: boolean; +}) { + const { formatMessage, labels } = useMessages(); + const { dateRange } = useDateRange(); + + function handleClick() { + if (!isLoading && dateRange) { + setWebsiteDateRange(websiteId, dateRange); + } + } + + return ( + <TooltipTrigger> + <LoadingButton isLoading={isLoading} onPress={handleClick}> + <Icon> + <RefreshCw /> + </Icon> + </LoadingButton> + <Tooltip>{formatMessage(labels.refresh)}</Tooltip> + </TooltipTrigger> + ); +} |