Commit d63562fc authored by Vũ Đình Nguyên's avatar Vũ Đình Nguyên

Merge branch 'fix/category' into 'develop'

Fix/category

See merge request !15
parents dbcd6907 902a858f
...@@ -41,7 +41,7 @@ const NewsDetailPage = () => { ...@@ -41,7 +41,7 @@ const NewsDetailPage = () => {
<ListCategory categories={MEDIA_INFORMATION_CATEGORIES} /> <ListCategory categories={MEDIA_INFORMATION_CATEGORIES} />
<div className="grid grid-cols-1 lg:grid-cols-3 gap-5"> <div className="grid grid-cols-1 lg:grid-cols-3 gap-5">
{/* Main content */} {/* Main content */}
<main className="lg:col-span-2 bg-white border rounded-md p-7"> <main className="lg:col-span-2 bg-white border rounded-md p-8">
<div className='pb-5 text-primary text-2xl leading-normal font-medium'> <div className='pb-5 text-primary text-2xl leading-normal font-medium'>
{data?.responseData?.title} {data?.responseData?.title}
</div> </div>
...@@ -53,7 +53,7 @@ const NewsDetailPage = () => { ...@@ -53,7 +53,7 @@ const NewsDetailPage = () => {
<hr /> <hr />
</div> </div>
<div className='flex-1 text-app-grey text-base overflow-hidden'> <div className='flex-1 text-app-grey text-base overflow-hidden'>
<div className="p-7.5 prose tiptap overflow-hidden">{parse(data?.responseData?.description ?? '')}</div> <div className="prose tiptap overflow-hidden">{parse(data?.responseData?.description ?? '')}</div>
</div> </div>
</main> </main>
{/* Sidebar */} {/* Sidebar */}
......
...@@ -32,15 +32,25 @@ const Page = () => { ...@@ -32,15 +32,25 @@ const Page = () => {
const { data: categoryData, isLoading: isLoadingCategory } = useGetCategory<GetCategoryAdminResponseType>(); const { data: categoryData, isLoading: isLoadingCategory } = useGetCategory<GetCategoryAdminResponseType>();
const { data: newsData, isLoading: isLoadingNews } = useGetNews<GetNewsAdminResponseType>( const { data: newsData, isLoading: isLoadingNews } = useGetNews<GetNewsAdminResponseType>(
{ pageSize: '999' } {
pageSize: '5',
filters: tab === "all" ? `` : `category @=${tab}`,
}
);
const { data: businessOpportunities, isLoading: isLoadingBusinessOpportunities } = useGetNews<GetNewsAdminResponseType>(
{
pageSize: '5',
filters: `category @=Cơ hội kinh doanh`,
}
);
const { data: policyAndLegalInformation, isLoading: isLoadingPolicyAndLegalInformation } = useGetNews<GetNewsAdminResponseType>(
{
pageSize: '5',
filters: `category @=Thông tin chính sách và pháp luật`,
}
); );
const { data: eventData, isLoading: isLoadingEvent } = useGetEvents<EventApiResponse>(); const { data: eventData, isLoading: isLoadingEvent } = useGetEvents<EventApiResponse>();
// filter category
const rows = newsData?.responseData?.rows ?? [];
const filteredRows =
tab === "all" ? rows : rows.filter((n) => n.category === tab);
const images = [ const images = [
"/home/doi-tac/AMFORI-1.png.webp", "/home/doi-tac/AMFORI-1.png.webp",
"/home/doi-tac/AUS4SKILLS-1.png.webp", "/home/doi-tac/AUS4SKILLS-1.png.webp",
...@@ -131,7 +141,7 @@ const Page = () => { ...@@ -131,7 +141,7 @@ const Page = () => {
}} }}
className="pb-5" className="pb-5"
> >
{rows.map((news) => ( {newsData?.responseData?.rows.map((news) => (
<SwiperSlide key={news.id}> <SwiperSlide key={news.id}>
<a <a
href={`/${news.id}`} href={`/${news.id}`}
...@@ -196,11 +206,11 @@ const Page = () => { ...@@ -196,11 +206,11 @@ const Page = () => {
/> />
</div> </div>
<div className="flex-1 p-5"> <div className="flex-1 p-5 pt-0">
<p className="text-[#063E8E] font-bold text-xl line-clamp-2"> <p className="text-[#063E8E] font-bold text-xl line-clamp-2">
{news.title} {news.title}
</p> </p>
<p className="text-gray-500 text-sm my-1"> <p className="text-gray-500 text-sm">
{dayjs(news.release_at).format("DD/MM/YYYY")} {dayjs(news.release_at).format("DD/MM/YYYY")}
</p> </p>
<AppEditorContent <AppEditorContent
...@@ -238,7 +248,7 @@ const Page = () => { ...@@ -238,7 +248,7 @@ const Page = () => {
))} ))}
</div> </div>
{filteredRows.slice(0, 4).map((news) => ( {newsData?.responseData?.rows.slice(0, 4).map((news) => (
<CardNews key={news.id} news={news} /> <CardNews key={news.id} news={news} />
))} ))}
</div> </div>
...@@ -388,7 +398,7 @@ const Page = () => { ...@@ -388,7 +398,7 @@ const Page = () => {
</div> </div>
<hr className="border-[#063e8e] mb-4" /> <hr className="border-[#063e8e] mb-4" />
<div className="pt-2"> <div className="pt-2">
{newsData?.responseData.rows {businessOpportunities?.responseData.rows
.slice(0, 1) .slice(0, 1)
.map((news: NewsAdminItem) => ( .map((news: NewsAdminItem) => (
<a key={news.id} href={`${news.id}`}> <a key={news.id} href={`${news.id}`}>
...@@ -407,7 +417,7 @@ const Page = () => { ...@@ -407,7 +417,7 @@ const Page = () => {
</a> </a>
))} ))}
{rows.slice(0, 3).map((news) => ( {businessOpportunities?.responseData.rows.slice(0, 3).map((news) => (
<CardNews key={news.id} news={news} /> <CardNews key={news.id} news={news} />
))} ))}
</div> </div>
...@@ -429,7 +439,7 @@ const Page = () => { ...@@ -429,7 +439,7 @@ const Page = () => {
</div> </div>
<hr className="border-[#063e8e] mb-4" /> <hr className="border-[#063e8e] mb-4" />
<div className="pt-2"> <div className="pt-2">
{newsData?.responseData.rows {policyAndLegalInformation?.responseData.rows
.slice(0, 1) .slice(0, 1)
.map((news: NewsAdminItem) => ( .map((news: NewsAdminItem) => (
<a key={news.id} href={`${news.id}`}> <a key={news.id} href={`${news.id}`}>
...@@ -448,7 +458,7 @@ const Page = () => { ...@@ -448,7 +458,7 @@ const Page = () => {
</a> </a>
))} ))}
{rows.slice(0, 3).map((news) => ( {policyAndLegalInformation?.responseData.rows.slice(0, 3).map((news) => (
<CardNews key={news.id} news={news} /> <CardNews key={news.id} news={news} />
))} ))}
</div> </div>
......
...@@ -21,8 +21,7 @@ export default function ScrollToTopButton() { ...@@ -21,8 +21,7 @@ export default function ScrollToTopButton() {
return ( return (
<button <button
onClick={scrollToTop} onClick={scrollToTop}
className={`fixed bottom-25 right-6 bg-[#e8c518] hover:text-[#063e8e] text-white p-3 rounded-lg shadow-lg transition-all duration-500 cursor-pointer ${ className={`fixed z-50 bottom-20 right-8 bg-[#e8c518] hover:text-[#063e8e] text-white p-3 rounded-lg shadow-lg transition-all duration-500 cursor-pointer ${visible
visible
? "opacity-100 translate-y-0" ? "opacity-100 translate-y-0"
: "opacity-0 translate-y-3 pointer-events-none" : "opacity-0 translate-y-3 pointer-events-none"
}`} }`}
......
...@@ -20,7 +20,7 @@ export default function Page() { ...@@ -20,7 +20,7 @@ export default function Page() {
const { data: allData, isLoading } = useGetNews<GetNewsResponseType>({ const { data: allData, isLoading } = useGetNews<GetNewsResponseType>({
pageSize: String(pageSize), pageSize: String(pageSize),
currentPage: String(page), currentPage: String(page),
filters: submitSearch ? `title @=${submitSearch}` : undefined, filters: submitSearch ? `title @=${submitSearch}` : `category @=Tin VCCI`,
}); });
return ( return (
<div className="min-h-screen container mx-auto p-4"> <div className="min-h-screen container mx-auto p-4">
......
...@@ -29,7 +29,7 @@ const ListCategory: React.FC<{ categories?: Category[] }> = ({ ...@@ -29,7 +29,7 @@ const ListCategory: React.FC<{ categories?: Category[] }> = ({
}; };
return ( return (
<div className="border-t border-gray-200 bg-white p-2.5"> <div className="border-t border-gray-200 bg-white py-2">
<div className="w-full px-4 sm:px-6 lg:px-8"> <div className="w-full px-4 sm:px-6 lg:px-8">
<div className="py-3"> <div className="py-3">
<div className="flex flex-wrap items-center max-w-full overflow-x-auto"> <div className="flex flex-wrap items-center max-w-full overflow-x-auto">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment