From 54ba205fc0c81d63050d5f788f5f3d1d904cdddd Mon Sep 17 00:00:00 2001 From: Milo Schwartz Date: Sat, 2 Nov 2024 15:44:48 -0400 Subject: [PATCH] clean up naming and add /settings/ to path --- .../[resourceId]/components/ClientLayout.tsx | 50 ---- .../[resourceId]/components/GeneralForm.tsx | 259 ------------------ .../[orgId]/resources/[resourceId]/layout.tsx | 84 ------ .../{ => settings}/components/Header.tsx | 0 .../{ => settings}/components/TopbarNav.tsx | 0 src/app/[orgId]/{ => settings}/layout.tsx | 19 +- src/app/[orgId]/{ => settings}/page.tsx | 4 +- .../[resourceId]/components/ClientLayout.tsx | 47 ++++ .../components/CreateResource.tsx | 104 +++---- .../components/CustomDomainInput.tsx | 2 +- .../[resourceId]/components/GeneralForm.tsx | 174 ++++++++++++ .../resources/[resourceId]/layout.tsx | 51 ++++ .../resources/[resourceId]/page.tsx | 8 +- .../resources/[resourceId]/targets/page.tsx | 0 .../components/ResourcesDataTable.tsx | 4 +- .../resources/components/ResourcesTable.tsx | 13 +- .../[orgId]/{ => settings}/resources/page.tsx | 6 +- .../[niceId]/components/ClientLayout.tsx | 14 +- .../sites/[niceId]/components/CreateSite.tsx | 120 ++++---- .../sites/[niceId]/components/GeneralForm.tsx | 63 +++++ .../sites/[niceId]/components/NewtConfig.tsx | 12 + .../[niceId]/components/wireguardConfig.ts | 0 .../{ => settings}/sites/[niceId]/layout.tsx | 42 +-- .../{ => settings}/sites/[niceId]/page.tsx | 8 +- .../sites/components/SitesDataTable.tsx | 2 +- .../sites/components/SitesTable.tsx | 4 +- src/app/[orgId]/{ => settings}/sites/page.tsx | 4 +- .../sites/[niceId]/components/GeneralForm.tsx | 173 ------------ .../sites/[niceId]/components/NewtConfig.tsx | 12 - src/app/auth/layout.tsx | 11 +- src/app/layout.tsx | 6 - src/app/page.tsx | 2 +- src/app/profile/layout.tsx | 2 +- src/app/setup/layout.tsx | 7 + 34 files changed, 523 insertions(+), 784 deletions(-) delete mode 100644 src/app/[orgId]/resources/[resourceId]/components/ClientLayout.tsx delete mode 100644 src/app/[orgId]/resources/[resourceId]/components/GeneralForm.tsx delete mode 100644 src/app/[orgId]/resources/[resourceId]/layout.tsx rename src/app/[orgId]/{ => settings}/components/Header.tsx (100%) rename src/app/[orgId]/{ => settings}/components/TopbarNav.tsx (100%) rename src/app/[orgId]/{ => settings}/layout.tsx (84%) rename src/app/[orgId]/{ => settings}/page.tsx (59%) create mode 100644 src/app/[orgId]/settings/resources/[resourceId]/components/ClientLayout.tsx rename src/app/[orgId]/{ => settings}/resources/[resourceId]/components/CreateResource.tsx (77%) rename src/app/[orgId]/{ => settings}/resources/[resourceId]/components/CustomDomainInput.tsx (99%) create mode 100644 src/app/[orgId]/settings/resources/[resourceId]/components/GeneralForm.tsx create mode 100644 src/app/[orgId]/settings/resources/[resourceId]/layout.tsx rename src/app/[orgId]/{ => settings}/resources/[resourceId]/page.tsx (87%) rename src/app/[orgId]/{ => settings}/resources/[resourceId]/targets/page.tsx (100%) rename src/app/[orgId]/{ => settings}/resources/components/ResourcesDataTable.tsx (99%) rename src/app/[orgId]/{ => settings}/resources/components/ResourcesTable.tsx (86%) rename src/app/[orgId]/{ => settings}/resources/page.tsx (92%) rename src/app/[orgId]/{ => settings}/sites/[niceId]/components/ClientLayout.tsx (78%) rename src/app/[orgId]/{ => settings}/sites/[niceId]/components/CreateSite.tsx (70%) create mode 100644 src/app/[orgId]/settings/sites/[niceId]/components/GeneralForm.tsx create mode 100644 src/app/[orgId]/settings/sites/[niceId]/components/NewtConfig.tsx rename src/app/[orgId]/{ => settings}/sites/[niceId]/components/wireguardConfig.ts (100%) rename src/app/[orgId]/{ => settings}/sites/[niceId]/layout.tsx (52%) rename src/app/[orgId]/{ => settings}/sites/[niceId]/page.tsx (88%) rename src/app/[orgId]/{ => settings}/sites/components/SitesDataTable.tsx (98%) rename src/app/[orgId]/{ => settings}/sites/components/SitesTable.tsx (95%) rename src/app/[orgId]/{ => settings}/sites/page.tsx (93%) delete mode 100644 src/app/[orgId]/sites/[niceId]/components/GeneralForm.tsx delete mode 100644 src/app/[orgId]/sites/[niceId]/components/NewtConfig.tsx diff --git a/src/app/[orgId]/resources/[resourceId]/components/ClientLayout.tsx b/src/app/[orgId]/resources/[resourceId]/components/ClientLayout.tsx deleted file mode 100644 index 831743e1..00000000 --- a/src/app/[orgId]/resources/[resourceId]/components/ClientLayout.tsx +++ /dev/null @@ -1,50 +0,0 @@ -"use client"; - -import { SidebarNav } from "@app/components/sidebar-nav"; -import { useResourceContext } from "@app/hooks/useResourceContext"; - -const sidebarNavItems = [ - { - title: "General", - href: "/{orgId}/resources/{resourceId}", - }, - { - title: "Targets", - href: "/{orgId}/resources/{resourceId}/targets", - }, - // { - // title: "Notifications", - // href: "/{orgId}/resources/{resourceId}/notifications", - // }, -] - -export function ClientLayout({ isCreate, children }: { isCreate: boolean; children: React.ReactNode }) { - const { resource } = useResourceContext(); - return (
-
-

- {isCreate - ? "New Resource" - : resource?.name + " Settings"} -

-

- {isCreate - ? "Create a new resource" - : "Configure the settings on your resource: " + - resource?.name || ""} - . -

-
-
- -
- {children} -
-
-
); -} \ No newline at end of file diff --git a/src/app/[orgId]/resources/[resourceId]/components/GeneralForm.tsx b/src/app/[orgId]/resources/[resourceId]/components/GeneralForm.tsx deleted file mode 100644 index c53e7b5e..00000000 --- a/src/app/[orgId]/resources/[resourceId]/components/GeneralForm.tsx +++ /dev/null @@ -1,259 +0,0 @@ -"use client" - -import Link from "next/link" -import { zodResolver } from "@hookform/resolvers/zod" -import { useFieldArray, useForm } from "react-hook-form" -import { z } from "zod" - -import { cn } from "@/lib/utils" -import { toast } from "@/hooks/use-toast" - -import { Button } from "@/components/ui/button" -import { - Form, - FormControl, - FormDescription, - FormField, - FormItem, - FormLabel, - FormMessage, -} from "@/components/ui/form" -import { CalendarIcon, CaretSortIcon, CheckIcon, ChevronDownIcon } from "@radix-ui/react-icons" - -import { Input } from "@/components/ui/input" -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@/components/ui/select" -import { Textarea } from "@/components/ui/textarea" -import { - Command, - CommandEmpty, - CommandGroup, - CommandInput, - CommandItem, - CommandList, -} from "@/components/ui/command" - -import { - Popover, - PopoverContent, - PopoverTrigger, -} from "@/components/ui/popover" -import { useResourceContext } from "@app/hooks/useResourceContext" -import { ListSitesResponse } from "@server/routers/site" -import { useEffect, useState } from "react" -import { AxiosResponse } from "axios" -import api from "@app/api" -import { useParams } from "next/navigation"; - -const GeneralFormSchema = z.object({ - name: z.string(), - siteId: z.number() -}) - -type GeneralFormValues = z.infer - -export function GeneralForm() { - const params = useParams(); - const orgId = params.orgId; - const { resource, updateResource } = useResourceContext(); - const [sites, setSites] = useState([]); - - const form = useForm({ - resolver: zodResolver(GeneralFormSchema), - defaultValues: { - name: resource?.name, - siteId: resource?.siteId - }, - mode: "onChange", - }) - - useEffect(() => { - if (typeof window !== "undefined") { - const fetchSites = async () => { - const res = await api.get>(`/org/${orgId}/sites/`); - setSites(res.data.data.sites); - }; - fetchSites(); - } - }, []); - - // const { fields, append } = useFieldArray({ - // name: "urls", - // control: form.control, - // }) - - async function onSubmit(data: GeneralFormValues) { - await updateResource({ name: data.name, siteId: data.siteId }); - } - - return ( -
- - ( - - Name - - - - - This is the display name of the resource. - - - - )} - /> - ( - - Site - - - - - - - - - - - No site found. - - {sites.map((site) => ( - { - form.setValue("siteId", site.siteId) - }} - > - - {site.name} - - ))} - - - - - - - This is the site that will be used in the dashboard. - - - - )} - /> - {/* ( - - Email - - - You can manage verified email addresses in your{" "} - email settings. - - - - )} - /> - ( - - Bio - -