"use client"; import { Calendar, LogIn, LogOut, Settings } from "lucide-react"; import Link from "next/link"; import { useSearchParams } from "next/navigation"; import * as React from "react"; import { ContentList } from "@/components/content-list"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { Spinner } from "@/components/ui/spinner"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { useAuth } from "@/providers/auth-provider"; import { ContentService } from "@/services/content.service"; import { FavoriteService } from "@/services/favorite.service"; export default function ProfilePage() { const { user, isAuthenticated, isLoading, logout } = useAuth(); const searchParams = useSearchParams(); const tab = searchParams.get("tab") || "memes"; const fetchMyMemes = React.useCallback( (params: { limit: number; offset: number }) => ContentService.getExplore({ ...params, author: user?.username }), [user?.username], ); const fetchMyFavorites = React.useCallback( (params: { limit: number; offset: number }) => FavoriteService.list(params), [], ); if (isLoading) { return (
@{user.username}