feat: revue de code, doc CODE_REVIEW, forfaits 2026, traduction LLM, providers avec modèle

Made-with: Cursor
This commit is contained in:
Sepehr Ramezani
2026-03-07 11:42:58 +01:00
parent 3d37ce4582
commit 473b3e26c7
181 changed files with 30617 additions and 7170 deletions

View File

@@ -0,0 +1,29 @@
'use client';
import { useQuery, UseQueryResult } from '@tanstack/react-query';
import { useRouter } from 'next/navigation';
import { apiClient, ApiClientError } from '@/lib/apiClient';
import type { User } from './types';
export function useUser(): UseQueryResult<User, ApiClientError> {
const router = useRouter();
return useQuery({
queryKey: ['user', 'me'],
queryFn: async (): Promise<User> => {
const response = await apiClient.get<User>('/api/v1/auth/me');
return response.data;
},
retry: (failureCount, error) => {
if (error.status === 401) {
localStorage.removeItem('token');
localStorage.removeItem('refresh_token');
localStorage.removeItem('user');
router.push('/auth/login?redirect=/dashboard');
return false;
}
return failureCount < 2;
},
staleTime: 5 * 60 * 1000,
});
}