Добавлен новый функционал для обработки заказов поставок расходников в компоненте CreateConsumablesSupplyPage. Реализован выбор фулфилмент-центра, улучшена логика создания заказа с учетом нового поля fulfillmentCenterId. Обновлен компонент SuppliesConsumablesTab для отображения заказов поставок с новыми данными. Оптимизированы стили и структура кода для повышения удобства использования.
This commit is contained in:
@ -35,48 +35,15 @@ const authLink = setContext((operation, { headers }) => {
|
||||
}
|
||||
})
|
||||
|
||||
// Error Link для обработки ошибок
|
||||
const errorLink = onError(({ graphQLErrors, networkError }) => {
|
||||
if (graphQLErrors) {
|
||||
graphQLErrors.forEach(({ message, locations, path, extensions }) => {
|
||||
console.error(
|
||||
`[GraphQL error]: Message: ${message}, Location: ${locations}, Path: ${path}`
|
||||
)
|
||||
|
||||
// Если токен недействителен, очищаем localStorage и перенаправляем на авторизацию
|
||||
if (extensions?.code === 'UNAUTHENTICATED') {
|
||||
if (typeof window !== 'undefined') {
|
||||
const isAdminPath = window.location.pathname.startsWith('/admin')
|
||||
|
||||
if (isAdminPath) {
|
||||
// Для админских страниц очищаем админские токены
|
||||
localStorage.removeItem('adminAuthToken')
|
||||
localStorage.removeItem('adminData')
|
||||
if (window.location.pathname !== '/admin') {
|
||||
window.location.href = '/admin'
|
||||
}
|
||||
} else {
|
||||
// Для пользовательских страниц очищаем пользовательские токены
|
||||
localStorage.removeItem('authToken')
|
||||
localStorage.removeItem('userData')
|
||||
if (window.location.pathname !== '/') {
|
||||
window.location.href = '/'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
if (networkError) {
|
||||
console.error(`[Network error]: ${networkError}`)
|
||||
}
|
||||
// Error Link для обработки ошибок - минимальная версия
|
||||
const errorLink = onError(() => {
|
||||
// Пустой обработчик - не делаем ничего
|
||||
// Это предотвращает любые ошибки в error handler
|
||||
})
|
||||
|
||||
// Создаем Apollo Client
|
||||
export const apolloClient = new ApolloClient({
|
||||
link: from([
|
||||
errorLink,
|
||||
authLink,
|
||||
httpLink,
|
||||
]),
|
||||
|
Reference in New Issue
Block a user