Добавлен новый функционал для обработки заказов поставок расходников в компоненте CreateConsumablesSupplyPage. Реализован выбор фулфилмент-центра, улучшена логика создания заказа с учетом нового поля fulfillmentCenterId. Обновлен компонент SuppliesConsumablesTab для отображения заказов поставок с новыми данными. Оптимизированы стили и структура кода для повышения удобства использования.

This commit is contained in:
Veronika Smirnova
2025-07-24 14:12:20 +03:00
parent 441d2daefb
commit 41228f4c17
6 changed files with 1036 additions and 1170 deletions

View File

@ -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,
]),