-
Notifications
You must be signed in to change notification settings - Fork 46
/
Copy pathRollingStockInformationPanel.tsx
53 lines (50 loc) · 1.89 KB
/
RollingStockInformationPanel.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import cx from 'classnames';
import React, { useState } from 'react';
import { RollingStockComfortType, RollingStockWithLiveries } from 'common/api/osrdEditoastApi';
import RollingStockCardDetail, {
listCurvesComfort,
} from 'modules/rollingStock/components/RollingStockCard/RollingStockCardDetail';
import { RollingStockInfo } from 'modules/rollingStock/components/RollingStockSelector/RollingStockHelpers';
import RollingStockCurve from 'modules/rollingStock/components/RollingStockCurve';
import RollingStock2Img from 'modules/rollingStock/components/RollingStock2Img';
type RollingStockInformationPanelProps = {
id: number;
isEditing: boolean;
rollingStock: RollingStockWithLiveries;
};
export default function RollingStockInformationPanel({
id,
isEditing,
rollingStock,
}: RollingStockInformationPanelProps) {
const [curvesComfortList, setCurvesComfortList] = useState<RollingStockComfortType[]>([]);
return (
<div className={cx('rollingstock-editor-form', { borders: !isEditing })}>
<div>
<div className="rollingstock-card-header">
<div className="rollingstock-title">
<RollingStockInfo rollingStock={rollingStock} />
</div>
</div>
<RollingStockCardDetail
id={id}
hideCurves
form="rollingstock-editor-form-text"
curvesComfortList={curvesComfortList}
setCurvesComfortList={setCurvesComfortList}
/>
<div className="rollingstock-card-body border-0">
<RollingStockCurve
curvesComfortList={listCurvesComfort(rollingStock.effort_curves)}
data={rollingStock.effort_curves.modes}
/>
<div className="rollingstock-detail-container-img">
<div className="rollingstock-detail-img">
<RollingStock2Img rollingStock={rollingStock} />
</div>
</div>
</div>
</div>
</div>
);
}