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 && (
)}
>
) : (
)}
);
}