import { Server } from '@/types/server'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'; import { Button } from '@/components/ui/button'; import { LoaderCircleIcon, MoreHorizontalIcon } from 'lucide-react'; import React, { FormEvent, useState } from 'react'; import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from '@/components/ui/dialog'; import { Form, FormField, FormFields } from '@/components/ui/form'; import { useForm, usePage } from '@inertiajs/react'; import { Label } from '@/components/ui/label'; import { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import FormSuccessful from '@/components/form-successful'; function DataRetention() { const page = usePage<{ server: Server; dataRetention: string; }>(); const [open, setOpen] = useState(false); const form = useForm({ data_retention: page.props.dataRetention || '30', }); const submit = (e: FormEvent) => { e.preventDefault(); form.patch(route('monitoring.update', page.props.server.id), { onSuccess: () => { setOpen(false); }, preserveScroll: true, preserveState: true, }); }; return ( e.preventDefault()}>Data retention Data retention Data retention Data retention (days) form.setData('data_retention', value)}> 7 Days 14 Days 30 Days 60 Days 90 Days 180 Days 365 Days Close {form.processing && } Save ); } function Reset({ server }: { server: Server }) { const [open, setOpen] = useState(false); const form = useForm(); const submit = () => { form.delete(route('monitoring.destroy', { server: server.id }), { onSuccess: () => { setOpen(false); }, }); }; return ( e.preventDefault()}> Reset Reset metrics Reset and delete metrics Are you sure you want to reset metrics? This will delete all existing monitoring metrics data for server {server.name} and cannot be undone. Cancel {form.processing && } Reset ); } export default function Actions({ server }: { server: Server }) { return ( Open menu ); }
Are you sure you want to reset metrics? This will delete all existing monitoring metrics data for server {server.name} and cannot be undone.