diff --git a/src/frontend/src/components/panels/NotesPanel.tsx b/src/frontend/src/components/panels/NotesPanel.tsx
index 07ce614ab1..a200a706d4 100644
--- a/src/frontend/src/components/panels/NotesPanel.tsx
+++ b/src/frontend/src/components/panels/NotesPanel.tsx
@@ -10,11 +10,13 @@ import type { PanelType } from './Panel';
export default function NotesPanel({
model_type,
model_id,
- editable
+ editable,
+ has_note
}: {
model_type: ModelType;
model_id: number | undefined;
editable?: boolean;
+ has_note?: boolean;
}): PanelType {
const user = useUserState.getState();
@@ -22,6 +24,7 @@ export default function NotesPanel({
name: 'notes',
label: t`Notes`,
icon: ,
+ notification_dot: has_note ? 'info' : null,
content:
model_type && model_id ? (
-
-
- {expanded && panel.label}
-
-
+
+
+
+ {expanded && panel.label}
+
+
+
)
diff --git a/src/frontend/src/pages/build/BuildDetail.tsx b/src/frontend/src/pages/build/BuildDetail.tsx
index d5016e2909..0400fff24b 100644
--- a/src/frontend/src/pages/build/BuildDetail.tsx
+++ b/src/frontend/src/pages/build/BuildDetail.tsx
@@ -530,7 +530,8 @@ export default function BuildDetail() {
}),
NotesPanel({
model_type: ModelType.build,
- model_id: build.pk
+ model_id: build.pk,
+ has_note: !!build.notes
})
];
}, [
diff --git a/src/frontend/src/pages/company/CompanyDetail.tsx b/src/frontend/src/pages/company/CompanyDetail.tsx
index 1c1383841d..ebc20200cf 100644
--- a/src/frontend/src/pages/company/CompanyDetail.tsx
+++ b/src/frontend/src/pages/company/CompanyDetail.tsx
@@ -276,7 +276,8 @@ export default function CompanyDetail(props: Readonly) {
}),
NotesPanel({
model_type: ModelType.company,
- model_id: company.pk
+ model_id: company.pk,
+ has_note: !!company.notes
})
];
}, [id, company, user]);
diff --git a/src/frontend/src/pages/company/ManufacturerPartDetail.tsx b/src/frontend/src/pages/company/ManufacturerPartDetail.tsx
index 1ad145e45a..d2e88fd277 100644
--- a/src/frontend/src/pages/company/ManufacturerPartDetail.tsx
+++ b/src/frontend/src/pages/company/ManufacturerPartDetail.tsx
@@ -198,7 +198,8 @@ export default function ManufacturerPartDetail() {
}),
NotesPanel({
model_type: ModelType.manufacturerpart,
- model_id: manufacturerPart?.pk
+ model_id: manufacturerPart?.pk,
+ has_note: !!manufacturerPart?.notes
})
];
}, [user, manufacturerPart]);
diff --git a/src/frontend/src/pages/company/SupplierPartDetail.tsx b/src/frontend/src/pages/company/SupplierPartDetail.tsx
index e640c3e8da..8431a530ac 100644
--- a/src/frontend/src/pages/company/SupplierPartDetail.tsx
+++ b/src/frontend/src/pages/company/SupplierPartDetail.tsx
@@ -295,7 +295,8 @@ export default function SupplierPartDetail() {
}),
NotesPanel({
model_type: ModelType.supplierpart,
- model_id: supplierPart?.pk
+ model_id: supplierPart?.pk,
+ has_note: !!supplierPart?.notes
})
];
}, [supplierPart]);
diff --git a/src/frontend/src/pages/part/PartDetail.tsx b/src/frontend/src/pages/part/PartDetail.tsx
index 67b942b46c..94b47236b0 100644
--- a/src/frontend/src/pages/part/PartDetail.tsx
+++ b/src/frontend/src/pages/part/PartDetail.tsx
@@ -971,7 +971,8 @@ export default function PartDetail() {
}),
NotesPanel({
model_type: ModelType.part,
- model_id: part?.pk
+ model_id: part?.pk,
+ has_note: !!part?.notes
})
];
}, [id, part, user, globalSettings, userSettings, detailsPanel]);
diff --git a/src/frontend/src/pages/purchasing/PurchaseOrderDetail.tsx b/src/frontend/src/pages/purchasing/PurchaseOrderDetail.tsx
index 0d0a2fc754..d14d298d8f 100644
--- a/src/frontend/src/pages/purchasing/PurchaseOrderDetail.tsx
+++ b/src/frontend/src/pages/purchasing/PurchaseOrderDetail.tsx
@@ -400,7 +400,8 @@ export default function PurchaseOrderDetail() {
}),
NotesPanel({
model_type: ModelType.purchaseorder,
- model_id: order.pk
+ model_id: order.pk,
+ has_note: !!order.notes
})
];
}, [order, id, user]);
diff --git a/src/frontend/src/pages/sales/ReturnOrderDetail.tsx b/src/frontend/src/pages/sales/ReturnOrderDetail.tsx
index 5bce7c6306..fd64e7689b 100644
--- a/src/frontend/src/pages/sales/ReturnOrderDetail.tsx
+++ b/src/frontend/src/pages/sales/ReturnOrderDetail.tsx
@@ -365,7 +365,8 @@ export default function ReturnOrderDetail() {
}),
NotesPanel({
model_type: ModelType.returnorder,
- model_id: order.pk
+ model_id: order.pk,
+ has_note: !!order.notes
})
];
}, [order, id, user]);
diff --git a/src/frontend/src/pages/sales/SalesOrderDetail.tsx b/src/frontend/src/pages/sales/SalesOrderDetail.tsx
index 15bc26cdda..acd7976457 100644
--- a/src/frontend/src/pages/sales/SalesOrderDetail.tsx
+++ b/src/frontend/src/pages/sales/SalesOrderDetail.tsx
@@ -438,7 +438,8 @@ export default function SalesOrderDetail() {
}),
NotesPanel({
model_type: ModelType.salesorder,
- model_id: order.pk
+ model_id: order.pk,
+ has_note: !!order.notes
})
];
}, [order, id, user, soStatus, user]);
diff --git a/src/frontend/src/pages/sales/SalesOrderShipmentDetail.tsx b/src/frontend/src/pages/sales/SalesOrderShipmentDetail.tsx
index 2a0954ea42..f69ee2b6ae 100644
--- a/src/frontend/src/pages/sales/SalesOrderShipmentDetail.tsx
+++ b/src/frontend/src/pages/sales/SalesOrderShipmentDetail.tsx
@@ -275,7 +275,8 @@ export default function SalesOrderShipmentDetail() {
}),
NotesPanel({
model_type: ModelType.salesordershipment,
- model_id: shipment.pk
+ model_id: shipment.pk,
+ has_note: !!shipment.notes
})
];
}, [isPending, shipment, detailsPanel]);
diff --git a/src/frontend/src/pages/stock/StockDetail.tsx b/src/frontend/src/pages/stock/StockDetail.tsx
index 44ad164e38..3205d00ca5 100644
--- a/src/frontend/src/pages/stock/StockDetail.tsx
+++ b/src/frontend/src/pages/stock/StockDetail.tsx
@@ -623,7 +623,8 @@ export default function StockDetail() {
}),
NotesPanel({
model_type: ModelType.stockitem,
- model_id: stockitem.pk
+ model_id: stockitem.pk,
+ has_note: !!stockitem.notes
})
];
}, [