Admin dokumentacija

Kompletne upute za admin aplikaciju: prijava, pregled fotografa, upravljanje nalozima, obračuni, izvještaji, realtime i postavke.

🛡

Admin pristup

Nije dovoljna samo Supabase prijava — korisnik mora biti upisan i u tablicu admins.

📡

Realtime

Promjene fotografa dolaze automatski. Ručni ↺ Osvježi dostupan je kao fallback.

💶

Obračun

Za obavljene i otkazane naloge: troškovi, verifikacija i porezni izračun po fotografu.

📊

Izvještaji

Pregled po mjesecima, Excel export, Print/PDF i Batch print za više fotografa odjednom.

🔑

1. Prijava i sigurnost

NaloziAdriatic je admin alat. Dvostruka provjera — Supabase Auth + admin tablica — sprečava da fotografi slučajno dobiju pristup.

Tijek prijave

1

Unesi e-mail i lozinku na login ekranu.

2

Supabase Auth provjerava vjerodajnice i vraća JWT token.

3

Aplikacija dodatno provjerava tablicu admins — ako korisnik nije tamo, pristup se odmah odbija.

Uspješna prijava

JWT token se sprema lokalno i učitava se pri svakom idućem otvaranju aplikacije.

🚫Pristup odbijen

Ako korisnik nije u admins tablici, aplikacija ostaje na login ekranu bez ikakve veze prema ostatku sučelja.

🚪Odjava

Ruši JWT iz localStoragea, gasi realtime kanal i vraća login ekran. Nalazi se u headeru.

🖥

2. Pregled i navigacija

Sučelje je podijeljeno na lijevi panel s fotografima i desni radni panel s tri taba.

👤Lijevi panel — fotografe

Popis svih fotografa s pretraživanjem. Badge na svakom imenu pokazuje broj aktivnih naloga.

📂Desni panel — tri taba

Nakon odabira fotografa desno se aktiviraju tabovi:

📋 Nalozi
💶 Obračun
📊 Izvještaji
🔍Filteri naloga

U tabu Nalozi: Na čekanju / Svi / Obavljeno / Otkazano.

🌙Tema

Toggle u headeru prebacuje između tamne i svijetle teme — postavka se pamti lokalno.

📋

3. Nalozi

Kreiranje i uređivanje zadataka za fotografe. Gumb "Novi nalog" aktivan je tek nakon odabira fotografa.

📝Admin polja

Šifra objekta, broj ugovora, vlasnik, telefon, adresa, GPS, broj smještajnih jedinica, link i napomena agencije.

🔄Merge logika

Admin i fotograf dijele isti zapis kroz merge — adminova poslovna polja i fotografova statusna/terenska polja ne pregaze jedna drugu.

🔀Premještanje naloga

Pri uređivanju nalog možeš prebaciti drugom fotografu bez ručnog kopiranja podataka.

👁Foto podaci

Admin vidi fotografova polja (datum kontaktiranja, obrada, isporuka) na kartici naloga — samo za čitanje.

💡 Kad fotograf promijeni status, datum ili komentar, admin to vidi u realnom vremenu kroz Realtime kanal — bez ručnog refresha.
💶

4. Obračun Ključno

Najjači dio aplikacije — financijski obračun za svaki završeni ili otkazani nalog s live kalkulacijom po fotografu.

🎯Kada se koristi

Dostupan samo za obavljene i otkazane naloge. Kartica naloga pokazuje je li obračun već unesen.

📝Polja obračuna

Datum kontaktiranja, datum isporuke, tko je dogovorio posao, broj kategorija, kilometri, dron, akvizicija, otkaz, ostali troškovi i verifikacija.

Slučaj otkaza

Kad je označen otkaz, kategorije i dron se automatski gase — obračun ide kroz putni trošak i propuštenu dobit.

💰Live kalkulacija

Modal odmah prikazuje bruto honorar, bruto isplatu, bruto + ZO i neto prema naknadama i poreznim postavkama tog fotografa.

💡 Svaki fotograf može imati drugačije porezne postavke (OIB, grad, status, paušal, MIO, ZO, porez). Provjeri da su unesene za sve fotografe u Postavkama.
📊

5. Izvještaji

