Добавлена логика загрузки аватаров пользователей через API с использованием S3. Реализованы проверки на тип и размер файла, а также обработка ошибок. Обновлены компоненты UserSettings и useAuth для интеграции новой функциональности. Оптимизирована работа с кэшем Apollo Client для мгновенного обновления аватара в интерфейсе.
This commit is contained in:
@ -85,6 +85,7 @@ interface UseAuthReturn {
|
||||
isAuthenticated: boolean
|
||||
isLoading: boolean
|
||||
checkAuth: () => Promise<void>
|
||||
updateUser: (updatedUser: Partial<User>) => void
|
||||
logout: () => void
|
||||
}
|
||||
|
||||
@ -99,6 +100,14 @@ export const useAuth = (): UseAuthReturn => {
|
||||
const [isCheckingAuth, setIsCheckingAuth] = useState(false) // Защита от повторных вызовов
|
||||
const { refreshApolloClient } = useApolloRefresh()
|
||||
|
||||
// Функция для обновления данных пользователя
|
||||
const updateUser = (updatedUser: Partial<User>) => {
|
||||
setUser(currentUser => {
|
||||
if (!currentUser) return currentUser
|
||||
return { ...currentUser, ...updatedUser }
|
||||
})
|
||||
}
|
||||
|
||||
const [sendSmsCodeMutation] = useMutation(SEND_SMS_CODE)
|
||||
const [verifySmsCodeMutation] = useMutation(VERIFY_SMS_CODE)
|
||||
const [registerFulfillmentMutation] = useMutation(REGISTER_FULFILLMENT_ORGANIZATION)
|
||||
@ -363,6 +372,7 @@ export const useAuth = (): UseAuthReturn => {
|
||||
isAuthenticated,
|
||||
isLoading,
|
||||
checkAuth,
|
||||
updateUser,
|
||||
logout
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user