'use client' import Link from 'next/link' import { useGetCategoriesQuery, useGetSlidersQuery } from '@/store/services' import { useTitle, useUrlQuery } from '@/hooks' import { ResponsiveImage, EmptyCustomList, PageContainer, TableSkeleton } from '@/components' const SlidersPage = () => { const query = useUrlQuery() const category_id = query?.category_id const category_name = query?.category_name //? Queries //* Get Categories const { categories, isLoading: isLoading_get_categories } = useGetCategoriesQuery(undefined, { selectFromResult: ({ data, isLoading }) => ({ categories: data?.data?.categories .filter(category => category.level < 2) .sort((a, b) => a.level - b.level), isLoading, skip: !!category_id, }), }) //* Get Sliders const { data: sliders, isLoading: isLoadingGetSliders } = useGetSlidersQuery( { category: category_id }, { skip: !!!category_id } ) //? Render(s) const title = category_name ? `分类滑块管理 - ${category_name}` : '滑块管理' useTitle(title) const renderContent = () => { if (isLoading_get_categories || isLoadingGetSliders) { return ( ) } if (categories && !category_id) { return categories.map(category => ( {category.name} 子集 )) } if (sliders && sliders.data && sliders.data.length > 0) { return sliders.data.map(slider => ( {slider.title} 编辑 )) } else return ( ) } return (
{category_id && ( 添加新滑块 )}
{category_name && } {renderContent()}
图片 {category_name ? '标题' : '分类名称'} 操作
) } export default SlidersPage