diff --git a/components/発車時刻表/EachData.tsx b/components/発車時刻表/EachData.tsx index d299c4c..347cdea 100644 --- a/components/発車時刻表/EachData.tsx +++ b/components/発車時刻表/EachData.tsx @@ -13,6 +13,7 @@ import { TrainName } from "@/components/発車時刻表/LED_inside_Component/Tra import { TrainPosition } from "@/components/発車時刻表/LED_inside_Component/TrainPosition"; import { StationPosPushDialog } from "@/components/発車時刻表/LED_inside_Component/TrainPositionDataPush"; import { StationPosDeleteDialog } from "@/components/発車時刻表/LED_inside_Component/TrainPositionDataDelete"; +import { ScrollingDescription } from "@/components/発車時刻表/LED_inside_Component/ScrollingDescription"; import { useStationList } from "@/stateBox/useStationList"; import useInterval from "@/lib/useInterval"; import dayjs from "dayjs"; @@ -245,7 +246,20 @@ export const EachData: FC = (props) => { /> )} {trainDescriptionSwitch && !!train.train_info && ( - + + + )} {trainDescriptionSwitch && !!train.uwasa && ( diff --git a/lib/webViewInjectjavascript.ts b/lib/webViewInjectjavascript.ts index d1aa186..89b190f 100644 --- a/lib/webViewInjectjavascript.ts +++ b/lib/webViewInjectjavascript.ts @@ -95,13 +95,19 @@ export const injectJavascriptData: InjectJavascriptData = ( return; } try{ - fetch("${API_ENDPOINTS.UNYOHUB_DATA}").then((response) => response.json()) + // キャッシュバスティング用にタイムスタンプを追加 + const cacheBuster = '?_=' + Date.now(); + fetch("${API_ENDPOINTS.UNYOHUB_DATA}" + cacheBuster) + .then((response) => response.json()) .then((data) => { if(!_.isEqual(data, unyohubData)) { unyohubData = data; console.log('[UnyoHub] Data updated:', unyohubData.length, 'items'); setReload(); } + }) + .catch((error) => { + console.error('[UnyoHub] Fetch error:', error); }); }catch(error){ console.error('[UnyoHub] Fetch error:', error); @@ -116,6 +122,9 @@ export const injectJavascriptData: InjectJavascriptData = ( } const foundUnyos = []; for (const unyo of unyohubData) { + if (!unyo.trains) { + continue; + } const found = unyo.trains.find(train => train.train_number === trainNumber); if (found) { foundUnyos.push({ @@ -129,7 +138,6 @@ export const injectJavascriptData: InjectJavascriptData = ( // position_forward順にソート foundUnyos.sort((a, b) => a.position_forward - b.position_forward); const result = foundUnyos.map(u => u.formations + '(' + u.position_forward + '-' + u.position_rear + ')').join(', '); - console.log('[UnyoHub] Found for', trainNumber, ':', result); return result; }; diff --git a/stateBox/useUnyohub.tsx b/stateBox/useUnyohub.tsx index a350950..c69c8b5 100644 --- a/stateBox/useUnyohub.tsx +++ b/stateBox/useUnyohub.tsx @@ -42,7 +42,9 @@ export const useUnyohub = (): UnyohubHook => { const fetchUnyohubData = async () => { try { - const response = await fetch(API_ENDPOINTS.UNYOHUB_DATA); + // キャッシュバスティング用にタイムスタンプを追加 + const cacheBuster = '?_=' + Date.now(); + const response = await fetch(API_ENDPOINTS.UNYOHUB_DATA + cacheBuster); const data = await response.json(); setUnyohubData(data); await AS.setItem(STORAGE_KEYS.UNYOHUB_DATA, JSON.stringify(data));