- Migrated all hooks: useAuth, useChat, useLogin - Migrated all components: Header, ProfileForm, FollowButton, LikeButton, PlaylistFollowButton, ChatMessage, ChatMessages, CommentThread, CommentSection, PlaylistList, ChatSidebar, SettingsPage, DashboardPage - Updated storeSelectors.ts useAuthUser() to use React Query - All production code now uses useUser() hook instead of Zustand store - Action 4.1.1.3 and 4.1.1.4 complete
23 lines
630 B
TypeScript
23 lines
630 B
TypeScript
import { useAuthStore } from '../store/authStore';
|
|
import { TokenStorage } from '@/services/tokenStorage';
|
|
import { useUser } from './useUser';
|
|
|
|
export const useAuth = () => {
|
|
const { isAuthenticated, logout: storeLogout } = useAuthStore();
|
|
const { data: user } = useUser();
|
|
|
|
const logout = async () => {
|
|
// Le store gère déjà le logout via la méthode logout
|
|
await storeLogout();
|
|
};
|
|
|
|
const accessToken = TokenStorage.getAccessToken();
|
|
|
|
return {
|
|
user: user ?? null,
|
|
accessToken: accessToken || null,
|
|
refreshToken: TokenStorage.getRefreshToken() || null,
|
|
isAuthenticated,
|
|
logout,
|
|
};
|
|
};
|