Skip to content

Commit 0eba688

Browse files
committed
front: redesign top left of the scenario page
1 parent 6ea7e56 commit 0eba688

File tree

7 files changed

+186
-106
lines changed

7 files changed

+186
-106
lines changed

front/public/locales/en/operationalStudies/scenario.json

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"filterPlaceholder": "Filter, tags",
1616
"advancedFiltersPlaceholder": "Filter by family, serie, detail",
1717
"infraLoadingState": "{{step}}/7",
18+
"infrastructure": "Infrastructure",
1819
"macroscopic": "Macroscopic",
1920
"microscopic": "Microscopic",
2021
"modifyScenario": "Modify scenario",

front/public/locales/fr/operationalStudies/scenario.json

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
},
1515
"filterPlaceholder": "Filtre, étiquettes",
1616
"infraLoadingState": "{{step}}/7",
17+
"infrastructure": "Infrastructure",
1718
"macroscopic": "Macroscopique",
1819
"microscopic": "Microscopique",
1920
"modifyScenario": "Modifier le scénario",

front/src/applications/operationalStudies/components/MicroMacroSwitch.tsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,18 @@ type MicroMacroSwitchProps = {
99
const MicroMacroSwitch = ({ isMacro, setIsMacro }: MicroMacroSwitchProps) => {
1010
const { t } = useTranslation('operationalStudies/scenario');
1111
return (
12-
<div className="tabs-container">
13-
<div className="tabs">
12+
<div className="micro-macro-container">
13+
<div className="micro-macro-buttons">
1414
<div
15-
className={cx('tab', { active: !isMacro })}
15+
className={cx('micro-button', { active: !isMacro })}
1616
role="button"
1717
tabIndex={0}
1818
onClick={() => setIsMacro(false)}
1919
>
2020
{t('microscopic')}
2121
</div>
2222
<div
23-
className={cx('tab', { active: isMacro })}
23+
className={cx('macro-button', { active: isMacro })}
2424
role="button"
2525
tabIndex={0}
2626
onClick={() => setIsMacro(true)}

front/src/applications/operationalStudies/views/Scenario.tsx

+28-39
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { useState, useEffect } from 'react';
22

3-
import { ChevronLeft, ChevronRight, Eye, EyeClosed, Pencil } from '@osrd-project/ui-icons';
3+
import { ChevronLeft, ChevronRight, Pencil } from '@osrd-project/ui-icons';
44
import cx from 'classnames';
55
import { useTranslation } from 'react-i18next';
66
import { GiElectric } from 'react-icons/gi';
@@ -138,17 +138,31 @@ const Scenario = () => {
138138
>
139139
<div className="scenario-sidemenu">
140140
{scenario && (
141-
<div className="scenario-details">
141+
<div>
142142
<div className="scenario-details-name">
143143
<span
144144
className="flex-grow-1 scenario-name text-truncate"
145145
title={scenario.name}
146146
>
147147
{scenario.name}
148148
</span>
149+
</div>
150+
151+
<div className="scenario-description-collapsed">
152+
<div className="scenario-details-description">{scenario.description}</div>
153+
<div>
154+
<button
155+
type="button"
156+
className="scenario-details-modify-button"
157+
aria-label={t('toggleTimetable')}
158+
onClick={() => setCollapsedTimetable(true)}
159+
>
160+
<ChevronLeft />
161+
</button>
162+
</div>
149163
<button
150164
data-testid="editScenario"
151-
className="scenario-details-modify-button"
165+
className="scenario-details-modify-button update-scenario"
152166
type="button"
153167
aria-label={t('editScenario')}
154168
onClick={() =>
@@ -162,43 +176,19 @@ const Scenario = () => {
162176
>
163177
<Pencil />
164178
</button>
165-
<button
166-
type="button"
167-
className="scenario-details-modify-button"
168-
onClick={() => setTrainsWithDetails(!trainsWithDetails)}
169-
title={t('displayTrainsWithDetails')}
170-
>
171-
{trainsWithDetails ? <EyeClosed /> : <Eye />}
172-
</button>
173-
<button
174-
type="button"
175-
className="scenario-details-modify-button"
176-
aria-label={t('toggleTimetable')}
177-
onClick={() => setCollapsedTimetable(true)}
178-
>
179-
<ChevronLeft />
180-
</button>
181179
</div>
182-
<div className="row">
183-
<div className="col-md-6">
184-
<div className="scenario-details-infra-name">
185-
<img src={infraLogo} alt="Infra logo" className="infra-logo mr-2" />
186-
{infra && <InfraLoadingState infra={infra} />}
187-
<span className="scenario-infra-name">{scenario.infra_name}</span>
188-
<small className="ml-auto text-muted">ID {scenario.infra_id}</small>
189-
</div>
190-
</div>
191-
<div className="col-md-6">
192-
<div className="scenario-details-electrical-profile-set">
193-
<span className="mr-2">
194-
<GiElectric />
195-
</span>
196-
{scenario.electrical_profile_set_id
197-
? scenario.electrical_profile_set_id
198-
: t('noElectricalProfileSet')}
199-
</div>
200-
</div>
180+
181+
<div className="scenario-details-electrical-profile-set">
182+
{scenario.electrical_profile_set_id
183+
? scenario.electrical_profile_set_id
184+
: t('noElectricalProfileSet')}
201185
</div>
186+
187+
<div className="scenario-details-infra-name">
188+
{t('infrastructure')} :&nbsp;{infra && <InfraLoadingState infra={infra} />}
189+
{scenario.infra_name} | ID {scenario.infra_id}
190+
</div>
191+
202192
{infra &&
203193
infra.state === 'TRANSIENT_ERROR' &&
204194
(reloadCount <= 5 ? (
@@ -215,7 +205,6 @@ const Scenario = () => {
215205
{t('errorMessages.hardErrorInfra')}
216206
</div>
217207
)}
218-
<div className="scenario-details-description">{scenario.description}</div>
219208
</div>
220209
)}
221210
<MicroMacroSwitch isMacro={isMacro} setIsMacro={toggleMicroMacroButton} />

front/src/modules/trainschedule/components/Timetable/Timetable.tsx

-8
Original file line numberDiff line numberDiff line change
@@ -107,27 +107,19 @@ const Timetable = ({
107107
<div className="scenario-timetable">
108108
<div className="scenario-timetable-addtrains-buttons">
109109
<button
110-
className="btn btn-secondary btn-sm"
111110
type="button"
112111
data-testid="scenarios-import-train-schedule-button"
113112
onClick={() => setDisplayTrainScheduleManagement(MANAGE_TRAIN_SCHEDULE_TYPES.import)}
114113
>
115-
<span className="mr-2">
116-
<Download />
117-
</span>
118114
{t('timetable.importTrainSchedule')}
119115
</button>
120116
<button
121-
className="btn btn-primary btn-sm"
122117
type="button"
123118
data-testid="scenarios-add-train-schedule-button"
124119
onClick={() => {
125120
setDisplayTrainScheduleManagement(MANAGE_TRAIN_SCHEDULE_TYPES.add);
126121
}}
127122
>
128-
<span className="mr-2">
129-
<Plus />
130-
</span>
131123
{t('timetable.addTrainSchedule')}
132124
</button>
133125
</div>

front/src/styles/scss/_variables.scss

+7
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,13 @@ $colors: (
3232
'coolgray5': #b9b9b9,
3333
'coolgray3': #d7d7d7,
3434
'coolgray1': #f2f2f2,
35+
'primary60': #1844ef,
36+
'grey20': #D3D1CF,
37+
'grey40': #94918E,
38+
'grey50': #797671,
39+
'grey60': #5C5955,
40+
'grey90': #1F1B17,
41+
'ambientB10': #F7F6EE,
3542
);
3643

3744
:root {

0 commit comments

Comments
 (0)