- admin.py: thumbnail_preview u WorkOrderInvoiceInline i WorkOrderInvoiceAdmin
prikazuje slike/PDF veze putem optimiziranog image endpointa
- serializers.py: image_url sada uključuje ?w=1280&q=80&fmt=jpeg za ne-PDF slike
- views.py: doda _compress_image_for_pdf() helper, zamijeni ImageReader(photo.image)
s kompresiranom JPEG verzijom na oba mjesta u PDF generiranju
- tasks.py: kompresija invoice slike u JPEG u memoriji prije ImageReader poziva
- WorkOrderInvoicesPdfPage.jsx:
* InvoiceImagePreview prikazuje 'Učitavanje...' dok se blob dohvaća (ne 401 fallback)
* uklonjen resolveMediaUrl fallback koji uzrokuje 401 greške
* svaka invoice kartica je klikabilna i otvara InvoiceDetailModal
* InvoiceDetailModal prikazuje detalje i uvećanu sliku/PDF vezu
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>