На скріншоті видно таблицю курсів валют на листі _course:
Давайте перевіримо логи та виправимо парсинг EUR/USD:
Бачу логіку. Проблема може бути в тому, що fetchECBRateEURtoUSD повертає правильно, але дані не відображаються. Давайте додамо дебаг-логування та перевіримо, чи проходять запити до Frankfurter API:
Також додам дебаг в основну функцію завантаження:
Тепер перевіримо результати завантаження. Я додав детальне логування для відлагодження проблеми з EUR/USD курсами. Перевіримо логи, коли компонент завантажиться. Ймовірно, проблема в одному з цих місць:
data.rates не містить USDДайте мені знати чи логи показують конкретну помилку. Тоді я виправлю URL або формат запиту.
На скріншотах:
Перевірю логи щоб зрозуміти проблему з EUR/USD:
Тепер все зрозуміло! Frankfurter API повертає status 301 (Redirect) — це означає що API перемістився на новий домен. Потрібно використати іншу URL або інше API. Також потрібно знайти receivables-table.tsx:
Знайшов! Receivables це debts-table.tsx. Тепер виправлю обидві проблеми:
https://www.frankfurter.app замість https://api.frankfurter.app, або альтернативно ECB напрямуdebts-table.tsx має хардкодовані "Client 1-8"Тепер бачу проблему. Frankfurter API повертає 301 redirect, бо домен змінився. Потрібно використовувати https://www.frankfurter.app замість https://api.frankfurter.app. Виправлю курси та Receivables:
Тепер виправлю інші URL для Frankfurter API та приберу debug logs:
Тепер видалю debug logs з course-table:
Тепер оновлю DebtsTable (Receivables) щоб завантажував реальних клієнтів з налаштувань проектів:
Виправлено обидві проблеми:
api.frankfurter.app на www.frankfurter.app (старий домен повертав 301 redirect). Всі три виклики API оновлено.DebtsTable: тепер завантажує унікальних клієнтів з проектів в налаштуваннях через getAllSettingsData(). Колонка "Terms of payment days" показує відстрочку платежу з налаштувань проекту (paymentTerms). Замість хардкодованих "Client 1-8" тепер відображаються реальні клієнти.