From 1404f42e4c8a2c2fcee7b0a5ec2cb66d6838e4ed Mon Sep 17 00:00:00 2001 From: Devin Matte Date: Sun, 10 Mar 2024 17:47:30 -0400 Subject: [PATCH] Adding the Mattapan trolley --- common/api/alerts.ts | 2 +- .../graphics/styles/spinnerFillColor.ts | 1 + common/components/nav/MenuDropdown.tsx | 1 + common/components/nav/SubwayDropdown.tsx | 2 +- common/components/nav/SubwaySection.tsx | 3 + common/constants/baselines.ts | 1 + common/constants/colors.ts | 2 + common/constants/lines.ts | 7 + common/constants/pages.ts | 6 +- common/constants/stations.json | 1522 +++++------------ common/styles/general.ts | 11 + common/types/lines.ts | 16 +- common/utils/router.tsx | 1 + modules/slowzones/SlowZonesWidget.tsx | 2 +- 14 files changed, 489 insertions(+), 1088 deletions(-) diff --git a/common/api/alerts.ts b/common/api/alerts.ts index e655dd858..a3fde9d41 100644 --- a/common/api/alerts.ts +++ b/common/api/alerts.ts @@ -23,7 +23,7 @@ export const fetchAlerts = async ( const fetchAlertsForLine = async (line: LineShort): Promise => { const options = { ...alertsAPIConfig }; - if (line === 'Green') { + if (line === 'Green' || line === 'Mattapan') { // route_type 0 is light rail (green line & Mattapan) options['route_type'] = '0'; } else { diff --git a/common/components/graphics/styles/spinnerFillColor.ts b/common/components/graphics/styles/spinnerFillColor.ts index 92fdd2378..74212fa11 100644 --- a/common/components/graphics/styles/spinnerFillColor.ts +++ b/common/components/graphics/styles/spinnerFillColor.ts @@ -5,6 +5,7 @@ export const spinnerFillColor: StyleMap = { 'line-orange': 'fill-mbta-orange', 'line-green': 'fill-mbta-green', 'line-blue': 'fill-mbta-blue', + 'line-mattapan': 'fill-mbta-red', 'line-bus': 'fill-mbta-bus', 'line-commuter-rail': 'fill-mbta-commuterRail', }; diff --git a/common/components/nav/MenuDropdown.tsx b/common/components/nav/MenuDropdown.tsx index 732a6dc1d..e106a13d4 100644 --- a/common/components/nav/MenuDropdown.tsx +++ b/common/components/nav/MenuDropdown.tsx @@ -30,6 +30,7 @@ export const MenuDropdown: React.FC = ({ line, route, childre case 'line-bus': return faBus; case 'line-green': + case 'line-mattapan': return faTrainTram; case 'line-commuter-rail': return faTrain; diff --git a/common/components/nav/SubwayDropdown.tsx b/common/components/nav/SubwayDropdown.tsx index 1560683d7..77c627a99 100644 --- a/common/components/nav/SubwayDropdown.tsx +++ b/common/components/nav/SubwayDropdown.tsx @@ -23,7 +23,7 @@ export const SubwayDropdown: React.FC = ({ line, close }) =
cur !== ALL_PAGES.slowzones) : LINE_PAGES } diff --git a/common/components/nav/SubwaySection.tsx b/common/components/nav/SubwaySection.tsx index f299fbe28..6f4826296 100644 --- a/common/components/nav/SubwaySection.tsx +++ b/common/components/nav/SubwaySection.tsx @@ -24,6 +24,9 @@ export const SubwaySection: React.FC = ({ close }) => { + + + ); }; diff --git a/common/constants/baselines.ts b/common/constants/baselines.ts index 1eed84ff2..510d636ea 100644 --- a/common/constants/baselines.ts +++ b/common/constants/baselines.ts @@ -26,6 +26,7 @@ export const PEAK_RIDERSHIP: { 'line-orange': 169578, 'line-blue': 60129, 'line-green': 87148, + 'line-mattapan': 0, '1': 15272, '4': 850, '9': 7116, diff --git a/common/constants/colors.ts b/common/constants/colors.ts index 51646f430..e56df92cd 100644 --- a/common/constants/colors.ts +++ b/common/constants/colors.ts @@ -48,6 +48,7 @@ export const LINE_COLORS = { 'line-orange': '#ed8b00', 'line-blue': '#003da5', 'line-green': '#00834d', + 'line-mattapan': '#D13434', 'line-bus': '#ffc72c', default: '#303030', }; @@ -57,6 +58,7 @@ export const LINE_COLORS_LEVELS = { 'line-orange': { 0: '#ed8b00', 1: '#ff9907', 2: '#ffa321', 3: '#ffae3b' }, 'line-blue': { 0: '#003da5', 1: '#0046bf', 2: '#0050d8', 3: '#0059f2' }, 'line-green': { 0: '#00834d', 1: '#009d5c', 2: '#00b66b', 3: '#00d07a' }, + 'line-mattapan': { 0: '#D13434', 1: '#d64949', 2: '#da5e5e', 3: '#df7272' }, 'line-bus': { 0: '#ffc72c', 1: '#ffce46', 2: '#ffd55f', 3: '#ffdb79' }, default: '#303030', }; diff --git a/common/constants/lines.ts b/common/constants/lines.ts index d5ce9c0b0..5cd02e2d7 100644 --- a/common/constants/lines.ts +++ b/common/constants/lines.ts @@ -30,6 +30,13 @@ export const LINE_OBJECTS: LineObject = { key: 'line-blue', color: COLORS.mbta.blue, }, + 'line-mattapan': { + name: 'Mattapan Trolley', + short: 'Mattapan', + path: 'mattapan', + key: 'line-mattapan', + color: COLORS.mbta.red, + }, 'line-bus': { name: 'Buses', short: 'Bus', diff --git a/common/constants/pages.ts b/common/constants/pages.ts index 69f7c7950..bd78dbf74 100644 --- a/common/constants/pages.ts +++ b/common/constants/pages.ts @@ -66,7 +66,7 @@ export const ALL_PAGES: PageMap = { path: '/trips/single', name: 'Trips', title: 'Trips', - lines: ['line-red', 'line-blue', 'line-green', 'line-orange', 'line-bus'], + lines: ['line-red', 'line-blue', 'line-green', 'line-orange', 'line-mattapan', 'line-bus'], icon: faMapLocationDot, hasStationStore: true, dateStoreSection: 'singleTrips', @@ -76,7 +76,7 @@ export const ALL_PAGES: PageMap = { path: '/trips/multi', name: 'Multi-day trips', title: 'Multi-day trips', - lines: ['line-red', 'line-blue', 'line-green', 'line-orange', 'line-bus'], + lines: ['line-red', 'line-blue', 'line-green', 'line-orange', 'line-mattapan', 'line-bus'], icon: faCalendar, dateStoreSection: 'multiTrips', hasStationStore: true, @@ -101,7 +101,7 @@ export const ALL_PAGES: PageMap = { key: 'predictions', path: '/predictions', name: 'Predictions', - lines: ['line-red', 'line-orange', 'line-blue', 'line-green'], + lines: ['line-red', 'line-orange', 'line-blue', 'line-green', 'line-mattapan'], icon: faStopwatch20, dateStoreSection: 'line', }, diff --git a/common/constants/stations.json b/common/constants/stations.json index 8d26a85a1..85c94d663 100644 --- a/common/constants/stations.json +++ b/common/constants/stations.json @@ -8,19 +8,12 @@ "stations": [ { "stop_name": "Alewife", - "branches": [ - "A", - "B" - ], + "branches": ["A", "B"], "station": "place-alfcl", "order": 1, "stops": { - "0": [ - "70061" - ], - "1": [ - "70061" - ] + "0": ["70061"], + "1": ["70061"] }, "accessible": true, "enclosed_bike_parking": true, @@ -29,19 +22,12 @@ }, { "stop_name": "Davis", - "branches": [ - "A", - "B" - ], + "branches": ["A", "B"], "station": "place-davis", "order": 2, "stops": { - "0": [ - "70064" - ], - "1": [ - "70063" - ] + "0": ["70064"], + "1": ["70063"] }, "accessible": true, "enclosed_bike_parking": true, @@ -49,55 +35,34 @@ }, { "stop_name": "Porter", - "branches": [ - "A", - "B" - ], + "branches": ["A", "B"], "station": "place-portr", "order": 3, "stops": { - "0": [ - "70066" - ], - "1": [ - "70065" - ] + "0": ["70066"], + "1": ["70065"] }, "accessible": true }, { "stop_name": "Harvard", - "branches": [ - "A", - "B" - ], + "branches": ["A", "B"], "station": "place-harsq", "order": 4, "stops": { - "0": [ - "70068" - ], - "1": [ - "70067" - ] + "0": ["70068"], + "1": ["70067"] }, "accessible": true }, { "stop_name": "Central", - "branches": [ - "A", - "B" - ], + "branches": ["A", "B"], "station": "place-cntsq", "order": 5, "stops": { - "0": [ - "70070" - ], - "1": [ - "70069" - ] + "0": ["70070"], + "1": ["70069"] }, "accessible": true, "enclosed_bike_parking": true @@ -105,219 +70,140 @@ { "stop_name": "Kendall/MIT", "short": "Kendall", - "branches": [ - "A", - "B" - ], + "branches": ["A", "B"], "station": "place-knncl", "order": 6, "stops": { - "0": [ - "70072" - ], - "1": [ - "70071" - ] + "0": ["70072"], + "1": ["70071"] }, "accessible": true }, { "stop_name": "Charles/MGH", "short": "MGH", - "branches": [ - "A", - "B" - ], + "branches": ["A", "B"], "station": "place-chmnl", "order": 7, "stops": { - "0": [ - "70074" - ], - "1": [ - "70073" - ] + "0": ["70074"], + "1": ["70073"] }, "accessible": true }, { "stop_name": "Park Street", "short": "Park St.", - "branches": [ - "A", - "B" - ], + "branches": ["A", "B"], "station": "place-pktrm", "order": 8, "stops": { - "0": [ - "70076" - ], - "1": [ - "70075" - ] + "0": ["70076"], + "1": ["70075"] }, "accessible": true }, { "stop_name": "Downtown Crossing", "short": "DTX", - "branches": [ - "A", - "B" - ], + "branches": ["A", "B"], "station": "place-dwnxg", "order": 9, "stops": { - "0": [ - "70078" - ], - "1": [ - "70077" - ] + "0": ["70078"], + "1": ["70077"] }, "accessible": true }, { "stop_name": "South Station", "short": "S. Station", - "branches": [ - "A", - "B" - ], + "branches": ["A", "B"], "station": "place-sstat", "order": 10, "stops": { - "0": [ - "70080" - ], - "1": [ - "70079" - ] + "0": ["70080"], + "1": ["70079"] }, "accessible": true }, { "stop_name": "Broadway", - "branches": [ - "A", - "B" - ], + "branches": ["A", "B"], "station": "place-brdwy", "order": 11, "stops": { - "0": [ - "70082" - ], - "1": [ - "70081" - ] + "0": ["70082"], + "1": ["70081"] }, "accessible": true }, { "stop_name": "Andrew", - "branches": [ - "A", - "B" - ], + "branches": ["A", "B"], "station": "place-andrw", "order": 12, "stops": { - "0": [ - "70084" - ], - "1": [ - "70083" - ] + "0": ["70084"], + "1": ["70083"] }, "accessible": true }, { "stop_name": "JFK/UMass (Ashmont)", "short": "JFK (A)", - "branches": [ - "A" - ], + "branches": ["A"], "station": "place-jfk", "order": 101, "stops": { - "0": [ - "70086" - ], - "1": [ - "70085" - ] + "0": ["70086"], + "1": ["70085"] }, "accessible": true }, { "stop_name": "Savin Hill", - "branches": [ - "A" - ], + "branches": ["A"], "station": "place-shmnl", "order": 102, "stops": { - "0": [ - "70088" - ], - "1": [ - "70087" - ] + "0": ["70088"], + "1": ["70087"] }, "accessible": true }, { "stop_name": "Fields Corner", "short": "Fields Cor.", - "branches": [ - "A" - ], + "branches": ["A"], "station": "place-fldcr", "order": 103, "stops": { - "0": [ - "70090" - ], - "1": [ - "70089" - ] + "0": ["70090"], + "1": ["70089"] }, "accessible": true, "enclosed_bike_parking": true }, { "stop_name": "Shawmut", - "branches": [ - "A" - ], + "branches": ["A"], "station": "place-smmnl", "order": 104, "stops": { - "0": [ - "70092" - ], - "1": [ - "70091" - ] + "0": ["70092"], + "1": ["70091"] }, "accessible": true }, { "stop_name": "Ashmont", - "branches": [ - "A" - ], + "branches": ["A"], "station": "place-asmnl", "order": 105, "stops": { - "0": [ - "70094" - ], - "1": [ - "70093" - ] + "0": ["70094"], + "1": ["70093"] }, "accessible": true, "enclosed_bike_parking": true, @@ -327,54 +213,36 @@ { "stop_name": "JFK/UMass (Braintree)", "short": "JFK (B)", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-jfk", "order": 201, "stops": { - "0": [ - "70096" - ], - "1": [ - "70095" - ] + "0": ["70096"], + "1": ["70095"] }, "accessible": true }, { "stop_name": "North Quincy", "short": "N. Quincy", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-nqncy", "order": 202, "stops": { - "0": [ - "70098" - ], - "1": [ - "70097" - ] + "0": ["70098"], + "1": ["70097"] }, "accessible": true, "enclosed_bike_parking": true }, { "stop_name": "Wollaston", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-wlsta", "order": 203, "stops": { - "0": [ - "70100" - ], - "1": [ - "70099" - ] + "0": ["70100"], + "1": ["70099"] }, "accessible": true, "enclosed_bike_parking": true, @@ -383,53 +251,35 @@ { "stop_name": "Quincy Center", "short": "Quincy Ctr.", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-qnctr", "order": 204, "stops": { - "0": [ - "70102" - ], - "1": [ - "70101" - ] + "0": ["70102"], + "1": ["70101"] }, "accessible": true }, { "stop_name": "Quincy Adams", "short": "Q. Adams", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-qamnl", "order": 205, "stops": { - "0": [ - "70104" - ], - "1": [ - "70103" - ] + "0": ["70104"], + "1": ["70103"] }, "accessible": true }, { "stop_name": "Braintree", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-brntn", "order": 206, "stops": { - "0": [ - "70105" - ], - "1": [ - "70105" - ] + "0": ["70105"], + "1": ["70105"] }, "accessible": true, "enclosed_bike_parking": true, @@ -451,12 +301,8 @@ "station": "place-ogmnl", "order": 1, "stops": { - "0": [ - "70036" - ], - "1": [ - "70036" - ] + "0": ["70036"], + "1": ["70036"] }, "accessible": true, "enclosed_bike_parking": true, @@ -470,12 +316,8 @@ "station": "place-mlmnl", "order": 2, "stops": { - "0": [ - "70035" - ], - "1": [ - "70034" - ] + "0": ["70035"], + "1": ["70034"] }, "accessible": true, "enclosed_bike_parking": true, @@ -487,12 +329,8 @@ "station": "place-welln", "order": 3, "stops": { - "0": [ - "70033" - ], - "1": [ - "70032" - ] + "0": ["70033"], + "1": ["70032"] }, "accessible": true, "enclosed_bike_parking": true @@ -503,12 +341,8 @@ "station": "place-astao", "order": 4, "stops": { - "0": [ - "70279" - ], - "1": [ - "70278" - ] + "0": ["70279"], + "1": ["70278"] }, "accessible": true }, @@ -519,12 +353,8 @@ "station": "place-sull", "order": 5, "stops": { - "0": [ - "70031" - ], - "1": [ - "70030" - ] + "0": ["70031"], + "1": ["70030"] }, "accessible": true, "enclosed_bike_parking": true @@ -536,12 +366,8 @@ "station": "place-ccmnl", "order": 6, "stops": { - "0": [ - "70029" - ], - "1": [ - "70028" - ] + "0": ["70029"], + "1": ["70028"] }, "accessible": true }, @@ -552,12 +378,8 @@ "station": "place-north", "order": 7, "stops": { - "0": [ - "70027" - ], - "1": [ - "70026" - ] + "0": ["70027"], + "1": ["70026"] }, "accessible": true }, @@ -567,12 +389,8 @@ "station": "place-haecl", "order": 8, "stops": { - "0": [ - "70025" - ], - "1": [ - "70024" - ] + "0": ["70025"], + "1": ["70024"] }, "accessible": true }, @@ -583,12 +401,8 @@ "station": "place-state", "order": 9, "stops": { - "0": [ - "70023" - ], - "1": [ - "70022" - ] + "0": ["70023"], + "1": ["70022"] }, "accessible": true }, @@ -599,12 +413,8 @@ "station": "place-dwnxg", "order": 10, "stops": { - "0": [ - "70021" - ], - "1": [ - "70020" - ] + "0": ["70021"], + "1": ["70020"] }, "accessible": true }, @@ -614,12 +424,8 @@ "station": "place-chncl", "order": 11, "stops": { - "0": [ - "70019" - ], - "1": [ - "70018" - ] + "0": ["70019"], + "1": ["70018"] }, "accessible": true }, @@ -630,12 +436,8 @@ "station": "place-tumnl", "order": 12, "stops": { - "0": [ - "70017" - ], - "1": [ - "70016" - ] + "0": ["70017"], + "1": ["70016"] }, "accessible": true }, @@ -645,12 +447,8 @@ "station": "place-bbsta", "order": 13, "stops": { - "0": [ - "70015" - ], - "1": [ - "70014" - ] + "0": ["70015"], + "1": ["70014"] }, "accessible": true, "enclosed_bike_parking": true, @@ -663,12 +461,8 @@ "station": "place-masta", "order": 14, "stops": { - "0": [ - "70013" - ], - "1": [ - "70012" - ] + "0": ["70013"], + "1": ["70012"] }, "accessible": true }, @@ -678,12 +472,8 @@ "station": "place-rugg", "order": 15, "stops": { - "0": [ - "70011" - ], - "1": [ - "70010" - ] + "0": ["70011"], + "1": ["70010"] }, "accessible": true }, @@ -694,12 +484,8 @@ "station": "place-rcmnl", "order": 16, "stops": { - "0": [ - "70009" - ], - "1": [ - "70008" - ] + "0": ["70009"], + "1": ["70008"] }, "accessible": true, "enclosed_bike_parking": true @@ -711,12 +497,8 @@ "station": "place-jaksn", "order": 17, "stops": { - "0": [ - "70007" - ], - "1": [ - "70006" - ] + "0": ["70007"], + "1": ["70006"] }, "accessible": true, "enclosed_bike_parking": true @@ -727,12 +509,8 @@ "station": "place-sbmnl", "order": 18, "stops": { - "0": [ - "70005" - ], - "1": [ - "70004" - ] + "0": ["70005"], + "1": ["70004"] }, "accessible": true }, @@ -743,12 +521,8 @@ "station": "place-grnst", "order": 19, "stops": { - "0": [ - "70003" - ], - "1": [ - "70002" - ] + "0": ["70003"], + "1": ["70002"] }, "accessible": true, "enclosed_bike_parking": true @@ -759,12 +533,8 @@ "station": "place-forhl", "order": 20, "stops": { - "0": [ - "70001" - ], - "1": [ - "70001" - ] + "0": ["70001"], + "1": ["70001"] }, "accessible": true, "enclosed_bike_parking": true, @@ -786,12 +556,8 @@ "station": "place-wondl", "order": 1, "stops": { - "0": [ - "70060" - ], - "1": [ - "70059" - ] + "0": ["70060"], + "1": ["70059"] }, "accessible": true, "enclosed_bike_parking": true, @@ -805,12 +571,8 @@ "station": "place-rbmnl", "order": 2, "stops": { - "0": [ - "70058" - ], - "1": [ - "70057" - ] + "0": ["70058"], + "1": ["70057"] }, "accessible": true }, @@ -820,12 +582,8 @@ "station": "place-bmmnl", "order": 3, "stops": { - "0": [ - "70056" - ], - "1": [ - "70055" - ] + "0": ["70056"], + "1": ["70055"] }, "accessible": true }, @@ -836,12 +594,8 @@ "station": "place-sdmnl", "order": 4, "stops": { - "0": [ - "70054" - ], - "1": [ - "70053" - ] + "0": ["70054"], + "1": ["70053"] }, "accessible": true }, @@ -852,12 +606,8 @@ "station": "place-orhte", "order": 5, "stops": { - "0": [ - "70052" - ], - "1": [ - "70051" - ] + "0": ["70052"], + "1": ["70051"] }, "accessible": true, "enclosed_bike_parking": true @@ -868,12 +618,8 @@ "station": "place-wimnl", "order": 6, "stops": { - "0": [ - "70050" - ], - "1": [ - "70049" - ] + "0": ["70050"], + "1": ["70049"] }, "accessible": true, "enclosed_bike_parking": true @@ -884,12 +630,8 @@ "station": "place-aport", "order": 7, "stops": { - "0": [ - "70048" - ], - "1": [ - "70047" - ] + "0": ["70048"], + "1": ["70047"] }, "accessible": true }, @@ -899,12 +641,8 @@ "station": "place-mvbcl", "order": 8, "stops": { - "0": [ - "70046" - ], - "1": [ - "70045" - ] + "0": ["70046"], + "1": ["70045"] }, "accessible": true, "enclosed_bike_parking": true @@ -915,12 +653,8 @@ "station": "place-aqucl", "order": 9, "stops": { - "0": [ - "70044" - ], - "1": [ - "70043" - ] + "0": ["70044"], + "1": ["70043"] }, "accessible": true }, @@ -931,12 +665,8 @@ "station": "place-state", "order": 10, "stops": { - "0": [ - "70042" - ], - "1": [ - "70041" - ] + "0": ["70042"], + "1": ["70041"] }, "accessible": true }, @@ -947,12 +677,8 @@ "station": "place-gover", "order": 11, "stops": { - "0": [ - "70040" - ], - "1": [ - "70039" - ] + "0": ["70040"], + "1": ["70039"] }, "accessible": true }, @@ -962,12 +688,8 @@ "station": "place-bomnl", "order": 12, "stops": { - "0": [ - "70038" - ], - "1": [ - "70838" - ] + "0": ["70038"], + "1": ["70838"] }, "accessible": false, "terminus": true @@ -983,19 +705,13 @@ "stations": [ { "stop_name": "Medford/Tufts", - "branches": [ - "E" - ], + "branches": ["E"], "station": "place-mdftf", "disabled": false, "order": 1, "stops": { - "0": [ - "70511" - ], - "1": [ - "70512" - ] + "0": ["70511"], + "1": ["70512"] }, "accessible": true, "enclosed_bike_parking": true, @@ -1003,94 +719,64 @@ }, { "stop_name": "Ball Square", - "branches": [ - "E" - ], + "branches": ["E"], "station": "place-balsq", "disabled": false, "order": 2, "stops": { - "0": [ - "70509" - ], - "1": [ - "70510" - ] + "0": ["70509"], + "1": ["70510"] }, "accessible": true, "enclosed_bike_parking": true }, { "stop_name": "Magoun Square", - "branches": [ - "E" - ], + "branches": ["E"], "station": "place-mgngl", "disabled": false, "order": 3, "stops": { - "0": [ - "70507" - ], - "1": [ - "70508" - ] + "0": ["70507"], + "1": ["70508"] }, "accessible": true, "enclosed_bike_parking": true }, { "stop_name": "Gilman Square", - "branches": [ - "E" - ], + "branches": ["E"], "station": "place-gilmn", "disabled": false, "order": 4, "stops": { - "0": [ - "70505" - ], - "1": [ - "70506" - ] + "0": ["70505"], + "1": ["70506"] }, "accessible": true }, { "stop_name": "East Somerville", - "branches": [ - "E" - ], + "branches": ["E"], "station": "place-esomr", "disabled": false, "order": 5, "stops": { - "0": [ - "70513" - ], - "1": [ - "70514" - ] + "0": ["70513"], + "1": ["70514"] }, "accessible": true, "enclosed_bike_parking": true }, { "stop_name": "Union Square", - "branches": [ - "D" - ], + "branches": ["D"], "station": "place-unsqu", "disabled": false, "order": 6, "stops": { - "0": [ - "70503" - ], - "1": [ - "70504" - ] + "0": ["70503"], + "1": ["70504"] }, "accessible": true, "enclosed_bike_parking": true, @@ -1098,948 +784,594 @@ }, { "stop_name": "Lechmere", - "branches": [ - "D", - "E" - ], + "branches": ["D", "E"], "station": "place-lech", "order": 7, "stops": { - "0": [ - "70501", - "70209" - ], - "1": [ - "70502", - "70210" - ] + "0": ["70501", "70209"], + "1": ["70502", "70210"] }, "accessible": true, "enclosed_bike_parking": true }, { "stop_name": "Science Park", - "branches": [ - "D", - "E" - ], + "branches": ["D", "E"], "station": "place-spmnl", "order": 8, "stops": { - "0": [ - "70207" - ], - "1": [ - "70208" - ] + "0": ["70207"], + "1": ["70208"] }, "accessible": true }, { "stop_name": "North Station", - "branches": [ - "C", - "D", - "E" - ], + "branches": ["C", "D", "E"], "station": "place-north", "order": 9, "stops": { - "0": [ - "70205" - ], - "1": [ - "70206" - ] + "0": ["70205"], + "1": ["70206"] }, "accessible": true }, { "stop_name": "Haymarket", - "branches": [ - "C", - "D", - "E" - ], + "branches": ["C", "D", "E"], "station": "place-haecl", "order": 10, "stops": { - "0": [ - "70203" - ], - "1": [ - "70204" - ] + "0": ["70203"], + "1": ["70204"] }, "accessible": true }, { "stop_name": "Government Center", - "branches": [ - "B", - "C", - "D", - "E" - ], + "branches": ["B", "C", "D", "E"], "station": "place-gover", "order": 11, "stops": { - "0": [ - "70201" - ], - "1": [ - "70202" - ] + "0": ["70201"], + "1": ["70202"] }, "accessible": true }, { "stop_name": "Park Street", - "branches": [ - "B", - "C", - "D", - "E" - ], + "branches": ["B", "C", "D", "E"], "station": "place-pktrm", "order": 12, "stops": { - "0": [ - "70200" - ], - "1": [ - "70196", - "70197", - "70198", - "70199" - ] + "0": ["70200"], + "1": ["70196", "70197", "70198", "70199"] }, "accessible": true }, { "stop_name": "Boylston", - "branches": [ - "B", - "C", - "D", - "E" - ], + "branches": ["B", "C", "D", "E"], "station": "place-boyls", "order": 13, "stops": { - "0": [ - "70158" - ], - "1": [ - "70159" - ] + "0": ["70158"], + "1": ["70159"] }, "accessible": false }, { "stop_name": "Arlington", - "branches": [ - "B", - "C", - "D", - "E" - ], + "branches": ["B", "C", "D", "E"], "station": "place-armnl", "order": 14, "stops": { - "0": [ - "70156" - ], - "1": [ - "70157" - ] + "0": ["70156"], + "1": ["70157"] }, "accessible": true }, { "stop_name": "Copley", - "branches": [ - "B", - "C", - "D", - "E" - ], + "branches": ["B", "C", "D", "E"], "station": "place-coecl", "order": 15, "stops": { - "0": [ - "70154" - ], - "1": [ - "70155" - ] + "0": ["70154"], + "1": ["70155"] }, "accessible": true }, { "stop_name": "Hynes", - "branches": [ - "B", - "C", - "D" - ], + "branches": ["B", "C", "D"], "station": "place-hymnl", "order": 16, "stops": { - "0": [ - "70152" - ], - "1": [ - "70153" - ] + "0": ["70152"], + "1": ["70153"] }, "accessible": false }, { "stop_name": "Kenmore", - "branches": [ - "B", - "C", - "D" - ], + "branches": ["B", "C", "D"], "station": "place-kencl", "order": 17, "stops": { - "0": [ - "70150", - "71150" - ], - "1": [ - "70151", - "71151" - ] + "0": ["70150", "71150"], + "1": ["70151", "71151"] }, "accessible": true }, { "stop_name": "Blandford Street", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-bland", "order": 101, "stops": { - "0": [ - "70148" - ], - "1": [ - "70149" - ] + "0": ["70148"], + "1": ["70149"] }, "accessible": false }, { "stop_name": "Boston University East", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-buest", "order": 102, "stops": { - "0": [ - "70146" - ], - "1": [ - "70147" - ] + "0": ["70146"], + "1": ["70147"] }, "accessible": true }, { "stop_name": "Boston University Central", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-bucen", "order": 103, "stops": { - "0": [ - "70144" - ], - "1": [ - "70145" - ] + "0": ["70144"], + "1": ["70145"] }, "accessible": true }, { "stop_name": "Amory Street", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-amory", "order": 105, "stops": { - "0": [ - "170140", - "70140" - ], - "1": [ - "170141", - "70141" - ] + "0": ["170140", "70140"], + "1": ["170141", "70141"] }, "accessible": true }, { "stop_name": "Babcock Street", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-babck", "order": 107, "stops": { - "0": [ - "170136", - "70136" - ], - "1": [ - "170137", - "70137" - ] + "0": ["170136", "70136"], + "1": ["170137", "70137"] }, "accessible": true }, { "stop_name": "Packards Corner", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-brico", "order": 108, "stops": { - "0": [ - "70134" - ], - "1": [ - "70135" - ] + "0": ["70134"], + "1": ["70135"] }, "accessible": false }, { "stop_name": "Harvard Avenue", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-harvd", "order": 109, "stops": { - "0": [ - "70130" - ], - "1": [ - "70131" - ] + "0": ["70130"], + "1": ["70131"] }, "accessible": true }, { "stop_name": "Griggs Street", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-grigg", "order": 110, "stops": { - "0": [ - "70128" - ], - "1": [ - "70129" - ] + "0": ["70128"], + "1": ["70129"] }, "accessible": false }, { "stop_name": "Allston Street", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-alsgr", "order": 111, "stops": { - "0": [ - "70126" - ], - "1": [ - "70127" - ] + "0": ["70126"], + "1": ["70127"] }, "accessible": false }, { "stop_name": "Warren Street", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-wrnst", "order": 112, "stops": { - "0": [ - "70124" - ], - "1": [ - "70125" - ] + "0": ["70124"], + "1": ["70125"] }, "accessible": false, "enclosed_bike_parking": true }, { "stop_name": "Washington Street", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-wascm", "order": 113, "stops": { - "0": [ - "70120" - ], - "1": [ - "70121" - ] + "0": ["70120"], + "1": ["70121"] }, "accessible": true }, { "stop_name": "Sutherland Road", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-sthld", "order": 114, "stops": { - "0": [ - "70116" - ], - "1": [ - "70117" - ] + "0": ["70116"], + "1": ["70117"] }, "accessible": false }, { "stop_name": "Chiswick Road", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-chswk", "order": 115, "stops": { - "0": [ - "70114" - ], - "1": [ - "70115" - ] + "0": ["70114"], + "1": ["70115"] }, "accessible": false }, { "stop_name": "Chestnut Hill Avenue", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-chill", "order": 116, "stops": { - "0": [ - "70112" - ], - "1": [ - "70113" - ] + "0": ["70112"], + "1": ["70113"] }, "accessible": false }, { "stop_name": "South Street", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-sougr", "order": 117, "stops": { - "0": [ - "70110" - ], - "1": [ - "70111" - ] + "0": ["70110"], + "1": ["70111"] }, "accessible": false }, { "stop_name": "Boston College", - "branches": [ - "B" - ], + "branches": ["B"], "station": "place-lake", "order": 118, "stops": { - "0": [ - "70106" - ], - "1": [ - "70107" - ] + "0": ["70106"], + "1": ["70107"] }, "accessible": true, "terminus": true }, { "stop_name": "Saint Marys Street", - "branches": [ - "C" - ], + "branches": ["C"], "station": "place-smary", "order": 201, "stops": { - "0": [ - "70212" - ], - "1": [ - "70211" - ] + "0": ["70212"], + "1": ["70211"] }, "accessible": true }, { "stop_name": "Hawes Street", - "branches": [ - "C" - ], + "branches": ["C"], "station": "place-hwsst", "order": 202, "stops": { - "0": [ - "70214" - ], - "1": [ - "70213" - ] + "0": ["70214"], + "1": ["70213"] }, "accessible": false }, { "stop_name": "Kent Street", - "branches": [ - "C" - ], + "branches": ["C"], "station": "place-kntst", "order": 203, "stops": { - "0": [ - "70216" - ], - "1": [ - "70215" - ] + "0": ["70216"], + "1": ["70215"] }, "accessible": false }, { "stop_name": "Saint Paul Street (C)", - "branches": [ - "C" - ], + "branches": ["C"], "station": "place-stpul", "order": 204, "stops": { - "0": [ - "70218" - ], - "1": [ - "70217" - ] + "0": ["70218"], + "1": ["70217"] }, "accessible": false }, { "stop_name": "Coolidge Corner", - "branches": [ - "C" - ], + "branches": ["C"], "station": "place-cool", "order": 205, "stops": { - "0": [ - "70220" - ], - "1": [ - "70219" - ] + "0": ["70220"], + "1": ["70219"] }, "accessible": true }, { "stop_name": "Summit Avenue", - "branches": [ - "C" - ], + "branches": ["C"], "station": "place-sumav", "order": 206, "stops": { - "0": [ - "70224" - ], - "1": [ - "70223" - ] + "0": ["70224"], + "1": ["70223"] }, "accessible": false, "enclosed_bike_parking": true }, { "stop_name": "Brandon Hall", - "branches": [ - "C" - ], + "branches": ["C"], "station": "place-bndhl", "order": 207, "stops": { - "0": [ - "70226" - ], - "1": [ - "70225" - ] + "0": ["70226"], + "1": ["70225"] }, "accessible": false }, { "stop_name": "Fairbanks Street", - "branches": [ - "C" - ], + "branches": ["C"], "station": "place-fbkst", "order": 208, "stops": { - "0": [ - "70228" - ], - "1": [ - "70227" - ] + "0": ["70228"], + "1": ["70227"] }, "accessible": false }, { "stop_name": "Washington Square", - "branches": [ - "C" - ], + "branches": ["C"], "station": "place-bcnwa", "order": 209, "stops": { - "0": [ - "70230" - ], - "1": [ - "70229" - ] + "0": ["70230"], + "1": ["70229"] }, "accessible": true }, { "stop_name": "Tappan Street", - "branches": [ - "C" - ], + "branches": ["C"], "station": "place-tapst", "order": 210, "stops": { - "0": [ - "70232" - ], - "1": [ - "70231" - ] + "0": ["70232"], + "1": ["70231"] }, "accessible": false }, { "stop_name": "Dean Road", - "branches": [ - "C" - ], + "branches": ["C"], "station": "place-denrd", "order": 211, "stops": { - "0": [ - "70234" - ], - "1": [ - "70233" - ] + "0": ["70234"], + "1": ["70233"] }, "accessible": false }, { "stop_name": "Englewood Avenue", - "branches": [ - "C" - ], + "branches": ["C"], "station": "place-engav", "order": 212, "stops": { - "0": [ - "70236" - ], - "1": [ - "70235" - ] + "0": ["70236"], + "1": ["70235"] }, "accessible": false }, { "stop_name": "Cleveland Circle", - "branches": [ - "C" - ], + "branches": ["C"], "station": "place-clmnl", "order": 213, "stops": { - "0": [ - "70238" - ], - "1": [ - "70237" - ] + "0": ["70238"], + "1": ["70237"] }, "accessible": true, "terminus": true }, { "stop_name": "Fenway", - "branches": [ - "D" - ], + "branches": ["D"], "station": "place-fenwy", "order": 301, "stops": { - "0": [ - "70186" - ], - "1": [ - "70187" - ] + "0": ["70186"], + "1": ["70187"] }, "accessible": true }, { "stop_name": "Longwood", - "branches": [ - "D" - ], + "branches": ["D"], "station": "place-longw", "order": 302, "stops": { - "0": [ - "70182" - ], - "1": [ - "70183" - ] + "0": ["70182"], + "1": ["70183"] }, "accessible": true }, { "stop_name": "Brookline Village", - "branches": [ - "D" - ], + "branches": ["D"], "station": "place-bvmnl", "order": 303, "stops": { - "0": [ - "70180" - ], - "1": [ - "70181" - ] + "0": ["70180"], + "1": ["70181"] }, "accessible": true, "enclosed_bike_parking": true }, { "stop_name": "Brookline Hills", - "branches": [ - "D" - ], + "branches": ["D"], "station": "place-brkhl", "order": 304, "stops": { - "0": [ - "70178" - ], - "1": [ - "70179" - ] + "0": ["70178"], + "1": ["70179"] }, "accessible": true }, { "stop_name": "Beaconsfield", - "branches": [ - "D" - ], + "branches": ["D"], "station": "place-bcnfd", "order": 305, "stops": { - "0": [ - "70176" - ], - "1": [ - "70177" - ] + "0": ["70176"], + "1": ["70177"] }, "accessible": false }, { "stop_name": "Reservoir", - "branches": [ - "D" - ], + "branches": ["D"], "station": "place-rsmnl", "order": 306, "stops": { - "0": [ - "70174" - ], - "1": [ - "70175" - ] + "0": ["70174"], + "1": ["70175"] }, "accessible": true, "enclosed_bike_parking": true }, { "stop_name": "Chestnut Hill", - "branches": [ - "D" - ], + "branches": ["D"], "station": "place-chhil", "order": 307, "stops": { - "0": [ - "70172" - ], - "1": [ - "70173" - ] + "0": ["70172"], + "1": ["70173"] }, "accessible": false, "enclosed_bike_parking": true }, { "stop_name": "Newton Centre", - "branches": [ - "D" - ], + "branches": ["D"], "station": "place-newto", "order": 308, "stops": { - "0": [ - "70170" - ], - "1": [ - "70171" - ] + "0": ["70170"], + "1": ["70171"] }, "accessible": true }, { "stop_name": "Newton Highlands", - "branches": [ - "D" - ], + "branches": ["D"], "station": "place-newtn", "order": 309, "stops": { - "0": [ - "70168" - ], - "1": [ - "70169" - ] + "0": ["70168"], + "1": ["70169"] }, "accessible": true }, { "stop_name": "Eliot", - "branches": [ - "D" - ], + "branches": ["D"], "station": "place-eliot", "order": 310, "stops": { - "0": [ - "70166" - ], - "1": [ - "70167" - ] + "0": ["70166"], + "1": ["70167"] }, "accessible": false, "enclosed_bike_parking": true }, { "stop_name": "Waban", - "branches": [ - "D" - ], + "branches": ["D"], "station": "place-waban", "order": 311, "stops": { - "0": [ - "70164" - ], - "1": [ - "70165" - ] + "0": ["70164"], + "1": ["70165"] }, "accessible": false }, { "stop_name": "Woodland", - "branches": [ - "D" - ], + "branches": ["D"], "station": "place-woodl", "order": 312, "stops": { - "0": [ - "70162" - ], - "1": [ - "70163" - ] + "0": ["70162"], + "1": ["70163"] }, "accessible": true, "enclosed_bike_parking": true }, { "stop_name": "Riverside", - "branches": [ - "D" - ], + "branches": ["D"], "station": "place-river", "order": 313, "stops": { - "0": [ - "70160" - ], - "1": [ - "70161" - ] + "0": ["70160"], + "1": ["70161"] }, "accessible": true, "enclosed_bike_parking": true, @@ -2047,192 +1379,226 @@ }, { "stop_name": "Prudential", - "branches": [ - "E" - ], + "branches": ["E"], "station": "place-prmnl", "order": 401, "stops": { - "0": [ - "70240" - ], - "1": [ - "70239" - ] + "0": ["70240"], + "1": ["70239"] }, "accessible": true }, { "stop_name": "Symphony", - "branches": [ - "E" - ], + "branches": ["E"], "station": "place-symcl", "order": 402, "stops": { - "0": [ - "70242" - ], - "1": [ - "70241" - ] + "0": ["70242"], + "1": ["70241"] }, "accessible": false }, { "stop_name": "Northeastern University", - "branches": [ - "E" - ], + "branches": ["E"], "station": "place-nuniv", "order": 403, "stops": { - "0": [ - "70244" - ], - "1": [ - "70243" - ] + "0": ["70244"], + "1": ["70243"] }, "accessible": true }, { "stop_name": "Museum of Fine Arts", - "branches": [ - "E" - ], + "branches": ["E"], "station": "place-mfa", "order": 404, "stops": { - "0": [ - "70246" - ], - "1": [ - "70245" - ] + "0": ["70246"], + "1": ["70245"] }, "accessible": true }, { "stop_name": "Longwood Medical Area", - "branches": [ - "E" - ], + "branches": ["E"], "station": "place-lngmd", "order": 405, "stops": { - "0": [ - "70248" - ], - "1": [ - "70247" - ] + "0": ["70248"], + "1": ["70247"] }, "accessible": true }, { "stop_name": "Brigham Circle", - "branches": [ - "E" - ], + "branches": ["E"], "station": "place-brmnl", "order": 406, "stops": { - "0": [ - "70250" - ], - "1": [ - "70249" - ] + "0": ["70250"], + "1": ["70249"] }, "accessible": true }, { "stop_name": "Fenwood Road", - "branches": [ - "E" - ], + "branches": ["E"], "station": "place-fenwd", "order": 407, "stops": { - "0": [ - "70252" - ], - "1": [ - "70251" - ] + "0": ["70252"], + "1": ["70251"] }, "accessible": false }, { "stop_name": "Mission Park", - "branches": [ - "E" - ], + "branches": ["E"], "station": "place-mispk", "order": 408, "stops": { - "0": [ - "70254" - ], - "1": [ - "70253" - ] + "0": ["70254"], + "1": ["70253"] }, "accessible": false }, { "stop_name": "Riverway", - "branches": [ - "E" - ], + "branches": ["E"], "station": "place-rvrwy", "order": 409, "stops": { - "0": [ - "70256" - ], - "1": [ - "70255" - ] + "0": ["70256"], + "1": ["70255"] }, "accessible": false }, { "stop_name": "Back of the Hill", - "branches": [ - "E" - ], + "branches": ["E"], "station": "place-bckhl", "order": 410, "stops": { - "0": [ - "70258" - ], - "1": [ - "70257" - ] + "0": ["70258"], + "1": ["70257"] }, "accessible": false }, { "stop_name": "Heath Street", - "branches": [ - "E" - ], + "branches": ["E"], "station": "place-hsmnl", "order": 411, "stops": { - "0": [ - "70260" - ], - "1": [ - "70260" - ] + "0": ["70260"], + "1": ["70260"] }, "accessible": true, "terminus": true } ] + }, + "Mattapan": { + "type": "rapidtransit", + "direction": { + "0": "northbound", + "1": "southbound" + }, + "stations": [ + { + "stop_name": "Ashmont", + "branches": null, + "station": "place-asmnl", + "order": 101, + "stops": { + "0": ["70094", "70261"], + "1": ["70093", "70261"] + }, + "accessible": true, + "enclosed_bike_parking": true, + "pedal_park": true, + "terminus": true + }, + { + "stop_name": "Cedar Grove", + "branches": null, + "station": "place-cedgr", + "order": 102, + "stops": { + "0": ["70264"], + "1": ["70263"] + }, + "accessible": true + }, + { + "stop_name": "Butler", + "branches": null, + "station": "place-butlr", + "order": 103, + "stops": { + "0": ["70266"], + "1": ["70265"] + }, + "accessible": true + }, + { + "stop_name": "Milton", + "branches": null, + "station": "place-miltt", + "order": 104, + "stops": { + "0": ["70268"], + "1": ["70267"] + }, + "accessible": true + }, + { + "stop_name": "Central Avenue", + "branches": null, + "station": "place-cenav", + "order": 105, + "stops": { + "0": ["70270"], + "1": ["70269"] + }, + "accessible": true + }, + { + "stop_name": "Valley Road", + "branches": null, + "station": "place-valrd", + "order": 105, + "stops": { + "0": ["70272"], + "1": ["70271"] + }, + "accessible": true + }, + { + "stop_name": "Capen Street", + "branches": null, + "station": "place-capst", + "order": 105, + "stops": { + "0": ["70274"], + "1": ["70273"] + }, + "accessible": true + }, + { + "stop_name": "Mattapan", + "branches": null, + "station": "place-matt", + "order": 105, + "stops": { + "0": ["70276"], + "1": ["70275"] + }, + "accessible": true + } + ] } -} \ No newline at end of file +} diff --git a/common/styles/general.ts b/common/styles/general.ts index 3543b78da..1c3451eb9 100644 --- a/common/styles/general.ts +++ b/common/styles/general.ts @@ -5,6 +5,7 @@ export const lineColorBackground: DefaultStyleMap = { 'line-orange': `bg-mbta-orange`, 'line-green': `bg-mbta-green`, 'line-blue': `bg-mbta-blue`, + 'line-mattapan': `bg-mbta-red`, 'line-bus': `bg-mbta-bus`, 'line-commuter-rail': `bg-mbta-commuterRail`, DEFAULT: `bg-stone-800`, @@ -15,6 +16,7 @@ export const lineColorLightBorder = { 'line-orange': `border-mbta-lightOrange`, 'line-green': `border-mbta-lightGreen`, 'line-blue': `border-mbta-lightBlue`, + 'line-mattapan': `border-mbta-lightRed`, 'line-bus': `border-mbta-lightBus`, 'line-commuter-rail': `border-mbta-lightCommuterRail`, DEFAULT: `border-stone-900`, @@ -25,6 +27,7 @@ export const mbtaTextConfig: DefaultStyleMap = { 'line-orange': `text-mbta-orange`, 'line-green': `text-mbta-green`, 'line-blue': `text-mbta-blue`, + 'line-mattapan': `text-mbta-red`, 'line-bus': `text-mbta-bus`, 'line-commuter-rail': `text-mbta-commuterRail`, DEFAULT: `text-black`, @@ -35,6 +38,7 @@ export const lineColorLightBackground: DefaultStyleMap = { 'line-orange': `bg-mbta-lightOrange`, 'line-green': `bg-mbta-lightGreen`, 'line-blue': `bg-mbta-lightBlue`, + 'line-mattapan': `bg-mbta-lightRed`, 'line-bus': `bg-mbta-lightBus`, 'line-commuter-rail': `bg-mbta-lightCommuterRail`, DEFAULT: `bg-stone-900`, @@ -45,6 +49,7 @@ export const lineColorDarkBackground: DefaultStyleMap = { 'line-orange': `bg-mbta-darkOrange`, 'line-green': `bg-mbta-darkGreen`, 'line-blue': `bg-mbta-darkBlue`, + 'line-mattapan': `bg-mbta-darkRed`, 'line-bus': `bg-mbta-darkBus`, 'line-commuter-rail': `bg-mbta-darkCommuterRail`, DEFAULT: `bg-stone-900`, @@ -55,6 +60,7 @@ export const buttonHighlightFocus: DefaultStyleMap = { 'line-orange': `focus:ring-mbta-orange`, 'line-green': `focus:ring-mbta-green`, 'line-blue': `focus:ring-mbta-blue`, + 'line-mattapan': `focus:ring-mbta-red`, 'line-bus': `focus:ring-mbta-bus`, 'line-commuter-rail': `focus:ring-mbta-commuterRail`, DEFAULT: `focus:ring-stone-800`, @@ -65,6 +71,7 @@ export const lineColorTextHover: DefaultStyleMap = { 'line-orange': `hover:text-mbta-orange`, 'line-green': `hover:text-mbta-green`, 'line-blue': `hover:text-mbta-blue`, + 'line-mattapan': `hover:text-mbta-red`, 'line-bus': `hover:text-mbta-bus`, 'line-commuter-rail': `hover:text-mbta-commuterRail`, DEFAULT: `hover:text-stone-800`, @@ -75,6 +82,7 @@ export const lineColorDarkBorder: DefaultStyleMap = { 'line-orange': `border-mbta-darkOrange`, 'line-green': `border-mbta-darkGreen`, 'line-blue': `border-mbta-darkBlue`, + 'line-mattapan': `border-mbta-darkRed`, 'line-bus': `border-mbta-darkBus`, 'line-commuter-rail': `border-mbta-darkCommuterRail`, DEFAULT: `border-stone-900`, @@ -85,6 +93,7 @@ export const lineColorBorder: DefaultStyleMap = { 'line-orange': `border-mbta-orange`, 'line-green': `border-mbta-green`, 'line-blue': `border-mbta-blue`, + 'line-mattapan': `border-mbta-red`, 'line-bus': `border-mbta-bus`, 'line-commuter-rail': `border-mbta-commuterRail`, DEFAULT: `border-stone-800`, @@ -95,6 +104,7 @@ export const lineColorText: DefaultStyleMap = { 'line-orange': `text-mbta-orange`, 'line-green': `text-mbta-green`, 'line-blue': `text-mbta-blue`, + 'line-mattapan': `text-mbta-red`, 'line-bus': `text-mbta-bus`, 'line-commuter-rail': `text-mbta-commuterRail`, DEFAULT: `text-stone-800`, @@ -105,6 +115,7 @@ export const lineColorRing: DefaultStyleMap = { 'line-orange': `ring-mbta-orange`, 'line-green': `ring-mbta-green`, 'line-blue': `ring-mbta-blue`, + 'line-mattapan': `ring-mbta-red`, 'line-bus': `ring-mbta-bus`, 'line-commuter-rail': `ring-mbta-commuterRail`, DEFAULT: `ring-stone-800`, diff --git a/common/types/lines.ts b/common/types/lines.ts index 2ac419093..41f9045d5 100644 --- a/common/types/lines.ts +++ b/common/types/lines.ts @@ -3,10 +3,11 @@ export type Line = | 'line-orange' | 'line-green' | 'line-blue' + | 'line-mattapan' | 'line-bus' | 'line-commuter-rail'; -export type LineShort = 'Red' | 'Orange' | 'Green' | 'Blue' | 'Bus' | 'Commuter Rail'; -export type LinePath = 'red' | 'orange' | 'green' | 'blue' | 'bus' | 'commuter-rail'; +export type LineShort = 'Red' | 'Orange' | 'Green' | 'Blue' | 'Mattapan' | 'Bus' | 'Commuter Rail'; +export type LinePath = 'red' | 'orange' | 'green' | 'blue' | 'mattapan' | 'bus' | 'commuter-rail'; /** All currently available Bus Routes */ export type BusRoute = @@ -87,15 +88,22 @@ export const RIDERSHIP_KEYS = { 'line-orange': 'line-Orange', 'line-blue': 'line-Blue', 'line-green': 'line-Green', + 'line-mattapan': 'line-Mattapan', }; -export const GTFS_COLOR_LINE_IDS = ['line-Red', 'line-Orange', 'line-Blue', 'line-Green'] as const; +export const GTFS_COLOR_LINE_IDS = [ + 'line-Red', + 'line-Orange', + 'line-Blue', + 'line-Green', + 'line-Mattapan', +] as const; export type GtfsColorLineId = (typeof GTFS_COLOR_LINE_IDS)[number]; export const HEAVY_RAIL_LINES: Line[] = ['line-red', 'line-orange', 'line-blue']; export const LANDING_RAIL_LINES: Line[] = ['line-red', 'line-orange', 'line-blue', 'line-green']; -export const RAIL_LINES = ['red', 'orange', 'green', 'blue']; +export const RAIL_LINES = ['red', 'orange', 'green', 'blue', 'mattapan']; export const BUS_ROUTES: BusRoute[] = [ '1', '4', diff --git a/common/utils/router.tsx b/common/utils/router.tsx index 92c5286e8..85877064e 100644 --- a/common/utils/router.tsx +++ b/common/utils/router.tsx @@ -21,6 +21,7 @@ const linePathToKeyMap: Record = { orange: 'line-orange', green: 'line-green', blue: 'line-blue', + mattapan: 'line-mattapan', bus: 'line-bus', }; diff --git a/modules/slowzones/SlowZonesWidget.tsx b/modules/slowzones/SlowZonesWidget.tsx index 8fc2da855..b67dd5326 100644 --- a/modules/slowzones/SlowZonesWidget.tsx +++ b/modules/slowzones/SlowZonesWidget.tsx @@ -23,7 +23,7 @@ export const SlowZonesWidget: React.FC = () => { const totalSlowTimeReady = !delayTotals.isError && delayTotals.data && startDateUTC && endDateUTC && lineShort && line; - if (line === 'line-bus' || line === 'line-green') { + if (line === 'line-bus' || line === 'line-green' || line === 'line-mattapan') { return null; } return (