Files
yaak-mountain-loop/src-web/components/core/Confirm.tsx
2025-02-07 07:59:48 -08:00

34 lines
805 B
TypeScript

import type { Color } from '@yaakapp-internal/plugins';
import { Button } from './Button';
import { HStack } from './Stacks';
export interface ConfirmProps {
onHide: () => void;
onResult: (result: boolean) => void;
confirmText?: string;
color?: Color;
}
export function Confirm({ onHide, onResult, confirmText, color = 'primary' }: ConfirmProps) {
const handleHide = () => {
onResult(false);
onHide();
};
const handleSuccess = () => {
onResult(true);
onHide();
};
return (
<HStack space={2} justifyContent="start" className="mt-2 mb-4 flex-row-reverse">
<Button color={color} onClick={handleSuccess}>
{confirmText ?? 'Confirm'}
</Button>
<Button onClick={handleHide} variant="border">
Cancel
</Button>
</HStack>
);
}