feat(work-order-dashboard): Phase 2 — Timeline + Chat + Bottom action bar
Right column now shows: - Timeline card: synthesised events from WO lifecycle fields (created, opened, approved, closed) + payments + activity_log entries (spatie/ activitylog). Sorted newest first, scrollable. - Chat client card: outbound notifications history (ClientNotificationLog) + inline send form. Prefers Telegram if client has telegram_chat_id, else falls back to SMS/WhatsApp. Logged either way for UI history. New bottom action bar (fixed, above footer): - Previous / Next WO links (adjacent by id) with number preview - Repeat order: pre-fills create form with same client/vehicle - Close order (danger button): sets status='done' + closed_at=now, with wire:confirm guard. Hidden when already closed. +14 translations. Fixed ready_at reference (not in schema, removed). All 306 tests pass. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -263,6 +263,7 @@
|
||||
"Auto": "Vehicle",
|
||||
"Auto / model": "Vehicle / model",
|
||||
"Auto CRM": "CRM vehicle",
|
||||
"Auto primit în service": "Vehicle received",
|
||||
"Auto-import Excel/CSV": "Auto-import Excel/CSV",
|
||||
"AutoCRM PSauto · psauto.service.mir.md": "AutoCRM PSauto · psauto.service.mir.md",
|
||||
"AutoCRM SRL": "AutoCRM SRL",
|
||||
@@ -383,6 +384,7 @@
|
||||
"Cereri": "Leads",
|
||||
"Cereri noi": "New leads",
|
||||
"Channel": "Channel",
|
||||
"Chat client": "Client chat",
|
||||
"Check-in depozit": "Check-in storage",
|
||||
"Checksum (ISO)": "Checksum (ISO)",
|
||||
"Cheia HMAC pentru semnarea cererilor + verificarea webhook-urilor de la Paynet.": "Cheia HMAC pentru semnarea cererilor + verificarea webhook-urilor de la Paynet.",
|
||||
@@ -455,6 +457,7 @@
|
||||
"Comandă emisă": "Order issued",
|
||||
"Comandă nouă #": "New order #",
|
||||
"Comandă primită": "Order received",
|
||||
"Comandă repetată": "Repeat order",
|
||||
"Combustibil": "Fuel",
|
||||
"Comentariu / recomandări maistru": "Master comment / recommendations",
|
||||
"Comenzi": "Orders",
|
||||
@@ -816,6 +819,7 @@
|
||||
"Extras": "Statement",
|
||||
"Eșapament": "Exhaust",
|
||||
"Ești sigur?": "Are you sure?",
|
||||
"Eșuat": "Failed",
|
||||
"FIȘĂ DE LUCRU": "WORK ORDER",
|
||||
"Facturi": "Invoices",
|
||||
"Facturi & abonament": "Facturi & abonament",
|
||||
@@ -855,9 +859,11 @@
|
||||
"Fișierul nu există.": "File does not exist.",
|
||||
"Fișă": "Order",
|
||||
"Fișă asociată": "Linked order",
|
||||
"Fișă creată": "Order created",
|
||||
"Fișă de lucru": "Work order",
|
||||
"Fișă lucru": "Work order",
|
||||
"Fișă lucru (opțional)": "Work order (opt.)",
|
||||
"Fișă închisă": "Order closed",
|
||||
"Folie PPF": "PPF film",
|
||||
"Folosește AI Assistant": "Use AI Assistant",
|
||||
"Folosește „Check-in depozit": "Use \"Check-in storage\"",
|
||||
@@ -892,6 +898,8 @@
|
||||
"Fără acest cod, plata va fi greu de identificat.": "Without this code, payment will be hard to identify.",
|
||||
"Fără articol (manual)": "No article (manual)",
|
||||
"Fără client": "No client",
|
||||
"Fără client — nu se poate trimite mesaj.": "No client — cannot send message.",
|
||||
"Fără evenimente": "No events",
|
||||
"Fără maistru": "No master",
|
||||
"Fără mașină": "No vehicle",
|
||||
"Fără răspuns": "No answer",
|
||||
@@ -1168,6 +1176,7 @@
|
||||
"Merchant Code": "Merchant Code",
|
||||
"Mesaj": "Message",
|
||||
"Mesaj client": "Client message",
|
||||
"Mesaj trimis": "Message sent",
|
||||
"Mesaje": "Messages",
|
||||
"Mesaje AI/lună": "AI messages/month",
|
||||
"Message": "Message",
|
||||
@@ -1496,6 +1505,7 @@
|
||||
"Plată": "Payment",
|
||||
"Plată & total": "Payment & total",
|
||||
"Plată anulată": "Plată anulată",
|
||||
"Plată primită": "Payment received",
|
||||
"Plată reușită": "Plată reușită",
|
||||
"Plată reușită!": "Plată reușită!",
|
||||
"Plângere client": "Client complaint",
|
||||
@@ -1987,6 +1997,7 @@
|
||||
"Testează bot Telegram": "Test Telegram bot",
|
||||
"Theme color": "Theme color",
|
||||
"Time": "Time",
|
||||
"Timeline": "Timeline",
|
||||
"Timeline & Chat — Phase 2": "Timeline & Chat — Phase 2",
|
||||
"Timp deschidere, ms": "Opening time, ms",
|
||||
"Timp lucrat": "Time worked",
|
||||
@@ -2083,6 +2094,7 @@
|
||||
"Trimite prin email": "Send by email",
|
||||
"Trimite reminder după X zile fără vizită": "Send reminder after X days without visit",
|
||||
"Trimite reset parolă": "Send password reset",
|
||||
"Trimitere eșuată — verifică integrarea": "Send failed — check integration",
|
||||
"Turbo": "Turbo",
|
||||
"Type": "Type",
|
||||
"UAH — Hryvnia": "UAH — Hryvnia",
|
||||
@@ -2517,6 +2529,8 @@
|
||||
"Începe lucrul": "Start work",
|
||||
"Închide": "Close",
|
||||
"Închide fișa": "Close order",
|
||||
"Închide fișa?": "Close the order?",
|
||||
"Închide fișă": "Close order",
|
||||
"Închidere KZ ÎNAINTE": "Closing KZ BEFORE",
|
||||
"Închidere ÎNAINTE": "Closing BEFORE",
|
||||
"Închis": "Closed",
|
||||
|
||||
Reference in New Issue
Block a user