Skip to content

Commit e14707b

Browse files
committed
StopBasicDetails: Allow editing Speed Tram status
1 parent 0426fa2 commit e14707b

6 files changed

Lines changed: 30 additions & 6 deletions

File tree

ui/src/components/stop-registry/stops/stop-details/basic-details/basic-details-form/StopTypesFormRow.tsx

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,15 @@ const testIds = {
99
railReplacement: 'StopBasicDetailsForm::railReplacement',
1010
virtual: 'StopBasicDetailsForm::virtual',
1111
trunkLineStop: 'StopBasicDetailsForm::trunkLineStop',
12+
speedTramStop: 'StopBasicDetailsForm::speedTramStop',
1213
};
1314

1415
export const StopTypesFormRow: FC = () => {
1516
const { watch } = useFormContext();
16-
const isBusTransportMode =
17-
watch('transportMode') === StopRegistryTransportModeType.Bus;
17+
18+
const transportMode = watch('transportMode');
19+
const isBusStop = transportMode === StopRegistryTransportModeType.Bus;
20+
const isTramStop = transportMode === StopRegistryTransportModeType.Tram;
1821

1922
return (
2023
<FormRow mdColumns={4}>
@@ -25,7 +28,7 @@ export const StopTypesFormRow: FC = () => {
2528
fieldPath="stopTypes.railReplacement"
2629
className="mr-3.5 h-6 w-6"
2730
testId={testIds.railReplacement}
28-
disabled={!isBusTransportMode}
31+
disabled={!isBusStop}
2932
/>
3033
{t(($) => $.stopPlaceTypes.railReplacement)}
3134
</label>
@@ -46,10 +49,21 @@ export const StopTypesFormRow: FC = () => {
4649
fieldPath="stopTypes.trunkLineStop"
4750
className="mr-3.5 h-6 w-6"
4851
testId={testIds.trunkLineStop}
49-
disabled={!isBusTransportMode}
52+
disabled={!isBusStop}
5053
/>
5154
{t(($) => $.stopPlaceTypes.trunkLineStop)}
5255
</label>
56+
<label htmlFor="speedTramStop" className="inline-flex font-normal">
57+
<InputElement<StopBasicDetailsFormState>
58+
type="checkbox"
59+
id="speedTramStop"
60+
fieldPath="stopTypes.speedTramStop"
61+
className="mr-3.5 h-6 w-6"
62+
testId={testIds.speedTramStop}
63+
disabled={!isTramStop}
64+
/>
65+
{t(($) => $.stopPlaceTypes.speedTramStop)}
66+
</label>
5367
</FormRow>
5468
);
5569
};

ui/src/components/stop-registry/stops/stop-details/basic-details/basic-details-form/schema.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export const schema = z
2222
virtual: z.boolean(),
2323
railReplacement: z.boolean(),
2424
trunkLineStop: z.boolean(),
25+
speedTramStop: z.boolean(),
2526
}),
2627
transportMode: z
2728
.nativeEnum(StopRegistryTransportModeType)

ui/src/components/stop-registry/stops/stop-details/basic-details/useEditStopBasicDetails.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,12 @@ export const useEditStopBasicDetails = () => {
239239
? [state.stopTypes.trunkLineStop.toString()]
240240
: [],
241241
},
242+
{
243+
key: KnownValueKey.SpeedTramStop,
244+
values: state.stopTypes.speedTramStop
245+
? [state.stopTypes.speedTramStop.toString()]
246+
: [],
247+
},
242248
{
243249
key: KnownValueKey.ElyNumber,
244250
values: state.elyNumber ? [state.elyNumber] : [],

ui/src/components/stop-registry/stops/stop-details/utils.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export const translateStopTypes = (
1818
quay.stopType.railReplacement && t(($) => $.stopPlaceTypes.railReplacement),
1919
quay.stopType.virtual && t(($) => $.stopPlaceTypes.virtual),
2020
quay.stopType.trunkLineStop && t(($) => $.stopPlaceTypes.trunkLineStop),
21+
quay.stopType.speedTramStop && t(($) => $.stopPlaceTypes.speedTramStop),
2122
])
2223
// Uncapitalize each translation.
2324
.map((stopType) => stopType.charAt(0).toLowerCase() + stopType.slice(1))

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,8 @@
258258
"stopPlaceTypes": {
259259
"railReplacement": "Rail replacement",
260260
"virtual": "Virtual",
261-
"trunkLineStop": "Trunk line stop"
261+
"trunkLineStop": "Trunk line stop",
262+
"speedTramStop": "Speed tram stop"
262263
},
263264
"stopDetails": {
264265
"stopDetails": "Stop details",

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,8 @@
258258
"stopPlaceTypes": {
259259
"railReplacement": "Raideliikennettä korvaava",
260260
"virtual": "Virtuaalipysäkki",
261-
"trunkLineStop": "Runkolinjapysäkki"
261+
"trunkLineStop": "Runkolinjapysäkki",
262+
"speedTramStop": "Pikaratikkapysäkki"
262263
},
263264
"stopDetails": {
264265
"stopDetails": "Pysäkkitiedot",

0 commit comments

Comments
 (0)