Skip to content

Commit 08666e1

Browse files
committed
Show correct icon on line page and line edit
1 parent ad6532c commit 08666e1

7 files changed

Lines changed: 80 additions & 10 deletions

File tree

ui/src/components/routes-and-lines/edit-line/EditLinePage.tsx

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import { PageHeader } from '../common/PageHeader';
2626
import { getBlockers, hasBlockers } from '../common/SaveBlockers';
2727
import { StopsNeedingUpdateModal } from '../common/StopsNeedingUpdateModal';
2828
import { useUpdateStopRegistryStopMetatype } from '../common/useUpdateStopRegistryStopMetatype';
29+
import { showIconForVehicleMode } from '../line-details/LineDetailsByIdPage';
2930
import { EditLineChanges, useEditLine } from './useEditLine';
3031

3132
function mapLineToFormState(line: LineAllFieldsFragment): FormState {
@@ -116,8 +117,9 @@ export const EditLinePage: FC = () => {
116117
}
117118
};
118119

119-
const pageTitleText = t(($) => $.lines.line, {
120+
const pageTitleText = t(($) => $.lines.edit, {
120121
label: line?.label,
122+
name: line?.name_i18n.fi_FI,
121123
});
122124

123125
const blockers = getBlockers(pendingEditChanges);
@@ -145,12 +147,15 @@ export const EditLinePage: FC = () => {
145147
) : null}
146148

147149
<PageHeader>
148-
<PageTitle.H1 titleText={pageTitleText}>
149-
<i className="icon-bus-alt text-tweaked-brand" />
150-
{pageTitleText}
151-
</PageTitle.H1>
150+
<div className="flex items-center">
151+
{showIconForVehicleMode(
152+
line?.primary_vehicle_mode ?? null,
153+
'text-5xl',
154+
)}
155+
<PageTitle.H1 titleText={pageTitleText}>{pageTitleText}</PageTitle.H1>
156+
</div>
152157
</PageHeader>
153-
<Container>
158+
<Container className="pt-0">
154159
{line && !saved && (
155160
<LineForm
156161
onSubmit={onSubmit}

ui/src/components/routes-and-lines/line-details/LineDetailsByIdPage.tsx

Lines changed: 56 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
import { DateTime } from 'luxon';
22
import { FC } from 'react';
33
import { useTranslation } from 'react-i18next';
4-
import { LineAllFieldsFragment } from '../../../generated/graphql';
4+
import { twJoin } from 'tailwind-merge';
5+
import {
6+
LineAllFieldsFragment,
7+
ReusableComponentsVehicleModeEnum,
8+
} from '../../../generated/graphql';
59
import { useAppDispatch, useAppSelector } from '../../../hooks';
610
import { Column, Container, Row, Visible } from '../../../layoutComponents';
711
import {
@@ -29,6 +33,53 @@ import { MapPreview } from './MapPreview';
2933
import { LineFetchError, useGetLineDetails } from './useGetLineDetails';
3034
import { useGetRoutesDisplayedInList } from './useGetRoutesDisplayedInList';
3135

36+
export function showIconForVehicleMode(
37+
vehicleMode: ReusableComponentsVehicleModeEnum | null,
38+
className?: string,
39+
) {
40+
switch (vehicleMode) {
41+
case ReusableComponentsVehicleModeEnum.Bus:
42+
return (
43+
<i className={twJoin('icon-bus-alt text-tweaked-brand', className)} />
44+
);
45+
case ReusableComponentsVehicleModeEnum.Tram:
46+
return (
47+
<i
48+
className={twJoin(
49+
'icon-tram-filled text-hsl-tram-dark-green',
50+
className,
51+
)}
52+
/>
53+
);
54+
case ReusableComponentsVehicleModeEnum.Metro:
55+
return (
56+
<i
57+
className={twJoin(
58+
'icon-metro-filled text-hsl-metro-orange',
59+
className,
60+
)}
61+
/>
62+
);
63+
case ReusableComponentsVehicleModeEnum.Ferry:
64+
return (
65+
<i
66+
className={twJoin('icon-ferry-filled text-hsl-ferry-blue', className)}
67+
/>
68+
);
69+
case ReusableComponentsVehicleModeEnum.Train:
70+
return (
71+
<i
72+
className={twJoin(
73+
'icon-train-filled text-hsl-train-purple',
74+
className,
75+
)}
76+
/>
77+
);
78+
default:
79+
return null;
80+
}
81+
}
82+
3283
export const LineDetailsByIdPage: FC = () => {
3384
const { t } = useTranslation();
3485

@@ -75,7 +126,10 @@ export const LineDetailsByIdPage: FC = () => {
75126
<div>
76127
<PageHeader className={getHeaderBorderClassName()}>
77128
<Row>
78-
<i className="icon-bus-alt mt-2 text-6xl text-tweaked-brand" />
129+
{showIconForVehicleMode(
130+
line?.primary_vehicle_mode ?? null,
131+
'text-6xl mt-2',
132+
)}
79133
{line && <LineTitle line={line} onCreateRoute={onCreateRoute} />}
80134
</Row>
81135
</PageHeader>

ui/src/generated/theme.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ export const theme = {
4545
hslDarkGreen: "#3B7F00",
4646
hslTramGreen: "#00985F",
4747
hslTramDarkGreen: "#008151",
48+
hslFerryBlue: "#007A97",
49+
hslMetroOrange: "#CA4000",
50+
hslTrainPurple: "#8C4799",
4851
hslRed: "#DC0451",
4952
hslNeutralBlue: "#E5F2FA",
5053
cityBicycleYellow: "#FCBC19",

ui/src/locales/en-US/common.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
},
6464
"lines": {
6565
"createNew": "Create new line",
66+
"edit": "Muokkaa linjaa {{label}} {{name}}",
6667
"saveSuccess": "Line saved",
6768
"properties": "Properties",
6869
"label": "Line label",
@@ -1622,7 +1623,7 @@
16221623
"showTimetables": "Show timetables for line {{label}}",
16231624
"expandNameVersions": "Show name versions",
16241625
"closeNameVersions": "Close the name version view",
1625-
"edit": "Edit line {{label}}",
1626+
"edit": "Edit line {{label}} {{name}}",
16261627
"versionHistory": "Version history",
16271628
"bus": "Bus line"
16281629
},

ui/src/locales/fi-FI/common.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
},
6464
"lines": {
6565
"createNew": "Luo uusi linja",
66+
"edit": "Muokkaa linjaa {{label}} {{name}}",
6667
"saveSuccess": "Linja tallennettu",
6768
"properties": "Oheistiedot",
6869
"label": "Linjan tunnus",
@@ -1622,7 +1623,7 @@
16221623
"showTimetables": "Näytä aikataulut linjalle {{label}}",
16231624
"expandNameVersions": "Näytä nimiversiot",
16241625
"closeNameVersions": "Sulje nimiversiot näkymä",
1625-
"edit": "Muokkaa linjaa {{label}}",
1626+
"edit": "Muokkaa linjaa {{label}} {{name}}",
16261627
"versionHistory": "Versiohistoria",
16271628
"bus": "Bussilinja"
16281629
},

ui/tailwind.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ module.exports = {
5959
'hsl-dark-green': colors.hslDarkGreen,
6060
'hsl-tram-green': colors.hslTramGreen,
6161
'hsl-tram-dark-green': colors.hslTramDarkGreen,
62+
'hsl-ferry-blue': colors.hslFerryBlue,
63+
'hsl-metro-orange': colors.hslMetroOrange,
64+
'hsl-train-purple': colors.hslTrainPurple,
6265
'hsl-red': colors.hslRed,
6366
'hsl-neutral-blue': colors.hslNeutralBlue,
6467
'city-bicycle-yellow': colors.cityBicycleYellow,

ui/theme.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ const theme = {
4545
hslDarkGreen: '#3B7F00',
4646
hslTramGreen: '#00985F',
4747
hslTramDarkGreen: '#008151',
48+
hslFerryBlue: '#007A97',
49+
hslMetroOrange: '#CA4000',
50+
hslTrainPurple: '#8C4799',
4851
hslRed: '#DC0451',
4952
hslNeutralBlue: '#E5F2FA',
5053
cityBicycleYellow: '#FCBC19',

0 commit comments

Comments
 (0)