Skip to content

Commit 803f43a

Browse files
committed
frontend/devices: Add firmware version
1 parent 8fe600e commit 803f43a

File tree

10 files changed

+30
-2
lines changed

10 files changed

+30
-2
lines changed

frontend/src/components/device/DeviceCard.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,11 @@ export function DeviceCard({
8181
<Col className="text-end">{formatLastStateChange(t, device.last_state_change)}</Col>
8282
</Row>
8383
<hr style="margin-top: 5px;margin-bottom: 5px;"/>
84+
<Row>
85+
<Col xs="auto"><b>{t("firmware_version")}</b></Col>
86+
<Col className="text-end">{device.firmware_version}</Col>
87+
</Row>
88+
<hr style="margin-top: 5px;margin-bottom: 5px;"/>
8489
<Row>
8590
<Col xs="auto">
8691
<Row>

frontend/src/components/device/DeviceMobileView.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ export function DeviceMobileView({
4444
return i18n.t("chargers.note");
4545
case "last_state_change":
4646
return i18n.t("chargers.last_state_change");
47+
case "firmware_version":
48+
return i18n.t("chargers.firmware_version");
4749
default:
4850
return i18n.t("chargers.select_sorting");
4951
}
@@ -59,6 +61,7 @@ export function DeviceMobileView({
5961
<Dropdown.Item onClick={() => onMobileSort("status")}>{t("status")}</Dropdown.Item>
6062
<Dropdown.Item onClick={() => onMobileSort("last_state_change")}>{t("last_state_change")}</Dropdown.Item>
6163
<Dropdown.Item onClick={() => onMobileSort("note")}>{t("note")}</Dropdown.Item>
64+
<Dropdown.Item onClick={() => onMobileSort("firmware_version")}>{t("firmware_version")}</Dropdown.Item>
6265
</DropdownButton>
6366
<DropdownButton className="dropdown-btn" title={sortSequence === "asc" ? t("sorting_sequence_asc") : t("sorting_sequence_desc")}>
6467
<Dropdown.Item onClick={() => onSortSequenceChange("asc")}>{t("sorting_sequence_asc")}</Dropdown.Item>

frontend/src/components/device/DeviceTable.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,16 @@ export function DeviceTable({
9393
</Col>
9494
</Row>
9595
</th>
96+
<th onClick={() => onSort("firmware_version")} style={{width: "1px", whiteSpace: "nowrap", padding: "0.5rem 0.25rem"}}>
97+
<Row className="flex-nowrap g-0">
98+
<Col>
99+
{t("firmware_version")}
100+
</Col>
101+
<Col xs="auto">
102+
{getIcon("firmware_version")}
103+
</Col>
104+
</Row>
105+
</th>
96106
</tr>
97107
</thead>
98108
<tbody>

frontend/src/components/device/DeviceTableRow.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,9 @@ export function DeviceTableRow({
125125
</Row>
126126
</Container>
127127
</td>
128+
<td class="align-middle" style={{width: "1px", whiteSpace: "nowrap", padding: "0.5rem 0.25rem"}}>
129+
{device.firmware_version}
130+
</td>
128131
</tr>
129132
);
130133
}

frontend/src/components/device/types.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export interface Device {
77
port: number,
88
valid: boolean,
99
last_state_change?: number | null,
10+
firmware_version: string,
1011
}
1112

1213
export interface StateDevice {
@@ -18,9 +19,10 @@ export interface StateDevice {
1819
port: number,
1920
valid: boolean,
2021
last_state_change?: number | null,
22+
firmware_version: string,
2123
}
2224

23-
export type SortColumn = "name" | "uid" | "status" | "none" | "note" | "last_state_change";
25+
export type SortColumn = "name" | "uid" | "status" | "none" | "note" | "last_state_change" | "firmware_version";
2426

2527
export interface DeviceListState {
2628
devices: StateDevice[],

frontend/src/locales/de.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ export const de ={
6464
"sorting_sequence_asc": "Aufsteigend",
6565
"sorting_sequence_desc": "Absteigend",
6666
"note": "Notiz",
67+
"firmware_version": "Firmwareversion",
6768
"last_state_change": "Statusänderung",
6869
"time_just_now": "Gerade eben",
6970
"time_minutes_ago": "vor {{count}}m",

frontend/src/locales/en.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ export const en = {
6868
"sorting_sequence_asc": "Ascending",
6969
"sorting_sequence_desc": "Descending",
7070
"note": "Note",
71+
"firmware_version": "Firmware Version",
7172
"last_state_change": "State Change",
7273
"time_just_now": "Just now",
7374
"time_minutes_ago": "{{count}}m ago",

frontend/src/pages/devices.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export class DeviceList extends Component<{}, DeviceListState> {
3030
valid: true,
3131
note: "",
3232
last_state_change: null,
33+
firmware_version: "",
3334
};
3435
this.state = {
3536
devices: [],
@@ -112,6 +113,7 @@ export class DeviceList extends Component<{}, DeviceListState> {
112113
port: device.port,
113114
valid: device.valid,
114115
last_state_change: device.last_state_change,
116+
firmware_version: device.firmware_version,
115117
}
116118
stateDevices.push(state_charger);
117119
}

frontend/src/schema.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -547,6 +547,7 @@ export interface components {
547547
tokens: components["schemas"]["ResponseAuthorizationToken"][];
548548
};
549549
GetChargerSchema: {
550+
firmware_version: string;
550551
id: string;
551552
/** Format: int64 */
552553
last_state_change?: number | null;

frontend/src/styles/main.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ th:hover:has(div) {
7676
white-space: nowrap;
7777
}
7878

79-
.charger-head th:last-of-type {
79+
.charger-head th:nth-last-child(2) {
8080
@media (max-width: 1600px) {
8181
width: 50% !important;
8282
}

0 commit comments

Comments
 (0)