tipfeat_ui
cNNNNc1267
veze[
"c1264 (spec)",
"c1265 (F0)",
"c1266 (F1 EntityLink)"
]
idejaJedan core, dva sučelja, oblači se po ulozi — kao POS. Knjigovođa vidi sve komitente; korisnik vidi samo svoj entitet i hrani sustav.
sloj_1_backend{
"commit": "d4e41ba",
"endpoint": "GET /companies/scope",
"vraca": "is_accountant + own_count + komitent_count + entities[]",
"logika": "Knjigovođa = member accounting_firm ILI ima djecu-komitente (parent_id) → vidi sve. Korisnik = samo svoj entitet.",
"sheme": "EntityScopeOut / EntityScopeItem (ZAKON 26)",
"zamka_rijesena": "Registriran PRIJE /{company_id} — inače hvata 'scope' kao UUID (422). Test: /scope=401(auth) ne 422."
}
sloj_2_frontend{
"commit": "5aabcb3",
"fajl": "templates/archive/list.html",
"knjigovoda_skin": "Grupirani picker: optgroup 'Moje' + 'Komitenti (N)'",
"korisnik_skin": "Zaključan na svoj entitet, fnx-card header 'Tvoja arhiva: {ime}', bez pickera",
"dizajn": "fnx- sustav (NIJE izmišljen), light/dark naslijeđen iz base.html (CSS varijable)",
"sigurnost": "Fallback na /companies/ ako /scope zakaže — puna kompatibilnost. Template live bez restarta."
}
sigurnost_ukupno{
"servis": "HTTP 200 kroz cijeli F2",
"postojece_rute": "netaknute (archive/list 200, companies/ 401 normalno)",
"aditivno": "novi endpoint + skin logika s fallbackom — nula rušenja Marijinih stranica"
}
sljedeceF3 — QR most (knjigovođa generira token za komitenta → komitent skenira → izolirano korisničko sučelje). EntityLink se počinje puniti pravim bridovima.
statusDONE — dva sučelja živa, oba skina rade, dizajn dogovoreni, light/dark svaka forma