"use client";
import { useCallback, useState } from "react";
import {
Dialog,
DialogContent,
DialogDescription,
DialogFooter,
DialogHeader,
DialogTitle,
} from "@kandev/ui/dialog";
import { Input } from "@kandev/ui/input";
import { Button } from "@kandev/ui/button";
import { Label } from "@kandev/ui/label";
type SavePresetDialogProps = {
open: boolean;
onOpenChange: (open: boolean) => void;
kind: "pr" | "issue";
customQuery: string;
repoFilter: string;
suggestedLabel: string;
onSave: (label: string) => void;
};
function SavePresetForm({
kind,
customQuery,
repoFilter,
suggestedLabel,
onSave,
onClose,
}: {
kind: "pr" | "issue";
customQuery: string;
repoFilter: string;
suggestedLabel: string;
onSave: (label: string) => void;
onClose: () => void;
}) {
const [value, setValue] = useState(suggestedLabel);
const trimmed = value.trim();
const canSubmit = trimmed.length > 0;
const handleSubmit = useCallback(() => {
if (!canSubmit) return;
onSave(trimmed);
onClose();
}, [canSubmit, trimmed, onSave, onClose]);
return (
<>
{customQuery}
{repoFilter}