Files
memegoat/frontend/src/components/home-content.tsx
Mathis HERRIOT 0e9edd4bfc feat(app): enhance metadata and add admin sidebar section
Update app metadata with multilingual support, SEO improvements, and structured OpenGraph and Twitter metadata. Add an "Administration" section in the sidebar for authenticated admin users. Improve role display and enable dynamic sorting in `HomeContent`. Extend UI badges with a success variant.
2026-01-14 21:44:25 +01:00

42 lines
1.0 KiB
TypeScript

"use client";
import { useSearchParams } from "next/navigation";
import * as React from "react";
import { ContentList } from "@/components/content-list";
import { ContentService } from "@/services/content.service";
export function HomeContent({
defaultSort = "trend",
}: {
defaultSort?: "trend" | "recent";
}) {
const searchParams = useSearchParams();
const sort = (searchParams.get("sort") as "trend" | "recent") || defaultSort;
const category = searchParams.get("category") || undefined;
const tag = searchParams.get("tag") || undefined;
const query = searchParams.get("query") || undefined;
const fetchFn = React.useCallback(
(params: { limit: number; offset: number }) =>
ContentService.getExplore({
...params,
sort,
category,
tag,
query,
}),
[sort, category, tag, query],
);
const title = query
? `Résultats pour "${query}"`
: category
? `Catégorie : ${category}`
: sort === "trend"
? "Tendances du moment"
: "Nouveautés";
return <ContentList fetchFn={fetchFn} title={title} />;
}