fix: premjesti kalendar widget u Layout, popravi PDF toast i Servisi danas
- TaskCalendarPortal u Layout.astro (van AnimatedPage transforma) pa fixed pozicija uvijek prati viewport rub bez probijanja sadržaja - Kalendar widgeta panel koristi clipping wrapper (overflow:hidden + animirana width) umjesto translate3d — potpuno skriva sjenu i border kad je zatvoren - Serviser vidi samo svoje taskove, supervisor vidi sve; neprijavljeni korisnik ne vidi widget (return null) - FleetDashboardShell sluša calendar:open-task event i otvara TaskServiceRecordsModal - Servisi danas broji Taskove (scheduled_date=danas, status aktivan/servis) umjesto Servisnih zapisa - downloadGeneratedPdfByUrl hvata grešku i prikazuje Toast (npr. PDF nije dostupan ili je istekao) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -6,7 +6,6 @@ import WorkOrderModal from './WorkOrderModal';
|
||||
import TaskCreateModal from './TaskCreateModal';
|
||||
import TaskServiceRecordsModal from './TaskServiceRecordsModal';
|
||||
import WorkOrderDetailModal from './WorkOrderDetailModal';
|
||||
import TaskCalendarWidget from './TaskCalendarWidget';
|
||||
import SyncLogPanel from './SyncLogPanel';
|
||||
import ServiceRecordForm from '../fleet/ServiceRecordForm';
|
||||
import ServicePhotoUpload from '../fleet/ServicePhotoUpload';
|
||||
@@ -145,6 +144,15 @@ export default function FleetDashboardShell({ initialSection = 'dashboard', page
|
||||
hydrateServiceContext();
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
function onCalendarOpenTask(event) {
|
||||
const task = event?.detail?.task;
|
||||
if (task) setSelectedTask(task);
|
||||
}
|
||||
window.addEventListener('calendar:open-task', onCalendarOpenTask);
|
||||
return () => window.removeEventListener('calendar:open-task', onCalendarOpenTask);
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
const nextSection = String(resolvedInitialSection || 'dashboard');
|
||||
setActiveSection(nextSection);
|
||||
@@ -593,12 +601,6 @@ export default function FleetDashboardShell({ initialSection = 'dashboard', page
|
||||
|
||||
return (
|
||||
<AnimatedPage className="min-h-screen">
|
||||
{hasMounted && (
|
||||
<TaskCalendarWidget
|
||||
tasks={tasks}
|
||||
onTaskClick={(task) => setSelectedTask(task)}
|
||||
/>
|
||||
)}
|
||||
<main className="min-w-0">
|
||||
<DashboardTopbar
|
||||
activeSection={activeSection}
|
||||
|
||||
Reference in New Issue
Block a user