This commit is contained in:
Saeed Vaziry
2025-05-23 18:27:24 +02:00
parent a5ce0d33b3
commit ff11fb44e0
36 changed files with 1001 additions and 326 deletions

View File

@ -1,6 +1,6 @@
import { ClipboardCheckIcon, ClipboardIcon, LoaderCircle, TriangleAlert, WifiIcon } from 'lucide-react';
import { Button } from '@/components/ui/button';
import { Sheet, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger } from '@/components/ui/sheet';
import { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger } from '@/components/ui/sheet';
import { useForm, usePage } from '@inertiajs/react';
import React, { FormEventHandler, useState } from 'react';
import { Label } from '@/components/ui/label';
@ -150,11 +150,7 @@ export default function CreateServer({ children }: { children: React.ReactNode }
</SelectGroup>
</SelectContent>
</Select>
<ConnectServerProvider
providers={page.props.configs.server_providers.filter((item) => item !== 'custom')}
defaultProvider={form.data.provider}
onProviderAdded={fetchServerProviders}
>
<ConnectServerProvider defaultProvider={form.data.provider} onProviderAdded={fetchServerProviders}>
<Button variant="outline">
<WifiIcon />
</Button>
@ -339,10 +335,15 @@ export default function CreateServer({ children }: { children: React.ReactNode }
</FormFields>
</Form>
<SheetFooter>
<div className="flex items-center">
<div className="flex items-center gap-2">
<Button type="submit" form="create-server-form" tabIndex={4} disabled={form.processing}>
{form.processing && <LoaderCircle className="animate-spin" />} Create
</Button>
<SheetClose asChild>
<Button variant="outline" disabled={form.processing}>
Cancel
</Button>
</SheetClose>
</div>
</SheetFooter>
</SheetContent>

View File

@ -34,13 +34,18 @@ export default function DeleteServer({ server, children }: { server: Server; chi
<DialogContent>
<DialogHeader>
<DialogTitle>Delete {server.name}</DialogTitle>
<DialogDescription>Delete server and its resources.</DialogDescription>
<DialogDescription className="sr-only">Delete server and its resources.</DialogDescription>
</DialogHeader>
<p className="p-4">
Are you sure you want to delete this server: <strong>{server.name}</strong>? All resources associated with this server will be deleted and
this action cannot be undone.
</p>
<Form id="delete-server-form" onSubmit={submit} className="p-4">
<FormFields>
<FormField>
<Label htmlFor="server-name">Name</Label>
<Label htmlFor="server-name">Server name</Label>
<Input id="server-name" value={form.data.name} onChange={(e) => form.setData('name', e.target.value)} />
<InputError message={form.errors.name} />
</FormField>

View File

@ -17,7 +17,7 @@ export default function ServerHeader({ server }: { server: Server }) {
<div className="hidden lg:inline-flex">{server.name}</div>
</div>
</TooltipTrigger>
<TooltipContent>
<TooltipContent side="bottom">
<span className="lg:hidden">{server.name}</span>
<span className="hidden lg:inline-flex">Server Name</span>
</TooltipContent>
@ -30,7 +30,7 @@ export default function ServerHeader({ server }: { server: Server }) {
<div className="hidden lg:inline-flex">{server.provider}</div>
</div>
</TooltipTrigger>
<TooltipContent>
<TooltipContent side="bottom">
<div>
<span className="lg:hidden">{server.provider}</span>
<span className="hidden lg:inline-flex">Server Provider</span>
@ -45,7 +45,7 @@ export default function ServerHeader({ server }: { server: Server }) {
<div className="hidden lg:inline-flex">{server.ip}</div>
</div>
</TooltipTrigger>
<TooltipContent>
<TooltipContent side="bottom">
<span className="lg:hidden">{server.ip}</span>
<span className="hidden lg:inline-flex">Server IP</span>
</TooltipContent>
@ -60,7 +60,7 @@ export default function ServerHeader({ server }: { server: Server }) {
<div>%{parseInt(server.progress || '0')}</div>
</div>
</TooltipTrigger>
<TooltipContent>Installation Progress</TooltipContent>
<TooltipContent side="bottom">Installation Progress</TooltipContent>
</Tooltip>
</>
)}