feat: support setup guide for admin

This commit is contained in:
oiov
2025-05-21 16:16:56 +08:00
parent 8a05fa0907
commit 2369885fda
27 changed files with 593 additions and 126 deletions
+1
View File
@@ -205,6 +205,7 @@ export function DomainForm({
{...register("active")}
defaultChecked={initData?.active ?? true}
onCheckedChange={(value) => setValue("active", value)}
disabled
/>
</div>
</div>
+23 -19
View File
@@ -212,28 +212,32 @@ export function RecordForm({
{isLoading ? (
<Skeleton className="h-9 w-full" />
) : (
recordDomains && (
<Select
onValueChange={(value: string) => {
setValue("zone_name", value);
setCurrentZoneName(value);
}}
name="zone_name"
defaultValue={String(initData?.zone_name || "wr.do")}
disabled={type === "edit"}
>
<SelectTrigger className="w-full shadow-inner">
<SelectValue placeholder="Select a domain" />
</SelectTrigger>
<SelectContent>
{recordDomains.map((v) => (
<Select
onValueChange={(value: string) => {
setValue("zone_name", value);
setCurrentZoneName(value);
}}
name="zone_name"
defaultValue={String(initData?.zone_name || "wr.do")}
disabled={type === "edit"}
>
<SelectTrigger className="w-full shadow-inner">
<SelectValue placeholder="Select a domain" />
</SelectTrigger>
<SelectContent>
{recordDomains && recordDomains.length > 0 ? (
recordDomains.map((v) => (
<SelectItem key={v.domain_name} value={v.domain_name}>
{v.domain_name}
</SelectItem>
))}
</SelectContent>
</Select>
)
))
) : (
<Button className="w-full" variant="ghost">
No domain
</Button>
)}
</SelectContent>
</Select>
)}
<p className="p-1 text-[13px] text-muted-foreground">
Required. Select a domain.
+22 -20
View File
@@ -204,29 +204,31 @@ export function UrlForm({
{isLoading ? (
<Skeleton className="h-9 w-1/3 rounded-r-none border-r-0 shadow-inner" />
) : (
shortDomains && (
<Select
onValueChange={(value: string) => {
setValue("prefix", value);
}}
name="prefix"
defaultValue={
initData?.prefix || shortDomains[0].domain_name
}
disabled={type === "edit"}
>
<SelectTrigger className="w-1/3 rounded-r-none border-r-0 shadow-inner">
<SelectValue placeholder="Select a domain" />
</SelectTrigger>
<SelectContent>
{shortDomains.map((v) => (
<Select
onValueChange={(value: string) => {
setValue("prefix", value);
}}
name="prefix"
defaultValue={initData?.prefix || "wr.do"}
disabled={type === "edit"}
>
<SelectTrigger className="w-1/3 rounded-r-none border-r-0 shadow-inner">
<SelectValue placeholder="Select a domain" />
</SelectTrigger>
<SelectContent>
{shortDomains && shortDomains.length > 0 ? (
shortDomains.map((v) => (
<SelectItem key={v.domain_name} value={v.domain_name}>
{v.domain_name}
</SelectItem>
))}
</SelectContent>
</Select>
)
))
) : (
<Button className="w-full" variant="ghost">
No domain
</Button>
)}
</SelectContent>
</Select>
)}
<Input
id="url"