"use client"; import { useState, type ReactNode } from "react"; import { useRouter } from "next/navigation"; import { RefreshButton } from "@/components/library/RefreshButton"; import { PullToRefreshIndicator } from "@/components/common/PullToRefreshIndicator"; import { usePullToRefresh } from "@/hooks/usePullToRefresh"; import { useTranslate } from "@/hooks/useTranslate"; import logger from "@/lib/logger"; interface HomeClientWrapperProps { children: ReactNode; } export function HomeClientWrapper({ children }: HomeClientWrapperProps) { const router = useRouter(); const { t } = useTranslate(); const [isRefreshing, setIsRefreshing] = useState(false); const handleRefresh = async () => { try { setIsRefreshing(true); // Revalider la page côté serveur router.refresh(); return { success: true }; } catch (error) { logger.error({ err: error }, "Erreur lors du rafraîchissement:"); return { success: false, error: "Erreur lors du rafraîchissement de la page d'accueil" }; } finally { // Petit délai pour laisser le temps au serveur de revalider setTimeout(() => setIsRefreshing(false), 500); } }; const pullToRefresh = usePullToRefresh({ onRefresh: async () => { await handleRefresh(); }, enabled: !isRefreshing, }); return ( <>

{t("home.title")}

{children}
); }