Skip to content

Commit 6dd59a6

Browse files
committed
collapsable orders
1 parent ebd7fbd commit 6dd59a6

2 files changed

Lines changed: 29 additions & 17 deletions

File tree

ethernet-view/src/components/OrdersContainer/Orders/BoardOrders/BoardOrders.module.scss

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,12 @@
66
}
77

88
.name {
9+
display: flex;
10+
gap: .6rem;
911
font-family: Inter;
1012
font-weight: 600;
1113
color: hsl(29, 88%, 70%);
14+
cursor: pointer;
1215
}
1316

1417
.orders,

ethernet-view/src/components/OrdersContainer/Orders/BoardOrders/BoardOrders.tsx

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { BoardOrders } from "common";
22
import styles from "./BoardOrders.module.scss";
33
import { OrderForm } from "./OrderForm/OrderForm";
4+
import { useState } from "react";
5+
import { Caret } from "components/Caret/Caret";
46

57
type Props = {
68
boardOrders: BoardOrders;
@@ -11,25 +13,32 @@ export const BoardOrdersView = ({
1113
boardOrders,
1214
alwaysShowStateOrders,
1315
}: Props) => {
16+
17+
const [isOpen, setIsOpen] = useState(true);
18+
1419
return (
1520
<div className={styles.boardOrders}>
16-
<div className={styles.name}>{boardOrders.name}</div>
17-
{boardOrders.orders.length > 0 && (
18-
<div className={styles.orders}>
19-
<span className={styles.title}>Permanent orders</span>
20-
{boardOrders.orders.map((desc) => {
21-
return (
22-
<OrderForm
23-
key={desc.id}
24-
description={desc}
25-
/>
26-
);
27-
})}
28-
</div>
29-
)}
30-
{boardOrders.stateOrders.length > 0 &&
31-
(alwaysShowStateOrders ||
32-
boardOrders.stateOrders.some((item) => item.enabled)) && (
21+
<div className={styles.name} onClick={() => setIsOpen((prev) => !prev)} >
22+
<Caret isOpen={isOpen} />
23+
{boardOrders.name}
24+
</div>
25+
26+
<div className={styles.orders} style={{
27+
display: isOpen ? "flex" : "none"
28+
}}>
29+
<span className={styles.title}>Permanent orders</span>
30+
{boardOrders.orders.map((desc) => {
31+
return (
32+
<OrderForm
33+
key={desc.id}
34+
description={desc}
35+
/>
36+
);
37+
})}
38+
</div>
39+
40+
{(boardOrders.stateOrders.length > 0 &&
41+
(alwaysShowStateOrders || boardOrders.stateOrders.some((item) => item.enabled))) && (
3342
<div className={styles.stateOrders}>
3443
<span className={styles.title}>State orders</span>
3544
{boardOrders.stateOrders.map((desc) => {

0 commit comments

Comments
 (0)