'use client'; import { IconGitCommit, IconGitPullRequest, IconLoader2, IconCheck, } from '@tabler/icons-react'; import { Button } from '@kandev/ui/button'; import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter, DialogClose, } from '@kandev/ui/dialog'; import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from '@kandev/ui/alert-dialog'; import { Checkbox } from '@kandev/ui/checkbox'; import { Label } from '@kandev/ui/label'; import { Textarea } from '@kandev/ui/textarea'; // --- Discard Confirmation Dialog --- type DiscardDialogProps = { open: boolean; onOpenChange: (open: boolean) => void; fileToDiscard: string | null; onConfirm: () => void; }; export function DiscardDialog({ open, onOpenChange, fileToDiscard, onConfirm }: DiscardDialogProps) { return ( Discard changes? This will permanently discard all changes to{' '} {fileToDiscard}. This action cannot be undone. Cancel Discard ); } // --- Commit Dialog --- type CommitDialogProps = { open: boolean; onOpenChange: (open: boolean) => void; commitMessage: string; onCommitMessageChange: (value: string) => void; onCommit: () => void; isLoading: boolean; stagedFileCount: number; stagedAdditions: number; stagedDeletions: number; }; export function CommitDialog({ open, onOpenChange, commitMessage, onCommitMessageChange, onCommit, isLoading, stagedFileCount, stagedAdditions, stagedDeletions, }: CommitDialogProps) { return ( Commit Changes