// Support Agent — clickinPMS Customer Support: tiketi, klepet, baza znanja, SLA function SPDashboard({ dark, onNav }){ const muted = dark?'#9A9A9A':'#707070'; const tickets = [ {id:'#4821', sub:'Kiosk se ne odzove na dotik', org:'Hotel Triglav Bled', oi:'TB', priority:'urgent', status:'open', sla:'12 min', age:'18 min', agent:null, ch:'klepet'}, {id:'#4820', sub:'AJPES poročanje vrača napako', org:'Vila Bled Resort', oi:'VB', priority:'high', status:'in_progress', sla:'1h 24m', age:'36 min', agent:'M. Lavrič', ch:'mail'}, {id:'#4819', sub:'Booking.com sinhronizacija', org:'Hotel Cubo LJ', oi:'HC', priority:'high', status:'open', sla:'2h 10m', age:'52 min', agent:null, ch:'mail'}, {id:'#4818', sub:'Tiskalnik računov ne tiska', org:'Hostel Celica', oi:'HC', priority:'med', status:'in_progress', sla:'3h 40m', age:'1h 12m', agent:'P. Korošec', ch:'klepet'}, {id:'#4817', sub:'Kako dodati novo sobo?', org:'Hotel Astoria Bled', oi:'HA', priority:'low', status:'waiting', sla:'7h 50m', age:'2h 04m', agent:'M. Lavrič', ch:'klepet'}, {id:'#4816', sub:'Dvakratno zaračunavanje', org:'Penzion Pri Lojzetu', oi:'PL', priority:'urgent', status:'in_progress', sla:'42 min', age:'2h 30m', agent:'A. Hribar', ch:'telefon'}, {id:'#4815', sub:'Pogrešam račun za marec', org:'Hotel Cubo LJ', oi:'HC', priority:'low', status:'waiting', sla:'15h', age:'4h 10m', agent:'M. Lavrič', ch:'mail'}, {id:'#4814', sub:'Salto API timeout', org:'Hotel Triglav Bled', oi:'TB', priority:'med', status:'open', sla:'5h 20m', age:'5h 02m', agent:null, ch:'mail'}, ]; const prMap={urgent:['danger','Nujno'],high:['orange','Visoka'],med:['blue','Srednja'],low:['neutral','Nizka']}; const stMap={open:['orange','Odprt'],in_progress:['blue','V obdelavi'],waiting:['purple','Čaka stranko']}; const chMap={klepet:'cyan',mail:'blue',telefon:'success'}; return <> FiltriNov tiket}/>
Aktivni tiketi
{['Vsi','Moji','Brez nosilca','Nujni'].map((t,i)=> )}
{t.id}}, {key:'sub', label:'Zadeva', render:t=>
{t.sub}
{t.oi} {t.org} · {t.ch}
}, {key:'priority', label:'Prioriteta', render:t=>{prMap[t.priority][1]}}, {key:'sla', label:'SLA', render:t=>⏱ {t.sla}}, {key:'age', label:'Starost', render:t=>{t.age}}, {key:'agent', label:'Nosilec', render:t=>t.agent ? {t.agent} : Nedodeljeno}, {key:'status', label:'Status', render:t=>{stMap[t.status][1]}}, ]} rows={tickets}/>
Live klepeti
{[ {n:'Hotel Triglav Bled',m:'Sobe 213 ne morem dodeliti…',t:'sedaj',a:true}, {n:'Hostel Celica', m:'Lahko mi pošljete…', t:'pred 2 min',a:true}, {n:'Hotel Cubo LJ', m:'Mhm super, deluje', t:'pred 8 min',a:false}, ].map((c,i)=>
0?`1px solid ${dark?'#2B2B2B':'#F5F5F5'}`:'none', display:'flex', alignItems:'center', gap:10}}>
{c.n.split(' ').slice(0,2).map(w=>w[0]).join('')}
{c.a && }
{c.n}
{c.m}
{c.t}
)}
Baza znanja — vroče
{[ ['Programiranje ključev Salto','254 ogledov 7d'], ['AJPES poročanje napake','187 ogledov'], ['Channel manager — Booking.com sync','152 ogledov'], ['FURS davčna blagajna setup','98 ogledov'], ['Stripe payments — chargeback','72 ogledov'], ].map(([t,d],i)=>
0?`1px solid ${dark?'#2B2B2B':'#F5F5F5'}`:'none', display:'flex', gap:10, alignItems:'center', cursor:'pointer'}}>
{t}
{d}
)}
; } Object.assign(window, { SPDashboard });