From db6fd8f36a2006046c19942b7601ba67e30c108a Mon Sep 17 00:00:00 2001 From: r-dev Date: Sat, 4 Apr 2026 17:13:23 +0200 Subject: [PATCH] feat(ui) : add legacy URL redirects for old catalog and category routes --- .../app/middleware/legacy-redirects.global.ts | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 frontend/app/middleware/legacy-redirects.global.ts diff --git a/frontend/app/middleware/legacy-redirects.global.ts b/frontend/app/middleware/legacy-redirects.global.ts new file mode 100644 index 0000000..4350559 --- /dev/null +++ b/frontend/app/middleware/legacy-redirects.global.ts @@ -0,0 +1,24 @@ +export default defineNuxtRouteMiddleware((to) => { + const redirects: Record = { + '/component-catalog': '/catalogues/composants', + '/pieces-catalog': '/catalogues/pieces', + '/product-catalog': '/catalogues/produits', + } + + // Exact path match redirects + const redirect = redirects[to.path] + if (redirect) { + return navigateTo({ path: redirect, query: to.query }, { redirectCode: 301 }) + } + + // Category index redirects (add tab=categories query param) + if (to.path === '/component-category') { + return navigateTo({ path: '/catalogues/composants', query: { ...to.query, tab: 'categories' } }, { redirectCode: 301 }) + } + if (to.path === '/piece-category') { + return navigateTo({ path: '/catalogues/pieces', query: { ...to.query, tab: 'categories' } }, { redirectCode: 301 }) + } + if (to.path === '/product-category') { + return navigateTo({ path: '/catalogues/produits', query: { ...to.query, tab: 'categories' } }, { redirectCode: 301 }) + } +})