From 5c72c2a0bc9dea16fb4e24fb34749aca983a51cc Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Fri, 29 Dec 2023 13:41:21 +0100 Subject: [PATCH 1/2] add `origColor` route color when route color is replaced --- lib/actions/apiV2.js | 40 ++++++++++++++++++++++++++++++++++++++-- lib/util/viewer.js | 1 + 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/lib/actions/apiV2.js b/lib/actions/apiV2.js index 044266497..5bca59ad8 100644 --- a/lib/actions/apiV2.js +++ b/lib/actions/apiV2.js @@ -702,6 +702,18 @@ export const findRoute = (params) => stops: patternStops } }) + newRoute.origColor = newRoute.color + newRoute.color = getRouteColorBasedOnSettings( + getRouteOperator( + { + agencyId: newRoute?.agency?.id, + id: newRoute?.route?.id + }, + getState().otp.config.transitOperators + ), + { color: newRoute?.route?.color, mode: newRoute.mode } + ).split('#')?.[1] + newRoute.patterns = routePatterns // TODO: avoid explicit behavior shift like this newRoute.v2 = true @@ -753,8 +765,30 @@ export function findRoutes() { // To initialize the route viewer, // convert the routes array to a dictionary indexed by route ids. return routes.reduce((result, route) => { - const { agency, color, id, longName, mode, shortName, type } = - route + const { + agency, + color: origColor, + id, + longName, + mode, + shortName, + type + } = route + // Set color overrides if present + const color = getRouteColorBasedOnSettings( + getRouteOperator( + { + agencyId: route?.agency?.id, + id: route?.route?.id + }, + config.transitOperators + ), + { + color: route?.route?.color, + mode: route.mode + } + ).split('#')?.[1] + result[id] = { agencyId: agency.id, agencyName: agency.name, @@ -765,6 +799,7 @@ export function findRoutes() { { id, mode }, config?.routeModeOverrides ), + origColor, shortName, type, v2: true @@ -978,6 +1013,7 @@ export function routingQuery(searchId = null, updateSearchInReducer) { ?.map((leg) => { return { ...leg, + origColor: leg?.route?.color, route: { ...leg.route, color: getRouteColorBasedOnSettings( diff --git a/lib/util/viewer.js b/lib/util/viewer.js index 0a9d13e82..195b18c52 100644 --- a/lib/util/viewer.js +++ b/lib/util/viewer.js @@ -477,6 +477,7 @@ export function generateFakeLegForRouteRenderer( mode: getModeFromRoute(route), // Don't render top border when colors are mismatched onColoredBackground, + origColor: route.origColor, routeColor: route.color, routeLongName: route.longName, routeShortName: route.shortName, From 57a1dd78b0f3239b1f57e314b8686a83c11c73b9 Mon Sep 17 00:00:00 2001 From: miles-grant-ibigroup Date: Wed, 3 Jan 2024 14:15:42 +0100 Subject: [PATCH 2/2] update snapshots --- .../viewers/__snapshots__/stop-viewer.js.snap | 35 ++++++++++++------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/__tests__/components/viewers/__snapshots__/stop-viewer.js.snap b/__tests__/components/viewers/__snapshots__/stop-viewer.js.snap index 11a00e14f..f6d3c9c4e 100644 --- a/__tests__/components/viewers/__snapshots__/stop-viewer.js.snap +++ b/__tests__/components/viewers/__snapshots__/stop-viewer.js.snap @@ -101,8 +101,8 @@ exports[`components > viewers > stop viewer should render countdown times after > viewers > stop viewer should render countdown times after "agencyName": "TriMet", "mode": "BUS", "onColoredBackground": true, + "origColor": undefined, "routeColor": undefined, "routeLongName": "Burnside/Stark", "routeShortName": "20", @@ -2980,8 +2981,8 @@ exports[`components > viewers > stop viewer should render countdown times for st > viewers > stop viewer should render countdown times for st "agencyName": "TriMet", "mode": "BUS", "onColoredBackground": true, + "origColor": undefined, "routeColor": undefined, "routeLongName": "Burnside/Stark", "routeShortName": "20", @@ -4808,8 +4810,8 @@ exports[`components > viewers > stop viewer should render times after midnight w > viewers > stop viewer should render times after midnight w "agencyName": "TriMet", "mode": "BUS", "onColoredBackground": true, + "origColor": undefined, "routeColor": undefined, "routeLongName": "Burnside/Stark", "routeShortName": "20", @@ -7730,8 +7733,8 @@ exports[`components > viewers > stop viewer should render with OTP transit index > viewers > stop viewer should render with OTP transit index "agencyName": "TriMet", "mode": "BUS", "onColoredBackground": true, + "origColor": undefined, "routeColor": undefined, "routeLongName": "Burnside/Stark", "routeShortName": "20", @@ -10537,6 +10541,7 @@ exports[`components > viewers > stop viewer should render with OTP transit index "agencyName": "TriMet", "mode": "BUS", "onColoredBackground": true, + "origColor": undefined, "routeColor": undefined, "routeLongName": "Pacific Hwy/Sherwood", "routeShortName": "94", @@ -11160,6 +11165,7 @@ exports[`components > viewers > stop viewer should render with OTP transit index "agencyName": "TriMet", "mode": "BUS", "onColoredBackground": true, + "origColor": undefined, "routeColor": undefined, "routeLongName": "Pacific Hwy/Sherwood", "routeShortName": "94", @@ -11465,6 +11471,7 @@ exports[`components > viewers > stop viewer should render with OTP transit index "agencyName": "TriMet", "mode": "BUS", "onColoredBackground": true, + "origColor": undefined, "routeColor": undefined, "routeLongName": "South Shore", "routeShortName": "36", @@ -11934,6 +11941,7 @@ exports[`components > viewers > stop viewer should render with OTP transit index "agencyName": "TriMet", "mode": "BUS", "onColoredBackground": true, + "origColor": undefined, "routeColor": undefined, "routeLongName": "Pacific Hwy/Sherwood", "routeShortName": "94", @@ -12221,6 +12229,7 @@ exports[`components > viewers > stop viewer should render with OTP transit index "agencyName": "TriMet", "mode": "BUS", "onColoredBackground": true, + "origColor": undefined, "routeColor": undefined, "routeLongName": "South Shore", "routeShortName": "36", @@ -12522,6 +12531,7 @@ exports[`components > viewers > stop viewer should render with OTP transit index "agencyName": "TriMet", "mode": "BUS", "onColoredBackground": true, + "origColor": undefined, "routeColor": undefined, "routeLongName": "Pacific Hwy/Sherwood", "routeShortName": "94", @@ -14778,8 +14788,8 @@ exports[`components > viewers > stop viewer should render with TriMet transit in > viewers > stop viewer should render with TriMet transit in "agencyName": "TriMet", "mode": "BUS", "onColoredBackground": true, + "origColor": undefined, "routeColor": undefined, "routeLongName": "Burnside/Stark", "routeShortName": "20", @@ -19471,8 +19482,8 @@ exports[`components > viewers > stop viewer should render with initial stop id a >