feat: update demo page + add city_id for media and articles

This commit is contained in:
2026-04-28 10:57:42 +03:00
parent 60c6840db4
commit 94f512e0e4
27 changed files with 499 additions and 222 deletions

View File

@@ -129,6 +129,8 @@ const transformToRows = (vehicles: Vehicle[]): RowData[] => {
export const DevicesTable = observer(() => {
const canWriteDevices = authStore.canWrite("devices");
const canMaintenanceDevices = authStore.hasRole("devices_maintenance_rw");
const isMaintenanceOnly = canMaintenanceDevices && !canWriteDevices;
const {
getDevices,
setSelectedDevice,
@@ -706,9 +708,24 @@ export const DevicesTable = observer(() => {
demoConfirmSubmitting,
routes,
canWriteDevices,
isMaintenanceOnly,
],
);
const visibleColumns = useMemo(() => {
if (isMaintenanceOnly) {
return columns.filter((c) =>
["model", "tail_number", "maintenance_mode_on"].includes(c.field),
);
}
if (!canWriteDevices) {
return columns.filter(
(c) => c.field !== "maintenance_mode_on" && c.field !== "demo_mode_enabled",
);
}
return columns;
}, [columns, isMaintenanceOnly, canWriteDevices]);
useEffect(() => {
const fetchData = async () => {
setIsLoading(true);
@@ -900,7 +917,7 @@ export const DevicesTable = observer(() => {
<Box sx={{ p: 0 }}>
<DataGrid
rows={groupRows}
columns={columns}
columns={visibleColumns}
checkboxSelection={canWriteDevices}
disableRowSelectionExcludeModel
disableRowSelectionOnClick