From 9e9f5fd9752c332d13ce4d08358d83e7cc235bc9 Mon Sep 17 00:00:00 2001 From: Timothy Armes Date: Thu, 11 Apr 2024 11:21:08 +0200 Subject: [PATCH] Zone editing --- src/app/[locale]/(main)/components/Footer.tsx | 19 ++-- .../(main)/zones/components/ZoneForm.tsx | 6 +- .../[locale]/(main)/zones/edit/[id]/page.tsx | 96 +++++++++++++++++++ src/app/[locale]/(main)/zones/page.tsx | 11 ++- src/components/form/ZoneEditor.tsx | 29 ++++-- src/messages/en.json | 1 + src/messages/fr.json | 1 + src/server/createZone.ts | 4 + src/server/editZone.ts | 52 ++++++++++ src/server/mongodb.ts | 27 +++++- src/utils/navigation.ts | 7 ++ 11 files changed, 225 insertions(+), 28 deletions(-) create mode 100644 src/app/[locale]/(main)/zones/edit/[id]/page.tsx create mode 100644 src/server/editZone.ts diff --git a/src/app/[locale]/(main)/components/Footer.tsx b/src/app/[locale]/(main)/components/Footer.tsx index bc8a813..d20692d 100644 --- a/src/app/[locale]/(main)/components/Footer.tsx +++ b/src/app/[locale]/(main)/components/Footer.tsx @@ -2,17 +2,24 @@ import { useSetAtom } from "jotai"; import { useTranslations } from "next-intl"; +import { useParams } from "next/navigation"; import { FaGithub, FaRegEnvelope } from "react-icons/fa"; import { burgerMenuIsOpenAtom } from "@/atoms"; -import { Link, usePathname } from "@/utils/navigation"; +import { Link, usePathname, useRouter } from "@/utils/navigation"; import ThemeSwitcher from "./ThemeSwitcher"; export default function Footer() { const t = useTranslations("Footer"); const setBurgerMenuIsOpen = useSetAtom(burgerMenuIsOpenAtom); + const router = useRouter(); const pathname = usePathname(); + const params = useParams(); + + const changeLanguage = (lang: string) => { + router.push({ pathname, params: params as any }, { locale: lang }); + }; return (