tipplan
sto_trebaNadograditi /hr/komitenti/ u Command Center standard: ikone uvijek vidljive, bulk import (CSV/JSON/XLS/TXT), Synesis 87→7 grupiranje, grid/lista preklapanje, POS optimizacija. Bez sidebar-a.
url_referencahttps://limit-connect.com/hr/dashboard/
arhitektura{
"layout": "BEZ sidebara — gornji sticky toolbar: logo + tražilica (centar) + 3 gumba + hamburger",
"tri_gumba": [
"+ Novi",
"↑ Import (CSV/JSON/XLS/TXT)",
"⊕ Synesis moduli"
],
"hamburger": "Profil | Postavke | Prečice | Odjava",
"search": "Cmd+K shortcut, instant 200ms debounce, sticky na scrollu",
"prikaz": "Grid (desktop) / Lista (mobile/POS) — toggle gumb",
"server": "MAR (212.227.181.201), /var/www/fenix-v4/",
"postojeci_kod": {
"lista_template": "/var/www/
dio_1{
"naziv": "Backend — novi API endpointi",
"fajl": "/var/www/fenix-v4/komitenti/router.py (proširiti) + import.py (novi)",
"faze": [
{
"rb": 1,
"naziv": "POST /api/v4/komitenti/import/preview/",
"status": "TODO",
"opis": "Dry-run: prihvati multipart file (CSV/JSON/XLS/TXT), auto-detect format, parsiraj, vrati preview prvih 20 redaka + mapping prijedlog kolona → Company polja. Detektiraj duplikate po OIB-u. BEZ zapisa u bazu.",
"output": "{format, ukupno, p
dio_2{
"naziv": "Frontend — nova lista_v2.html + import modal + Synesis panel",
"fajl": "/var/www/fenix-v4/templates/komitenti/lista.html (zamjena ili v2)",
"zakon": [
"ZAKON_41_bez_CDN",
"ZAKON_29_CSP",
"ZAKON_40_genesis_auth"
],
"faze": [
{
"rb": 1,
"naziv": "Ikone na kartici — uvijek vidljive (bez hover)",
"status": "TODO",
"opis": "Zamijeniti hover-only .km-card-acts s .km-card-actions uvijek vidljivim redom na dnu kartice. 4 ikone + ⋮ dropdown. I
napomene_za_cc[
"Sav kod ide u fenix-v4 na MAR server (212.227.181.201, ssh genesis-mar)",
"Nakon izmjena: systemctl reload gunicorn-fenix-v4 na MAR",
"XLS import: provjeri je li openpyxl u /var/www/fenix-v4/.venv — ako nije, koristi CSV fallback i javi",
"GenesisKanal embed: <script src='/static/js/genesis-chat.js'></script> + GenesisChat.init({ref_id, context, lang})",
"Import endpointi: dodati u /var/www/fenix-v4/config/urls.py (provjeri da su registrirani)",
"ZAKON 32: svaki P1 fix ima vlastit
zakon[
"ZAKON_2",
"ZAKON_3",
"ZAKON_27",
"ZAKON_29",
"ZAKON_38",
"ZAKON_40",
"ZAKON_41"
]
statusPLAN_SPREMAN