From 618d6d8e168e9b88b50164b05e367c3c154d5e2a Mon Sep 17 00:00:00 2001 From: MacRimi <123239993+MacRimi@users.noreply.github.com> Date: Sat, 15 Feb 2025 17:55:45 +0100 Subject: [PATCH] Update page.tsx --- web/app/guides/[slug]/page.tsx | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/web/app/guides/[slug]/page.tsx b/web/app/guides/[slug]/page.tsx index c07f0ea..8d88c4c 100644 --- a/web/app/guides/[slug]/page.tsx +++ b/web/app/guides/[slug]/page.tsx @@ -12,7 +12,7 @@ const CopyableCode = dynamic(() => import("@/components/CopyableCode"), { ssr: f const guidesDirectory = path.join(process.cwd(), "..", "guides") -// 🔹 Busca archivos Markdown dentro de subdirectorios +// 🔹 Función para buscar archivos Markdown dentro de subdirectorios function findMarkdownFiles(dir: string, basePath = "") { let files: { slug: string; path: string }[] = [] @@ -24,7 +24,7 @@ function findMarkdownFiles(dir: string, basePath = "") { files = files.concat(findMarkdownFiles(fullPath, relativePath)) } else if (entry.isFile() && entry.name.endsWith(".md")) { files.push({ - slug: relativePath.replace(/\.md$/, "").replace(/\/index$/, ""), // 🔹 Quitamos `.md` y `index` si es necesario + slug: relativePath.replace(/\.md$/, ""), // 🔹 Quitamos la extensión `.md` path: fullPath, }) } @@ -36,17 +36,14 @@ function findMarkdownFiles(dir: string, basePath = "") { // 🔹 Obtiene el contenido de la guía async function getGuideContent(slug: string) { try { + const decodedSlug = decodeURIComponent(slug) // 🔹 Solución: Decodificamos el slug para evitar `%2F` const markdownFiles = findMarkdownFiles(guidesDirectory) - let guideFile = markdownFiles.find((file) => file.slug === slug) - - // 🔹 Si no se encuentra, intentamos con `index.md` dentro de la carpeta - if (!guideFile) { - guideFile = markdownFiles.find((file) => file.slug === `${slug}/index`) - } + // 🔹 Buscamos el archivo dentro de subdirectorios + let guideFile = markdownFiles.find((file) => file.slug === decodedSlug) if (!guideFile) { - console.error(`❌ No se encontró la guía: ${slug}`) + console.error(`❌ No se encontró la guía: ${decodedSlug}`) return { content: "

Error: No se encontró la guía solicitada.

", metadata: null } }