"use client"; import {useState} from "react"; import {DateTimePicker} from "@/components/wrappers/daytime-picker"; import {Button} from "@/components/ui/button"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, useZodForm } from "@/components/ui/form"; import {Input} from "@/components/ui/input"; import {RestoreSchema} from "@/components/wrappers/dashboard/database/restore-form.schema"; import {Select, SelectContent, SelectItem, SelectTrigger, SelectValue} from "@/components/ui/select"; import {useMutation} from "@tanstack/react-query"; import {ComboBox, ComboBoxFormItem} from "@/components/wrappers/common/combobox"; import {Label} from "@/components/ui/label"; export type restoreFormProps = { databaseToRestore: any databases: any[] backups: any[] } export const RestoreForm = (props: restoreFormProps) => { const {databaseToRestore, databases, backups} = props console.log("bacups", backups) console.log("bacups", databaseToRestore) const backupLocations = [ { value: "remote-file", label: "Remote File", }, { value: "desktop-file", label: "Desktop File", }, ] const executionModes = [ { value: "immediate", label: "Immediate", }, { value: "scheduled", label: "Scheduled", }, ] const [selectedDatabaseId, setSelectedDatabaseId] = useState(databaseToRestore.id) const filteredBackups = backups.filter(backup => backup.databaseId == selectedDatabaseId) const defaultValues = { executionMode: "immediate", backupLocation: "remote-file", } const form = useZodForm({ schema: RestoreSchema, defaultValues: defaultValues }); const values = form.getValues() console.log("values", values) const mutation = useMutation({}) return (
{ console.log(values); }} > ( Backup location )} /> {values.backupLocation == "remote-file" ? <>
({"value": database.id, "label": database.name}) )} onValueChange={setSelectedDatabaseId} defaultValue={selectedDatabaseId} searchField />
( Remote backup ({ "value": backup.id, "label": backup.createdAt.toString() }) )} {...field} /> )} /> : null} {values.backupLocation == "desktop-file" ? ( File )} /> : null} ( Execution mode )} /> {values.executionMode == "scheduled" ? ( Scheduled date )} /> : null}
) }