mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-20 17:31:13 -05:00
35 lines
778 B
TypeScript
35 lines
778 B
TypeScript
import { RefreshCw } from 'lucide-react';
|
|
import { Button, ButtonProps } from './button';
|
|
|
|
interface RefreshButtonProps extends Omit<ButtonProps, 'loading' | 'loadingText'> {
|
|
onRefresh: () => void | Promise<void>;
|
|
isLoading?: boolean;
|
|
children?: React.ReactNode;
|
|
}
|
|
|
|
export const RefreshButton = ({
|
|
onRefresh,
|
|
isLoading = false,
|
|
size = 'default',
|
|
variant = 'outline',
|
|
children = 'Refresh',
|
|
className,
|
|
...props
|
|
}: RefreshButtonProps) => {
|
|
return (
|
|
<Button
|
|
variant={variant}
|
|
size={size}
|
|
onClick={onRefresh}
|
|
loading={isLoading}
|
|
loadingText="Refreshing..."
|
|
className={className}
|
|
trackingLabel="refresh-data"
|
|
{...props}
|
|
>
|
|
<RefreshCw className="w-4 h-4 mr-2" />
|
|
{children}
|
|
</Button>
|
|
);
|
|
};
|