import { Text, Group, UnstyledButton, Badge, Table, Container, Title, ThemeIcon, Button, } from "@mantine/core"; import { Link } from "react-router-dom"; import { buildPageUrl } from "@/features/page/page.utils"; import { formattedDate } from "@/lib/time"; import { useFavoritesQuery } from "@/features/favorite/queries/favorite-query"; import { IconFileDescription, IconStar } from "@tabler/icons-react"; import { EmptyState } from "@/components/ui/empty-state"; import { getSpaceUrl } from "@/lib/config"; import { useTranslation } from "react-i18next"; import { getInitialsColor } from "@/lib/get-initials-color"; import PageListSkeleton from "@/components/ui/page-list-skeleton"; export default function FavoritesPage() { const { t } = useTranslation(); const { data, isLoading, isError, hasNextPage, fetchNextPage, isFetchingNextPage } = useFavoritesQuery("page"); const favorites = data?.pages.flatMap((p) => p.items) ?? []; if (isLoading) { return ( {t("Favorites")} ); } if (isError) { return ( {t("Favorites")} {t("Failed to fetch favorite pages")} ); } return ( {t("Favorites")} {favorites.length > 0 ? ( <> {favorites.map((fav) => fav.page ? ( {fav.page.icon || ( )} {fav.page.title || t("Untitled")} {fav.space && ( {fav.space.name} )} {formattedDate(new Date(fav.createdAt))} ) : null, )}
{hasNextPage && ( )} ) : ( )}
); }