PageSourceSearch

https://tokat.bel.tr/_nuxt/5jMTOQxs.js

js tokat.bel.tr collected 2026-10-02 20:11:51 UTC 8,045 bytes, 1 lines download raw bytes

1import{_ as j}from"./CRCDaTmA.js";import{d as A,S as I,a3 as Q,g as y,r as G,O,Q as Y,t as J,j as n,p as a,v as o,w as l,u as s,F as z,y as B,z as c,a5 as W,R as X,o as i,x as u,c as Z,e as x,_ as ee,D as te}from"./vOe0WySJ.js";import{u as ae}from"./COsHfl_D.js";import{_ as se}from"./DDbRyoV5.js";import{_ as re}from"./DbEfbaiZ.js";import{_ as le}from"./DD8KVrEU.js";import{_ as M}from"./CgsGlym1.js";import{_ as b}from"./BLUc-2x6.js";import{f as oe,_ as ie,c as ne,d as ue,e as p}from"./DMC7UeRo.js";import{P as de}from"./Dw7GiSk4.js";import{F as me}from"./LZ_cG4al.js";import{L as ce}from"./7vrtPa__.js";import{G as D}from"./CvYl62Cw.js";import{C as pe}from"./DS5jk5wN.js";import{C as fe}from"./bcKSLzIa.js";import{R as ge}from"./DAkiFt-L.js";import"./-7G-pUTM.js";import"./bYFJc5XA.js";import"./CGxTXRIQ.js";import"./DtVSmy6y.js";import"./Cos3Ja67.js";import"./CYMKTxm-.js";import"./Sv9qHjFw.js";import"./D8MBvocC.js";import"./79PBQZzv.js";import"./BO_I4cxF.js";const _e={class:"py-12 bg-transparent"},ve={class:"container mx-auto px-4"},ye={key:0,class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8"},he={key:1,class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8"},ke=["src","alt"],xe={key:1,class:"absolute inset-0 w-full h-full bg-gradient-to-br from-green-500/20 to-green-600/40 flex items-center justify-center"},be={class:"absolute top-3 left-3"},we={key:2,class:"absolute top-3 right-3"},$e={class:"relative p-6 text-white"},Ce={class:"text-2xl font-bold line-clamp-2"},Te={key:0,class:"mt-2 text-base text-slate-200 line-clamp-3"},Ee={class:"mt-4 space-y-1 text-sm text-slate-200"},Se={key:0,class:"flex items-center gap-2"},qe={key:1,class:"flex items-center gap-2"},ze={key:2,class:"py-20"},Be={class:"max-w-xl mx-auto text-center"},Me={class:"text-lg font-medium text-slate-900 dark:text-slate-100 mb-2"},De={class:"text-slate-500 dark:text-slate-400"},Ke={class:"mt-6"},w=9,Le=A({__name:"index",async setup(Re){let h,$;const f=I(),k=Q(),v=y(()=>parseInt(f.query.page)||1),d=y(()=>f.query.category||"all"),m=y(()=>f.query.search||""),g=G([]),{getEndpoint:K}=O(),{data:C,pending:T}=([h,$]=Y(async()=>X(`courses-${v.value}-${d.value}-${m.value}`,async()=>{const e=(v.value-1)*w;let t=`/api/courses/public?limit=${w}&offset=${e}`;d.value!=="all"&&(t+=`&category=${d.value}`),m.value&&(t+=`&search=${encodeURIComponent(m.value)}`);const _=await $fetch(K(t));return _&&_.success?{items:_.data||[],total:_.data?.length||0}:{items:[],total:0}},{watch:[v,d,m],server:!0})),h=await h,$(),h);J(()=>C.value,e=>{e&&e.items&&(v.value===1?g.value=e.items:g.value=[...g.value,...e.items])},{immediate:!0});const L=y(()=>C.value?.items?.length===w),E=y(()=>{let e="BELMEK Kursları";return d.value!=="all"&&(e+=` - ${S(d.value)}`),m.value&&(e+=` - "${m.value}"`),e});ae({title:E.value,seoTitle:`${E.value} - Tokat Belediyesi`,description:"Tokat Belediyesi BELMEK kursları, meslek edindirme kursları, beceri geliştirme programları ve daha fazlası.",canonicalPath:"/belmek-kurslari",type:"website",ogImage:"/logo_koyu_zemin.png"});const S=e=>({bilgisayar:"Bilgisayar",dil:"Dil",meslek:"Meslek",sanat:"Sanat",el_sanatlari:"El Sanatları",spor:"Spor",muzik:"Müzik",diger:"Diğer"})[e]||e,R=e=>e?e.replace(/<[^>]*>/g,""):"",F=e=>{if(!e)return"";try{return new Date(e).toLocaleDateString("tr-TR",{year:"numeric",month:"long",day:"numeric"})}catch{return""}},P=e=>{if(!e.maxCapacity||!e.currentEnrollments)return"outline";const t=e.currentEnrollments/e.maxCapacity*100;return t>=100?"destructive":t>=80?"secondary":"default"};let q;const U=e=>{clearTimeout(q),q=setTimeout(()=>{k.push({query:{...f.query,search:e||void 0,page:"1"}})},500)},V=e=>{k.push({query:{...f.query,category:e==="all"?void 0:e,page:"1"}})},H=()=>{k.push({query:{}})},N=()=>{k.push({query:{...f.query,page:(v.value+1).toString()}}),setTimeout(()=>{window.scrollTo({top:document.body.scrollHeight,behavior:"smooth"})},100)};return(e,t)=>{const _=j;return i(),n("div",{key:(e._.provides[W]||e.$route).fullPath},[a(de,{title:"BELMEK Kursları",description:"Halk eğitim merkezimizde düzenlenen kurslar"}),a(me,{title:"Tüm Kurslar","search-placeholder":"Kurs ara...","search-query":m.value,"onUpdate:searchQuery":U},{filters:l(()=>[a(s(oe),{"model-value":d.value,"onUpdate:modelValue":V},{default:l(()=>[a(s(ie),{class:"w-48"},{default:l(()=>[a(s(ne),{placeholder:"Kategori"})]),_:1}),a(s(ue),null,{default:l(()=>[a(s(p),{value:"all"},{default:l(()=>[...t[0]||(t[0]=[u("Tüm Kategoriler",-1)])]),_:1}),a(s(p),{value:"bilgisayar"},{default:l(()=>[...t[1]||(t[1]=[u("Bilgisayar",-1)])]),_:1}),a(s(p),{value:"dil"},{default:l(()=>[...t[2]||(t[2]=[u("Dil",-1)])]),_:1}),a(s(p),{value:"meslek"},{default:l(()=>[...t[3]||(t[3]=[u("Meslek",-1)])]),_:1}),a(s(p),{value:"sanat"},{default:l(()=>[...t[4]||(t[4]=[u("Sanat",-1)])]),_:1}),a(s(p),{value:"el_sanatlari"},{default:l(()=>[...t[5]||(t[5]=[u("El Sanatları",-1)])]),_:1}),a(s(p),{value:"spor"},{default:l(()=>[...t[6]||(t[6]=[u("Spor",-1)])]),_:1}),a(s(p),{value:"muzik"},{default:l(()=>[...t[7]||(t[7]=[u("Müzik",-1)])]),_:1}),a(s(p),{value:"diger"},{default:l(()=>[...t[8]||(t[8]=[u("Diğer",-1)])]),_:1})]),_:1})]),_:1},8,["model-value"])]),_:1},8,["search-query"]),o("section",_e,[o("div",ve,[s(T)&&g.value.length===0?(i(),n("div",ye,[(i(),n(z,null,B(9,r=>a(s(se),{key:r,class:"overflow-hidden"},{default:l(()=>[a(s(le),{class:"p-0"},{default:l(()=>[a(s(b),{class:"h-80 w-full"})]),_:1}),a(s(re),{class:"p-4"},{default:l(()=>[a(s(b),{class:"h-6 w-3/4 mb-2"}),a(s(b),{class:"h-4 w-1/2 mb-2"}),a(s(b),{class:"h-4 w-2/3"})]),_:1})]),_:1})),64))])):g.value.length>0?(i(),n("div",he,[(i(!0),n(z,null,B(g.value,r=>(i(),Z(_,{key:r.id,to:`/belmek-kurslari/${r.slug}`,class:"group block relative overflow-hidden rounded-2xl h-96 flex flex-col justify-end bg-white/30 dark:bg-slate-900/30 backdrop-blur-xl border border-white/20 dark:border-slate-800/60 shadow-lg hover:shadow-2xl hover:-translate-y-1 hover:ring-1 hover:ring-primary/30 transition-transform duration-300 ease-out cursor-pointer"},{default:l(()=>[r.imageUrl?(i(),n("img",{key:0,src:r.imageUrl,alt:r.name,class:"absolute inset-0 w-full h-full object-cover transition-transform duration-500 ease-in-out group-hover:scale-110"},null,8,ke)):(i(),n("div",xe,[a(s(D),{class:"w-16 h-16 text-green-500/60"})])),t[9]||(t[9]=o("div",{class:"absolute inset-0 bg-gradient-to-t from-black/80 via-black/40 to-transparent group-hover:from-black/90 group-hover:via-black/50"},null,-1)),t[10]||(t[10]=o("div",{class:"pointer-events-none absolute -inset-16 opacity-0 group-hover:opacity-30 transition-opacity duration-300",style:{background:"radial-gradient(400px 200px at 70% 20%, rgba(16,185,129,0.35), transparent 60%)"}},null,-1)),o("div",be,[a(s(M),{variant:"secondary",class:"text-xs font-medium"},{default:l(()=>[u(c(S(r.category)),1)]),_:2},1024)]),r.maxCapacity&&r.currentEnrollments?(i(),n("div",we,[a(s(M),{variant:P(r),class:"text-xs font-medium bg-white/20 text-white border-white/30"},{default:l(()=>[u(c(r.currentEnrollments)+"/"+c(r.maxCapacity),1)]),_:2},1032,["variant"])])):x("",!0),o("div",$e,[o("h3",Ce,c(r.name),1),r.description?(i(),n("p",Te,c(R(r.description)),1)):x("",!0),o("div",Ee,[r.duration?(i(),n("div",Se,[a(s(pe),{class:"w-4 h-4"}),o("span",null,c(r.duration)+" saat",1)])):x("",!0),r.startDate?(i(),n("div",qe,[a(s(fe),{class:"w-4 h-4"}),o("span",null,c(F(r.startDate)),1)])):x("",!0)])])]),_:2},1032,["to"]))),128))])):(i(),n("div",ze,[o("div",Be,[a(s(D),{class:"mx-auto h-16 w-16 text-slate-400 mb-4"}),o("h3",Me,c(m.value||d.value!=="all"?"Arama sonucu bulunamadı":"Henüz kurs yok"),1),o("p",De,c(m.value||d.value!=="all"?"Farklı filtreler deneyebilirsiniz":"Yeni kurslar e
1klendiğinde burada görünecek."),1),o("div",Ke,[a(s(ee),{variant:"outline",onClick:H},{default:l(()=>[a(s(ge),{class:"w-4 h-4 mr-2"}),t[11]||(t[11]=u(" Filtreleri Sıfırla ",-1))]),_:1})])])])),a(ce,{"has-more":L.value,loading:s(T),onLoadMore:N},null,8,["has-more","loading"])])])])}}}),ut=te(Le,[["__scopeId","data-v-cc8f9fd3"]]);export{ut as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.