@@ -225,6 +252,14 @@ export default function WorkOrderInvoicesPdfPage() {
>
Preuzmi PDF putnog naloga
+
@@ -244,6 +279,14 @@ export default function WorkOrderInvoicesPdfPage() {
>
Uredi tablicu radnih sati
+
+
{loading && Učitavanje task konteksta...
}
@@ -331,6 +382,14 @@ export default function WorkOrderInvoicesPdfPage() {
>
Preuzmi račune putnog naloga
+
{!loading && !error && (
@@ -385,6 +444,17 @@ export default function WorkOrderInvoicesPdfPage() {
onClose={() => setEditingAdditionalCosts(false)}
onSave={handleSaveAdditionalCostsTable}
/>
+ {
+ setEditingServiceReportNote(false);
+ setServiceReportNoteError('');
+ }}
+ onSave={handleSaveServiceReportNote}
+ />
);
}
diff --git a/frontend/src/components/dashboard/WorkOrderServiceNotesModal.jsx b/frontend/src/components/dashboard/WorkOrderServiceNotesModal.jsx
new file mode 100644
index 0000000..420db2e
--- /dev/null
+++ b/frontend/src/components/dashboard/WorkOrderServiceNotesModal.jsx
@@ -0,0 +1,93 @@
+import { useEffect, useState } from 'preact/hooks';
+import ModalShell from '../ui/ModalShell';
+
+export default function WorkOrderServiceNotesModal({
+ open,
+ workOrder,
+ saving = false,
+ error = '',
+ onClose,
+ onSave,
+}) {
+ const [notes, setNotes] = useState('');
+
+ useEffect(() => {
+ if (!open) {
+ setNotes('');
+ return;
+ }
+ setNotes(String(workOrder?.notes || ''));
+ }, [open, workOrder?.id, workOrder?.notes]);
+
+ if (!open) return null;
+
+ const handleSave = async () => {
+ await onSave?.(notes);
+ };
+
+ return (
+