diff --git a/apps/web/src/routeTree.gen.ts b/apps/web/src/routeTree.gen.ts
index 83f00c8..3f406e0 100644
--- a/apps/web/src/routeTree.gen.ts
+++ b/apps/web/src/routeTree.gen.ts
@@ -17,14 +17,14 @@ import { Route as DashboardServicesRouteImport } from './routes/dashboard.servic
import { Route as DashboardServersRouteImport } from './routes/dashboard.servers'
import { Route as DashboardNotesRouteImport } from './routes/dashboard.notes'
import { Route as DashboardDomainsRouteImport } from './routes/dashboard.domains'
+import { Route as DashboardServicesServiceIdRouteImport } from './routes/dashboard.services_.$serviceId'
import { Route as DashboardServicesNewRouteImport } from './routes/dashboard.services.new'
-import { Route as DashboardServicesServiceIdRouteImport } from './routes/dashboard.services.$serviceId'
+import { Route as DashboardServersServerIdRouteImport } from './routes/dashboard.servers_.$serverId'
import { Route as DashboardServersNewRouteImport } from './routes/dashboard.servers.new'
-import { Route as DashboardServersServerIdRouteImport } from './routes/dashboard.servers.$serverId'
+import { Route as DashboardNotesNoteIdRouteImport } from './routes/dashboard.notes_.$noteId'
import { Route as DashboardNotesNewRouteImport } from './routes/dashboard.notes.new'
-import { Route as DashboardNotesNoteIdRouteImport } from './routes/dashboard.notes.$noteId'
+import { Route as DashboardDomainsDomainIdRouteImport } from './routes/dashboard.domains_.$domainId'
import { Route as DashboardDomainsNewRouteImport } from './routes/dashboard.domains.new'
-import { Route as DashboardDomainsDomainIdRouteImport } from './routes/dashboard.domains.$domainId'
const LoginRoute = LoginRouteImport.update({
id: '/login',
@@ -66,49 +66,49 @@ const DashboardDomainsRoute = DashboardDomainsRouteImport.update({
path: '/domains',
getParentRoute: () => DashboardRoute,
} as any)
+const DashboardServicesServiceIdRoute =
+ DashboardServicesServiceIdRouteImport.update({
+ id: '/services_/$serviceId',
+ path: '/services/$serviceId',
+ getParentRoute: () => DashboardRoute,
+ } as any)
const DashboardServicesNewRoute = DashboardServicesNewRouteImport.update({
id: '/new',
path: '/new',
getParentRoute: () => DashboardServicesRoute,
} as any)
-const DashboardServicesServiceIdRoute =
- DashboardServicesServiceIdRouteImport.update({
- id: '/$serviceId',
- path: '/$serviceId',
- getParentRoute: () => DashboardServicesRoute,
+const DashboardServersServerIdRoute =
+ DashboardServersServerIdRouteImport.update({
+ id: '/servers_/$serverId',
+ path: '/servers/$serverId',
+ getParentRoute: () => DashboardRoute,
} as any)
const DashboardServersNewRoute = DashboardServersNewRouteImport.update({
id: '/new',
path: '/new',
getParentRoute: () => DashboardServersRoute,
} as any)
-const DashboardServersServerIdRoute =
- DashboardServersServerIdRouteImport.update({
- id: '/$serverId',
- path: '/$serverId',
- getParentRoute: () => DashboardServersRoute,
- } as any)
+const DashboardNotesNoteIdRoute = DashboardNotesNoteIdRouteImport.update({
+ id: '/notes_/$noteId',
+ path: '/notes/$noteId',
+ getParentRoute: () => DashboardRoute,
+} as any)
const DashboardNotesNewRoute = DashboardNotesNewRouteImport.update({
id: '/new',
path: '/new',
getParentRoute: () => DashboardNotesRoute,
} as any)
-const DashboardNotesNoteIdRoute = DashboardNotesNoteIdRouteImport.update({
- id: '/$noteId',
- path: '/$noteId',
- getParentRoute: () => DashboardNotesRoute,
-} as any)
+const DashboardDomainsDomainIdRoute =
+ DashboardDomainsDomainIdRouteImport.update({
+ id: '/domains_/$domainId',
+ path: '/domains/$domainId',
+ getParentRoute: () => DashboardRoute,
+ } as any)
const DashboardDomainsNewRoute = DashboardDomainsNewRouteImport.update({
id: '/new',
path: '/new',
getParentRoute: () => DashboardDomainsRoute,
} as any)
-const DashboardDomainsDomainIdRoute =
- DashboardDomainsDomainIdRouteImport.update({
- id: '/$domainId',
- path: '/$domainId',
- getParentRoute: () => DashboardDomainsRoute,
- } as any)
export interface FileRoutesByFullPath {
'/': typeof IndexRoute
@@ -119,14 +119,14 @@ export interface FileRoutesByFullPath {
'/dashboard/servers': typeof DashboardServersRouteWithChildren
'/dashboard/services': typeof DashboardServicesRouteWithChildren
'/dashboard/': typeof DashboardIndexRoute
- '/dashboard/domains/$domainId': typeof DashboardDomainsDomainIdRoute
'/dashboard/domains/new': typeof DashboardDomainsNewRoute
- '/dashboard/notes/$noteId': typeof DashboardNotesNoteIdRoute
+ '/dashboard/domains/$domainId': typeof DashboardDomainsDomainIdRoute
'/dashboard/notes/new': typeof DashboardNotesNewRoute
- '/dashboard/servers/$serverId': typeof DashboardServersServerIdRoute
+ '/dashboard/notes/$noteId': typeof DashboardNotesNoteIdRoute
'/dashboard/servers/new': typeof DashboardServersNewRoute
- '/dashboard/services/$serviceId': typeof DashboardServicesServiceIdRoute
+ '/dashboard/servers/$serverId': typeof DashboardServersServerIdRoute
'/dashboard/services/new': typeof DashboardServicesNewRoute
+ '/dashboard/services/$serviceId': typeof DashboardServicesServiceIdRoute
}
export interface FileRoutesByTo {
'/': typeof IndexRoute
@@ -136,14 +136,14 @@ export interface FileRoutesByTo {
'/dashboard/servers': typeof DashboardServersRouteWithChildren
'/dashboard/services': typeof DashboardServicesRouteWithChildren
'/dashboard': typeof DashboardIndexRoute
- '/dashboard/domains/$domainId': typeof DashboardDomainsDomainIdRoute
'/dashboard/domains/new': typeof DashboardDomainsNewRoute
- '/dashboard/notes/$noteId': typeof DashboardNotesNoteIdRoute
+ '/dashboard/domains/$domainId': typeof DashboardDomainsDomainIdRoute
'/dashboard/notes/new': typeof DashboardNotesNewRoute
- '/dashboard/servers/$serverId': typeof DashboardServersServerIdRoute
+ '/dashboard/notes/$noteId': typeof DashboardNotesNoteIdRoute
'/dashboard/servers/new': typeof DashboardServersNewRoute
- '/dashboard/services/$serviceId': typeof DashboardServicesServiceIdRoute
+ '/dashboard/servers/$serverId': typeof DashboardServersServerIdRoute
'/dashboard/services/new': typeof DashboardServicesNewRoute
+ '/dashboard/services/$serviceId': typeof DashboardServicesServiceIdRoute
}
export interface FileRoutesById {
__root__: typeof rootRouteImport
@@ -155,14 +155,14 @@ export interface FileRoutesById {
'/dashboard/servers': typeof DashboardServersRouteWithChildren
'/dashboard/services': typeof DashboardServicesRouteWithChildren
'/dashboard/': typeof DashboardIndexRoute
- '/dashboard/domains/$domainId': typeof DashboardDomainsDomainIdRoute
'/dashboard/domains/new': typeof DashboardDomainsNewRoute
- '/dashboard/notes/$noteId': typeof DashboardNotesNoteIdRoute
+ '/dashboard/domains_/$domainId': typeof DashboardDomainsDomainIdRoute
'/dashboard/notes/new': typeof DashboardNotesNewRoute
- '/dashboard/servers/$serverId': typeof DashboardServersServerIdRoute
+ '/dashboard/notes_/$noteId': typeof DashboardNotesNoteIdRoute
'/dashboard/servers/new': typeof DashboardServersNewRoute
- '/dashboard/services/$serviceId': typeof DashboardServicesServiceIdRoute
+ '/dashboard/servers_/$serverId': typeof DashboardServersServerIdRoute
'/dashboard/services/new': typeof DashboardServicesNewRoute
+ '/dashboard/services_/$serviceId': typeof DashboardServicesServiceIdRoute
}
export interface FileRouteTypes {
fileRoutesByFullPath: FileRoutesByFullPath
@@ -175,14 +175,14 @@ export interface FileRouteTypes {
| '/dashboard/servers'
| '/dashboard/services'
| '/dashboard/'
- | '/dashboard/domains/$domainId'
| '/dashboard/domains/new'
- | '/dashboard/notes/$noteId'
+ | '/dashboard/domains/$domainId'
| '/dashboard/notes/new'
- | '/dashboard/servers/$serverId'
+ | '/dashboard/notes/$noteId'
| '/dashboard/servers/new'
- | '/dashboard/services/$serviceId'
+ | '/dashboard/servers/$serverId'
| '/dashboard/services/new'
+ | '/dashboard/services/$serviceId'
fileRoutesByTo: FileRoutesByTo
to:
| '/'
@@ -192,14 +192,14 @@ export interface FileRouteTypes {
| '/dashboard/servers'
| '/dashboard/services'
| '/dashboard'
- | '/dashboard/domains/$domainId'
| '/dashboard/domains/new'
- | '/dashboard/notes/$noteId'
+ | '/dashboard/domains/$domainId'
| '/dashboard/notes/new'
- | '/dashboard/servers/$serverId'
+ | '/dashboard/notes/$noteId'
| '/dashboard/servers/new'
- | '/dashboard/services/$serviceId'
+ | '/dashboard/servers/$serverId'
| '/dashboard/services/new'
+ | '/dashboard/services/$serviceId'
id:
| '__root__'
| '/'
@@ -210,14 +210,14 @@ export interface FileRouteTypes {
| '/dashboard/servers'
| '/dashboard/services'
| '/dashboard/'
- | '/dashboard/domains/$domainId'
| '/dashboard/domains/new'
- | '/dashboard/notes/$noteId'
+ | '/dashboard/domains_/$domainId'
| '/dashboard/notes/new'
- | '/dashboard/servers/$serverId'
+ | '/dashboard/notes_/$noteId'
| '/dashboard/servers/new'
- | '/dashboard/services/$serviceId'
+ | '/dashboard/servers_/$serverId'
| '/dashboard/services/new'
+ | '/dashboard/services_/$serviceId'
fileRoutesById: FileRoutesById
}
export interface RootRouteChildren {
@@ -284,6 +284,13 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof DashboardDomainsRouteImport
parentRoute: typeof DashboardRoute
}
+ '/dashboard/services_/$serviceId': {
+ id: '/dashboard/services_/$serviceId'
+ path: '/services/$serviceId'
+ fullPath: '/dashboard/services/$serviceId'
+ preLoaderRoute: typeof DashboardServicesServiceIdRouteImport
+ parentRoute: typeof DashboardRoute
+ }
'/dashboard/services/new': {
id: '/dashboard/services/new'
path: '/new'
@@ -291,12 +298,12 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof DashboardServicesNewRouteImport
parentRoute: typeof DashboardServicesRoute
}
- '/dashboard/services/$serviceId': {
- id: '/dashboard/services/$serviceId'
- path: '/$serviceId'
- fullPath: '/dashboard/services/$serviceId'
- preLoaderRoute: typeof DashboardServicesServiceIdRouteImport
- parentRoute: typeof DashboardServicesRoute
+ '/dashboard/servers_/$serverId': {
+ id: '/dashboard/servers_/$serverId'
+ path: '/servers/$serverId'
+ fullPath: '/dashboard/servers/$serverId'
+ preLoaderRoute: typeof DashboardServersServerIdRouteImport
+ parentRoute: typeof DashboardRoute
}
'/dashboard/servers/new': {
id: '/dashboard/servers/new'
@@ -305,12 +312,12 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof DashboardServersNewRouteImport
parentRoute: typeof DashboardServersRoute
}
- '/dashboard/servers/$serverId': {
- id: '/dashboard/servers/$serverId'
- path: '/$serverId'
- fullPath: '/dashboard/servers/$serverId'
- preLoaderRoute: typeof DashboardServersServerIdRouteImport
- parentRoute: typeof DashboardServersRoute
+ '/dashboard/notes_/$noteId': {
+ id: '/dashboard/notes_/$noteId'
+ path: '/notes/$noteId'
+ fullPath: '/dashboard/notes/$noteId'
+ preLoaderRoute: typeof DashboardNotesNoteIdRouteImport
+ parentRoute: typeof DashboardRoute
}
'/dashboard/notes/new': {
id: '/dashboard/notes/new'
@@ -319,12 +326,12 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof DashboardNotesNewRouteImport
parentRoute: typeof DashboardNotesRoute
}
- '/dashboard/notes/$noteId': {
- id: '/dashboard/notes/$noteId'
- path: '/$noteId'
- fullPath: '/dashboard/notes/$noteId'
- preLoaderRoute: typeof DashboardNotesNoteIdRouteImport
- parentRoute: typeof DashboardNotesRoute
+ '/dashboard/domains_/$domainId': {
+ id: '/dashboard/domains_/$domainId'
+ path: '/domains/$domainId'
+ fullPath: '/dashboard/domains/$domainId'
+ preLoaderRoute: typeof DashboardDomainsDomainIdRouteImport
+ parentRoute: typeof DashboardRoute
}
'/dashboard/domains/new': {
id: '/dashboard/domains/new'
@@ -333,23 +340,14 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof DashboardDomainsNewRouteImport
parentRoute: typeof DashboardDomainsRoute
}
- '/dashboard/domains/$domainId': {
- id: '/dashboard/domains/$domainId'
- path: '/$domainId'
- fullPath: '/dashboard/domains/$domainId'
- preLoaderRoute: typeof DashboardDomainsDomainIdRouteImport
- parentRoute: typeof DashboardDomainsRoute
- }
}
}
interface DashboardDomainsRouteChildren {
- DashboardDomainsDomainIdRoute: typeof DashboardDomainsDomainIdRoute
DashboardDomainsNewRoute: typeof DashboardDomainsNewRoute
}
const DashboardDomainsRouteChildren: DashboardDomainsRouteChildren = {
- DashboardDomainsDomainIdRoute: DashboardDomainsDomainIdRoute,
DashboardDomainsNewRoute: DashboardDomainsNewRoute,
}
@@ -357,12 +355,10 @@ const DashboardDomainsRouteWithChildren =
DashboardDomainsRoute._addFileChildren(DashboardDomainsRouteChildren)
interface DashboardNotesRouteChildren {
- DashboardNotesNoteIdRoute: typeof DashboardNotesNoteIdRoute
DashboardNotesNewRoute: typeof DashboardNotesNewRoute
}
const DashboardNotesRouteChildren: DashboardNotesRouteChildren = {
- DashboardNotesNoteIdRoute: DashboardNotesNoteIdRoute,
DashboardNotesNewRoute: DashboardNotesNewRoute,
}
@@ -371,12 +367,10 @@ const DashboardNotesRouteWithChildren = DashboardNotesRoute._addFileChildren(
)
interface DashboardServersRouteChildren {
- DashboardServersServerIdRoute: typeof DashboardServersServerIdRoute
DashboardServersNewRoute: typeof DashboardServersNewRoute
}
const DashboardServersRouteChildren: DashboardServersRouteChildren = {
- DashboardServersServerIdRoute: DashboardServersServerIdRoute,
DashboardServersNewRoute: DashboardServersNewRoute,
}
@@ -384,12 +378,10 @@ const DashboardServersRouteWithChildren =
DashboardServersRoute._addFileChildren(DashboardServersRouteChildren)
interface DashboardServicesRouteChildren {
- DashboardServicesServiceIdRoute: typeof DashboardServicesServiceIdRoute
DashboardServicesNewRoute: typeof DashboardServicesNewRoute
}
const DashboardServicesRouteChildren: DashboardServicesRouteChildren = {
- DashboardServicesServiceIdRoute: DashboardServicesServiceIdRoute,
DashboardServicesNewRoute: DashboardServicesNewRoute,
}
@@ -402,6 +394,10 @@ interface DashboardRouteChildren {
DashboardServersRoute: typeof DashboardServersRouteWithChildren
DashboardServicesRoute: typeof DashboardServicesRouteWithChildren
DashboardIndexRoute: typeof DashboardIndexRoute
+ DashboardDomainsDomainIdRoute: typeof DashboardDomainsDomainIdRoute
+ DashboardNotesNoteIdRoute: typeof DashboardNotesNoteIdRoute
+ DashboardServersServerIdRoute: typeof DashboardServersServerIdRoute
+ DashboardServicesServiceIdRoute: typeof DashboardServicesServiceIdRoute
}
const DashboardRouteChildren: DashboardRouteChildren = {
@@ -410,6 +406,10 @@ const DashboardRouteChildren: DashboardRouteChildren = {
DashboardServersRoute: DashboardServersRouteWithChildren,
DashboardServicesRoute: DashboardServicesRouteWithChildren,
DashboardIndexRoute: DashboardIndexRoute,
+ DashboardDomainsDomainIdRoute: DashboardDomainsDomainIdRoute,
+ DashboardNotesNoteIdRoute: DashboardNotesNoteIdRoute,
+ DashboardServersServerIdRoute: DashboardServersServerIdRoute,
+ DashboardServicesServiceIdRoute: DashboardServicesServiceIdRoute,
}
const DashboardRouteWithChildren = DashboardRoute._addFileChildren(
diff --git a/apps/web/src/routes/dashboard.domains.$domainId.tsx b/apps/web/src/routes/dashboard.domains_.$domainId.tsx
similarity index 87%
rename from apps/web/src/routes/dashboard.domains.$domainId.tsx
rename to apps/web/src/routes/dashboard.domains_.$domainId.tsx
index 5f15dc4..8f2fa73 100644
--- a/apps/web/src/routes/dashboard.domains.$domainId.tsx
+++ b/apps/web/src/routes/dashboard.domains_.$domainId.tsx
@@ -1,13 +1,14 @@
+import { DetailCard, FormCard, PageSection, QueryStateCard, TextAreaField, TextField } from "@/components/dashboard-ui";
+import { queryClient, trpc, trpcClient } from "@/utils/trpc";
import { Button } from "@minmon/ui/components/button";
import { StatusBadge } from "@minmon/ui/components/status-badge";
import { useForm } from "@tanstack/react-form";
import { useMutation, useQuery } from "@tanstack/react-query";
import { createFileRoute, useNavigate } from "@tanstack/react-router";
+import { useEffect } from "react";
import { toast } from "sonner";
-import { DetailCard, FormCard, PageSection, QueryStateCard, TextAreaField, TextField } from "@/components/dashboard-ui";
-import { queryClient, trpc, trpcClient } from "@/utils/trpc";
-export const Route = createFileRoute("/dashboard/domains/$domainId")({
+export const Route = createFileRoute("/dashboard/domains_/$domainId")({
component: RouteComponent,
});
@@ -54,6 +55,31 @@ function RouteComponent() {
onError: (error) => toast.error(error.message),
});
+ const form = useForm({
+ defaultValues: {
+ serviceId: "",
+ name: "",
+ expectedServerIp: "",
+ remarks: "",
+ } satisfies DomainFormValues,
+ onSubmit: async ({ value }) => {
+ await updateDomain.mutateAsync(value);
+ },
+ });
+
+ useEffect(() => {
+ if (!domain.data) {
+ return;
+ }
+
+ form.reset({
+ serviceId: domain.data.serviceId,
+ name: domain.data.name,
+ expectedServerIp: domain.data.expectedServerIp,
+ remarks: domain.data.remarks ?? "",
+ });
+ }, [domain.data, form]);
+
if (domain.isLoading || services.isLoading) {
return