Dl(i,a)),i.hooks.callHook("init",i),e.init?.forEach(a=>a&&i.push(a)),i}const Uo="%separator";function oy(e,t,n=!1){let r;if(t==="s"||t==="pageTitle")r=e.pageTitle;else if(t.includes(".")){const s=t.indexOf(".");r=e[t.substring(0,s)]?.[t.substring(s+1)]}else r=e[t];if(r!==void 0)return n?(r||"").replace(/\\/g,"\\\\").replace(/{if(a===Uo||!o.includes(a))return a;const l=oy(t,a.slice(1),r);return l!==void 0?l:a}).trim(),i&&(e=e.split(Uo).map(a=>a.trim()).filter(a=>a!=="").join(n?` ${n} `:" ")),e}const Fl=e=>e.includes(":key")?e:e.split(":").join(":key:"),iy={key:"aliasSorting",hooks:{"tags:resolve":e=>{let t=!1;for(const n of e.tags){const r=n.tagPriority;if(!r)continue;const s=String(r);if(s.startsWith("before:")){const o=Fl(s.slice(7)),i=e.tagMap.get(o);i&&(typeof i.tagPriority=="number"&&(n.tagPriority=i.tagPriority),n._p=i._p-1,t=!0)}else if(s.startsWith("after:")){const o=Fl(s.slice(6)),i=e.tagMap.get(o);i&&(typeof i.tagPriority=="number"&&(n.tagPriority=i.tagPriority),n._p=i._p+1,t=!0)}}t&&(e.tags=e.tags.sort(Pi))}}},ay={key:"deprecations",hooks:{"entries:normalize":({tags:e})=>{for(const t of e)t.props.children&&(t.innerHTML=t.props.children,delete t.props.children),t.props.hid&&(t.key=t.props.hid,delete t.props.hid),t.props.vmid&&(t.key=t.props.vmid,delete t.props.vmid),t.props.body&&(t.tagPosition="bodyClose",delete t.props.body)}}};async function Oi(e){if(typeof e==="function")return e;if(e instanceof Promise)return await e;if(Array.isArray(e))return await Promise.all(e.map(n=>Oi(n)));if(e?.constructor===Object){const n={};for(const r of Object.keys(e))n[r]=await Oi(e[r]);return n}return e}const ly={key:"promises",hooks:{"entries:resolve":async e=>{const t=[];for(const n in e.entries)e.entries[n]._promisesProcessed||t.push(Oi(e.entries[n].input).then(r=>{e.entries[n].input=r,e.entries[n]._promisesProcessed=!0}));await Promise.all(t)}}},cy={meta:"content",link:"href",htmlAttrs:"lang"},uy=["innerHTML","textContent"],fy=e=>({key:"template-params",hooks:{"entries:normalize":t=>{const n=t.tags.filter(r=>r.tag==="templateParams"&&r.mode==="server")?.[0]?.props||{};Object.keys(n).length&&(e._ssrPayload={templateParams:{...e._ssrPayload?.templateParams||{},...n}})},"tags:resolve":({tagMap:t,tags:n})=>{const r=t.get("templateParams")?.props||{},s=r.separator||"|";delete r.separator,r.pageTitle=ms(r.pageTitle||e._title||"",r,s);for(const o of n){if(o.processTemplateParams===!1)continue;const i=cy[o.tag];if(i&&typeof o.props[i]=="string")o.props[i]=ms(o.props[i],r,s);else if(o.processTemplateParams||o.tag==="titleTemplate"||o.tag==="title")for(const a of uy)typeof o[a]=="string"&&(o[a]=ms(o[a],r,s,o.tag==="script"&&o.props.type.endsWith("json")))}e._templateParams=r,e._separator=s},"tags:afterResolve":({tagMap:t})=>{const n=t.get("title");n?.textContent&&n.processTemplateParams!==!1&&(n.textContent=ms(n.textContent,e._templateParams,e._separator))}}}),dy=(e,t)=>Ce(t)?Bh(t):t,ya="usehead";function hy(e){return{install(n){n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(ya,e)}}.install}function py(){if(es()){const e=De(ya);if(e)return e}throw new Error("useHead() was called without provide context, ensure you call it through the setup() function.")}function my(e,t={}){const n=t.head||py();return n.ssr?n.push(e||{},t):gy(n,e,t)}function gy(e,t,n={}){const r=$e(!1);let s;return rp(()=>{const i=r.value?{}:$s(t,dy);s?s.patch(i):s=e.push(i,n)}),Bn()&&(ns(()=>{s.dispose()}),Nu(()=>{r.value=!0}),Iu(()=>{r.value=!1})),s}function _y(e){const t=e||xf();return t?.ssrContext?.head||t?.runWithContext(()=>{if(es())return De(ya)})}function Qf(e,t={}){const n=_y(t.nuxt);if(n)return my(e,{head:n,...t})}const yy=(e,t)=>[],Zf=e=>Ff({},...yy("",typeof e=="string"?e.toLowerCase():e).map(t=>t.data).reverse()),by=Zf;let Cs;function vy(){let e;return e=$fetch(ga(`builds/meta/${uo().app.buildId}.json`),{responseType:"json"}).then(t=>{if(!t||typeof t!="object"||!Array.isArray(t.prerendered))throw new Error("[nuxt] Received malformed app manifest. Ensure that `builds/meta/*.json` is served as JSON by your hosting/proxy and not rewritten to an HTML fallback.");return t}),Cs=e,e.catch(t=>{Cs===e&&(Cs=void 0),console.error("[nuxt] Error fetching app manifest.",t)}),e}function ed(){return Cs||vy()}function td(e){const t=typeof e=="string"?e:e.path;try{return by(t.toLowerCase())}catch(n){return console.error("[nuxt] Error matching route rules.",n),{}}}async function Hl(e,t={}){return null}async function Ey(e){return null}let Ln=null;async function wy(){if(Ln)return Ln;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=await Cy(e.textContent||""),n=e.dataset.src?await Ey(e.dataset.src):void 0;return Ln={...t,...n,...window.__NUXT__},Ln.config?.public&&(Ln.config.public=on(Ln.config.public)),Ln}async function Cy(e){return await F_(e,fe()._payloadRevivers)}function nd(e,t){fe()._payloadRevivers[e]=t}const Ry=i_(()=>{nd("skipHydrate",e=>{})}),Ty=[["NuxtError",e=>Hn(e)],["EmptyShallowRef",e=>$n(e==="_"?void 0:e==="0n"?BigInt(0):Wr(e))],["EmptyRef",e=>$e(e==="_"?void 0:e==="0n"?BigInt(0):Wr(e))],["ShallowRef",e=>$n(e)],["ShallowReactive",e=>Ft(e)],["Ref",e=>$e(e)],["Reactive",e=>on(e)]],Sy=Ke({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const[r,s]of Ty)nd(r,s);Object.assign(e.payload,([t,n]=Fn(()=>e.runWithContext(wy)),t=await t,n(),t)),window.__NUXT__=e.payload}});async function ba(e,t={}){const n=t.document||e.resolvedOptions.document;if(!n||!e.dirty)return;const r={shouldRender:!0,tags:[]};if(await e.hooks.callHook("dom:beforeRender",r),!!r.shouldRender)return e._domUpdatePromise||(e._domUpdatePromise=new Promise(async s=>{const o=new Map,i=new Promise(h=>{e.resolveTags().then(m=>{h(m.map(p=>{const R=o.get(p._d)||0,_={tag:p,id:(R?`${p._d}:${R}`:p._d)||p._h,shouldRender:!0};return p._d&&Xf(p._d)&&o.set(p._d,R+1),_}))})});let a=e._dom;if(!a){a={title:n.title,elMap:new Map().set("htmlAttrs",n.documentElement).set("bodyAttrs",n.body)};for(const h of["body","head"]){const m=n[h]?.children;for(const p of m){const R=p.tagName.toLowerCase();if(!Li.has(R))continue;const _=zf({tag:R,props:{}},{innerHTML:p.innerHTML,...p.getAttributeNames().reduce((v,g)=>(v[g]=p.getAttribute(g),v),{})||{}});if(_.key=p.getAttribute("data-hid")||void 0,_._d=ki(_)||Jf(_),a.elMap.has(_._d)){let v=1,g=_._d;for(;a.elMap.has(g);)g=`${_._d}:${v++}`;a.elMap.set(g,p)}else a.elMap.set(_._d,p)}}}a.pendingSideEffects={...a.sideEffects},a.sideEffects={};function l(h,m,p){const R=`${h}:${m}`;a.sideEffects[R]=p,delete a.pendingSideEffects[R]}function u({id:h,$el:m,tag:p}){const R=p.tag.endsWith("Attrs");a.elMap.set(h,m),R||(p.textContent&&p.textContent!==m.textContent&&(m.textContent=p.textContent),p.innerHTML&&p.innerHTML!==m.innerHTML&&(m.innerHTML=p.innerHTML),l(h,"el",()=>{m?.remove(),a.elMap.delete(h)}));for(const _ in p.props){if(!Object.prototype.hasOwnProperty.call(p.props,_))continue;const v=p.props[_];if(_.startsWith("on")&&typeof v=="function"){const b=m?.dataset;if(b&&b[`${_}fired`]){const C=_.slice(0,-5);v.call(m,new Event(C.substring(2)))}m.getAttribute(`data-${_}`)!==""&&((p.tag==="bodyAttrs"?n.defaultView:m).addEventListener(_.substring(2),v.bind(m)),m.setAttribute(`data-${_}`,""));continue}const g=`attr:${_}`;if(_==="class"){if(!v)continue;for(const b of v)R&&l(h,`${g}:${b}`,()=>m.classList.remove(b)),!m.classList.contains(b)&&m.classList.add(b)}else if(_==="style"){if(!v)continue;for(const[b,C]of v)l(h,`${g}:${b}`,()=>{m.style.removeProperty(b)}),m.style.setProperty(b,C)}else v!==!1&&v!==null&&(m.getAttribute(_)!==v&&m.setAttribute(_,v===!0?"":String(v)),R&&l(h,g,()=>m.removeAttribute(_)))}}const c=[],f={bodyClose:void 0,bodyOpen:void 0,head:void 0},d=await i;for(const h of d){const{tag:m,shouldRender:p,id:R}=h;if(p){if(m.tag==="title"){n.title=m.textContent,l("title","",()=>n.title=a.title);continue}h.$el=h.$el||a.elMap.get(R),h.$el?u(h):Li.has(m.tag)&&c.push(h)}}for(const h of c){const m=h.tag.tagPosition||"head";h.$el=n.createElement(h.tag.tag),u(h),f[m]=f[m]||n.createDocumentFragment(),f[m].appendChild(h.$el)}for(const h of d)await e.hooks.callHook("dom:renderTag",h,n,l);f.head&&n.head.appendChild(f.head),f.bodyOpen&&n.body.insertBefore(f.bodyOpen,n.body.firstChild),f.bodyClose&&n.body.appendChild(f.bodyClose);for(const h in a.pendingSideEffects)a.pendingSideEffects[h]();e._dom=a,await e.hooks.callHook("dom:rendered",{renders:d}),s()}).finally(()=>{e._domUpdatePromise=void 0,e.dirty=!1})),e._domUpdatePromise}function Ly(e={}){const t=e.domOptions?.render||ba;e.document=e.document||(typeof window<"u"?document:void 0);const n=e.document?.head.querySelector('script[id="unhead:payload"]')?.innerHTML||!1;return sy({...e,plugins:[...e.plugins||[],{key:"client",hooks:{"entries:updated":t}}],init:[n?JSON.parse(n):!1,...e.init||[]]})}function Ay(e,t){let n=0;return()=>{const r=++n;t(()=>{n===r&&e()})}}function ky(e={}){const t=Ly({domOptions:{render:Ay(()=>ba(t),n=>setTimeout(n,0))},...e});return t.install=hy(t),t}const Py={disableDefaults:!0,disableCapoSorting:!1,plugins:[ay,ly,fy,iy]},Oy=Ke({name:"nuxt:head",enforce:"pre",setup(e){const t=ky(Py);e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await ba(t)};t.hooks.hook("dom:beforeRender",o=>{o.shouldRender=!n}),e.hooks.hook("page:start",()=>{n=!0}),e.hooks.hook("page:finish",()=>{e.isHydrating||r()}),e.hooks.hook("app:error",r),e.hooks.hook("app:suspense:resolve",r);const s=t.push.bind(t);t.push=((o,i)=>{const a=s(o,i),l=a.dispose.bind(a);return a.dispose=()=>{const u=e["~transitionPromise"];u?u.then(l):l()},a})}}});const qn=typeof document<"u";function rd(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Iy(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&rd(e.default)}const pe=Object.assign;function jo(e,t){const n={};for(const r in t){const s=t[r];n[r]=Tt(s)?s.map(e):e(s)}return n}const Fr=()=>{},Tt=Array.isArray;function $l(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const sd=/#/g,Ny=/&/g,My=/\//g,xy=/=/g,Dy=/\?/g,od=/\+/g,Fy=/%5B/g,Hy=/%5D/g,id=/%5E/g,$y=/%60/g,ad=/%7B/g,Uy=/%7C/g,ld=/%7D/g,jy=/%20/g;function va(e){return e==null?"":encodeURI(""+e).replace(Uy,"|").replace(Fy,"[").replace(Hy,"]")}function By(e){return va(e).replace(ad,"{").replace(ld,"}").replace(id,"^")}function Ii(e){return va(e).replace(od,"%2B").replace(jy,"+").replace(sd,"%23").replace(Ny,"%26").replace($y,"`").replace(ad,"{").replace(ld,"}").replace(id,"^")}function Vy(e){return Ii(e).replace(xy,"%3D")}function Wy(e){return va(e).replace(sd,"%23").replace(Dy,"%3F")}function Ky(e){return Wy(e).replace(My,"%2F")}function qr(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Gy=/\/$/,qy=e=>e.replace(Gy,"");function Bo(e,t,n="/"){let r,s={},o="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return l=a>=0&&l>a?-1:l,l>=0&&(r=t.slice(0,l),o=t.slice(l,a>0?a:t.length),s=e(o.slice(1))),a>=0&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=zy(r??t,n),{fullPath:r+o+i,path:r,query:s,hash:qr(i)}}function Yy(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ul(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Xy(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&fr(t.matched[r],n.matched[s])&&cd(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function fr(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function cd(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Jy(e[n],t[n]))return!1;return!0}function Jy(e,t){return Tt(e)?jl(e,t):Tt(t)?jl(t,e):e?.valueOf()===t?.valueOf()}function jl(e,t){return Tt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function zy(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,a;for(i=0;i Dl(i,a)),i.hooks.callHook("init",i),e.init?.forEach(a=>a&&i.push(a)),i}const Uo="%separator";function oy(e,t,n=!1){let r;if(t==="s"||t==="pageTitle")r=e.pageTitle;else if(t.includes(".")){const s=t.indexOf(".");r=e[t.substring(0,s)]?.[t.substring(s+1)]}else r=e[t];if(r!==void 0)return n?(r||"").replace(/\\/g,"\\\\").replace(/{if(a===Uo||!o.includes(a))return a;const l=oy(t,a.slice(1),r);return l!==void 0?l:a}).trim(),i&&(e=e.split(Uo).map(a=>a.trim()).filter(a=>a!=="").join(n?` ${n} `:" ")),e}const Fl=e=>e.includes(":key")?e:e.split(":").join(":key:"),iy={key:"aliasSorting",hooks:{"tags:resolve":e=>{let t=!1;for(const n of e.tags){const r=n.tagPriority;if(!r)continue;const s=String(r);if(s.startsWith("before:")){const o=Fl(s.slice(7)),i=e.tagMap.get(o);i&&(typeof i.tagPriority=="number"&&(n.tagPriority=i.tagPriority),n._p=i._p-1,t=!0)}else if(s.startsWith("after:")){const o=Fl(s.slice(6)),i=e.tagMap.get(o);i&&(typeof i.tagPriority=="number"&&(n.tagPriority=i.tagPriority),n._p=i._p+1,t=!0)}}t&&(e.tags=e.tags.sort(Pi))}}},ay={key:"deprecations",hooks:{"entries:normalize":({tags:e})=>{for(const t of e)t.props.children&&(t.innerHTML=t.props.children,delete t.props.children),t.props.hid&&(t.key=t.props.hid,delete t.props.hid),t.props.vmid&&(t.key=t.props.vmid,delete t.props.vmid),t.props.body&&(t.tagPosition="bodyClose",delete t.props.body)}}};async function Oi(e){if(typeof e==="function")return e;if(e instanceof Promise)return await e;if(Array.isArray(e))return await Promise.all(e.map(n=>Oi(n)));if(e?.constructor===Object){const n={};for(const r of Object.keys(e))n[r]=await Oi(e[r]);return n}return e}const ly={key:"promises",hooks:{"entries:resolve":async e=>{const t=[];for(const n in e.entries)e.entries[n]._promisesProcessed||t.push(Oi(e.entries[n].input).then(r=>{e.entries[n].input=r,e.entries[n]._promisesProcessed=!0}));await Promise.all(t)}}},cy={meta:"content",link:"href",htmlAttrs:"lang"},uy=["innerHTML","textContent"],fy=e=>({key:"template-params",hooks:{"entries:normalize":t=>{const n=t.tags.filter(r=>r.tag==="templateParams"&&r.mode==="server")?.[0]?.props||{};Object.keys(n).length&&(e._ssrPayload={templateParams:{...e._ssrPayload?.templateParams||{},...n}})},"tags:resolve":({tagMap:t,tags:n})=>{const r=t.get("templateParams")?.props||{},s=r.separator||"|";delete r.separator,r.pageTitle=ms(r.pageTitle||e._title||"",r,s);for(const o of n){if(o.processTemplateParams===!1)continue;const i=cy[o.tag];if(i&&typeof o.props[i]=="string")o.props[i]=ms(o.props[i],r,s);else if(o.processTemplateParams||o.tag==="titleTemplate"||o.tag==="title")for(const a of uy)typeof o[a]=="string"&&(o[a]=ms(o[a],r,s,o.tag==="script"&&o.props.type.endsWith("json")))}e._templateParams=r,e._separator=s},"tags:afterResolve":({tagMap:t})=>{const n=t.get("title");n?.textContent&&n.processTemplateParams!==!1&&(n.textContent=ms(n.textContent,e._templateParams,e._separator))}}}),dy=(e,t)=>Ce(t)?Bh(t):t,ya="usehead";function hy(e){return{install(n){n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(ya,e)}}.install}function py(){if(es()){const e=De(ya);if(e)return e}throw new Error("useHead() was called without provide context, ensure you call it through the setup() function.")}function my(e,t={}){const n=t.head||py();return n.ssr?n.push(e||{},t):gy(n,e,t)}function gy(e,t,n={}){const r=$e(!1);let s;return rp(()=>{const i=r.value?{}:$s(t,dy);s?s.patch(i):s=e.push(i,n)}),Bn()&&(ns(()=>{s.dispose()}),Nu(()=>{r.value=!0}),Iu(()=>{r.value=!1})),s}function _y(e){const t=e||xf();return t?.ssrContext?.head||t?.runWithContext(()=>{if(es())return De(ya)})}function Qf(e,t={}){const n=_y(t.nuxt);if(n)return my(e,{head:n,...t})}const yy=(e,t)=>[],Zf=e=>Ff({},...yy("",typeof e=="string"?e.toLowerCase():e).map(t=>t.data).reverse()),by=Zf;let Cs;function vy(){let e;return e=$fetch(ga(`builds/meta/${uo().app.buildId}.json`),{responseType:"json"}).then(t=>{if(!t||typeof t!="object"||!Array.isArray(t.prerendered))throw new Error("[nuxt] Received malformed app manifest. Ensure that `builds/meta/*.json` is served as JSON by your hosting/proxy and not rewritten to an HTML fallback.");return t}),Cs=e,e.catch(t=>{Cs===e&&(Cs=void 0),console.error("[nuxt] Error fetching app manifest.",t)}),e}function ed(){return Cs||vy()}function td(e){const t=typeof e=="string"?e:e.path;try{return by(t.toLowerCase())}catch(n){return console.error("[nuxt] Error matching route rules.",n),{}}}async function Hl(e,t={}){return null}async function Ey(e){return null}let Ln=null;async function wy(){if(Ln)return Ln;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=await Cy(e.textContent||""),n=e.dataset.src?await Ey(e.dataset.src):void 0;return Ln={...t,...n,...window.__NUXT__},Ln.config?.public&&(Ln.config.public=on(Ln.config.public)),Ln}async function Cy(e){return await F_(e,fe()._payloadRevivers)}function nd(e,t){fe()._payloadRevivers[e]=t}const Ry=i_(()=>{nd("skipHydrate",e=>{})}),Ty=[["NuxtError",e=>Hn(e)],["EmptyShallowRef",e=>$n(e==="_"?void 0:e==="0n"?BigInt(0):Wr(e))],["EmptyRef",e=>$e(e==="_"?void 0:e==="0n"?BigInt(0):Wr(e))],["ShallowRef",e=>$n(e)],["ShallowReactive",e=>Ft(e)],["Ref",e=>$e(e)],["Reactive",e=>on(e)]],Sy=Ke({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const[r,s]of Ty)nd(r,s);Object.assign(e.payload,([t,n]=Fn(()=>e.runWithContext(wy)),t=await t,n(),t)),window.__NUXT__=e.payload}});async function ba(e,t={}){const n=t.document||e.resolvedOptions.document;if(!n||!e.dirty)return;const r={shouldRender:!0,tags:[]};if(await e.hooks.callHook("dom:beforeRender",r),!!r.shouldRender)return e._domUpdatePromise||(e._domUpdatePromise=new Promise(async s=>{const o=new Map,i=new Promise(h=>{e.resolveTags().then(m=>{h(m.map(p=>{const R=o.get(p._d)||0,_={tag:p,id:(R?`${p._d}:${R}`:p._d)||p._h,shouldRender:!0};return p._d&&Xf(p._d)&&o.set(p._d,R+1),_}))})});let a=e._dom;if(!a){a={title:n.title,elMap:new Map().set("htmlAttrs",n.documentElement).set("bodyAttrs",n.body)};for(const h of["body","head"]){const m=n[h]?.children;for(const p of m){const R=p.tagName.toLowerCase();if(!Li.has(R))continue;const _=zf({tag:R,props:{}},{innerHTML:p.innerHTML,...p.getAttributeNames().reduce((v,g)=>(v[g]=p.getAttribute(g),v),{})||{}});if(_.key=p.getAttribute("data-hid")||void 0,_._d=ki(_)||Jf(_),a.elMap.has(_._d)){let v=1,g=_._d;for(;a.elMap.has(g);)g=`${_._d}:${v++}`;a.elMap.set(g,p)}else a.elMap.set(_._d,p)}}}a.pendingSideEffects={...a.sideEffects},a.sideEffects={};function l(h,m,p){const R=`${h}:${m}`;a.sideEffects[R]=p,delete a.pendingSideEffects[R]}function u({id:h,$el:m,tag:p}){const R=p.tag.endsWith("Attrs");a.elMap.set(h,m),R||(p.textContent&&p.textContent!==m.textContent&&(m.textContent=p.textContent),p.innerHTML&&p.innerHTML!==m.innerHTML&&(m.innerHTML=p.innerHTML),l(h,"el",()=>{m?.remove(),a.elMap.delete(h)}));for(const _ in p.props){if(!Object.prototype.hasOwnProperty.call(p.props,_))continue;const v=p.props[_];if(_.startsWith("on")&&typeof v=="function"){const b=m?.dataset;if(b&&b[`${_}fired`]){const C=_.slice(0,-5);v.call(m,new Event(C.substring(2)))}m.getAttribute(`data-${_}`)!==""&&((p.tag==="bodyAttrs"?n.defaultView:m).addEventListener(_.substring(2),v.bind(m)),m.setAttribute(`data-${_}`,""));continue}const g=`attr:${_}`;if(_==="class"){if(!v)continue;for(const b of v)R&&l(h,`${g}:${b}`,()=>m.classList.remove(b)),!m.classList.contains(b)&&m.classList.add(b)}else if(_==="style"){if(!v)continue;for(const[b,C]of v)l(h,`${g}:${b}`,()=>{m.style.removeProperty(b)}),m.style.setProperty(b,C)}else v!==!1&&v!==null&&(m.getAttribute(_)!==v&&m.setAttribute(_,v===!0?"":String(v)),R&&l(h,g,()=>m.removeAttribute(_)))}}const c=[],f={bodyClose:void 0,bodyOpen:void 0,head:void 0},d=await i;for(const h of d){const{tag:m,shouldRender:p,id:R}=h;if(p){if(m.tag==="title"){n.title=m.textContent,l("title","",()=>n.title=a.title);continue}h.$el=h.$el||a.elMap.get(R),h.$el?u(h):Li.has(m.tag)&&c.push(h)}}for(const h of c){const m=h.tag.tagPosition||"head";h.$el=n.createElement(h.tag.tag),u(h),f[m]=f[m]||n.createDocumentFragment(),f[m].appendChild(h.$el)}for(const h of d)await e.hooks.callHook("dom:renderTag",h,n,l);f.head&&n.head.appendChild(f.head),f.bodyOpen&&n.body.insertBefore(f.bodyOpen,n.body.firstChild),f.bodyClose&&n.body.appendChild(f.bodyClose);for(const h in a.pendingSideEffects)a.pendingSideEffects[h]();e._dom=a,await e.hooks.callHook("dom:rendered",{renders:d}),s()}).finally(()=>{e._domUpdatePromise=void 0,e.dirty=!1})),e._domUpdatePromise}function Ly(e={}){const t=e.domOptions?.render||ba;e.document=e.document||(typeof window<"u"?document:void 0);const n=e.document?.head.querySelector('script[id="unhead:payload"]')?.innerHTML||!1;return sy({...e,plugins:[...e.plugins||[],{key:"client",hooks:{"entries:updated":t}}],init:[n?JSON.parse(n):!1,...e.init||[]]})}function Ay(e,t){let n=0;return()=>{const r=++n;t(()=>{n===r&&e()})}}function ky(e={}){const t=Ly({domOptions:{render:Ay(()=>ba(t),n=>setTimeout(n,0))},...e});return t.install=hy(t),t}const Py={disableDefaults:!0,disableCapoSorting:!1,plugins:[ay,ly,fy,iy]},Oy=Ke({name:"nuxt:head",enforce:"pre",setup(e){const t=ky(Py);e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await ba(t)};t.hooks.hook("dom:beforeRender",o=>{o.shouldRender=!n}),e.hooks.hook("page:start",()=>{n=!0}),e.hooks.hook("page:finish",()=>{e.isHydrating||r()}),e.hooks.hook("app:error",r),e.hooks.hook("app:suspense:resolve",r);const s=t.push.bind(t);t.push=((o,i)=>{const a=s(o,i),l=a.dispose.bind(a);return a.dispose=()=>{const u=e["~transitionPromise"];u?u.then(l):l()},a})}}});const qn=typeof document<"u";function rd(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Iy(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&rd(e.default)}const pe=Object.assign;function jo(e,t){const n={};for(const r in t){const s=t[r];n[r]=Tt(s)?s.map(e):e(s)}return n}const Fr=()=>{},Tt=Array.isArray;function $l(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const sd=/#/g,Ny=/&/g,My=/\//g,xy=/=/g,Dy=/\?/g,od=/\+/g,Fy=/%5B/g,Hy=/%5D/g,id=/%5E/g,$y=/%60/g,ad=/%7B/g,Uy=/%7C/g,ld=/%7D/g,jy=/%20/g;function va(e){return e==null?"":encodeURI(""+e).replace(Uy,"|").replace(Fy,"[").replace(Hy,"]")}function By(e){return va(e).replace(ad,"{").replace(ld,"}").replace(id,"^")}function Ii(e){return va(e).replace(od,"%2B").replace(jy,"+").replace(sd,"%23").replace(Ny,"%26").replace($y,"`").replace(ad,"{").replace(ld,"}").replace(id,"^")}function Vy(e){return Ii(e).replace(xy,"%3D")}function Wy(e){return va(e).replace(sd,"%23").replace(Dy,"%3F")}function Ky(e){return Wy(e).replace(My,"%2F")}function qr(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Gy=/\/$/,qy=e=>e.replace(Gy,"");function Bo(e,t,n="/"){let r,s={},o="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return l=a>=0&&l>a?-1:l,l>=0&&(r=t.slice(0,l),o=t.slice(l,a>0?a:t.length),s=e(o.slice(1))),a>=0&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=zy(r??t,n),{fullPath:r+o+i,path:r,query:s,hash:qr(i)}}function Yy(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ul(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Xy(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&fr(t.matched[r],n.matched[s])&&cd(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function fr(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function cd(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Jy(e[n],t[n]))return!1;return!0}function Jy(e,t){return Tt(e)?jl(e,t):Tt(t)?jl(t,e):e?.valueOf()===t?.valueOf()}function jl(e,t){return Tt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function zy(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,a;for(i=0;i Authorised personnel only Authorised personnel only Szolgáltató #{{ $route.params.id }} Hiba történt a szolgáltató betöltése közben. A szolgáltató nem található. {{ statusLabel(provider.status) }} {{ statusDescription(provider.status) }} \n A szolgáltató {{ provider.status === 'rejected' ? 'elutasításra' : 'megjelölésre' }} került.\n Módosítsd a szolgáltató státuszát és validációs pontszámát. A szolgáltatóhoz tartozó gamification validációs bejegyzések listája. Nincsenek validációs bejegyzések ehhez a szolgáltatóhoz. \n Szavazó:\n {{ v.voter_name || `User #${v.voter_user_id}` }}\n \n Indoklás: {{ v.validation_metadata.reason }}\n Idővonal: ki, mikor és mit változtatott a szolgáltatóval kapcsolatban. Nincsenek előzmények ehhez a szolgáltatóhoz. \n Biztosan elutasítod a(z) {{ provider?.name }} szolgáltatót?\n \n Módosítsd a(z) {{ provider?.name }} szolgáltató adatait.\n \n Biztosan megjelölöd a(z) {{ provider?.name }} szolgáltatót?\n Szolgáltató #{{ $route.params.id }} Hiba történt a szolgáltató betöltése közben. A szolgáltató nem található. {{ statusLabel(provider.status) }} {{ statusDescription(provider.status) }} \n A szolgáltató {{ provider.status === 'rejected' ? 'elutasításra' : 'megjelölésre' }} került.\n Módosítsd a szolgáltató státuszát és validációs pontszámát. A szolgáltatóhoz tartozó gamification validációs bejegyzések listája. Nincsenek validációs bejegyzések ehhez a szolgáltatóhoz. \n Szavazó:\n {{ v.voter_name || `User #${v.voter_user_id}` }}\n \n Indoklás: {{ v.validation_metadata.reason }}\n Idővonal: ki, mikor és mit változtatott a szolgáltatóval kapcsolatban. Nincsenek előzmények ehhez a szolgáltatóhoz. \n Biztosan elutasítod a(z) {{ provider?.name }} szolgáltatót?\n \n Módosítsd a(z) {{ provider?.name }} szolgáltató adatait.\n \n Biztosan megjelölöd a(z) {{ provider?.name }} szolgáltatót?\n Szolgáltató #${ssrInterpolate(_ctx.$route.params.id)} Szolgáltató #${ssrInterpolate(_ctx.$route.params.id)} Hiba történt a szolgáltató betöltése közben. Hiba történt a szolgáltató betöltése közben. A szolgáltató nem található. A szolgáltató nem található.1){e.push(`${n("plural")}([`),e.indent(r());const s=t.cases.length;for(let o=0;o{const n=G(t.mode)?t.mode:"normal",r=G(t.filename)?t.filename:"message.intl";t.sourceMap;const s=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":`
-`,o=t.needIndent?t.needIndent:n!=="arrow",i=e.helpers||[],a=qE(e,{filename:r,breakLineCode:s,needIndent:o});a.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),a.indent(o),i.length>0&&(a.push(`const { ${Ca(i.map(c=>`${c}: _${c}`),", ")} } = ctx`),a.newline()),a.push("return "),hr(a,e),a.deindent(o),a.push("}"),delete e.helpers;const{code:l,map:u}=a.context();return{ast:e,code:l,map:u?u.toJSON():void 0}};function ZE(e,t={}){const n=Pe({},t),r=!!n.jit,s=!!n.minify,o=n.optimize==null?!0:n.optimize,a=VE(n).parse(e);return r?(o&&GE(a),s&&Yn(a),{ast:a,code:""}):(KE(a,n),QE(a,n))}function Ut(e){return ue(e)&&Aa(e)===0&&(gt(e,"b")||gt(e,"body"))}const $d=["b","body"];function ew(e){return wn(e,$d)}const Ud=["c","cases"];function tw(e){return wn(e,Ud,[])}const jd=["s","static"];function nw(e){return wn(e,jd)}const Bd=["i","items"];function rw(e){return wn(e,Bd,[])}const Vd=["t","type"];function Aa(e){return wn(e,Vd)}const Wd=["v","value"];function vs(e,t){const n=wn(e,Wd);if(n!=null)return n;throw Xr(t)}const Kd=["m","modifier"];function sw(e){return wn(e,Kd)}const Gd=["k","key"];function ow(e){const t=wn(e,Gd);if(t)return t;throw Xr(6)}function wn(e,t,n){for(let r=0;rSERVICEFINDER
Staff Portal
SERVICEFINDER
Staff Portal
{s(o).skip+=s(o).limit,d()}),class:"px-3 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white disabled:opacity-50 disabled:cursor-not-allowed hover:bg-slate-600 transition text-sm"}," Következő ",8,Vt)])])],64)),s(k)?(i(),r("div",Nt,[e[21]||(e[21]=t("svg",{class:"w-4 h-4 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),h(" "+n(s(k)),1)])):_("",!0)])}}}),Ut=K(Bt,[["__scopeId","data-v-c684092a"]]);export{Ut as default};
+import{_ as $}from"./C2l6xpLd.js";import{e as T,g as L,c as r,a as t,t as n,i as s,F as z,y as x,z as E,C as f,v as C,k as v,d as h,r as I,j as _,J as U,h as D,l as u,o as i,b as j,w as M,n as H}from"./BIbQr1Hg.js";import{u as J}from"./XheHpngv.js";import{_ as K}from"./DlAUqK2U.js";import"./DXATb271.js";const R={class:"grid grid-cols-2 md:grid-cols-5 gap-4 mb-8"},A={class:"bg-slate-800 rounded-xl border border-slate-700 p-4"},P={class:"text-2xl font-bold text-white mt-1"},O={class:"bg-slate-800 rounded-xl border border-amber-500/30 p-4"},q={class:"text-2xl font-bold text-amber-400 mt-1"},G={class:"bg-slate-800 rounded-xl border border-emerald-500/30 p-4"},Q={class:"text-2xl font-bold text-emerald-400 mt-1"},W={class:"bg-slate-800 rounded-xl border border-rose-500/30 p-4"},X={class:"text-2xl font-bold text-rose-400 mt-1"},Y={class:"bg-slate-800 rounded-xl border border-purple-500/30 p-4"},Z={class:"text-2xl font-bold text-purple-400 mt-1"},tt={key:0,class:"flex items-center justify-center py-20"},et={key:1,class:"bg-rose-500/10 border border-rose-500/30 rounded-xl p-6 mb-8"},st={class:"bg-slate-800 rounded-xl border border-slate-700 p-4 mb-6"},ot={class:"flex flex-wrap items-center gap-4"},at={class:"flex-1 min-w-[200px]"},lt={class:"bg-slate-800 rounded-xl border border-slate-700 overflow-hidden"},nt={class:"w-full"},rt={class:"divide-y divide-slate-700/50"},it={class:"px-6 py-4 text-sm text-slate-400"},dt={class:"px-6 py-4"},pt={class:"px-6 py-4 text-sm text-slate-300 max-w-[200px] truncate"},ct={class:"px-6 py-4"},ut={class:"px-6 py-4"},xt={class:"flex items-center gap-1.5"},gt={class:"text-xs font-mono text-slate-400 bg-slate-700/50 px-2 py-0.5 rounded"},mt={key:0,class:"text-[10px] font-mono text-slate-500 bg-slate-700/30 px-1.5 py-0.5 rounded"},bt={class:"px-6 py-4"},ft={class:"flex items-center gap-2"},vt={class:"w-16 h-1.5 bg-slate-700 rounded-full overflow-hidden"},ht={class:"text-xs text-slate-400"},_t={class:"px-6 py-4 text-sm text-slate-400"},kt={class:"px-6 py-4 text-right"},yt={class:"flex items-center justify-end gap-2"},wt={key:0},zt={class:"flex items-center justify-between mt-6"},Ct={class:"text-sm text-slate-400"},jt={class:"flex items-center gap-2"},Mt=["disabled"],St={class:"text-sm text-slate-400"},Vt=["disabled"],Nt={key:3,class:"fixed bottom-6 right-6 z-50 bg-emerald-600 text-white px-4 py-3 rounded-lg shadow-lg text-sm flex items-center gap-2 animate-slide-up"},Bt=T({__name:"index",setup(Ft){const{formatDate:S}=J(),g=u(!0),m=u(!1),c=u([]),p=u({total:0,pending:0,approved:0,rejected:0,flagged:0,total_validations:0,staging_pending:0}),k=u("");let b=null;const o=U({search:"",status:"",source:"",sort_by:"created_at",sort_order:"desc",skip:0,limit:50});function y(){const e=D("access_token").value;return e?{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}:{"Content-Type":"application/json"}}function V(l){return{pending:"bg-amber-500/10 text-amber-400",approved:"bg-emerald-500/10 text-emerald-400",rejected:"bg-rose-500/10 text-rose-400",flagged:"bg-purple-500/10 text-purple-400"}[l]||"bg-slate-500/10 text-slate-400"}function N(l){return{pending:"Függőben",approved:"Jóváhagyott",rejected:"Elutasított",flagged:"Megjelölt"}[l]||l}function B(){b&&clearTimeout(b),b=setTimeout(()=>{o.skip=0,d()},400)}async function F(){try{const l=await $fetch("/api/v1/admin/providers/stats",{headers:y()});p.value=l}catch(l){console.error("Failed to fetch provider stats:",l)}}async function d(){g.value=!0,m.value=!1;try{const l=new URLSearchParams;l.append("skip",String(o.skip)),l.append("limit",String(o.limit)),l.append("sort_by",o.sort_by),l.append("sort_order",o.sort_order),o.status&&l.append("status",o.status),o.source&&l.append("source",o.source),o.search&&l.append("search",o.search);const e=await $fetch(`/api/v1/admin/providers?${l.toString()}`,{headers:y()});c.value=e}catch(l){console.error("Failed to fetch providers:",l),m.value=!0}finally{g.value=!1}}return L(()=>{F(),d()}),(l,e)=>{const w=$;return i(),r("div",null,[e[22]||(e[22]=t("div",{class:"mb-8"},[t("h1",{class:"text-2xl font-bold text-white"},"Szolgáltatók"),t("p",{class:"text-slate-400 mt-1"},"Szolgáltatók listázása, keresése és moderálása")],-1)),t("div",R,[t("div",A,[e[7]||(e[7]=t("p",{class:"text-xs text-slate-400 uppercase tracking-wider"},"Összes",-1)),t("p",P,n(s(p).total),1)]),t("div",O,[e[8]||(e[8]=t("p",{class:"text-xs text-slate-400 uppercase tracking-wider"},"Függőben",-1)),t("p",q,n(s(p).pending),1)]),t("div",G,[e[9]||(e[9]=t("p",{class:"text-xs text-slate-400 uppercase tracking-wider"},"Jóváhagyott",-1)),t("p",Q,n(s(p).approved),1)]),t("div",W,[e[10]||(e[10]=t("p",{class:"text-xs text-slate-400 uppercase tracking-wider"},"Elutasított",-1)),t("p",X,n(s(p).rejected),1)]),t("div",Y,[e[11]||(e[11]=t("p",{class:"text-xs text-slate-400 uppercase tracking-wider"},"Megjelölt",-1)),t("p",Z,n(s(p).flagged),1)])]),s(g)?(i(),r("div",tt,[...e[12]||(e[12]=[t("div",{class:"text-slate-400 flex items-center gap-3"},[t("svg",{class:"w-5 h-5 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})]),t("span",null,"Szolgáltatók betöltése...")],-1)])])):s(m)?(i(),r("div",et,[e[13]||(e[13]=t("p",{class:"text-rose-400"},"Hiba történt a szolgáltatók betöltése közben.",-1)),t("button",{onClick:d,class:"mt-3 text-sm text-rose-300 hover:text-rose-200 underline"},"Újrapróbálkozás")])):(i(),r(z,{key:2},[t("div",st,[t("div",ot,[t("div",at,[x(t("input",{"onUpdate:modelValue":e[0]||(e[0]=a=>s(o).search=a),type:"text",placeholder:"Keresés név alapján...",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm",onInput:B},null,544),[[E,s(o).search]])]),x(t("select",{"onUpdate:modelValue":e[1]||(e[1]=a=>s(o).status=a),class:"px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm",onChange:d},[...e[14]||(e[14]=[C('',5)])],544),[[f,s(o).status]]),x(t("select",{"onUpdate:modelValue":e[2]||(e[2]=a=>s(o).source=a),class:"px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm",onChange:d},[...e[15]||(e[15]=[C('',6)])],544),[[f,s(o).source]]),x(t("select",{"onUpdate:modelValue":e[3]||(e[3]=a=>s(o).sort_by=a),class:"px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm",onChange:d},[...e[16]||(e[16]=[t("option",{value:"created_at"},"Létrehozás dátuma",-1),t("option",{value:"name"},"Név",-1),t("option",{value:"validation_score"},"Validációs pontszám",-1)])],544),[[f,s(o).sort_by]]),t("button",{onClick:e[4]||(e[4]=a=>{s(o).sort_order=s(o).sort_order==="asc"?"desc":"asc",d()}),class:"px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white hover:bg-slate-600 transition text-sm flex items-center gap-1"},[(i(),r("svg",{class:v(["w-4 h-4",s(o).sort_order==="asc"?"rotate-180":""]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...e[17]||(e[17]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])],2)),h(" "+n(s(o).sort_order==="asc"?"Növekvő":"Csökkenő"),1)])])]),t("div",lt,[t("table",nt,[e[20]||(e[20]=t("thead",null,[t("tr",{class:"border-b border-slate-700"},[t("th",{class:"text-left px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},"ID"),t("th",{class:"text-left px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},"Név"),t("th",{class:"text-left px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},"Cím"),t("th",{class:"text-left px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},"Státusz"),t("th",{class:"text-left px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},"Forrás"),t("th",{class:"text-left px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},"Validáció"),t("th",{class:"text-left px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},"Létrehozva"),t("th",{class:"text-right px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},"Műveletek")])],-1)),t("tbody",rt,[(i(!0),r(z,null,I(s(c),a=>(i(),r("tr",{key:a.id,class:"hover:bg-slate-700/30 transition"},[t("td",it,n(a.id),1),t("td",dt,[j(w,{to:`/providers/${a.id}`,class:"text-sm font-medium text-indigo-400 hover:text-indigo-300 transition"},{default:M(()=>[h(n(a.name),1)]),_:2},1032,["to"])]),t("td",pt,n(a.address||"—"),1),t("td",ct,[t("span",{class:v(["inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium",V(a.status)])},n(N(a.status)),3)]),t("td",ut,[t("div",xt,[t("code",gt,n(a.source),1),a.source_table?(i(),r("span",mt,n(a.source_table),1)):_("",!0)])]),t("td",bt,[t("div",ft,[t("div",vt,[t("div",{class:v(["h-full rounded-full transition-all",a.validation_score>=50?"bg-emerald-500":a.validation_score>=20?"bg-amber-500":"bg-slate-500"]),style:H({width:Math.min(a.validation_score,100)+"%"})},null,6)]),t("span",ht,n(a.validation_score),1)])]),t("td",_t,n(s(S)(a.created_at)),1),t("td",kt,[t("div",yt,[j(w,{to:`/providers/${a.id}`,class:"p-1.5 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition",title:"Részletek"},{default:M(()=>[...e[18]||(e[18]=[t("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}),t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"})],-1)])]),_:1},8,["to"])])])]))),128)),s(c).length===0?(i(),r("tr",wt,[...e[19]||(e[19]=[t("td",{colspan:"8",class:"px-6 py-12 text-center text-sm text-slate-500"}," Nincs megjeleníthető szolgáltató. ",-1)])])):_("",!0)])])]),t("div",zt,[t("p",Ct,n(s(c).length)+" találat (összesen: "+n(s(p).total)+") ",1),t("div",jt,[t("button",{disabled:s(o).skip<=0,onClick:e[5]||(e[5]=a=>{s(o).skip=Math.max(0,s(o).skip-s(o).limit),d()}),class:"px-3 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white disabled:opacity-50 disabled:cursor-not-allowed hover:bg-slate-600 transition text-sm"}," Előző ",8,Mt),t("span",St,n(Math.floor(s(o).skip/s(o).limit)+1)+". oldal ",1),t("button",{disabled:s(c).length{s(o).skip+=s(o).limit,d()}),class:"px-3 py-1.5 bg-slate-700 border border-slate-600 rounded-lg text-white disabled:opacity-50 disabled:cursor-not-allowed hover:bg-slate-600 transition text-sm"}," Következő ",8,Vt)])])],64)),s(k)?(i(),r("div",Nt,[e[21]||(e[21]=t("svg",{class:"w-4 h-4 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),h(" "+n(s(k)),1)])):_("",!0)])}}}),Ut=K(Bt,[["__scopeId","data-v-c684092a"]]);export{Ut as default};
diff --git a/frontend_admin/.output/public/_nuxt/hxLu6bwn.js b/frontend_admin/.nuxt/dist/client/_nuxt/DumZSuM0.js
similarity index 99%
rename from frontend_admin/.output/public/_nuxt/hxLu6bwn.js
rename to frontend_admin/.nuxt/dist/client/_nuxt/DumZSuM0.js
index a212a02..57f1617 100644
--- a/frontend_admin/.output/public/_nuxt/hxLu6bwn.js
+++ b/frontend_admin/.nuxt/dist/client/_nuxt/DumZSuM0.js
@@ -1 +1 @@
-import{_ as I}from"./CuTzR9Y8.js";import{e as T,f as J,g as K,ad as N,o as n,c as l,a as e,t as h,k as v,F as b,r as B,j as H,l as w,m as M,h as U,p as Q,K as q,q as X,s as Y,b as R,w as j,y as F,ae as G,L as E,i as W,d as P,V as Z}from"./Duy9QquX.js";import{u as ee}from"./BmPpcd_L.js";const te={class:"text-base leading-none"},oe={class:"hidden sm:inline"},ne={key:0,class:"absolute right-0 mt-2 w-44 bg-slate-800 border border-slate-700 rounded-xl shadow-xl py-1 z-50"},se=["onClick"],ae={class:"text-lg leading-none"},le={key:0,class:"ml-auto text-indigo-400"},re=T({__name:"LanguageSwitcher",setup(O){const{locale:o,locales:S}=J(),d=w(!1),x=w(null),r=M(()=>S.value),s=M(()=>o.value),k={hu:"🇭🇺",en:"🇬🇧"},z={hu:"Magyar",en:"English"};function g(a){return k[a]||"🌐"}function C(a){return z[a]||a.toUpperCase()}function L(){const c=U("access_token").value;return c?{Authorization:`Bearer ${c}`}:{}}async function V(a){if(a===s.value){d.value=!1;return}o.value=a;try{localStorage.setItem("preferred_language",a)}catch{}try{await $fetch("/api/v1/auth/me/language",{method:"PATCH",headers:{...L(),"Content-Type":"application/json"},body:{preferred_language:a}})}catch(c){console.error("[LanguageSwitcher] Failed to persist language preference:",c)}d.value=!1}function _(a){x.value&&!x.value.contains(a.target)&&(d.value=!1)}return K(()=>{document.addEventListener("click",_)}),N(()=>{document.removeEventListener("click",_)}),(a,c)=>(n(),l("div",{class:"relative",ref_key:"dropdownRef",ref:x},[e("button",{class:"flex items-center gap-2 px-3 py-1.5 text-xs font-medium rounded-lg transition bg-slate-700/50 hover:bg-slate-700 text-slate-300 hover:text-white border border-slate-600/50",onClick:c[0]||(c[0]=p=>d.value=!d.value)},[e("span",te,h(g(s.value)),1),e("span",oe,h(C(s.value)),1),(n(),l("svg",{class:v(["w-3.5 h-3.5 text-slate-400 transition-transform duration-200",{"rotate-180":d.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...c[1]||(c[1]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])],2))]),d.value?(n(),l("div",ne,[(n(!0),l(b,null,B(r.value,p=>(n(),l("button",{key:p.code,class:v(["flex items-center gap-3 w-full px-4 py-2.5 text-sm transition",p.code===s.value?"bg-indigo-600/20 text-indigo-300":"text-slate-300 hover:bg-slate-700 hover:text-white"]),onClick:$=>V(p.code)},[e("span",ae,h(g(p.code)),1),e("span",null,h(p.name),1),p.code===s.value?(n(),l("span",le,[...c[2]||(c[2]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})],-1)])])):H("",!0)],10,se))),128))])):H("",!0)],512))}}),ie=Q("/logo.svg"),de={class:"min-h-screen bg-slate-900 text-white flex"},ce={class:"flex items-center gap-3 min-w-0"},ue={class:"flex-1 px-2 py-4 space-y-2 overflow-y-auto overflow-x-hidden"},he={key:0},ve=["onClick"],pe=["innerHTML"],ke={class:"ml-2 mt-1 space-y-1 overflow-hidden transition-all duration-200"},ge=["innerHTML"],fe={class:"whitespace-nowrap overflow-hidden"},me=["innerHTML"],we={class:"p-4 border-t border-slate-700 overflow-hidden"},xe={class:"flex-1 flex flex-col min-w-0 transition-all duration-300 ease-in-out"},be={class:"sticky top-0 z-10 bg-slate-800/95 backdrop-blur-sm border-b border-slate-700"},ze={class:"flex items-center justify-between h-16 px-4 lg:px-6"},Me={class:"flex items-center gap-3"},Ce={class:"text-lg font-semibold text-white truncate"},_e={class:"flex items-center gap-3"},ye={class:"w-8 h-8 rounded-full bg-indigo-600 flex items-center justify-center text-sm font-bold text-white"},je={class:"hidden sm:block text-sm text-slate-300"},Be={key:0,class:"absolute right-0 mt-2 w-56 bg-slate-800 border border-slate-700 rounded-xl shadow-xl py-1 z-50"},He={class:"px-4 py-3 border-b border-slate-700"},Se={class:"text-sm font-medium text-white"},Le={class:"text-xs text-slate-400 mt-0.5"},Ve={class:"flex-1 p-4 lg:p-6 overflow-auto"},Ge=T({__name:"default",setup(O){const o=q(),S=X(),d=Y(),x=ee(),r=w(!1),s=w(!1),k=w(!1),z=w(null),g=w(new Set(["Központ"])),C=M(()=>d.userEmail||"Ismeretlen Felhasználó"),L=M(()=>{const i=d.userEmail;return i?i.split("@")[0].split(".").map(t=>t[0]).join("").toUpperCase().slice(0,2):"??"}),V=[{title:"Központ",items:[{path:"/",label:"Dashboard",icon:''}]},{title:"Szolgáltatók",items:[{label:"Szolgáltatók",icon:'',children:[{path:"/providers",label:"Összes szolgáltató",icon:''},{path:"/providers/pending",label:"Jóváhagyásra váró",icon:''}]}]},{title:"Felhasználók & Partnerek",items:[{label:"Garázsok",icon:'',children:[{path:"/garages",label:"Garázsok listája",icon:''}]},{label:"Felhasználók",icon:'',children:[{path:"/users",label:"Felhasználók listája",icon:''},{path:"/persons",label:"Személyek",icon:''}]}]},{title:"Pénzügyek",items:[{path:"/packages",label:"Csomagok",icon:''}]},{title:"Gamification",items:[{label:"Játékmenet Beállítások",icon:'',children:[{path:"/gamification/point-rules",label:"Pontszabályok",icon:''},{path:"/gamification/levels",label:"Szintek",icon:''},{path:"/gamification/badges",label:"Kitüntetések",icon:''}]},{label:"Események & Szezonok",icon:'',children:[{path:"/gamification/seasons",label:"Szezonok",icon:''},{path:"/gamification/competitions",label:"Versenyek",icon:''}]},{label:"Felhasználói Adatok",icon:'',children:[{path:"/gamification/users",label:"Statisztikák",icon:''},{path:"/gamification/leaderboard",label:"Ranglista",icon:''},{path:"/gamification/ledger",label:"Pontnapló",icon:''}]},{path:"/gamification",label:"Gamification HQ",icon:''},{path:"/gamification/config",label:"Rendszer Konfig",icon:''},{path:"/gamification/parameters",label:"Rendszerparaméterek",icon:''}]},{title:"Rendszer",items:[{path:"/permissions",label:"Jogosultságok",icon:''},{label:"Rendszernaplók",icon:'',children:[{path:"/",label:"Rendszernaplók",icon:''}]}]}],_=M(()=>o.path==="/"?"Dashboard":o.path.startsWith("/permissions")?"Jogosultság Kezelés":o.path.startsWith("/garages")?"Garázsok":o.path.startsWith("/persons")?"Személyek":o.path.startsWith("/users")?"Felhasználók":o.path.startsWith("/logs")?"Rendszernaplók":o.path.startsWith("/packages")?"Csomagok":o.path.startsWith("/providers")?o.path==="/providers/pending"?"Jóváhagyásra váró szolgáltatók":o.path.startsWith("/providers/")?"Szolgáltató részletek":"Szolgáltatók":o.path.startsWith("/gamification")?o.path==="/gamification"?"Gamification HQ":o.path==="/gamification/point-rules"?"Pontszabályok":o.path==="/gamification/levels"?"Szintek":o.path==="/gamification/badges"?"Kitüntetések":o.path==="/gamification/seasons"?"Szezonok":o.path==="/gamification/competitions"?"Versenyek":o.path==="/gamification/users"?"Gamification Felhasználók":o.path.startsWith("/gamification/users/")?"Felhasználó Gamification":o.path==="/gamification/leaderboard"?"Ranglista":o.path==="/gamification/config"?"Rendszer Konfig":o.path==="/gamification/parameters"?"Rendszerparaméterek":o.path==="/gamification/ledger"?"Pontnapló":"Gamification":"Admin Panel");function a(i){return i==="/"?o.path==="/":o.path.startsWith(i)}function c(i){return i.children?i.children.some(t=>a(t.path)):!1}function p(i){g.value.has(i.label)?g.value.delete(i.label):g.value.add(i.label)}function $(){d.logout(),k.value=!1,S.push("/login")}function A(i){z.value&&!z.value.contains(i.target)&&(k.value=!1)}return K(()=>{document.addEventListener("click",A),x.fetchRegions().then(()=>{d.user?.region_code&&x.setActiveRegion(d.user.region_code)})}),N(()=>{document.removeEventListener("click",A)}),(i,t)=>{const y=I,D=re;return n(),l("div",de,[r.value?(n(),l("div",{key:0,class:"fixed inset-0 bg-black/50 z-20 lg:hidden",onClick:t[0]||(t[0]=f=>r.value=!1)})):H("",!0),e("aside",{class:v(["fixed lg:static inset-y-0 left-0 z-30 flex flex-col bg-slate-800 border-r border-slate-700 transition-all duration-300 ease-in-out overflow-hidden",r.value||!s.value?"w-52":"w-20"])},[R(y,{to:"/",class:"flex items-center h-16 px-4 border-b border-slate-700 overflow-hidden hover:bg-slate-700/50 transition"},{default:j(()=>[e("div",ce,[t[8]||(t[8]=e("img",{src:ie,class:"h-8 w-auto flex-shrink-0",alt:"SF Logo"},null,-1)),e("div",{class:v(["transition-all duration-300 ease-in-out overflow-hidden whitespace-nowrap",r.value||!s.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},[...t[7]||(t[7]=[e("div",{class:"text-sm font-bold text-white leading-tight"},"Service Finder",-1),e("div",{class:"text-[10px] font-semibold uppercase tracking-wider text-indigo-400 leading-tight"},"Admin",-1)])],2)])]),_:1}),e("button",{class:"hidden lg:flex items-center justify-center h-10 mx-2 mt-2 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition flex-shrink-0",onClick:t[1]||(t[1]=f=>s.value=!s.value)},[(n(),l("svg",{class:v(["w-5 h-5 transition-transform duration-300",{"rotate-180":s.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[9]||(t[9]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 19l-7-7 7-7m8 14l-7-7 7-7"},null,-1)])],2))]),e("nav",ue,[(n(),l(b,null,B(V,f=>(n(),l(b,{key:f.title},[F(e("div",{class:"px-3 py-1 text-xs font-semibold uppercase tracking-wider text-slate-500 whitespace-nowrap overflow-hidden"},h(f.title),513),[[G,r.value||!s.value]]),(n(!0),l(b,null,B(f.items,u=>(n(),l(b,{key:u.label},[u.children?(n(),l("div",he,[e("button",{class:v(["flex items-center w-full gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition",c(u)?"bg-indigo-600/20 text-indigo-300":"text-slate-300 hover:bg-slate-700 hover:text-white"]),onClick:m=>p(u)},[e("span",{class:"flex-shrink-0 w-5 h-5",innerHTML:u.icon},null,8,pe),e("span",{class:v(["flex-1 text-left whitespace-nowrap overflow-hidden transition-all duration-300 ease-in-out",r.value||!s.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},h(u.label),3),(n(),l("svg",{class:v(["w-4 h-4 transition-all duration-300 ease-in-out flex-shrink-0",{"rotate-90":g.value.has(u.label),"opacity-100":r.value||!s.value,"opacity-0":s.value&&!r.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[10]||(t[10]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},null,-1)])],2))],10,ve),F(e("div",ke,[(n(!0),l(b,null,B(u.children,m=>(n(),E(y,{key:m.path,to:m.path,class:v(["flex items-center gap-3 px-3 py-2 rounded-lg text-sm font-medium transition",a(m.path)?"bg-indigo-600 text-white":"text-slate-400 hover:bg-slate-700 hover:text-white"]),onClick:t[2]||(t[2]=Re=>r.value=!1)},{default:j(()=>[e("span",{class:"flex-shrink-0 w-4 h-4",innerHTML:m.icon},null,8,ge),e("span",fe,h(m.label),1)]),_:2},1032,["to","class"]))),128))],512),[[G,g.value.has(u.label)&&(r.value||!s.value)]])])):(n(),E(y,{key:1,to:u.path,class:v(["flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition",a(u.path)?"bg-indigo-600 text-white":"text-slate-300 hover:bg-slate-700 hover:text-white"]),onClick:t[3]||(t[3]=m=>r.value=!1)},{default:j(()=>[e("span",{class:"flex-shrink-0 w-5 h-5",innerHTML:u.icon},null,8,me),e("span",{class:v(["whitespace-nowrap overflow-hidden transition-all duration-300 ease-in-out",r.value||!s.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},h(u.label),3)]),_:2},1032,["to","class"]))],64))),128))],64))),64))]),e("div",we,[e("div",{class:v(["text-xs text-slate-500 whitespace-nowrap transition-all duration-300 ease-in-out",r.value||!s.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])}," ServiceFinder v2.0 ",2)])],2),e("div",xe,[e("header",be,[e("div",ze,[e("div",Me,[e("button",{class:"lg:hidden p-2 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition",onClick:t[4]||(t[4]=f=>r.value=!0)},[...t[11]||(t[11]=[e("svg",{class:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 12h16M4 18h16"})],-1)])]),e("h1",Ce,h(_.value),1)]),e("div",_e,[R(D),e("div",{class:"relative",ref_key:"dropdownRef",ref:z},[e("button",{class:"flex items-center gap-2 p-1.5 rounded-lg hover:bg-slate-700 transition",onClick:t[5]||(t[5]=f=>k.value=!k.value)},[e("div",ye,h(L.value),1),e("span",je,h(C.value),1),t[12]||(t[12]=e("svg",{class:"w-4 h-4 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))]),k.value?(n(),l("div",Be,[e("div",He,[e("p",Se,h(C.value),1),e("p",Le,h(W(d).userRole==="SUPERADMIN"?"Super Administrator":W(d).userRole||"Administrator"),1)]),R(y,{to:"/profile",class:"flex items-center gap-3 px-4 py-2.5 text-sm text-slate-300 hover:bg-slate-700 hover:text-white transition",onClick:t[6]||(t[6]=f=>k.value=!1)},{default:j(()=>[...t[13]||(t[13]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})],-1),P(" Profile Settings ",-1)])]),_:1}),e("button",{class:"flex items-center gap-3 w-full px-4 py-2.5 text-sm text-red-400 hover:bg-slate-700 hover:text-red-300 transition",onClick:$},[...t[14]||(t[14]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})],-1),P(" Sign Out ",-1)])])])):H("",!0)],512)])])]),e("main",Ve,[Z(i.$slots,"default")])])])}}});export{Ge as default};
+import{_ as I}from"./C2l6xpLd.js";import{e as T,f as J,g as K,ad as N,o as n,c as l,a as e,t as h,k as v,F as b,r as B,j as H,l as w,m as M,h as U,p as Q,K as q,q as X,s as Y,b as R,w as j,y as F,ae as G,L as E,i as W,d as P,V as Z}from"./BIbQr1Hg.js";import{u as ee}from"./DXATb271.js";const te={class:"text-base leading-none"},oe={class:"hidden sm:inline"},ne={key:0,class:"absolute right-0 mt-2 w-44 bg-slate-800 border border-slate-700 rounded-xl shadow-xl py-1 z-50"},se=["onClick"],ae={class:"text-lg leading-none"},le={key:0,class:"ml-auto text-indigo-400"},re=T({__name:"LanguageSwitcher",setup(O){const{locale:o,locales:S}=J(),d=w(!1),x=w(null),r=M(()=>S.value),s=M(()=>o.value),k={hu:"🇭🇺",en:"🇬🇧"},z={hu:"Magyar",en:"English"};function g(a){return k[a]||"🌐"}function C(a){return z[a]||a.toUpperCase()}function L(){const c=U("access_token").value;return c?{Authorization:`Bearer ${c}`}:{}}async function V(a){if(a===s.value){d.value=!1;return}o.value=a;try{localStorage.setItem("preferred_language",a)}catch{}try{await $fetch("/api/v1/auth/me/language",{method:"PATCH",headers:{...L(),"Content-Type":"application/json"},body:{preferred_language:a}})}catch(c){console.error("[LanguageSwitcher] Failed to persist language preference:",c)}d.value=!1}function _(a){x.value&&!x.value.contains(a.target)&&(d.value=!1)}return K(()=>{document.addEventListener("click",_)}),N(()=>{document.removeEventListener("click",_)}),(a,c)=>(n(),l("div",{class:"relative",ref_key:"dropdownRef",ref:x},[e("button",{class:"flex items-center gap-2 px-3 py-1.5 text-xs font-medium rounded-lg transition bg-slate-700/50 hover:bg-slate-700 text-slate-300 hover:text-white border border-slate-600/50",onClick:c[0]||(c[0]=p=>d.value=!d.value)},[e("span",te,h(g(s.value)),1),e("span",oe,h(C(s.value)),1),(n(),l("svg",{class:v(["w-3.5 h-3.5 text-slate-400 transition-transform duration-200",{"rotate-180":d.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...c[1]||(c[1]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])],2))]),d.value?(n(),l("div",ne,[(n(!0),l(b,null,B(r.value,p=>(n(),l("button",{key:p.code,class:v(["flex items-center gap-3 w-full px-4 py-2.5 text-sm transition",p.code===s.value?"bg-indigo-600/20 text-indigo-300":"text-slate-300 hover:bg-slate-700 hover:text-white"]),onClick:$=>V(p.code)},[e("span",ae,h(g(p.code)),1),e("span",null,h(p.name),1),p.code===s.value?(n(),l("span",le,[...c[2]||(c[2]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})],-1)])])):H("",!0)],10,se))),128))])):H("",!0)],512))}}),ie=Q("/logo.svg"),de={class:"min-h-screen bg-slate-900 text-white flex"},ce={class:"flex items-center gap-3 min-w-0"},ue={class:"flex-1 px-2 py-4 space-y-2 overflow-y-auto overflow-x-hidden"},he={key:0},ve=["onClick"],pe=["innerHTML"],ke={class:"ml-2 mt-1 space-y-1 overflow-hidden transition-all duration-200"},ge=["innerHTML"],fe={class:"whitespace-nowrap overflow-hidden"},me=["innerHTML"],we={class:"p-4 border-t border-slate-700 overflow-hidden"},xe={class:"flex-1 flex flex-col min-w-0 transition-all duration-300 ease-in-out"},be={class:"sticky top-0 z-10 bg-slate-800/95 backdrop-blur-sm border-b border-slate-700"},ze={class:"flex items-center justify-between h-16 px-4 lg:px-6"},Me={class:"flex items-center gap-3"},Ce={class:"text-lg font-semibold text-white truncate"},_e={class:"flex items-center gap-3"},ye={class:"w-8 h-8 rounded-full bg-indigo-600 flex items-center justify-center text-sm font-bold text-white"},je={class:"hidden sm:block text-sm text-slate-300"},Be={key:0,class:"absolute right-0 mt-2 w-56 bg-slate-800 border border-slate-700 rounded-xl shadow-xl py-1 z-50"},He={class:"px-4 py-3 border-b border-slate-700"},Se={class:"text-sm font-medium text-white"},Le={class:"text-xs text-slate-400 mt-0.5"},Ve={class:"flex-1 p-4 lg:p-6 overflow-auto"},Ge=T({__name:"default",setup(O){const o=q(),S=X(),d=Y(),x=ee(),r=w(!1),s=w(!1),k=w(!1),z=w(null),g=w(new Set(["Központ"])),C=M(()=>d.userEmail||"Ismeretlen Felhasználó"),L=M(()=>{const i=d.userEmail;return i?i.split("@")[0].split(".").map(t=>t[0]).join("").toUpperCase().slice(0,2):"??"}),V=[{title:"Központ",items:[{path:"/",label:"Dashboard",icon:''}]},{title:"Szolgáltatók",items:[{label:"Szolgáltatók",icon:'',children:[{path:"/providers",label:"Összes szolgáltató",icon:''},{path:"/providers/pending",label:"Jóváhagyásra váró",icon:''}]}]},{title:"Felhasználók & Partnerek",items:[{label:"Garázsok",icon:'',children:[{path:"/garages",label:"Garázsok listája",icon:''}]},{label:"Felhasználók",icon:'',children:[{path:"/users",label:"Felhasználók listája",icon:''},{path:"/persons",label:"Személyek",icon:''}]}]},{title:"Pénzügyek",items:[{path:"/packages",label:"Csomagok",icon:''}]},{title:"Gamification",items:[{label:"Játékmenet Beállítások",icon:'',children:[{path:"/gamification/point-rules",label:"Pontszabályok",icon:''},{path:"/gamification/levels",label:"Szintek",icon:''},{path:"/gamification/badges",label:"Kitüntetések",icon:''}]},{label:"Események & Szezonok",icon:'',children:[{path:"/gamification/seasons",label:"Szezonok",icon:''},{path:"/gamification/competitions",label:"Versenyek",icon:''}]},{label:"Felhasználói Adatok",icon:'',children:[{path:"/gamification/users",label:"Statisztikák",icon:''},{path:"/gamification/leaderboard",label:"Ranglista",icon:''},{path:"/gamification/ledger",label:"Pontnapló",icon:''}]},{path:"/gamification",label:"Gamification HQ",icon:''},{path:"/gamification/config",label:"Rendszer Konfig",icon:''},{path:"/gamification/parameters",label:"Rendszerparaméterek",icon:''}]},{title:"Rendszer",items:[{path:"/permissions",label:"Jogosultságok",icon:''},{label:"Rendszernaplók",icon:'',children:[{path:"/",label:"Rendszernaplók",icon:''}]}]}],_=M(()=>o.path==="/"?"Dashboard":o.path.startsWith("/permissions")?"Jogosultság Kezelés":o.path.startsWith("/garages")?"Garázsok":o.path.startsWith("/persons")?"Személyek":o.path.startsWith("/users")?"Felhasználók":o.path.startsWith("/logs")?"Rendszernaplók":o.path.startsWith("/packages")?"Csomagok":o.path.startsWith("/providers")?o.path==="/providers/pending"?"Jóváhagyásra váró szolgáltatók":o.path.startsWith("/providers/")?"Szolgáltató részletek":"Szolgáltatók":o.path.startsWith("/gamification")?o.path==="/gamification"?"Gamification HQ":o.path==="/gamification/point-rules"?"Pontszabályok":o.path==="/gamification/levels"?"Szintek":o.path==="/gamification/badges"?"Kitüntetések":o.path==="/gamification/seasons"?"Szezonok":o.path==="/gamification/competitions"?"Versenyek":o.path==="/gamification/users"?"Gamification Felhasználók":o.path.startsWith("/gamification/users/")?"Felhasználó Gamification":o.path==="/gamification/leaderboard"?"Ranglista":o.path==="/gamification/config"?"Rendszer Konfig":o.path==="/gamification/parameters"?"Rendszerparaméterek":o.path==="/gamification/ledger"?"Pontnapló":"Gamification":"Admin Panel");function a(i){return i==="/"?o.path==="/":o.path.startsWith(i)}function c(i){return i.children?i.children.some(t=>a(t.path)):!1}function p(i){g.value.has(i.label)?g.value.delete(i.label):g.value.add(i.label)}function $(){d.logout(),k.value=!1,S.push("/login")}function A(i){z.value&&!z.value.contains(i.target)&&(k.value=!1)}return K(()=>{document.addEventListener("click",A),x.fetchRegions().then(()=>{d.user?.region_code&&x.setActiveRegion(d.user.region_code)})}),N(()=>{document.removeEventListener("click",A)}),(i,t)=>{const y=I,D=re;return n(),l("div",de,[r.value?(n(),l("div",{key:0,class:"fixed inset-0 bg-black/50 z-20 lg:hidden",onClick:t[0]||(t[0]=f=>r.value=!1)})):H("",!0),e("aside",{class:v(["fixed lg:static inset-y-0 left-0 z-30 flex flex-col bg-slate-800 border-r border-slate-700 transition-all duration-300 ease-in-out overflow-hidden",r.value||!s.value?"w-52":"w-20"])},[R(y,{to:"/",class:"flex items-center h-16 px-4 border-b border-slate-700 overflow-hidden hover:bg-slate-700/50 transition"},{default:j(()=>[e("div",ce,[t[8]||(t[8]=e("img",{src:ie,class:"h-8 w-auto flex-shrink-0",alt:"SF Logo"},null,-1)),e("div",{class:v(["transition-all duration-300 ease-in-out overflow-hidden whitespace-nowrap",r.value||!s.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},[...t[7]||(t[7]=[e("div",{class:"text-sm font-bold text-white leading-tight"},"Service Finder",-1),e("div",{class:"text-[10px] font-semibold uppercase tracking-wider text-indigo-400 leading-tight"},"Admin",-1)])],2)])]),_:1}),e("button",{class:"hidden lg:flex items-center justify-center h-10 mx-2 mt-2 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition flex-shrink-0",onClick:t[1]||(t[1]=f=>s.value=!s.value)},[(n(),l("svg",{class:v(["w-5 h-5 transition-transform duration-300",{"rotate-180":s.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[9]||(t[9]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 19l-7-7 7-7m8 14l-7-7 7-7"},null,-1)])],2))]),e("nav",ue,[(n(),l(b,null,B(V,f=>(n(),l(b,{key:f.title},[F(e("div",{class:"px-3 py-1 text-xs font-semibold uppercase tracking-wider text-slate-500 whitespace-nowrap overflow-hidden"},h(f.title),513),[[G,r.value||!s.value]]),(n(!0),l(b,null,B(f.items,u=>(n(),l(b,{key:u.label},[u.children?(n(),l("div",he,[e("button",{class:v(["flex items-center w-full gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition",c(u)?"bg-indigo-600/20 text-indigo-300":"text-slate-300 hover:bg-slate-700 hover:text-white"]),onClick:m=>p(u)},[e("span",{class:"flex-shrink-0 w-5 h-5",innerHTML:u.icon},null,8,pe),e("span",{class:v(["flex-1 text-left whitespace-nowrap overflow-hidden transition-all duration-300 ease-in-out",r.value||!s.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},h(u.label),3),(n(),l("svg",{class:v(["w-4 h-4 transition-all duration-300 ease-in-out flex-shrink-0",{"rotate-90":g.value.has(u.label),"opacity-100":r.value||!s.value,"opacity-0":s.value&&!r.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...t[10]||(t[10]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},null,-1)])],2))],10,ve),F(e("div",ke,[(n(!0),l(b,null,B(u.children,m=>(n(),E(y,{key:m.path,to:m.path,class:v(["flex items-center gap-3 px-3 py-2 rounded-lg text-sm font-medium transition",a(m.path)?"bg-indigo-600 text-white":"text-slate-400 hover:bg-slate-700 hover:text-white"]),onClick:t[2]||(t[2]=Re=>r.value=!1)},{default:j(()=>[e("span",{class:"flex-shrink-0 w-4 h-4",innerHTML:m.icon},null,8,ge),e("span",fe,h(m.label),1)]),_:2},1032,["to","class"]))),128))],512),[[G,g.value.has(u.label)&&(r.value||!s.value)]])])):(n(),E(y,{key:1,to:u.path,class:v(["flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition",a(u.path)?"bg-indigo-600 text-white":"text-slate-300 hover:bg-slate-700 hover:text-white"]),onClick:t[3]||(t[3]=m=>r.value=!1)},{default:j(()=>[e("span",{class:"flex-shrink-0 w-5 h-5",innerHTML:u.icon},null,8,me),e("span",{class:v(["whitespace-nowrap overflow-hidden transition-all duration-300 ease-in-out",r.value||!s.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])},h(u.label),3)]),_:2},1032,["to","class"]))],64))),128))],64))),64))]),e("div",we,[e("div",{class:v(["text-xs text-slate-500 whitespace-nowrap transition-all duration-300 ease-in-out",r.value||!s.value?"opacity-100 max-w-[200px]":"opacity-0 max-w-0"])}," ServiceFinder v2.0 ",2)])],2),e("div",xe,[e("header",be,[e("div",ze,[e("div",Me,[e("button",{class:"lg:hidden p-2 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition",onClick:t[4]||(t[4]=f=>r.value=!0)},[...t[11]||(t[11]=[e("svg",{class:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 12h16M4 18h16"})],-1)])]),e("h1",Ce,h(_.value),1)]),e("div",_e,[R(D),e("div",{class:"relative",ref_key:"dropdownRef",ref:z},[e("button",{class:"flex items-center gap-2 p-1.5 rounded-lg hover:bg-slate-700 transition",onClick:t[5]||(t[5]=f=>k.value=!k.value)},[e("div",ye,h(L.value),1),e("span",je,h(C.value),1),t[12]||(t[12]=e("svg",{class:"w-4 h-4 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))]),k.value?(n(),l("div",Be,[e("div",He,[e("p",Se,h(C.value),1),e("p",Le,h(W(d).userRole==="SUPERADMIN"?"Super Administrator":W(d).userRole||"Administrator"),1)]),R(y,{to:"/profile",class:"flex items-center gap-3 px-4 py-2.5 text-sm text-slate-300 hover:bg-slate-700 hover:text-white transition",onClick:t[6]||(t[6]=f=>k.value=!1)},{default:j(()=>[...t[13]||(t[13]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})],-1),P(" Profile Settings ",-1)])]),_:1}),e("button",{class:"flex items-center gap-3 w-full px-4 py-2.5 text-sm text-red-400 hover:bg-slate-700 hover:text-red-300 transition",onClick:$},[...t[14]||(t[14]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})],-1),P(" Sign Out ",-1)])])])):H("",!0)],512)])])]),e("main",Ve,[Z(i.$slots,"default")])])])}}});export{Ge as default};
diff --git a/frontend_admin/.output/public/_nuxt/Bz1JtWuj.js b/frontend_admin/.nuxt/dist/client/_nuxt/OCjlko5P.js
similarity index 99%
rename from frontend_admin/.output/public/_nuxt/Bz1JtWuj.js
rename to frontend_admin/.nuxt/dist/client/_nuxt/OCjlko5P.js
index b42caa6..d663077 100644
--- a/frontend_admin/.output/public/_nuxt/Bz1JtWuj.js
+++ b/frontend_admin/.nuxt/dist/client/_nuxt/OCjlko5P.js
@@ -1 +1 @@
-import{e as T,f as S,g as $,c as n,a as e,t as a,i as t,F as A,r as F,j as x,x as j,y as P,z as W,A as E,d as M,l as d,h as J,o as l,k as D,m as I}from"./Duy9QquX.js";import{_ as L}from"./DlAUqK2U.js";const O={class:"mb-8"},U={class:"text-2xl font-bold text-white"},R={class:"text-slate-400 mt-1"},q={key:0,class:"flex items-center justify-center py-20"},G={class:"text-slate-400 flex items-center gap-3"},K={key:1,class:"bg-rose-500/10 border border-rose-500/30 rounded-xl p-6 mb-8"},Q={class:"text-rose-400"},X={key:2,class:"bg-slate-800 rounded-xl border border-slate-700 overflow-hidden"},Y={class:"w-full"},Z={class:"border-b border-slate-700"},ee={class:"text-left px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},te={class:"text-left px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},se={class:"text-left px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},ae={class:"text-left px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},oe={class:"text-left px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},ie={class:"text-right px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},ne={class:"divide-y divide-slate-700/50"},le={class:"px-6 py-4"},re={class:"text-sm font-mono text-amber-300 bg-amber-500/10 px-2 py-0.5 rounded"},ce={class:"px-6 py-4"},de=["title"],ue={class:"px-6 py-4"},me={class:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-slate-500/10 text-slate-400"},pe={class:"px-6 py-4"},xe={class:"px-6 py-4 text-sm text-slate-400"},fe={class:"px-6 py-4 text-right"},he=["onClick","title"],_e={key:0},ge={colspan:"6",class:"px-6 py-12 text-center text-sm text-slate-500"},ve={class:"bg-slate-800 rounded-xl border border-slate-700 p-6 w-full max-w-lg mx-4 shadow-2xl"},be={class:"text-lg font-semibold text-white mb-2"},ye={class:"text-sm text-slate-400 mb-6"},ke={class:"text-amber-300 font-mono text-xs"},we={class:"block text-sm font-medium text-slate-300 mb-1"},Ce=["placeholder"],je={key:0,class:"mt-1 text-xs text-emerald-400"},Me={key:1,class:"mt-1 text-xs text-slate-500"},Be={key:0,class:"bg-rose-500/10 border border-rose-500/30 rounded-lg p-3"},Ve={class:"text-sm text-rose-400"},ze={class:"flex justify-end gap-3 pt-2"},Ne=["disabled"],He={key:0,class:"w-4 h-4 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Te={key:4,class:"fixed bottom-6 right-6 z-50 bg-emerald-600 text-white px-4 py-3 rounded-lg shadow-lg text-sm flex items-center gap-2 animate-slide-up"},Se=T({__name:"parameters",setup($e){const{t:o}=S(),h=d(!0),_=d(!1),m=d(!1),g=d([]),v=d(!1),p=d(null),c=d(""),u=d(""),f=d(""),w=I(()=>{if(!c.value)return!1;const s=c.value.trim();return s.startsWith("{")&&s.endsWith("}")||s.startsWith("[")&&s.endsWith("]")});function C(){const i=J("access_token").value;return i?{Authorization:`Bearer ${i}`,"Content-Type":"application/json"}:{"Content-Type":"application/json"}}function B(s){f.value=s,setTimeout(()=>{f.value=""},3e3)}function b(s){if(s==null)return"—";if(typeof s=="object")try{return JSON.stringify(s)}catch{return String(s)}return String(s)}function V(s,i){return s.length<=i?s:s.substring(0,i)+"..."}function z(s){switch(s?.toLowerCase()){case"global":return"bg-emerald-500/10 text-emerald-400";case"country":return"bg-blue-500/10 text-blue-400";case"region":return"bg-violet-500/10 text-violet-400";case"user":return"bg-amber-500/10 text-amber-400";default:return"bg-slate-500/10 text-slate-400"}}function N(s){p.value=s,c.value=b(s.value),u.value="",v.value=!0}function y(){v.value=!1,p.value=null,c.value="",u.value=""}async function k(){h.value=!0,_.value=!1;try{const s=await $fetch("/api/v1/admin/gamification/system-params",{headers:C()});g.value=s}catch(s){console.error("Failed to fetch system params:",s),_.value=!0}finally{h.value=!1}}async function H(){if(!p.value)return;m.value=!0,u.value="";let s;try{if(w.value)s=JSON.parse(c.value);else{const i=Number(c.value);s=isNaN(i)?c.value:i}}catch(i){u.value=o("gamification.params.invalid_json")+" "+(i.message||""),m.value=!1;return}try{await $fetch(`/api/v1/admin/gamification/system-params/${p.value.key}`,{method:"PUT",headers:C(),body:{value:s}}),B(o("gamification.params.updated",{key:p.value.key})),y(),await k()}catch(i){u.value=o("gamification.params.save_error"),console.error("Failed to save system param:",i)}finally{m.value=!1}}return $(()=>{k()}),(s,i)=>(l(),n("div",null,[e("div",O,[e("h1",U,a(t(o)("gamification.params.title")),1),e("p",R,a(t(o)("gamification.params.subtitle")),1)]),t(h)?(l(),n("div",q,[e("div",G,[i[1]||(i[1]=e("svg",{class:"w-5 h-5 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})],-1)),e("span",null,a(t(o)("gamification.params.loading")),1)])])):t(_)?(l(),n("div",K,[e("p",Q,a(t(o)("gamification.params.load_error")),1),e("button",{onClick:k,class:"mt-3 text-sm text-rose-300 hover:text-rose-200 underline"},a(t(o)("gamification.params.retry")),1)])):(l(),n("div",X,[e("table",Y,[e("thead",null,[e("tr",Z,[e("th",ee,a(t(o)("gamification.params.col_key")),1),e("th",te,a(t(o)("gamification.params.col_value")),1),e("th",se,a(t(o)("gamification.params.col_category")),1),e("th",ae,a(t(o)("gamification.params.col_scope")),1),e("th",oe,a(t(o)("gamification.params.col_scope_id")),1),e("th",ie,a(t(o)("gamification.params.col_actions")),1)])]),e("tbody",ne,[(l(!0),n(A,null,F(t(g),r=>(l(),n("tr",{key:r.key,class:"hover:bg-slate-700/30 transition"},[e("td",le,[e("code",re,a(r.key),1)]),e("td",ce,[e("span",{class:"text-sm text-slate-300 max-w-xs truncate block font-mono",title:b(r.value)},a(V(b(r.value),60)),9,de)]),e("td",ue,[e("span",me,a(r.category||"—"),1)]),e("td",pe,[e("span",{class:D(["inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium",z(r.scope_level)])},a(r.scope_level),3)]),e("td",xe,a(r.scope_id||"—"),1),e("td",fe,[e("button",{onClick:Ae=>N(r),class:"p-1.5 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition",title:t(o)("gamification.params.edit")},[...i[2]||(i[2]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})],-1)])],8,he)])]))),128)),t(g).length===0?(l(),n("tr",_e,[e("td",ge,a(t(o)("gamification.params.empty")),1)])):x("",!0)])])])),t(v)?(l(),n("div",{key:3,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm",onClick:j(y,["self"])},[e("div",ve,[e("h2",be,a(t(o)("gamification.params.edit_title")),1),e("p",ye,[e("code",ke,a(t(p)?.key),1)]),e("form",{onSubmit:j(H,["prevent"]),class:"space-y-4"},[e("div",null,[e("label",we,a(t(o)("gamification.params.value_label")),1),P(e("textarea",{"onUpdate:modelValue":i[0]||(i[0]=r=>E(c)?c.value=r:null),rows:"6",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white font-mono text-sm placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-amber-500/50 focus:border-amber-500 resize-none",spellcheck:"false",placeholder:t(o)("gamification.params.value_placeholder")},null,8,Ce),[[W,t(c)]]),t(w)?(l(),n("p",je,a(t(o)("gamification.params.json_detected")),1)):(l(),n("p",Me,a(t(o)("gamification.params.text_value")),1))]),t(u)?(l(),n("div",Be,[e("p",Ve,a(t(u)),1)])):x("",!0),e("div",ze,[e("button",{type:"button",onClick:y,class:"px-4 py-2 text-sm text-slate-400 hover:text-white transition"},a(t(o)("gamification.params.cancel")),1),e("button",{type:"submit",disabled:t(m),class:"px-4 py-2 bg-amber-600 hover:bg-amber-500 disabled:bg-amber-600/50 text-white rounded-lg text-sm font-medium transition flex items-center gap-2"},[t(m)?(l(),n("svg",He,[...i[3]||(i[3]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"},null,-1)])])):x("",!0),M(" "+a(t(m)?t(o)("gamification.params.saving"):t(o)("gamification.params.save")),1)],8,Ne)])],32)])])):x("",!0),t(f)?(l(),n("div",Te,[i[4]||(i[4]=e("svg",{class:"w-4 h-4 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),M(" "+a(t(f)),1)])):x("",!0)]))}}),We=L(Se,[["__scopeId","data-v-8222d5f7"]]);export{We as default};
+import{e as T,f as S,g as $,c as n,a as e,t as a,i as t,F as A,r as F,j as x,x as j,y as P,z as W,A as E,d as M,l as d,h as J,o as l,k as D,m as I}from"./BIbQr1Hg.js";import{_ as L}from"./DlAUqK2U.js";const O={class:"mb-8"},U={class:"text-2xl font-bold text-white"},R={class:"text-slate-400 mt-1"},q={key:0,class:"flex items-center justify-center py-20"},G={class:"text-slate-400 flex items-center gap-3"},K={key:1,class:"bg-rose-500/10 border border-rose-500/30 rounded-xl p-6 mb-8"},Q={class:"text-rose-400"},X={key:2,class:"bg-slate-800 rounded-xl border border-slate-700 overflow-hidden"},Y={class:"w-full"},Z={class:"border-b border-slate-700"},ee={class:"text-left px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},te={class:"text-left px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},se={class:"text-left px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},ae={class:"text-left px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},oe={class:"text-left px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},ie={class:"text-right px-6 py-4 text-xs font-medium text-slate-400 uppercase tracking-wider"},ne={class:"divide-y divide-slate-700/50"},le={class:"px-6 py-4"},re={class:"text-sm font-mono text-amber-300 bg-amber-500/10 px-2 py-0.5 rounded"},ce={class:"px-6 py-4"},de=["title"],ue={class:"px-6 py-4"},me={class:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-slate-500/10 text-slate-400"},pe={class:"px-6 py-4"},xe={class:"px-6 py-4 text-sm text-slate-400"},fe={class:"px-6 py-4 text-right"},he=["onClick","title"],_e={key:0},ge={colspan:"6",class:"px-6 py-12 text-center text-sm text-slate-500"},ve={class:"bg-slate-800 rounded-xl border border-slate-700 p-6 w-full max-w-lg mx-4 shadow-2xl"},be={class:"text-lg font-semibold text-white mb-2"},ye={class:"text-sm text-slate-400 mb-6"},ke={class:"text-amber-300 font-mono text-xs"},we={class:"block text-sm font-medium text-slate-300 mb-1"},Ce=["placeholder"],je={key:0,class:"mt-1 text-xs text-emerald-400"},Me={key:1,class:"mt-1 text-xs text-slate-500"},Be={key:0,class:"bg-rose-500/10 border border-rose-500/30 rounded-lg p-3"},Ve={class:"text-sm text-rose-400"},ze={class:"flex justify-end gap-3 pt-2"},Ne=["disabled"],He={key:0,class:"w-4 h-4 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Te={key:4,class:"fixed bottom-6 right-6 z-50 bg-emerald-600 text-white px-4 py-3 rounded-lg shadow-lg text-sm flex items-center gap-2 animate-slide-up"},Se=T({__name:"parameters",setup($e){const{t:o}=S(),h=d(!0),_=d(!1),m=d(!1),g=d([]),v=d(!1),p=d(null),c=d(""),u=d(""),f=d(""),w=I(()=>{if(!c.value)return!1;const s=c.value.trim();return s.startsWith("{")&&s.endsWith("}")||s.startsWith("[")&&s.endsWith("]")});function C(){const i=J("access_token").value;return i?{Authorization:`Bearer ${i}`,"Content-Type":"application/json"}:{"Content-Type":"application/json"}}function B(s){f.value=s,setTimeout(()=>{f.value=""},3e3)}function b(s){if(s==null)return"—";if(typeof s=="object")try{return JSON.stringify(s)}catch{return String(s)}return String(s)}function V(s,i){return s.length<=i?s:s.substring(0,i)+"..."}function z(s){switch(s?.toLowerCase()){case"global":return"bg-emerald-500/10 text-emerald-400";case"country":return"bg-blue-500/10 text-blue-400";case"region":return"bg-violet-500/10 text-violet-400";case"user":return"bg-amber-500/10 text-amber-400";default:return"bg-slate-500/10 text-slate-400"}}function N(s){p.value=s,c.value=b(s.value),u.value="",v.value=!0}function y(){v.value=!1,p.value=null,c.value="",u.value=""}async function k(){h.value=!0,_.value=!1;try{const s=await $fetch("/api/v1/admin/gamification/system-params",{headers:C()});g.value=s}catch(s){console.error("Failed to fetch system params:",s),_.value=!0}finally{h.value=!1}}async function H(){if(!p.value)return;m.value=!0,u.value="";let s;try{if(w.value)s=JSON.parse(c.value);else{const i=Number(c.value);s=isNaN(i)?c.value:i}}catch(i){u.value=o("gamification.params.invalid_json")+" "+(i.message||""),m.value=!1;return}try{await $fetch(`/api/v1/admin/gamification/system-params/${p.value.key}`,{method:"PUT",headers:C(),body:{value:s}}),B(o("gamification.params.updated",{key:p.value.key})),y(),await k()}catch(i){u.value=o("gamification.params.save_error"),console.error("Failed to save system param:",i)}finally{m.value=!1}}return $(()=>{k()}),(s,i)=>(l(),n("div",null,[e("div",O,[e("h1",U,a(t(o)("gamification.params.title")),1),e("p",R,a(t(o)("gamification.params.subtitle")),1)]),t(h)?(l(),n("div",q,[e("div",G,[i[1]||(i[1]=e("svg",{class:"w-5 h-5 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})],-1)),e("span",null,a(t(o)("gamification.params.loading")),1)])])):t(_)?(l(),n("div",K,[e("p",Q,a(t(o)("gamification.params.load_error")),1),e("button",{onClick:k,class:"mt-3 text-sm text-rose-300 hover:text-rose-200 underline"},a(t(o)("gamification.params.retry")),1)])):(l(),n("div",X,[e("table",Y,[e("thead",null,[e("tr",Z,[e("th",ee,a(t(o)("gamification.params.col_key")),1),e("th",te,a(t(o)("gamification.params.col_value")),1),e("th",se,a(t(o)("gamification.params.col_category")),1),e("th",ae,a(t(o)("gamification.params.col_scope")),1),e("th",oe,a(t(o)("gamification.params.col_scope_id")),1),e("th",ie,a(t(o)("gamification.params.col_actions")),1)])]),e("tbody",ne,[(l(!0),n(A,null,F(t(g),r=>(l(),n("tr",{key:r.key,class:"hover:bg-slate-700/30 transition"},[e("td",le,[e("code",re,a(r.key),1)]),e("td",ce,[e("span",{class:"text-sm text-slate-300 max-w-xs truncate block font-mono",title:b(r.value)},a(V(b(r.value),60)),9,de)]),e("td",ue,[e("span",me,a(r.category||"—"),1)]),e("td",pe,[e("span",{class:D(["inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium",z(r.scope_level)])},a(r.scope_level),3)]),e("td",xe,a(r.scope_id||"—"),1),e("td",fe,[e("button",{onClick:Ae=>N(r),class:"p-1.5 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition",title:t(o)("gamification.params.edit")},[...i[2]||(i[2]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})],-1)])],8,he)])]))),128)),t(g).length===0?(l(),n("tr",_e,[e("td",ge,a(t(o)("gamification.params.empty")),1)])):x("",!0)])])])),t(v)?(l(),n("div",{key:3,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm",onClick:j(y,["self"])},[e("div",ve,[e("h2",be,a(t(o)("gamification.params.edit_title")),1),e("p",ye,[e("code",ke,a(t(p)?.key),1)]),e("form",{onSubmit:j(H,["prevent"]),class:"space-y-4"},[e("div",null,[e("label",we,a(t(o)("gamification.params.value_label")),1),P(e("textarea",{"onUpdate:modelValue":i[0]||(i[0]=r=>E(c)?c.value=r:null),rows:"6",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white font-mono text-sm placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-amber-500/50 focus:border-amber-500 resize-none",spellcheck:"false",placeholder:t(o)("gamification.params.value_placeholder")},null,8,Ce),[[W,t(c)]]),t(w)?(l(),n("p",je,a(t(o)("gamification.params.json_detected")),1)):(l(),n("p",Me,a(t(o)("gamification.params.text_value")),1))]),t(u)?(l(),n("div",Be,[e("p",Ve,a(t(u)),1)])):x("",!0),e("div",ze,[e("button",{type:"button",onClick:y,class:"px-4 py-2 text-sm text-slate-400 hover:text-white transition"},a(t(o)("gamification.params.cancel")),1),e("button",{type:"submit",disabled:t(m),class:"px-4 py-2 bg-amber-600 hover:bg-amber-500 disabled:bg-amber-600/50 text-white rounded-lg text-sm font-medium transition flex items-center gap-2"},[t(m)?(l(),n("svg",He,[...i[3]||(i[3]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"},null,-1)])])):x("",!0),M(" "+a(t(m)?t(o)("gamification.params.saving"):t(o)("gamification.params.save")),1)],8,Ne)])],32)])])):x("",!0),t(f)?(l(),n("div",Te,[i[4]||(i[4]=e("svg",{class:"w-4 h-4 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),M(" "+a(t(f)),1)])):x("",!0)]))}}),We=L(Se,[["__scopeId","data-v-8222d5f7"]]);export{We as default};
diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/iEY_AUwe.js b/frontend_admin/.nuxt/dist/client/_nuxt/XheHpngv.js
similarity index 96%
rename from frontend_admin/.nuxt/dist/client/_nuxt/iEY_AUwe.js
rename to frontend_admin/.nuxt/dist/client/_nuxt/XheHpngv.js
index 1f59ef0..fc7f591 100644
--- a/frontend_admin/.nuxt/dist/client/_nuxt/iEY_AUwe.js
+++ b/frontend_admin/.nuxt/dist/client/_nuxt/XheHpngv.js
@@ -1 +1 @@
-import{u as v}from"./BmPpcd_L.js";function h(){const o=v();function u(t,e){const r=o.activeLocale||"en-EU";try{return new Intl.NumberFormat(r,e).format(t)}catch{return new Intl.NumberFormat("en-EU",e).format(t)}}function a(t,e,r){const c=o.activeLocale||"en-EU",n=e||o.activeCurrency||"EUR";try{return new Intl.NumberFormat(c,{style:"currency",currency:n,minimumFractionDigits:2,maximumFractionDigits:2,...r}).format(t)}catch{return`${t.toFixed(2)} ${n}`}}function s(t,e){const r=o.activeLocale||"en-EU",c=o.activeTimezone||"Europe/Brussels",n=typeof t=="string"||typeof t=="number"?new Date(t):t;try{return new Intl.DateTimeFormat(r,{timezone:c,year:"numeric",month:"2-digit",day:"2-digit",...e}).format(n)}catch{return n.toLocaleDateString("en-GB")}}function l(t,e){const r=o.activeLocale||"en-EU",c=o.activeTimezone||"Europe/Brussels",n=typeof t=="string"||typeof t=="number"?new Date(t):t;try{return new Intl.DateTimeFormat(r,{timezone:c,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",...e}).format(n)}catch{return n.toLocaleString("en-GB")}}function f(t,e){const r=o.activeLocale||"en-EU";try{return new Intl.NumberFormat(r,{style:"percent",minimumFractionDigits:0,maximumFractionDigits:1,...e}).format(t/100)}catch{return`${t}%`}}function m(t,e){const r=e??o.activeVatRate??0,c=t*(r/100),n=t+c;return{net:t,vat:c,gross:n,vatRate:r}}function y(t,e,r){const{net:c,vat:n,gross:g,vatRate:F}=m(t,e),i=r||o.activeCurrency||"EUR";return`Net: ${a(c,i)} | VAT: ${a(n,i)} (${F}%) | Gross: ${a(g,i)}`}return{formatNumber:u,formatCurrency:a,formatDate:s,formatDateTime:l,formatPercent:f,calculatePriceWithVat:m,formatPriceWithVat:y}}export{h as u};
+import{u as v}from"./DXATb271.js";function h(){const o=v();function u(t,e){const r=o.activeLocale||"en-EU";try{return new Intl.NumberFormat(r,e).format(t)}catch{return new Intl.NumberFormat("en-EU",e).format(t)}}function a(t,e,r){const c=o.activeLocale||"en-EU",n=e||o.activeCurrency||"EUR";try{return new Intl.NumberFormat(c,{style:"currency",currency:n,minimumFractionDigits:2,maximumFractionDigits:2,...r}).format(t)}catch{return`${t.toFixed(2)} ${n}`}}function s(t,e){const r=o.activeLocale||"en-EU",c=o.activeTimezone||"Europe/Brussels",n=typeof t=="string"||typeof t=="number"?new Date(t):t;try{return new Intl.DateTimeFormat(r,{timezone:c,year:"numeric",month:"2-digit",day:"2-digit",...e}).format(n)}catch{return n.toLocaleDateString("en-GB")}}function l(t,e){const r=o.activeLocale||"en-EU",c=o.activeTimezone||"Europe/Brussels",n=typeof t=="string"||typeof t=="number"?new Date(t):t;try{return new Intl.DateTimeFormat(r,{timezone:c,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",...e}).format(n)}catch{return n.toLocaleString("en-GB")}}function f(t,e){const r=o.activeLocale||"en-EU";try{return new Intl.NumberFormat(r,{style:"percent",minimumFractionDigits:0,maximumFractionDigits:1,...e}).format(t/100)}catch{return`${t}%`}}function m(t,e){const r=e??o.activeVatRate??0,c=t*(r/100),n=t+c;return{net:t,vat:c,gross:n,vatRate:r}}function y(t,e,r){const{net:c,vat:n,gross:g,vatRate:F}=m(t,e),i=r||o.activeCurrency||"EUR";return`Net: ${a(c,i)} | VAT: ${a(n,i)} (${F}%) | Gross: ${a(g,i)}`}return{formatNumber:u,formatCurrency:a,formatDate:s,formatDateTime:l,formatPercent:f,calculatePriceWithVat:m,formatPriceWithVat:y}}export{h as u};
diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/_id_.BbvSG4P_.css b/frontend_admin/.nuxt/dist/client/_nuxt/_id_.BbvSG4P_.css
deleted file mode 100644
index 3db0cc9..0000000
--- a/frontend_admin/.nuxt/dist/client/_nuxt/_id_.BbvSG4P_.css
+++ /dev/null
@@ -1 +0,0 @@
-input[type=range][data-v-cbc29188]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#6366f1;border:2px solid #1e293b;border-radius:50%;cursor:pointer;height:16px;width:16px}input[type=range][data-v-cbc29188]::-moz-range-thumb{background:#6366f1;border:2px solid #1e293b;border-radius:50%;cursor:pointer;height:16px;width:16px}.timeline-enter-active[data-v-cbc29188]{transition:all .3s ease-out}.timeline-enter-from[data-v-cbc29188]{opacity:0;transform:translate(-10px)}
diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/D_rgCg0x.js b/frontend_admin/.nuxt/dist/client/_nuxt/dQhiM-C1.js
similarity index 98%
rename from frontend_admin/.nuxt/dist/client/_nuxt/D_rgCg0x.js
rename to frontend_admin/.nuxt/dist/client/_nuxt/dQhiM-C1.js
index 214b577..bd46536 100644
--- a/frontend_admin/.nuxt/dist/client/_nuxt/D_rgCg0x.js
+++ b/frontend_admin/.nuxt/dist/client/_nuxt/dQhiM-C1.js
@@ -1 +1 @@
-import{_ as s}from"./DlAUqK2U.js";import{u as a,o as i,c as u,a as e,t as o}from"./Duy9QquX.js";const l={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},c={class:"max-w-520px text-center"},d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},status:{type:Number,default:500},statusText:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const r=t;return a({title:`${r.status} - ${r.statusText} | ${r.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(g,n)=>(i(),u("div",l,[n[0]||(n[0]=e("div",{class:"-bottom-1/2 fixed h-1/2 left-0 right-0 spotlight"},null,-1)),e("div",c,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:o(t.status)},null,8,d),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:o(t.description)},null,8,p)])]))}},h=s(f,[["__scopeId","data-v-a01dd0ba"]]);export{h as default};
+import{_ as s}from"./DlAUqK2U.js";import{u as a,o as i,c as u,a as e,t as o}from"./BIbQr1Hg.js";const l={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},c={class:"max-w-520px text-center"},d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},status:{type:Number,default:500},statusText:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const r=t;return a({title:`${r.status} - ${r.statusText} | ${r.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(g,n)=>(i(),u("div",l,[n[0]||(n[0]=e("div",{class:"-bottom-1/2 fixed h-1/2 left-0 right-0 spotlight"},null,-1)),e("div",c,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:o(t.status)},null,8,d),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:o(t.description)},null,8,p)])]))}},h=s(f,[["__scopeId","data-v-a01dd0ba"]]);export{h as default};
diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/dxAJkDQw.js b/frontend_admin/.nuxt/dist/client/_nuxt/dxAJkDQw.js
deleted file mode 100644
index 1624be2..0000000
--- a/frontend_admin/.nuxt/dist/client/_nuxt/dxAJkDQw.js
+++ /dev/null
@@ -1 +0,0 @@
-import{_ as we}from"./CuTzR9Y8.js";import{e as ke,B as he,g as ye,c as n,a as e,d as u,t as i,P as _e,F as _,k as w,r as $,n as ze,b as je,w as Ce,j as m,x as y,y as c,C as Me,z as b,l as v,m as L,K as He,h as Se,D as Be,o as a,L as Ve,M as $e}from"./Duy9QquX.js";import{_ as Ae}from"./DlAUqK2U.js";const Te={class:"mb-8"},Le={class:"text-slate-400 mt-1"},Ee={key:0,class:"flex items-center justify-center py-20"},Ue={key:1,class:"bg-rose-500/10 border border-rose-500/30 rounded-xl p-6 mb-8"},Pe={key:2,class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},Fe={key:0,class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},De={key:1,class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ie={key:2,class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ne={class:"border-b border-slate-700 mb-6"},Re={class:"flex gap-6 -mb-px"},Ke=["onClick"],Je={key:0,class:"grid grid-cols-1 lg:grid-cols-3 gap-6"},Oe={class:"lg:col-span-2 space-y-6"},We={class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},Ge={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},qe={class:"text-sm text-white mt-1 font-medium"},Qe={class:"text-sm text-white mt-1"},Xe={class:"mt-1"},Ye={class:"text-sm font-mono text-amber-300 bg-amber-500/10 px-2 py-0.5 rounded"},Ze={class:"mt-1"},et={class:"flex items-center gap-2"},tt={class:"w-24 h-2 bg-slate-700 rounded-full overflow-hidden"},st={class:"text-sm text-white font-medium"},lt={class:"text-sm text-white mt-1"},ot={class:"text-sm text-white mt-1"},at={class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},nt={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},it={class:"md:col-span-2"},rt={class:"text-sm text-white mt-1"},dt={class:"text-sm text-white mt-1"},ut={class:"text-sm text-white mt-1"},mt={class:"text-sm text-white mt-1"},vt={class:"text-sm text-white mt-1"},pt={class:"text-sm text-white mt-1"},ct={class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},xt={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},bt={class:"text-sm text-white mt-1"},gt={class:"text-sm text-white mt-1"},ft={class:"text-sm text-white mt-1"},wt=["href"],kt={key:1},ht={class:"space-y-4"},yt={class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},_t={key:0,class:"space-y-3"},zt=["disabled"],jt={key:0,class:"w-4 h-4 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ct={key:1,class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Mt=["disabled"],Ht={key:1,class:"space-y-3"},St=["disabled"],Bt=["disabled"],Vt={key:2,class:"space-y-3"},$t={class:"text-sm text-slate-400 text-center py-2"},At=["disabled"],Tt=["disabled"],Lt=["disabled"],Et={key:0,class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},Ut=["src"],Pt={key:1,class:"max-w-2xl"},Ft={class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},Dt={class:"space-y-4 mb-6"},It={class:"flex items-center gap-3"},Nt={class:"text-sm text-white font-medium w-8 text-right"},Rt={class:"flex justify-end gap-3"},Kt=["disabled"],Jt={key:0,class:"w-4 h-4 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ot={key:2},Wt={class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},Gt={key:0,class:"flex items-center justify-center py-8"},qt={key:1,class:"text-center py-8"},Qt={key:2,class:"space-y-3"},Xt={class:"flex items-start justify-between gap-4"},Yt={class:"flex-1"},Zt={class:"flex items-center gap-2 mb-1"},es={class:"text-xs text-slate-500"},ts={class:"text-sm text-slate-300"},ss={key:0,class:"text-xs text-slate-500 mt-1"},ls={class:"text-xs text-slate-500 whitespace-nowrap"},os={key:3},as={class:"bg-slate-800 rounded-xl border border-slate-700 p-6"},ns={key:0,class:"flex items-center justify-center py-8"},is={key:1,class:"text-center py-8"},rs={key:2,class:"relative"},ds={class:"bg-slate-700/50 rounded-lg border border-slate-600 p-4"},us={class:"flex items-start justify-between gap-4 mb-2"},ms={class:"text-xs text-slate-500 ml-2"},vs={class:"text-xs text-slate-500 whitespace-nowrap"},ps={key:0,class:"text-xs text-slate-400 space-y-1 mt-2"},cs={key:0,class:"flex items-center gap-2"},xs={class:"text-rose-400"},bs={class:"text-emerald-400"},gs={key:1},fs={key:2,class:"mt-2"},ws={class:"text-xs"},ks={class:"mt-2 space-y-1"},hs={class:"text-slate-500 w-28 flex-shrink-0"},ys={class:"text-slate-300 truncate"},_s={key:1,class:"mt-2"},zs={class:"text-xs"},js={class:"mt-2 space-y-1"},Cs={class:"text-slate-500 w-28 flex-shrink-0"},Ms={class:"text-slate-300 truncate"},Hs={class:"bg-slate-800 rounded-xl border border-slate-700 p-6 w-full max-w-lg mx-4 shadow-2xl"},Ss={class:"text-sm text-slate-400 mb-6"},Bs={class:"text-white"},Vs={class:"mb-4"},$s={class:"flex justify-end gap-3"},As=["disabled"],Ts={key:0,class:"w-4 h-4 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ls={class:"bg-slate-800 rounded-xl border border-slate-700 p-6 w-full max-w-lg mx-4 shadow-2xl max-h-[90vh] overflow-y-auto"},Es={class:"text-sm text-slate-400 mb-6"},Us={class:"text-white"},Ps={class:"space-y-4 mb-6"},Fs={class:"flex justify-end gap-3"},Ds=["disabled"],Is={key:0,class:"w-4 h-4 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ns={class:"bg-slate-800 rounded-xl border border-slate-700 p-6 w-full max-w-lg mx-4 shadow-2xl"},Rs={class:"text-sm text-slate-400 mb-6"},Ks={class:"text-white"},Js={class:"mb-4"},Os={class:"flex justify-end gap-3"},Ws=["disabled"],Gs={key:0,class:"w-4 h-4 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},qs=ke({__name:"[id]",setup(Qs){const g=He(),N=Be(),E=v(!0),U=v(!1),o=v(null),r=v(!1),R=v(null),z=v(!1),j=v(""),C=v(!1),M=v(""),H=v(!1),A=v(!1),d=v({}),h=v("data"),S=v([]),P=v(!1),B=v([]),F=v(!1),p=v({status:"pending",validation_score:0,reason:""}),T=v(!1),J=[{key:"data",label:"Adatok",icon:"svg"},{key:"status",label:"Státusz",icon:"svg"},{key:"validations",label:"Validációk",icon:"svg"},{key:"history",label:"Előzmények",icon:"svg"}],O=L(()=>{switch(o.value?.status){case"approved":return"bg-emerald-500/10 border-emerald-500/30";case"pending":return"bg-amber-500/10 border-amber-500/30";default:return"bg-rose-500/10 border-rose-500/30"}}),W=L(()=>{switch(o.value?.status){case"approved":return"bg-emerald-500/20 text-emerald-400";case"pending":return"bg-amber-500/20 text-amber-400";default:return"bg-rose-500/20 text-rose-400"}}),G=L(()=>{switch(o.value?.status){case"approved":return"text-emerald-400";case"pending":return"text-amber-400";default:return"text-rose-400"}}),q=L(()=>{switch(o.value?.status){case"approved":return"text-emerald-400/60";case"pending":return"text-amber-400/60";default:return"text-rose-400/60"}});function Q(l){switch(l){case"approved":return"Jóváhagyva";case"pending":return"Függőben";case"rejected":return"Elutasítva";default:return"Ismeretlen"}}function X(l){switch(l){case"approved":return"A szolgáltató aktív és látható a felhasználók számára.";case"pending":return"A szolgáltató még nem lett jóváhagyva, moderálásra vár.";case"rejected":return"A szolgáltató elutasításra került, nem látható a felhasználók számára.";default:return""}}function Y(l){return{phone_verified:"Telefon igazolt",email_verified:"Email igazolt",address_verified:"Cím igazolt",website_verified:"Weboldal igazolt",manual_review:"Kézi ellenőrzés",community_vouch:"Közösségi ajánlás",business_hours:"Nyitvatartás ellenőrzött",photo_evidence:"Fénykép bizonyíték"}[l]||l}function Z(l){return{phone_verified:"bg-emerald-500/20 text-emerald-400",email_verified:"bg-blue-500/20 text-blue-400",address_verified:"bg-amber-500/20 text-amber-400",website_verified:"bg-purple-500/20 text-purple-400",manual_review:"bg-indigo-500/20 text-indigo-400",community_vouch:"bg-pink-500/20 text-pink-400",business_hours:"bg-cyan-500/20 text-cyan-400",photo_evidence:"bg-orange-500/20 text-orange-400"}[l]||"bg-slate-500/20 text-slate-400"}function ee(l){return{approve:"Jóváhagyás",reject:"Elutasítás",restore:"Visszaállítás",flag:"Megjelölés",update:"Módosítás",delete:"Törlés",create:"Létrehozás"}[l]||l}function te(l){return{approve:"bg-emerald-500/20 text-emerald-400",reject:"bg-rose-500/20 text-rose-400",restore:"bg-blue-500/20 text-blue-400",flag:"bg-purple-500/20 text-purple-400",update:"bg-amber-500/20 text-amber-400",delete:"bg-red-500/20 text-red-400",create:"bg-green-500/20 text-green-400"}[l]||"bg-slate-500/20 text-slate-400"}function se(l){return{approve:"border-emerald-500 bg-emerald-500/30",reject:"border-rose-500 bg-rose-500/30",restore:"border-blue-500 bg-blue-500/30",flag:"border-purple-500 bg-purple-500/30",update:"border-amber-500 bg-amber-500/30",delete:"border-red-500 bg-red-500/30",create:"border-green-500 bg-green-500/30"}[l]||"border-slate-500 bg-slate-500/30"}function D(l){if(!l)return"—";try{return new Date(l).toLocaleDateString("hu-HU",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return l}}function f(){const l=Se("access_token").value,t={"Content-Type":"application/json"};return l&&(t.Authorization=`Bearer ${l}`),t}async function k(){E.value=!0,U.value=!1;try{const l=await $fetch(`/api/v1/admin/providers/${g.params.id}`,{headers:f()});o.value=l,p.value.status=l.status||"pending",p.value.validation_score=l.validation_score||0}catch(l){console.error("Failed to fetch provider:",l),U.value=!0}finally{E.value=!1}}async function le(){P.value=!0;try{const l=await $fetch(`/api/v1/admin/providers/${g.params.id}/validations`,{headers:f()});S.value=l||[]}catch(l){console.error("Failed to fetch validations:",l),S.value=[]}finally{P.value=!1}}async function oe(){F.value=!0;try{const l=await $fetch(`/api/v1/admin/providers/${g.params.id}/history`,{headers:f()});B.value=l||[]}catch(l){console.error("Failed to fetch history:",l),B.value=[]}finally{F.value=!1}}async function ae(){r.value=!0;try{await $fetch(`/api/v1/admin/providers/${g.params.id}/approve`,{method:"POST",headers:f()}),x("Szolgáltató jóváhagyva!","success"),await k()}catch(l){x(l?.data?.detail||"Hiba a jóváhagyás során","error")}finally{r.value=!1}}async function ne(){r.value=!0;try{await $fetch(`/api/v1/admin/providers/${g.params.id}/reject`,{method:"POST",headers:f(),body:{reason:j.value||void 0}}),z.value=!1,j.value="",x("Szolgáltató elutasítva!","success"),await k()}catch(l){x(l?.data?.detail||"Hiba az elutasítás során","error")}finally{r.value=!1}}async function ie(){r.value=!0;try{await $fetch(`/api/v1/admin/providers/${g.params.id}/restore`,{method:"POST",headers:f(),body:{}}),x("Szolgáltató visszaállítva!","success"),await k()}catch(l){x(l?.data?.detail||"Hiba a visszaállítás során","error")}finally{r.value=!1}}async function re(){r.value=!0;try{await $fetch(`/api/v1/admin/providers/${g.params.id}/flag`,{method:"POST",headers:f(),body:{reason:M.value||void 0}}),C.value=!1,M.value="",x("Szolgáltató megjelölve!","success"),await k()}catch(l){x(l?.data?.detail||"Hiba a megjelölés során","error")}finally{r.value=!1}}async function K(){if(confirm("Biztosan törlöd ezt a szolgáltatót? Ez a művelet nem visszavonható.")){r.value=!0;try{await $fetch(`/api/v1/admin/providers/${g.params.id}`,{method:"DELETE",headers:f()}),x("Szolgáltató törölve!","success"),N.push("/providers")}catch(l){x(l?.data?.detail||"Hiba a törlés során","error")}finally{r.value=!1}}}async function de(){A.value=!0;try{await $fetch(`/api/v1/admin/providers/${g.params.id}`,{method:"PATCH",headers:f(),body:d.value}),H.value=!1,x("Szolgáltató adatai frissítve!","success"),await k()}catch(l){x(l?.data?.detail||"Hiba a mentés során","error")}finally{A.value=!1}}async function ue(){T.value=!0;try{const l={status:p.value.status,validation_score:p.value.validation_score};p.value.reason&&(l.reason=p.value.reason),await $fetch(`/api/v1/admin/providers/${g.params.id}`,{method:"PATCH",headers:f(),body:l}),x("Státusz frissítve!","success"),await k()}catch(l){x(l?.data?.detail||"Hiba a státusz mentése során","error")}finally{T.value=!1}}function me(){o.value&&(d.value={name:o.value.name,city:o.value.city,address:o.value.address,address_zip:o.value.address_zip,address_street_name:o.value.address_street_name,address_house_number:o.value.address_house_number,plus_code:o.value.plus_code,contact_phone:o.value.contact_phone,contact_email:o.value.contact_email,website:o.value.website,category:o.value.category},H.value=!0)}function ve(){j.value="",z.value=!0}function pe(){M.value="",C.value=!0}function ce(){N.push("/providers")}function x(l,t){R.value={message:l,type:t},setTimeout(()=>{R.value=null},4e3)}function xe(){o.value&&(p.value.status=o.value.status||"pending",p.value.validation_score=o.value.validation_score||0),p.value.reason=""}function be(l){l==="validations"&&S.value.length===0&&le(),l==="history"&&B.value.length===0&&oe()}return he(h,be),ye(()=>{k()}),(l,t)=>{const ge=we;return a(),n("div",null,[e("div",Te,[e("button",{onClick:ce,class:"inline-flex items-center gap-1.5 text-sm text-slate-400 hover:text-white transition mb-4"},[...t[21]||(t[21]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1),u(" Vissza a szolgáltatókhoz ",-1)])]),t[22]||(t[22]=e("h1",{class:"text-2xl font-bold text-white"},"Szolgáltató részletek",-1)),e("p",Le,"Szolgáltató #"+i((l._.provides[_e]||l.$route).params.id),1)]),E.value?(a(),n("div",Ee,[...t[23]||(t[23]=[e("div",{class:"text-slate-400 flex items-center gap-3"},[e("svg",{class:"w-5 h-5 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})]),e("span",null,"Szolgáltató betöltése...")],-1)])])):U.value?(a(),n("div",Ue,[t[24]||(t[24]=e("p",{class:"text-rose-400"},"Hiba történt a szolgáltató betöltése közben.",-1)),e("button",{onClick:k,class:"mt-3 text-sm text-rose-300 hover:text-rose-200 underline"},"Újrapróbálkozás")])):o.value?(a(),n(_,{key:3},[e("div",{class:w(["rounded-xl border p-4 mb-6 flex items-center gap-3",O.value])},[e("span",{class:w(["flex-shrink-0 w-8 h-8 rounded-full flex items-center justify-center",W.value])},[o.value.status==="approved"?(a(),n("svg",Fe,[...t[26]||(t[26]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1)])])):o.value.status==="pending"?(a(),n("svg",De,[...t[27]||(t[27]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)])])):(a(),n("svg",Ie,[...t[28]||(t[28]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"},null,-1)])]))],2),e("div",null,[e("p",{class:w(["text-sm font-medium",G.value])},i(Q(o.value.status)),3),e("p",{class:w(["text-xs mt-0.5",q.value])},i(X(o.value.status)),3)])],2),e("div",Ne,[e("nav",Re,[(a(),n(_,null,$(J,s=>e("button",{key:s.key,onClick:fe=>h.value=s.key,class:w(["pb-3 text-sm font-medium border-b-2 transition flex items-center gap-2",h.value===s.key?"text-indigo-400 border-indigo-400":"text-slate-400 border-transparent hover:text-slate-300"])},[(a(),Ve($e(s.icon),{class:"w-4 h-4"})),u(" "+i(s.label),1)],10,Ke)),64))])]),h.value==="data"?(a(),n("div",Je,[e("div",Oe,[e("div",We,[t[35]||(t[35]=e("h2",{class:"text-lg font-semibold text-white mb-4"},"Alapadatok",-1)),e("dl",Ge,[e("div",null,[t[29]||(t[29]=e("dt",{class:"text-xs text-slate-500 uppercase tracking-wider"},"Név",-1)),e("dd",qe,i(o.value.name),1)]),e("div",null,[t[30]||(t[30]=e("dt",{class:"text-xs text-slate-500 uppercase tracking-wider"},"Kategória",-1)),e("dd",Qe,i(o.value.category||"—"),1)]),e("div",null,[t[31]||(t[31]=e("dt",{class:"text-xs text-slate-500 uppercase tracking-wider"},"Forrás",-1)),e("dd",Xe,[e("code",Ye,i(o.value.source),1)])]),e("div",null,[t[32]||(t[32]=e("dt",{class:"text-xs text-slate-500 uppercase tracking-wider"},"Validációs pontszám",-1)),e("dd",Ze,[e("div",et,[e("div",tt,[e("div",{class:w(["h-full rounded-full transition-all",o.value.validation_score>=50?"bg-emerald-500":o.value.validation_score>=20?"bg-amber-500":"bg-slate-500"]),style:ze({width:Math.min(o.value.validation_score,100)+"%"})},null,6)]),e("span",st,i(o.value.validation_score),1)])])]),e("div",null,[t[33]||(t[33]=e("dt",{class:"text-xs text-slate-500 uppercase tracking-wider"},"Létrehozva",-1)),e("dd",lt,i(D(o.value.created_at)),1)]),e("div",null,[t[34]||(t[34]=e("dt",{class:"text-xs text-slate-500 uppercase tracking-wider"},"Beküldő user ID",-1)),e("dd",ot,i(o.value.added_by_user_id||"—"),1)])])]),e("div",at,[t[42]||(t[42]=e("h2",{class:"text-lg font-semibold text-white mb-4"},"Cím adatok",-1)),e("dl",nt,[e("div",it,[t[36]||(t[36]=e("dt",{class:"text-xs text-slate-500 uppercase tracking-wider"},"Teljes cím",-1)),e("dd",rt,i(o.value.address||"—"),1)]),e("div",null,[t[37]||(t[37]=e("dt",{class:"text-xs text-slate-500 uppercase tracking-wider"},"Város",-1)),e("dd",dt,i(o.value.city||"—"),1)]),e("div",null,[t[38]||(t[38]=e("dt",{class:"text-xs text-slate-500 uppercase tracking-wider"},"Irányítószám",-1)),e("dd",ut,i(o.value.address_zip||"—"),1)]),e("div",null,[t[39]||(t[39]=e("dt",{class:"text-xs text-slate-500 uppercase tracking-wider"},"Utca",-1)),e("dd",mt,i(o.value.address_street_name||"—"),1)]),e("div",null,[t[40]||(t[40]=e("dt",{class:"text-xs text-slate-500 uppercase tracking-wider"},"Házszám",-1)),e("dd",vt,i(o.value.address_house_number||"—"),1)]),e("div",null,[t[41]||(t[41]=e("dt",{class:"text-xs text-slate-500 uppercase tracking-wider"},"Plus Code",-1)),e("dd",pt,i(o.value.plus_code||"—"),1)])])]),e("div",ct,[t[46]||(t[46]=e("h2",{class:"text-lg font-semibold text-white mb-4"},"Elérhetőség",-1)),e("dl",xt,[e("div",null,[t[43]||(t[43]=e("dt",{class:"text-xs text-slate-500 uppercase tracking-wider"},"Telefon",-1)),e("dd",bt,i(o.value.contact_phone||"—"),1)]),e("div",null,[t[44]||(t[44]=e("dt",{class:"text-xs text-slate-500 uppercase tracking-wider"},"Email",-1)),e("dd",gt,i(o.value.contact_email||"—"),1)]),e("div",null,[t[45]||(t[45]=e("dt",{class:"text-xs text-slate-500 uppercase tracking-wider"},"Weboldal",-1)),e("dd",ft,[o.value.website?(a(),n("a",{key:0,href:o.value.website,target:"_blank",class:"text-indigo-400 hover:text-indigo-300 underline"},i(o.value.website),9,wt)):(a(),n("span",kt,"—"))])])])])]),e("div",ht,[e("div",yt,[t[57]||(t[57]=e("h2",{class:"text-lg font-semibold text-white mb-4"},"Moderációs műveletek",-1)),o.value.status==="pending"?(a(),n("div",_t,[e("button",{onClick:ae,disabled:r.value,class:"w-full px-4 py-3 bg-emerald-600 hover:bg-emerald-500 disabled:bg-emerald-600/50 text-white rounded-lg text-sm font-medium transition flex items-center justify-center gap-2"},[r.value?(a(),n("svg",jt,[...t[47]||(t[47]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"},null,-1)])])):(a(),n("svg",Ct,[...t[48]||(t[48]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1)])])),t[49]||(t[49]=u(" Jóváhagyás ",-1))],8,zt),e("button",{onClick:ve,disabled:r.value,class:"w-full px-4 py-3 bg-rose-600/20 hover:bg-rose-600/40 disabled:opacity-50 text-rose-400 rounded-lg text-sm font-medium transition flex items-center justify-center gap-2"},[...t[50]||(t[50]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1),u(" Elutasítás ",-1)])],8,Mt)])):o.value.status==="approved"?(a(),n("div",Ht,[je(ge,{to:`/providers/${o.value.id}/edit`,class:"w-full px-4 py-3 bg-indigo-600 hover:bg-indigo-500 text-white rounded-lg text-sm font-medium transition flex items-center justify-center gap-2"},{default:Ce(()=>[...t[51]||(t[51]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})],-1),u(" Szerkesztés ",-1)])]),_:1},8,["to"]),e("button",{onClick:pe,disabled:r.value,class:"w-full px-4 py-3 bg-purple-600/20 hover:bg-purple-600/40 disabled:opacity-50 text-purple-400 rounded-lg text-sm font-medium transition flex items-center justify-center gap-2"},[...t[52]||(t[52]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 21v-4m0 0V5a2 2 0 012-2h6.5l1 1H21l-3 6 3 6h-8.5l-1-1H5a2 2 0 00-2 2zm9-13.5V9"})],-1),u(" Megjelölés (Flag) ",-1)])],8,St),e("button",{onClick:K,disabled:r.value,class:"w-full px-4 py-3 bg-rose-600/20 hover:bg-rose-600/40 disabled:opacity-50 text-rose-400 rounded-lg text-sm font-medium transition flex items-center justify-center gap-2"},[...t[53]||(t[53]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1),u(" Törlés (Soft Delete) ",-1)])],8,Bt)])):(a(),n("div",Vt,[e("p",$t," A szolgáltató "+i(o.value.status==="rejected"?"elutasításra":"megjelölésre")+" került. ",1),e("button",{onClick:me,disabled:r.value,class:"w-full px-4 py-3 bg-indigo-600 hover:bg-indigo-500 disabled:bg-indigo-600/50 text-white rounded-lg text-sm font-medium transition flex items-center justify-center gap-2"},[...t[54]||(t[54]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})],-1),u(" Szerkesztés ",-1)])],8,At),o.value.status==="rejected"?(a(),n("button",{key:0,onClick:ie,disabled:r.value,class:"w-full px-4 py-3 bg-emerald-600 hover:bg-emerald-500 disabled:bg-emerald-600/50 text-white rounded-lg text-sm font-medium transition flex items-center justify-center gap-2"},[...t[55]||(t[55]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})],-1),u(" Visszaállítás ",-1)])],8,Tt)):m("",!0),e("button",{onClick:K,disabled:r.value,class:"w-full px-4 py-3 bg-rose-600/20 hover:bg-rose-600/40 disabled:opacity-50 text-rose-400 rounded-lg text-sm font-medium transition flex items-center justify-center gap-2"},[...t[56]||(t[56]=[e("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})],-1),u(" Törlés ",-1)])],8,Lt)]))]),o.value.evidence_image_path?(a(),n("div",Et,[t[58]||(t[58]=e("h2",{class:"text-lg font-semibold text-white mb-4"},"Bizonyíték kép",-1)),e("img",{src:o.value.evidence_image_path,alt:"Evidence",class:"w-full rounded-lg border border-slate-600"},null,8,Ut)])):m("",!0)])])):m("",!0),h.value==="status"?(a(),n("div",Pt,[e("div",Ft,[t[65]||(t[65]=e("h2",{class:"text-lg font-semibold text-white mb-4"},"Státusz kezelés",-1)),t[66]||(t[66]=e("p",{class:"text-sm text-slate-400 mb-6"},"Módosítsd a szolgáltató státuszát és validációs pontszámát.",-1)),e("form",{onSubmit:y(ue,["prevent"])},[e("div",Dt,[e("div",null,[t[60]||(t[60]=e("label",{class:"block text-sm font-medium text-slate-300 mb-1"},"Státusz",-1)),c(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>p.value.status=s),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm"},[...t[59]||(t[59]=[e("option",{value:"pending"},"Függőben",-1),e("option",{value:"approved"},"Jóváhagyott",-1),e("option",{value:"rejected"},"Elutasított",-1)])],512),[[Me,p.value.status]])]),e("div",null,[t[61]||(t[61]=e("label",{class:"block text-sm font-medium text-slate-300 mb-1"}," Validációs pontszám (0-100) ",-1)),e("div",It,[c(e("input",{"onUpdate:modelValue":t[1]||(t[1]=s=>p.value.validation_score=s),type:"range",min:"0",max:"100",class:"w-full h-2 bg-slate-700 rounded-lg appearance-none cursor-pointer accent-indigo-500"},null,512),[[b,p.value.validation_score,void 0,{number:!0}]]),e("span",Nt,i(p.value.validation_score),1)])]),e("div",null,[t[62]||(t[62]=e("label",{class:"block text-sm font-medium text-slate-300 mb-1"},"Indoklás (opcionális)",-1)),c(e("textarea",{"onUpdate:modelValue":t[2]||(t[2]=s=>p.value.reason=s),rows:"3",placeholder:"Add meg a státuszváltoztatás okát...",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm resize-none"},null,512),[[b,p.value.reason]])])]),e("div",Rt,[e("button",{type:"button",onClick:xe,class:"px-4 py-2 text-sm text-slate-400 hover:text-white transition"},"Mégsem"),e("button",{type:"submit",disabled:T.value,class:"px-4 py-2 bg-indigo-600 hover:bg-indigo-500 disabled:bg-indigo-600/50 text-white rounded-lg text-sm font-medium transition flex items-center gap-2"},[T.value?(a(),n("svg",Jt,[...t[63]||(t[63]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"},null,-1)])])):m("",!0),t[64]||(t[64]=u(" Státusz mentése ",-1))],8,Kt)])],32)])])):m("",!0),h.value==="validations"?(a(),n("div",Ot,[e("div",Wt,[t[70]||(t[70]=e("h2",{class:"text-lg font-semibold text-white mb-4"},"Gamification Validációk",-1)),t[71]||(t[71]=e("p",{class:"text-sm text-slate-400 mb-6"},"A szolgáltatóhoz tartozó gamification validációs bejegyzések listája.",-1)),P.value?(a(),n("div",Gt,[...t[67]||(t[67]=[e("svg",{class:"w-5 h-5 animate-spin text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})],-1)])])):S.value.length===0?(a(),n("div",qt,[...t[68]||(t[68]=[e("p",{class:"text-slate-500"},"Nincsenek validációs bejegyzések ehhez a szolgáltatóhoz.",-1)])])):(a(),n("div",Qt,[(a(!0),n(_,null,$(S.value,s=>(a(),n("div",{key:s.id,class:"bg-slate-700/50 rounded-lg border border-slate-600 p-4"},[e("div",Xt,[e("div",Yt,[e("div",Zt,[e("span",{class:w(["text-xs font-medium px-2 py-0.5 rounded-full",Z(s.validation_type)])},i(Y(s.validation_type)),3),e("span",es,"súly: "+i(s.weight),1)]),e("p",ts,[t[69]||(t[69]=e("span",{class:"text-slate-400"},"Szavazó:",-1)),u(" "+i(s.voter_name||`User #${s.voter_user_id}`),1)]),s.validation_metadata?.reason?(a(),n("p",ss," Indoklás: "+i(s.validation_metadata.reason),1)):m("",!0)]),e("div",ls,i(D(s.created_at)),1)])]))),128))]))])])):m("",!0),h.value==="history"?(a(),n("div",os,[e("div",as,[t[80]||(t[80]=e("h2",{class:"text-lg font-semibold text-white mb-4"},"Állapotváltoztatások előzményei",-1)),t[81]||(t[81]=e("p",{class:"text-sm text-slate-400 mb-6"},"Idővonal: ki, mikor és mit változtatott a szolgáltatóval kapcsolatban.",-1)),F.value?(a(),n("div",ns,[...t[72]||(t[72]=[e("svg",{class:"w-5 h-5 animate-spin text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})],-1)])])):B.value.length===0?(a(),n("div",is,[...t[73]||(t[73]=[e("p",{class:"text-slate-500"},"Nincsenek előzmények ehhez a szolgáltatóhoz.",-1)])])):(a(),n("div",rs,[t[79]||(t[79]=e("div",{class:"absolute left-4 top-0 bottom-0 w-0.5 bg-slate-700"},null,-1)),(a(!0),n(_,null,$(B.value,(s,fe)=>(a(),n("div",{key:s.id,class:"relative pl-10 pb-6 last:pb-0"},[e("div",{class:w(["absolute left-2.5 w-3 h-3 rounded-full border-2 mt-1.5",se(s.action)])},null,2),e("div",ds,[e("div",us,[e("div",null,[e("span",{class:w(["text-xs font-medium px-2 py-0.5 rounded-full",te(s.action)])},i(ee(s.action)),3),e("span",ms," User #"+i(s.user_id||"?"),1)]),e("div",vs,i(D(s.timestamp)),1)]),s.new_data?(a(),n("div",ps,[s.new_data.old_status||s.new_data.new_status?(a(),n("div",cs,[t[74]||(t[74]=e("span",{class:"text-slate-500"},"Státusz:",-1)),e("span",xs,i(s.new_data.old_status||"?"),1),t[75]||(t[75]=e("svg",{class:"w-3 h-3 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"})],-1)),e("span",bs,i(s.new_data.new_status||"?"),1)])):m("",!0),s.new_data.reason&&s.new_data.reason!=="Admin edit"?(a(),n("div",gs,[t[76]||(t[76]=e("span",{class:"text-slate-500"},"Indoklás:",-1)),u(" "+i(s.new_data.reason),1)])):m("",!0),s.new_data.changes?(a(),n("div",fs,[e("details",ws,[t[77]||(t[77]=e("summary",{class:"text-slate-500 cursor-pointer hover:text-slate-400"},"Részletes változások",-1)),e("div",ks,[(a(!0),n(_,null,$(s.new_data.changes,(I,V)=>(a(),n("div",{key:V,class:"flex gap-2"},[e("span",hs,i(V)+":",1),e("span",ys,i(I??"—"),1)]))),128))])])])):m("",!0)])):m("",!0),s.old_data?(a(),n("div",_s,[e("details",zs,[t[78]||(t[78]=e("summary",{class:"text-slate-500 cursor-pointer hover:text-slate-400"},"Régi adatok",-1)),e("div",js,[(a(!0),n(_,null,$(s.old_data,(I,V)=>(a(),n("div",{key:V,class:"flex gap-2"},[e("span",Cs,i(V)+":",1),e("span",Ms,i(I??"—"),1)]))),128))])])])):m("",!0)])]))),128))]))])])):m("",!0)],64)):(a(),n("div",Pe,[...t[25]||(t[25]=[e("p",{class:"text-slate-400 text-center py-12"},"A szolgáltató nem található.",-1)])])),z.value?(a(),n("div",{key:4,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm",onClick:t[5]||(t[5]=y(s=>z.value=!1,["self"]))},[e("div",Hs,[t[87]||(t[87]=e("h2",{class:"text-lg font-semibold text-white mb-2"},"Szolgáltató elutasítása",-1)),e("p",Ss,[t[82]||(t[82]=u(" Biztosan elutasítod a(z) ",-1)),e("strong",Bs,i(o.value?.name),1),t[83]||(t[83]=u(" szolgáltatót? ",-1))]),e("form",{onSubmit:y(ne,["prevent"])},[e("div",Vs,[t[84]||(t[84]=e("label",{class:"block text-sm font-medium text-slate-300 mb-1"},"Indoklás (opcionális)",-1)),c(e("textarea",{"onUpdate:modelValue":t[3]||(t[3]=s=>j.value=s),rows:"3",placeholder:"Add meg az elutasítás okát...",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-rose-500/50 focus:border-rose-500 text-sm resize-none"},null,512),[[b,j.value]])]),e("div",$s,[e("button",{type:"button",onClick:t[4]||(t[4]=s=>z.value=!1),class:"px-4 py-2 text-sm text-slate-400 hover:text-white transition"},"Mégse"),e("button",{type:"submit",disabled:r.value,class:"px-4 py-2 bg-rose-600 hover:bg-rose-500 disabled:bg-rose-600/50 text-white rounded-lg text-sm font-medium transition flex items-center gap-2"},[r.value?(a(),n("svg",Ts,[...t[85]||(t[85]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"},null,-1)])])):m("",!0),t[86]||(t[86]=u(" Elutasítás ",-1))],8,As)])],32)])])):m("",!0),H.value?(a(),n("div",{key:5,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm",onClick:t[17]||(t[17]=y(s=>H.value=!1,["self"]))},[e("div",Ls,[t[102]||(t[102]=e("h2",{class:"text-lg font-semibold text-white mb-2"},"Szolgáltató szerkesztése",-1)),e("p",Es,[t[88]||(t[88]=u(" Módosítsd a(z) ",-1)),e("strong",Us,i(o.value?.name),1),t[89]||(t[89]=u(" szolgáltató adatait. ",-1))]),e("form",{onSubmit:y(de,["prevent"])},[e("div",Ps,[e("div",null,[t[90]||(t[90]=e("label",{class:"block text-sm font-medium text-slate-300 mb-1"},"Név",-1)),c(e("input",{"onUpdate:modelValue":t[6]||(t[6]=s=>d.value.name=s),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm"},null,512),[[b,d.value.name]])]),e("div",null,[t[91]||(t[91]=e("label",{class:"block text-sm font-medium text-slate-300 mb-1"},"Város",-1)),c(e("input",{"onUpdate:modelValue":t[7]||(t[7]=s=>d.value.city=s),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm"},null,512),[[b,d.value.city]])]),e("div",null,[t[92]||(t[92]=e("label",{class:"block text-sm font-medium text-slate-300 mb-1"},"Irányítószám",-1)),c(e("input",{"onUpdate:modelValue":t[8]||(t[8]=s=>d.value.address_zip=s),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm"},null,512),[[b,d.value.address_zip]])]),e("div",null,[t[93]||(t[93]=e("label",{class:"block text-sm font-medium text-slate-300 mb-1"},"Utca",-1)),c(e("input",{"onUpdate:modelValue":t[9]||(t[9]=s=>d.value.address_street_name=s),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm"},null,512),[[b,d.value.address_street_name]])]),e("div",null,[t[94]||(t[94]=e("label",{class:"block text-sm font-medium text-slate-300 mb-1"},"Házszám",-1)),c(e("input",{"onUpdate:modelValue":t[10]||(t[10]=s=>d.value.address_house_number=s),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm"},null,512),[[b,d.value.address_house_number]])]),e("div",null,[t[95]||(t[95]=e("label",{class:"block text-sm font-medium text-slate-300 mb-1"},"Plus Code",-1)),c(e("input",{"onUpdate:modelValue":t[11]||(t[11]=s=>d.value.plus_code=s),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm"},null,512),[[b,d.value.plus_code]])]),e("div",null,[t[96]||(t[96]=e("label",{class:"block text-sm font-medium text-slate-300 mb-1"},"Telefon",-1)),c(e("input",{"onUpdate:modelValue":t[12]||(t[12]=s=>d.value.contact_phone=s),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm"},null,512),[[b,d.value.contact_phone]])]),e("div",null,[t[97]||(t[97]=e("label",{class:"block text-sm font-medium text-slate-300 mb-1"},"Email",-1)),c(e("input",{"onUpdate:modelValue":t[13]||(t[13]=s=>d.value.contact_email=s),type:"email",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm"},null,512),[[b,d.value.contact_email]])]),e("div",null,[t[98]||(t[98]=e("label",{class:"block text-sm font-medium text-slate-300 mb-1"},"Weboldal",-1)),c(e("input",{"onUpdate:modelValue":t[14]||(t[14]=s=>d.value.website=s),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm"},null,512),[[b,d.value.website]])]),e("div",null,[t[99]||(t[99]=e("label",{class:"block text-sm font-medium text-slate-300 mb-1"},"Kategória",-1)),c(e("input",{"onUpdate:modelValue":t[15]||(t[15]=s=>d.value.category=s),class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white focus:outline-none focus:ring-2 focus:ring-indigo-500/50 focus:border-indigo-500 text-sm"},null,512),[[b,d.value.category]])])]),e("div",Fs,[e("button",{type:"button",onClick:t[16]||(t[16]=s=>H.value=!1),class:"px-4 py-2 text-sm text-slate-400 hover:text-white transition"},"Mégse"),e("button",{type:"submit",disabled:A.value,class:"px-4 py-2 bg-indigo-600 hover:bg-indigo-500 disabled:bg-indigo-600/50 text-white rounded-lg text-sm font-medium transition flex items-center gap-2"},[A.value?(a(),n("svg",Is,[...t[100]||(t[100]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"},null,-1)])])):m("",!0),t[101]||(t[101]=u(" Mentés ",-1))],8,Ds)])],32)])])):m("",!0),C.value?(a(),n("div",{key:6,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm",onClick:t[20]||(t[20]=y(s=>C.value=!1,["self"]))},[e("div",Ns,[t[108]||(t[108]=e("h2",{class:"text-lg font-semibold text-white mb-2"},"Szolgáltató megjelölése",-1)),e("p",Rs,[t[103]||(t[103]=u(" Biztosan megjelölöd a(z) ",-1)),e("strong",Ks,i(o.value?.name),1),t[104]||(t[104]=u(" szolgáltatót? ",-1))]),e("form",{onSubmit:y(re,["prevent"])},[e("div",Js,[t[105]||(t[105]=e("label",{class:"block text-sm font-medium text-slate-300 mb-1"},"Indoklás (opcionális)",-1)),c(e("textarea",{"onUpdate:modelValue":t[18]||(t[18]=s=>M.value=s),rows:"3",placeholder:"Add meg a megjelölés okát...",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-purple-500/50 focus:border-purple-500 text-sm resize-none"},null,512),[[b,M.value]])]),e("div",Os,[e("button",{type:"button",onClick:t[19]||(t[19]=s=>C.value=!1),class:"px-4 py-2 text-sm text-slate-400 hover:text-white transition"},"Mégse"),e("button",{type:"submit",disabled:r.value,class:"px-4 py-2 bg-purple-600 hover:bg-purple-500 disabled:bg-purple-600/50 text-white rounded-lg text-sm font-medium transition flex items-center gap-2"},[r.value?(a(),n("svg",Gs,[...t[106]||(t[106]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"},null,-1)])])):m("",!0),t[107]||(t[107]=u(" Megjelölés ",-1))],8,Ws)])],32)])])):m("",!0)])}}}),el=Ae(qs,[["__scopeId","data-v-cbc29188"]]);export{el as default};
diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/edit.BOptDYkB.css b/frontend_admin/.nuxt/dist/client/_nuxt/edit.BOptDYkB.css
new file mode 100644
index 0000000..0817e93
--- /dev/null
+++ b/frontend_admin/.nuxt/dist/client/_nuxt/edit.BOptDYkB.css
@@ -0,0 +1 @@
+.overflow-y-auto[data-v-4a0954df]::-webkit-scrollbar{width:6px}.overflow-y-auto[data-v-4a0954df]::-webkit-scrollbar-track{background:transparent}.overflow-y-auto[data-v-4a0954df]::-webkit-scrollbar-thumb{background-color:#64748b80;border-radius:3px}.overflow-y-auto[data-v-4a0954df]::-webkit-scrollbar-thumb:hover{background-color:#64748bb3}
diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/edit.DU9LJnkZ.css b/frontend_admin/.nuxt/dist/client/_nuxt/edit.DU9LJnkZ.css
deleted file mode 100644
index 81db49a..0000000
--- a/frontend_admin/.nuxt/dist/client/_nuxt/edit.DU9LJnkZ.css
+++ /dev/null
@@ -1 +0,0 @@
-.overflow-y-auto[data-v-03c94385]::-webkit-scrollbar{width:6px}.overflow-y-auto[data-v-03c94385]::-webkit-scrollbar-track{background:transparent}.overflow-y-auto[data-v-03c94385]::-webkit-scrollbar-thumb{background-color:#64748b80;border-radius:3px}.overflow-y-auto[data-v-03c94385]::-webkit-scrollbar-thumb:hover{background-color:#64748bb3}
diff --git a/frontend_admin/.nuxt/dist/client/_nuxt/index.oH-TzkFb.css b/frontend_admin/.nuxt/dist/client/_nuxt/index.oH-TzkFb.css
new file mode 100644
index 0000000..744ff37
--- /dev/null
+++ b/frontend_admin/.nuxt/dist/client/_nuxt/index.oH-TzkFb.css
@@ -0,0 +1 @@
+input[type=range][data-v-aa1d3c94]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#6366f1;border:2px solid #1e293b;border-radius:50%;cursor:pointer;height:16px;width:16px}input[type=range][data-v-aa1d3c94]::-moz-range-thumb{background:#6366f1;border:2px solid #1e293b;border-radius:50%;cursor:pointer;height:16px;width:16px}.timeline-enter-active[data-v-aa1d3c94]{transition:all .3s ease-out}.timeline-enter-from[data-v-aa1d3c94]{opacity:0;transform:translate(-10px)}
diff --git a/frontend_admin/.output/public/_nuxt/eAjy9X9S.js b/frontend_admin/.nuxt/dist/client/_nuxt/mLQoXw9h.js
similarity index 97%
rename from frontend_admin/.output/public/_nuxt/eAjy9X9S.js
rename to frontend_admin/.nuxt/dist/client/_nuxt/mLQoXw9h.js
index d91c6eb..a957d09 100644
--- a/frontend_admin/.output/public/_nuxt/eAjy9X9S.js
+++ b/frontend_admin/.nuxt/dist/client/_nuxt/mLQoXw9h.js
@@ -1 +1 @@
-import{_ as H}from"./CuTzR9Y8.js";import{e as A,g as F,c as l,a as t,i as a,F as T,r as P,j as u,x as j,d as i,t as r,y as V,z as L,A as N,l as d,h as R,o as n,b as S,w as I}from"./Duy9QquX.js";import{u as D}from"./iEY_AUwe.js";import{_ as E}from"./DlAUqK2U.js";import"./BmPpcd_L.js";const q={key:0,class:"flex items-center justify-center py-20"},J={key:1,class:"bg-rose-500/10 border border-rose-500/30 rounded-xl p-6 mb-8"},O={key:2,class:"space-y-4"},K={class:"flex items-start justify-between gap-4"},U={class:"flex-1 min-w-0"},G={class:"flex items-center gap-3 mb-2"},Q={class:"text-lg font-semibold text-white truncate"},W={class:"text-xs font-mono text-slate-400 bg-slate-700/50 px-2 py-0.5 rounded"},X={class:"grid grid-cols-2 gap-x-8 gap-y-2 text-sm"},Y={key:0,class:"text-slate-300"},Z={key:1,class:"text-slate-300"},ee={key:2,class:"text-slate-300"},te={class:"text-slate-300"},se={class:"text-amber-400 font-medium ml-1"},oe={key:3,class:"text-slate-300"},le={class:"flex flex-col gap-2 flex-shrink-0"},ne=["onClick","disabled"],ae={key:0,class:"w-4 h-4 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ie={key:1,class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},re=["onClick","disabled"],de={key:0,class:"bg-slate-800 rounded-xl border border-slate-700 p-12 text-center"},ue={class:"bg-slate-800 rounded-xl border border-slate-700 p-6 w-full max-w-lg mx-4 shadow-2xl"},me={class:"text-sm text-slate-400 mb-6"},ce={class:"text-white"},xe={class:"mb-4"},pe={class:"flex justify-end gap-3"},ve=["disabled"],fe={key:0,class:"w-4 h-4 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ge={key:4,class:"fixed bottom-6 right-6 z-50 bg-emerald-600 text-white px-4 py-3 rounded-lg shadow-lg text-sm flex items-center gap-2 animate-slide-up"},be=A({__name:"pending",setup(ke){const{formatDate:z}=D(),k=d(!0),h=d(!1),m=d([]),f=d(""),x=d(null),p=d(!1),c=d(null),v=d(""),g=d(!1);function y(){const e=R("access_token").value;return e?{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}:{"Content-Type":"application/json"}}function b(o){f.value=o,setTimeout(()=>{f.value=""},3e3)}async function _(){k.value=!0,h.value=!1;try{const o=await $fetch("/api/v1/admin/providers?status=pending&limit=100&sort_by=created_at&sort_order=asc",{headers:y()});m.value=o}catch(o){console.error("Failed to fetch pending providers:",o),h.value=!0}finally{k.value=!1}}async function C(o){x.value=o.id;try{await $fetch(`/api/v1/admin/providers/${o.id}/approve`,{method:"POST",headers:y(),body:{reason:"Admin approved via pending queue"}}),b(`"${o.name}" sikeresen jóváhagyva`),m.value=m.value.filter(e=>e.id!==o.id)}catch(e){const w=e?.response?._data?.detail||e?.data?.detail||"Ismeretlen hiba";b(`Hiba: ${w}`),console.error("Failed to approve provider:",e)}finally{x.value=null}}function M(o){c.value=o,v.value="",p.value=!0}async function $(){if(c.value){g.value=!0;try{await $fetch(`/api/v1/admin/providers/${c.value.id}/reject`,{method:"POST",headers:y(),body:{reason:v.value||"Admin rejected via pending queue"}}),b(`"${c.value.name}" elutasítva`),m.value=m.value.filter(o=>o.id!==c.value.id),p.value=!1,c.value=null}catch(o){const e=o?.response?._data?.detail||o?.data?.detail||"Ismeretlen hiba";b(`Hiba: ${e}`),console.error("Failed to reject provider:",o)}finally{g.value=!1}}}return F(()=>{_()}),(o,e)=>{const w=H;return n(),l("div",null,[e[24]||(e[24]=t("div",{class:"mb-8"},[t("h1",{class:"text-2xl font-bold text-white"},"Jóváhagyásra váró szolgáltatók"),t("p",{class:"text-slate-400 mt-1"},"A közösség által beküldött szolgáltatók moderációs sora")],-1)),a(k)?(n(),l("div",q,[...e[3]||(e[3]=[t("div",{class:"text-slate-400 flex items-center gap-3"},[t("svg",{class:"w-5 h-5 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})]),t("span",null,"Függőben lévő szolgáltatók betöltése...")],-1)])])):a(h)?(n(),l("div",J,[e[4]||(e[4]=t("p",{class:"text-rose-400"},"Hiba történt a szolgáltatók betöltése közben.",-1)),t("button",{onClick:_,class:"mt-3 text-sm text-rose-300 hover:text-rose-200 underline"},"Újrapróbálkozás")])):(n(),l("div",O,[(n(!0),l(T,null,P(a(m),s=>(n(),l("div",{key:s.id,class:"bg-slate-800 rounded-xl border border-slate-700 p-6 hover:border-amber-500/30 transition"},[t("div",K,[t("div",U,[t("div",G,[t("h3",Q,r(s.name),1),e[5]||(e[5]=t("span",{class:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-amber-500/10 text-amber-400"}," Függőben ",-1)),t("code",W,r(s.source),1)]),t("div",X,[s.address?(n(),l("div",Y,[e[6]||(e[6]=t("span",{class:"text-slate-500"},"Cím:",-1)),i(" "+r(s.address),1)])):u("",!0),s.city?(n(),l("div",Z,[e[7]||(e[7]=t("span",{class:"text-slate-500"},"Város:",-1)),i(" "+r(s.city),1)])):u("",!0),s.category?(n(),l("div",ee,[e[8]||(e[8]=t("span",{class:"text-slate-500"},"Kategória:",-1)),i(" "+r(s.category),1)])):u("",!0),t("div",te,[e[9]||(e[9]=t("span",{class:"text-slate-500"},"Validációs pontszám:",-1)),t("span",se,r(s.validation_score),1)]),s.created_at?(n(),l("div",oe,[e[10]||(e[10]=t("span",{class:"text-slate-500"},"Beküldve:",-1)),i(" "+r(a(z)(s.created_at)),1)])):u("",!0)])]),t("div",le,[t("button",{onClick:B=>C(s),disabled:a(x)===s.id,class:"px-4 py-2 bg-emerald-600 hover:bg-emerald-500 disabled:bg-emerald-600/50 text-white rounded-lg text-sm font-medium transition flex items-center gap-2"},[a(x)===s.id?(n(),l("svg",ae,[...e[11]||(e[11]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"},null,-1)])])):(n(),l("svg",ie,[...e[12]||(e[12]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1)])])),e[13]||(e[13]=i(" Jóváhagyás ",-1))],8,ne),t("button",{onClick:B=>M(s),disabled:a(x)===s.id,class:"px-4 py-2 bg-rose-600/20 hover:bg-rose-600/40 disabled:opacity-50 text-rose-400 rounded-lg text-sm font-medium transition flex items-center gap-2"},[...e[14]||(e[14]=[t("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1),i(" Elutasítás ",-1)])],8,re),S(w,{to:`/providers/${s.id}`,class:"px-4 py-2 bg-slate-700 hover:bg-slate-600 text-slate-300 rounded-lg text-sm font-medium transition flex items-center gap-2 text-center"},{default:I(()=>[...e[15]||(e[15]=[t("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}),t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"})],-1),i(" Részletek ",-1)])]),_:1},8,["to"])])])]))),128)),a(m).length===0?(n(),l("div",de,[...e[16]||(e[16]=[t("svg",{class:"w-12 h-12 mx-auto text-slate-600 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})],-1),t("h3",{class:"text-lg font-medium text-slate-400 mb-1"},"Nincs függőben lévő szolgáltató",-1),t("p",{class:"text-sm text-slate-500"},"Minden beküldött szolgáltató fel lett dolgozva.",-1)])])):u("",!0)])),a(p)?(n(),l("div",{key:3,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm",onClick:e[2]||(e[2]=j(s=>p.value=!1,["self"]))},[t("div",ue,[e[22]||(e[22]=t("h2",{class:"text-lg font-semibold text-white mb-2"},"Szolgáltató elutasítása",-1)),t("p",me,[e[17]||(e[17]=i(" Biztosan elutasítod a(z) ",-1)),t("strong",ce,r(a(c)?.name),1),e[18]||(e[18]=i(" szolgáltatót? ",-1))]),t("form",{onSubmit:j($,["prevent"])},[t("div",xe,[e[19]||(e[19]=t("label",{class:"block text-sm font-medium text-slate-300 mb-1"},"Indoklás (opcionális)",-1)),V(t("textarea",{"onUpdate:modelValue":e[0]||(e[0]=s=>N(v)?v.value=s:null),rows:"3",placeholder:"Add meg az elutasítás okát...",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-rose-500/50 focus:border-rose-500 text-sm resize-none"},null,512),[[L,a(v)]])]),t("div",pe,[t("button",{type:"button",onClick:e[1]||(e[1]=s=>p.value=!1),class:"px-4 py-2 text-sm text-slate-400 hover:text-white transition"},"Mégse"),t("button",{type:"submit",disabled:a(g),class:"px-4 py-2 bg-rose-600 hover:bg-rose-500 disabled:bg-rose-600/50 text-white rounded-lg text-sm font-medium transition flex items-center gap-2"},[a(g)?(n(),l("svg",fe,[...e[20]||(e[20]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"},null,-1)])])):u("",!0),e[21]||(e[21]=i(" Elutasítás ",-1))],8,ve)])],32)])])):u("",!0),a(f)?(n(),l("div",ge,[e[23]||(e[23]=t("svg",{class:"w-4 h-4 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),i(" "+r(a(f)),1)])):u("",!0)])}}}),ze=E(be,[["__scopeId","data-v-9dff1238"]]);export{ze as default};
+import{_ as H}from"./C2l6xpLd.js";import{e as A,g as F,c as l,a as t,i as a,F as T,r as P,j as u,x as j,d as i,t as r,y as V,z as L,A as N,l as d,h as R,o as n,b as S,w as I}from"./BIbQr1Hg.js";import{u as D}from"./XheHpngv.js";import{_ as E}from"./DlAUqK2U.js";import"./DXATb271.js";const q={key:0,class:"flex items-center justify-center py-20"},J={key:1,class:"bg-rose-500/10 border border-rose-500/30 rounded-xl p-6 mb-8"},O={key:2,class:"space-y-4"},K={class:"flex items-start justify-between gap-4"},U={class:"flex-1 min-w-0"},G={class:"flex items-center gap-3 mb-2"},Q={class:"text-lg font-semibold text-white truncate"},W={class:"text-xs font-mono text-slate-400 bg-slate-700/50 px-2 py-0.5 rounded"},X={class:"grid grid-cols-2 gap-x-8 gap-y-2 text-sm"},Y={key:0,class:"text-slate-300"},Z={key:1,class:"text-slate-300"},ee={key:2,class:"text-slate-300"},te={class:"text-slate-300"},se={class:"text-amber-400 font-medium ml-1"},oe={key:3,class:"text-slate-300"},le={class:"flex flex-col gap-2 flex-shrink-0"},ne=["onClick","disabled"],ae={key:0,class:"w-4 h-4 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ie={key:1,class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},re=["onClick","disabled"],de={key:0,class:"bg-slate-800 rounded-xl border border-slate-700 p-12 text-center"},ue={class:"bg-slate-800 rounded-xl border border-slate-700 p-6 w-full max-w-lg mx-4 shadow-2xl"},me={class:"text-sm text-slate-400 mb-6"},ce={class:"text-white"},xe={class:"mb-4"},pe={class:"flex justify-end gap-3"},ve=["disabled"],fe={key:0,class:"w-4 h-4 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ge={key:4,class:"fixed bottom-6 right-6 z-50 bg-emerald-600 text-white px-4 py-3 rounded-lg shadow-lg text-sm flex items-center gap-2 animate-slide-up"},be=A({__name:"pending",setup(ke){const{formatDate:z}=D(),k=d(!0),h=d(!1),m=d([]),f=d(""),x=d(null),p=d(!1),c=d(null),v=d(""),g=d(!1);function y(){const e=R("access_token").value;return e?{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}:{"Content-Type":"application/json"}}function b(o){f.value=o,setTimeout(()=>{f.value=""},3e3)}async function _(){k.value=!0,h.value=!1;try{const o=await $fetch("/api/v1/admin/providers?status=pending&limit=100&sort_by=created_at&sort_order=asc",{headers:y()});m.value=o}catch(o){console.error("Failed to fetch pending providers:",o),h.value=!0}finally{k.value=!1}}async function C(o){x.value=o.id;try{await $fetch(`/api/v1/admin/providers/${o.id}/approve`,{method:"POST",headers:y(),body:{reason:"Admin approved via pending queue"}}),b(`"${o.name}" sikeresen jóváhagyva`),m.value=m.value.filter(e=>e.id!==o.id)}catch(e){const w=e?.response?._data?.detail||e?.data?.detail||"Ismeretlen hiba";b(`Hiba: ${w}`),console.error("Failed to approve provider:",e)}finally{x.value=null}}function M(o){c.value=o,v.value="",p.value=!0}async function $(){if(c.value){g.value=!0;try{await $fetch(`/api/v1/admin/providers/${c.value.id}/reject`,{method:"POST",headers:y(),body:{reason:v.value||"Admin rejected via pending queue"}}),b(`"${c.value.name}" elutasítva`),m.value=m.value.filter(o=>o.id!==c.value.id),p.value=!1,c.value=null}catch(o){const e=o?.response?._data?.detail||o?.data?.detail||"Ismeretlen hiba";b(`Hiba: ${e}`),console.error("Failed to reject provider:",o)}finally{g.value=!1}}}return F(()=>{_()}),(o,e)=>{const w=H;return n(),l("div",null,[e[24]||(e[24]=t("div",{class:"mb-8"},[t("h1",{class:"text-2xl font-bold text-white"},"Jóváhagyásra váró szolgáltatók"),t("p",{class:"text-slate-400 mt-1"},"A közösség által beküldött szolgáltatók moderációs sora")],-1)),a(k)?(n(),l("div",q,[...e[3]||(e[3]=[t("div",{class:"text-slate-400 flex items-center gap-3"},[t("svg",{class:"w-5 h-5 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})]),t("span",null,"Függőben lévő szolgáltatók betöltése...")],-1)])])):a(h)?(n(),l("div",J,[e[4]||(e[4]=t("p",{class:"text-rose-400"},"Hiba történt a szolgáltatók betöltése közben.",-1)),t("button",{onClick:_,class:"mt-3 text-sm text-rose-300 hover:text-rose-200 underline"},"Újrapróbálkozás")])):(n(),l("div",O,[(n(!0),l(T,null,P(a(m),s=>(n(),l("div",{key:s.id,class:"bg-slate-800 rounded-xl border border-slate-700 p-6 hover:border-amber-500/30 transition"},[t("div",K,[t("div",U,[t("div",G,[t("h3",Q,r(s.name),1),e[5]||(e[5]=t("span",{class:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-amber-500/10 text-amber-400"}," Függőben ",-1)),t("code",W,r(s.source),1)]),t("div",X,[s.address?(n(),l("div",Y,[e[6]||(e[6]=t("span",{class:"text-slate-500"},"Cím:",-1)),i(" "+r(s.address),1)])):u("",!0),s.city?(n(),l("div",Z,[e[7]||(e[7]=t("span",{class:"text-slate-500"},"Város:",-1)),i(" "+r(s.city),1)])):u("",!0),s.category?(n(),l("div",ee,[e[8]||(e[8]=t("span",{class:"text-slate-500"},"Kategória:",-1)),i(" "+r(s.category),1)])):u("",!0),t("div",te,[e[9]||(e[9]=t("span",{class:"text-slate-500"},"Validációs pontszám:",-1)),t("span",se,r(s.validation_score),1)]),s.created_at?(n(),l("div",oe,[e[10]||(e[10]=t("span",{class:"text-slate-500"},"Beküldve:",-1)),i(" "+r(a(z)(s.created_at)),1)])):u("",!0)])]),t("div",le,[t("button",{onClick:B=>C(s),disabled:a(x)===s.id,class:"px-4 py-2 bg-emerald-600 hover:bg-emerald-500 disabled:bg-emerald-600/50 text-white rounded-lg text-sm font-medium transition flex items-center gap-2"},[a(x)===s.id?(n(),l("svg",ae,[...e[11]||(e[11]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"},null,-1)])])):(n(),l("svg",ie,[...e[12]||(e[12]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1)])])),e[13]||(e[13]=i(" Jóváhagyás ",-1))],8,ne),t("button",{onClick:B=>M(s),disabled:a(x)===s.id,class:"px-4 py-2 bg-rose-600/20 hover:bg-rose-600/40 disabled:opacity-50 text-rose-400 rounded-lg text-sm font-medium transition flex items-center gap-2"},[...e[14]||(e[14]=[t("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1),i(" Elutasítás ",-1)])],8,re),S(w,{to:`/providers/${s.id}`,class:"px-4 py-2 bg-slate-700 hover:bg-slate-600 text-slate-300 rounded-lg text-sm font-medium transition flex items-center gap-2 text-center"},{default:I(()=>[...e[15]||(e[15]=[t("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}),t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"})],-1),i(" Részletek ",-1)])]),_:1},8,["to"])])])]))),128)),a(m).length===0?(n(),l("div",de,[...e[16]||(e[16]=[t("svg",{class:"w-12 h-12 mx-auto text-slate-600 mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})],-1),t("h3",{class:"text-lg font-medium text-slate-400 mb-1"},"Nincs függőben lévő szolgáltató",-1),t("p",{class:"text-sm text-slate-500"},"Minden beküldött szolgáltató fel lett dolgozva.",-1)])])):u("",!0)])),a(p)?(n(),l("div",{key:3,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm",onClick:e[2]||(e[2]=j(s=>p.value=!1,["self"]))},[t("div",ue,[e[22]||(e[22]=t("h2",{class:"text-lg font-semibold text-white mb-2"},"Szolgáltató elutasítása",-1)),t("p",me,[e[17]||(e[17]=i(" Biztosan elutasítod a(z) ",-1)),t("strong",ce,r(a(c)?.name),1),e[18]||(e[18]=i(" szolgáltatót? ",-1))]),t("form",{onSubmit:j($,["prevent"])},[t("div",xe,[e[19]||(e[19]=t("label",{class:"block text-sm font-medium text-slate-300 mb-1"},"Indoklás (opcionális)",-1)),V(t("textarea",{"onUpdate:modelValue":e[0]||(e[0]=s=>N(v)?v.value=s:null),rows:"3",placeholder:"Add meg az elutasítás okát...",class:"w-full px-3 py-2 bg-slate-700 border border-slate-600 rounded-lg text-white placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-rose-500/50 focus:border-rose-500 text-sm resize-none"},null,512),[[L,a(v)]])]),t("div",pe,[t("button",{type:"button",onClick:e[1]||(e[1]=s=>p.value=!1),class:"px-4 py-2 text-sm text-slate-400 hover:text-white transition"},"Mégse"),t("button",{type:"submit",disabled:a(g),class:"px-4 py-2 bg-rose-600 hover:bg-rose-500 disabled:bg-rose-600/50 text-white rounded-lg text-sm font-medium transition flex items-center gap-2"},[a(g)?(n(),l("svg",fe,[...e[20]||(e[20]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"},null,-1)])])):u("",!0),e[21]||(e[21]=i(" Elutasítás ",-1))],8,ve)])],32)])])):u("",!0),a(f)?(n(),l("div",ge,[e[23]||(e[23]=t("svg",{class:"w-4 h-4 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),i(" "+r(a(f)),1)])):u("",!0)])}}}),ze=E(be,[["__scopeId","data-v-9dff1238"]]);export{ze as default};
diff --git a/frontend_admin/.output/public/_nuxt/CMeyKwHf.js b/frontend_admin/.nuxt/dist/client/_nuxt/sgHKqTNd.js
similarity index 99%
rename from frontend_admin/.output/public/_nuxt/CMeyKwHf.js
rename to frontend_admin/.nuxt/dist/client/_nuxt/sgHKqTNd.js
index 53a76bd..33df0d0 100644
--- a/frontend_admin/.output/public/_nuxt/CMeyKwHf.js
+++ b/frontend_admin/.nuxt/dist/client/_nuxt/sgHKqTNd.js
@@ -1 +1 @@
-import{_ as ce}from"./CuTzR9Y8.js";import{e as se,B as O,c as d,a as e,t as s,y as X,C as J,F as I,r as Q,k as C,j as U,l as _,m,o as u,s as pe,g as ve,z as he,b as ee,d as Y,D as fe,h as xe,w as te}from"./Duy9QquX.js";const ge={class:"bg-slate-800 rounded-xl border border-slate-700 p-5"},_e={class:"flex items-center justify-between mb-4"},me={class:"text-sm font-semibold text-white"},be={class:"text-xs text-slate-400 mt-0.5"},ye={value:"7"},we={value:"14"},ke={value:"30"},$e={value:"90"},Ce={key:0,class:"flex items-center justify-center py-12"},Me={key:1,class:"flex flex-col items-center justify-center py-12 text-center"},Be={class:"text-slate-500 text-xs"},je={key:2,class:"relative"},De=["viewBox"],Ue=["x1","y1","x2","y2"],ze=["x","y"],Te=["onMouseenter"],Ae=["x","y","width","height","fill","opacity"],Ve={key:0},Le=["x","y","width"],He=["x","y"],Fe=["x","y"],Se={class:"flex items-center justify-between mt-4 pt-3 border-t border-slate-700/50"},We={class:"flex items-center gap-4 text-xs"},Pe={class:"flex items-center gap-1.5"},Ee={class:"text-slate-400"},Ne={class:"text-slate-400"},Re={class:"text-white font-semibold ml-1"},Ie={class:"text-slate-400"},Ye={class:"text-white font-semibold ml-1"},Oe={key:0,class:"flex items-center gap-1 text-xs"},Xe={key:0,class:"w-3.5 h-3.5 text-emerald-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Qe={key:1,class:"w-3.5 h-3.5 text-red-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},qe={class:"text-slate-500"},F=800,G=220,Ge=se({__name:"UserTrendChart",props:{data:{},loading:{type:Boolean}},setup(K){const S=K,$=_("30"),z=_(null),p={top:10,right:16,bottom:30,left:36},h=m(()=>{const o=parseInt($.value,10);if(!S.data||S.data.length===0)return[];const a=[...S.data].sort((r,c)=>new Date(r.date).getTime()-new Date(c.date).getTime()),n=new Date;return n.setDate(n.getDate()-o),a.filter(r=>new Date(r.date)>=n)}),b=m(()=>h.value.length===0?1:Math.max(...h.value.map(o=>o.count),1)),y=G-p.top-p.bottom,k=m(()=>{const o=[];for(let a=0;a<=4;a++)o.push(p.top+y/4*a);return o}),x=m(()=>{const o=[];for(let a=0;a<=4;a++){const n=p.top+y/4*a,r=Math.round(b.value-b.value/4*a);o.push({y:n,text:r.toString()})}return o}),g=m(()=>{const o=h.value.length;if(o===0)return 0;const a=F-p.left-p.right,n=32,r=a/o*.7;return Math.min(r,n)}),M=m(()=>{const o=h.value.length;if(o===0)return[];const a=F-p.left-p.right,n=o>1?(a-g.value*o)/(o-1):0;return h.value.map((r,c)=>{const v=p.left+c*(g.value+n),P=b.value>0?r.count/b.value*y:0,A=G-p.bottom-P,V=b.value>0?r.count/b.value:0;let L;V>.8?L="#6366f1":V>.5?L="#818cf8":V>.3?L="#a5b4fc":L="#c7d2fe";const q=`${r.count} ${T(r.date)}`,E=q.length*7+16;let H=v+g.value/2-E/2;HSzolgáltató részletek
\n Alapadatok
\n \n
{{ provider.source }}\n Cím adatok
\n \n
\n Elérhetőség
\n \n
\n Moderációs műveletek
\n\n \n Bizonyíték kép
\n \n
Státusz kezelés
\n Gamification Validációk
\n Állapotváltoztatások előzményei
\n Részletes változások
\n Régi adatok
\n Szolgáltató elutasítása
\n Szolgáltató szerkesztése
\n Szolgáltató megjelölése
\n Szolgáltató részletek
\n Alapadatok
\n \n
{{ provider.source }}\n Cím adatok
\n \n
\n Elérhetőség
\n \n
\n Moderációs műveletek
\n\n \n Bizonyíték kép
\n \n
Státusz kezelés
\n Gamification Validációk
\n Állapotváltoztatások előzményei
\n Részletes változások
\n Régi adatok
\n Szolgáltató elutasítása
\n Szolgáltató szerkesztése
\n Szolgáltató megjelölése
\n Szolgáltató szerkesztése
Szolgáltató szerkesztése