From 87156e93ee06924eaf21ecd77cbf9a409a94e813 Mon Sep 17 00:00:00 2001 From: Ardeman Date: Sat, 8 Mar 2025 02:14:36 +0800 Subject: [PATCH] feat: sort categories by sequence and update category description handling in news pages --- app/layouts/news/header-menu.tsx | 6 +++++- app/pages/news-categories/index.tsx | 13 ++++++------- ....category.$name.tsx => _news.category.$code.tsx} | 0 3 files changed, 11 insertions(+), 8 deletions(-) rename app/routes/{_news.category.$name.tsx => _news.category.$code.tsx} (100%) diff --git a/app/layouts/news/header-menu.tsx b/app/layouts/news/header-menu.tsx index 8bfab06..8b8cdab 100644 --- a/app/layouts/news/header-menu.tsx +++ b/app/layouts/news/header-menu.tsx @@ -7,7 +7,11 @@ import { HeaderSearch } from './header-search' export const HeaderMenu = () => { const loaderData = useRouteLoaderData('routes/_news') - const menu = loaderData?.categoriesData + const menu = loaderData?.categoriesData?.sort((a, b) => { + if (a.sequence === null) return 1 + if (b.sequence === null) return -1 + return a.sequence - b.sequence + }) return ( <> diff --git a/app/pages/news-categories/index.tsx b/app/pages/news-categories/index.tsx index fffb282..40fc18a 100644 --- a/app/pages/news-categories/index.tsx +++ b/app/pages/news-categories/index.tsx @@ -1,18 +1,17 @@ -import { useLocation, useRouteLoaderData } from 'react-router' +import { useParams, useRouteLoaderData } from 'react-router' import { Card } from '~/components/ui/card' import { CategorySection } from '~/components/ui/category-section' -import { DUMMY_DESCRIPTION } from '~/data/contents' import type { loader } from '~/routes/_news' import { BERITA } from './data' export const NewsCategoriesPage = () => { - const { pathname } = useLocation() - const code = pathname.split('/')[2] + const parameters = useParams() const loaderData = useRouteLoaderData('routes/_news') - const { name } = - loaderData?.categoriesData.find((item) => item.code === code) || {} + const { name, description } = + loaderData?.categoriesData.find((item) => item.code === parameters.code) || + {} const { items } = BERITA return ( @@ -20,7 +19,7 @@ export const NewsCategoriesPage = () => { diff --git a/app/routes/_news.category.$name.tsx b/app/routes/_news.category.$code.tsx similarity index 100% rename from app/routes/_news.category.$name.tsx rename to app/routes/_news.category.$code.tsx