commit b041a047016b8ec6c63eca8c5f3d26098a197f64
parent e0bd11fcd2cd16395b822e5d1d58e95ca8b0a398
Author: Yureka <yuka@yuka.dev>
Date: Sun, 20 Feb 2022 16:10:47 +0100
parent e0bd11fcd2cd16395b822e5d1d58e95ca8b0a398
Author: Yureka <yuka@yuka.dev>
Date: Sun, 20 Feb 2022 16:10:47 +0100
support multiple profiles
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/app_functions.js b/src/app_functions.js @@ -134,16 +134,16 @@ export const getMoreJourneys = async (slug, mode) => { }; export const refreshJourneys = async (slug) => { const saved = await db.get('journeysOverview', slug); - await Promise.all(saved.journeys.map(x => refreshJourney(saved.profile || "db", x))); + await Promise.all(saved.journeys.map(x => refreshJourney(x, saved.profile || "db"))); }; export const refreshJourney = async (refreshToken, profile) => { const client = await getHafasClient(profile || settings.profile || "db"); - const settings = mkSettings(); + const requestSettings = mkSettings(); const [saved, data] = await Promise.all([ db.get('journey', refreshToken), - client.refreshJourney(trainsearchToHafas(refreshToken), settings) + client.refreshJourney(trainsearchToHafas(refreshToken), requestSettings) ]); - data.settings = settings; + data.settings = requestSettings; data.refreshToken = hafasToTrainsearch(data.refreshToken); if (saved) data.slug = saved.slug; db.put('journey', data);
diff --git a/src/journeyView.js b/src/journeyView.js @@ -126,7 +126,7 @@ const legTemplate = leg => { `; }; -const journeyTemplate = (data) => { +const journeyTemplate = (data, profile) => { const duration = data.legs[data.legs.length - 1].arrival - data.legs[0].departure; const legs = []; @@ -168,7 +168,7 @@ const journeyTemplate = (data) => { <h3>${parseName(data.legs[0].origin)} → ${parseName(data.legs[data.legs.length - 1].destination)}</h3> <p><b>${t('duration')}: ${formatDuration(duration)} | ${t('changes')}: ${changes-1} | ${t('date')}: ${formatDateTime(data.legs[0].plannedDeparture, 'date')}${settings.showPrices && data.price ? html` | ${t('price')}: <td><span>${formatPrice(data.price)}</span></td>` : ''}</b></p> </div> - <a class="reload icon-reload" title="${t("reload")}" @click=${() => refreshJourneyView(data.refreshToken)}>${t("reload")}</a> + <a class="reload icon-reload" title="${t("reload")}" @click=${() => refreshJourneyView(data.refreshToken, profile)}>${t("reload")}</a> </header> ${legs.map(legTemplate)} @@ -214,8 +214,8 @@ export const journeyView = async (match, isUpdate) => { hideOverlay(); ConsoleLog(data); - render(journeyTemplate(data), ElementById('content')); - + render(journeyTemplate(data, profile), ElementById('content')); + //if (!isUpdate) refreshJourneyView(refreshToken); // update data in the background /*const history_id = dataStorage.journeysHistory.findIndex(obj => obj.reqId === reqId); @@ -226,15 +226,15 @@ export const journeyView = async (match, isUpdate) => { }*/ }; -const refreshJourneyView = async (refreshToken) => { +const refreshJourneyView = async (refreshToken, profile) => { document.querySelector('.reload').classList.add('spinning'); try { - await refreshJourney(refreshToken); + await refreshJourney(refreshToken, profile); } catch(e) { showAlertModal(e.toString()); document.querySelector('.reload').classList.remove('spinning'); throw e; } - journeyView([refreshToken], true); + journeyView([profile, refreshToken], true); document.querySelector('.reload').classList.remove('spinning'); };