Pregled obračunskih podataka po vremenu i fotografima s više opcija izvoza.

📅Pregled po mjesecima

Obračuni grupirani po mjesecu i fotografu, s jasno odvojenim bruto i neto iznosima.

📊Excel export

Generira worksheet po poslovima i sažetak po mjesecima u jednoj .xlsx datoteci.

🖨Print / PDF

Strukturirani obračunski ispis spreman za print ili pretvaranje u PDF iz preglednika.

📦Batch print

Otvara ispis za više fotografa zaredom — korisno pri većem obračunskom ciklusu krajem mjeseca.

📡

6. Realtime i osvježavanje

Aplikacija drži otvorenu WebSocket vezu prema Supabase realtime kanalu i prikazuje promjene fotografa čim se dogode.

LIVE

Veza aktivna, promjene dolaze automatski.

Spajanje…

WebSocket se uspostavlja, čekaj kratko.

Greška veze

Realtime pao — koristi ručni refresh.

Operacija u tijeku

Upis se šalje na server, čekaj potvrdu.

🔵Statusni dot

Mali indikator u headeru zasebno prati zadnju operaciju upisa: u tijeku / uspješno / greška.

Ručno osvježi

Gumb ↺ Osvježi u headeru povlači svježe podatke i služi kao fallback kad realtime kanal kasni ili nije aktivan.

⚙️

7. Postavke i backup

Hamburger gumb (☰) u headeru otvara settings drawer s tri grupe postavki.

💶Naknade — globalno

Po kategoriji, akvizicija, dron, kilometar, prag kilometara i propuštena dobit za otkaz. Vrijede za sve fotografe ako nemaju override.

🧾Porezne postavke — po fotografu

Za svakog fotografa posebno: OIB, grad, status, paušalni izdaci, MIO, ZO, porez i informativni prirez. Utječe na live kalkulaciju u obračunu.

💾Lokalni backup (JSON)

Backup sprema obračune, globalne naknade i porezne postavke svih fotografa. Nije cloud backup — to je lokalna sigurnosna kopija.

⬆️Uvezi backup

Uvoz JSON datoteke vraća sve porezne postavke i obračune iz prethodne kopije.

⚠️ Backup sprema lokalne obračune, ali ne i podatke iz Supabase baze. Za cloud backup koristi Supabase konzolu ili vlastiti export.
📱

8. PWA i service worker

Aplikacija ima manifest i može se instalirati kao web app, ali nema agresivno cachiranje kao FotoKalk PRO.

📲Instalacija

Chrome / Edge nude instalacijsku traku automatski. Na iOS-u: Safari → Dijeli → Dodaj na početni zaslon.

⚙️Service Worker (sw-nalozi.js)

Minimalan SW bez zasebne cache strategije za fetch — odmah aktivira novi worker i preuzima kontrolu nad klijentima. Nije zamišljeno za offline rad.

ℹ️ Admin aplikacija se ne koristi terenski pa offline rad nije prioritet. Za promjene PWA dijela uskladi sw-nalozi.js i manifest-nalozi.json.

9. Pregled ključnih funkcionalnosti

💶Obračun tab

Financijski obračun za svaki nalog s live kalkulacijom bruto honorara, bruto isplate, bruto + ZO i neta prema individualnim poreznim postavkama fotografa.

📊Izvještaji tab

Pregled obračuna po vremenu i fotografima s Excel exportom, Print/PDF ispisom i Batch printom za više fotografa zaredom.

⚙️Settings drawer

Globalne naknade i individualne porezne postavke po fotografu dostupne su u desnom draweru — sve na jednom mjestu, bez navigacije.

💾Lokalni backup

Brz JSON izvoz i import admin podataka — obračuni, globalne naknade i sve porezne postavke fotografa u jednoj datoteci.

🌙Tema

Toggle u headeru prebacuje između tamne i svijetle teme. Postavka se pamti lokalno između sesija.

🔄Merge logika

Admin i fotograf dijele isti zapis — adminova poslovna polja i fotografova terenska/statusna polja ne pregaze jedna drugu pri sinkronizaciji.

Ova dokumentacija pokriva sve aktivne funkcionalnosti aplikacije. Za tehničke detalje o pojedinim modulima pogledaj odgovarajući odjeljak u sadržaju.