From 7df30af4942a12c9bef267cdb0b6eca1bb6f9315 Mon Sep 17 00:00:00 2001 From: K Muller Date: Thu, 19 Feb 2026 15:34:50 +0100 Subject: [PATCH] fix: :bug: fix GoToFrontView in dynamicpage form --- .../Back/DynamicPageController.php | 1 + resources/ts/back/Pages/DynamicPages/Form.tsx | 69 +++---------------- 2 files changed, 9 insertions(+), 61 deletions(-) diff --git a/app/Http/Controllers/Back/DynamicPageController.php b/app/Http/Controllers/Back/DynamicPageController.php index 093776f8..9cdbc7b4 100644 --- a/app/Http/Controllers/Back/DynamicPageController.php +++ b/app/Http/Controllers/Back/DynamicPageController.php @@ -151,6 +151,7 @@ class DynamicPageController extends Controller 'enumDynamicPageStatus' => PageStatusEnum::toArray(), 'enumElementPosition' => ElementPositionEnum::toArray(), 'modelName' => $this->modelName, + 'dynamicPageUrl' => DynamicPage::getAccessModel($dynamic_page->id), ]); } diff --git a/resources/ts/back/Pages/DynamicPages/Form.tsx b/resources/ts/back/Pages/DynamicPages/Form.tsx index 9d5a3bec..880b3d4e 100644 --- a/resources/ts/back/Pages/DynamicPages/Form.tsx +++ b/resources/ts/back/Pages/DynamicPages/Form.tsx @@ -8,7 +8,6 @@ import { ShieldAlertIcon, } from "lucide-react"; import { route } from "ziggy-js"; -import { useState } from "react"; // * Components shadcn import { Button } from "@/components/ui/button"; import { @@ -58,15 +57,15 @@ export default function Form({ action: string; method: number; }) { + /** Global */ - const { locale } = usePage().props.appEnv as AppEnv; + const { locale, url } = usePage().props.appEnv as AppEnv; + const dynamicPageUrl = usePage().props.dynamicPageUrl as string; const userModel = (usePage().props.auth as AuthProp).user; const enumUserRole = usePage().props.enumUserRole as LaravelEnum; const enumDynamicPageStatus = usePage().props .enumDynamicPageStatus as LaravelEnum; - const dynamicPageModels = usePage().props - .dynamicPageModels as DynamicPageModel[]; - const [selectedGroup, setSelectedGroup] = useState(null); + const isConceptor = userModel.role === enumUserRole.conceptor.value; const pageConfigModels = usePage().props @@ -137,7 +136,7 @@ export default function Form({ const getConfig = (id: number) => configOptions.find((objet) => objet.id === id)?.config[ - locale + locale ] as ConfigField[]; /** Form section */ @@ -163,43 +162,6 @@ export default function Form({ data, }); - function getFullSlugPath( - targetModels: DynamicPageModel[], - currentSelectedGroup: string | null, - currentLocale: string = "fr", - ): string | null { - if (!currentSelectedGroup) return null; - - // Trouver le modèle sélectionné à partir de son title - const current = targetModels.find( - (targetModel) => - targetModel.title[currentLocale]?.toLowerCase() === - currentSelectedGroup.toLowerCase(), - ); - - if (!current) return null; - - // Fonction récursive pour reconstruire le chemin - const buildPath = (modelParent: DynamicPageModel): string => { - const parent = modelParent.page_id - ? targetModels.find( - (targetModel) => targetModel.id === modelParent.page_id, - ) - : null; - - const currentTranslatedModelSlug = - modelParent.slug[currentLocale] ?? ""; - - if (!parent) return currentTranslatedModelSlug; - - return [buildPath(parent), currentTranslatedModelSlug] - .filter(Boolean) - .join("/"); - }; - - return buildPath(current); - } - return (
@@ -252,7 +214,6 @@ export default function Form({ name="isRoot" checked={data.isRoot} setData={(name, value) => { - setSelectedGroup(null); setData("page_id", null); setData("slug", ""); // @ts-expect-error TS2345: 'name' type is dynamic, TypeScript cannot infer the correct key @@ -277,15 +238,6 @@ export default function Form({ exclude={model?.id} required={false} setData={setData} - onModelChange={(value) => - setSelectedGroup( - value && value.length > 0 - ? (value[0] as DynamicPageModel).title[ - locale - ] - : null, - ) - } disabled={data.isRoot} />