PageSourceSearch

https://ugandainvest.go.ug/assets/Events-CHLJUIzp.js

js ugandainvest.go.ug collected 2026-09-25 04:06:45 UTC 14,259 bytes, 1 lines download raw bytes

1import{x as Y,r as x,c as E,y as w,A as F,z as R,W as G,H,X as O,Y as Q,d as X,u as J,o as ee,a as u,e as _,w as $,b as a,K as te,f as A,t as n,F as P,i as K,n as b,j as I,h as B,g as v,Z as ae,$ as M,E as se,a0 as ie,a1 as W,a2 as le,Q as oe,v as V,a3 as ne,s as re,k as c,a4 as L}from"./index-CfxKV9jA.js";function Z(s,d={}){if(!s)return null;const o=d[s.eventTypeId]||null,f=s,y=f.eventTypeName||o?.name||"";return{id:s.id,slug:s.slug,title:s.title,eventTypeId:s.eventTypeId,type:y?String(y).toLowerCase():"",typeName:y,typeColor:o?.color||"",startsAt:s.startsAt,endsAt:s.endsAt,timezone:s.timezone,location:s.location,isVirtual:s.isVirtual,virtualUrl:s.virtualUrl,description:s.description,capacity:s.capacity,registered:s.registered??0,status:Q(s.status),image:O(s.imageUri||f.image||""),imageUri:s.imageUri||f.image||"",registrationEnabled:s.registrationEnabled!==!1,date:s.startsAt,time:s.startsAt&&s.endsAt?`${s.startsAt} - ${s.endsAt}`:"",createdAt:s.createdAt,updatedAt:s.updatedAt}}async function q(){const s=H();if(!s.loaded)try{await s.loadAll()}catch{}const d={};for(const o of s.eventTypes||[])d[o.id]=o;return d}const de=Y("events",()=>{const s=x([]),d=x(!1),o=x(!1);async function f(e=1,l=50){d.value=!0;try{const[t,m]=await Promise.all([w.get("/events",{params:{page:e,limit:l}}),q()]);s.value=F(t).map(g=>Z(g,m)).filter(g=>g!==null),o.value=!0}finally{d.value=!1}}async function y(e=1,l=50){d.value=!0;try{const[t,m]=await Promise.all([w.get("/events/active",{params:{page:e,limit:l}}),q()]);s.value=F(t).map(g=>Z(g,m)).filter(g=>g!==null),o.value=!0}finally{d.value=!1}}async function T(e){const[l,t]=await Promise.all([w.get("/events/detail",{params:{id:e}}),q()]);return Z(R(l),t)}async function N(e){const l=p=>
1{if(p)return p instanceof Date?p.toISOString():typeof p!="string"||p.endsWith("Z")||/[+-]\d{2}:\d{2}$/.test(p)?p:p.length===10?`${p}T00:00:00Z`:p.length===16?`${p}:00Z`:p},t=G({slug:e.slug,title:e.title,eventTypeId:e.eventTypeId,startsAt:l(e.startsAt),endsAt:l(e.endsAt),timezone:e.timezone||"Africa/Kampala",location:e.location,isVirtual:e.isVirtual||!1,virtualUrl:e.virtualUrl,description:e.description,capacity:e.capacity,registrationEnabled:e.registrationEnabled===!1?"false":"true",image:e.image}),m=await w.post("/events",t,{headers:{"Content-Type":"multipart/form-data"}}),g=R(m)?.id;return await f(),g}async function U(e){await w.put("/events/cancel",{id:e}),await f()}async function S(e){return U(e)}async function h(e,l){console.warn("updateEvent: backend does not yet support event updates",e,l)}async function C(e){const l=await w.post("/events/registrations",{eventId:e.eventId,name:e.name,email:e.email,phone:e.phone,company:e.company}),t=s.value.findIndex(m=>m.id===e.eventId);return t!==-1&&(s.value[t]={...s.value[t],registered:(s.value[t].registered||0)+1}),y().catch(()=>{}),R(l)?.id}async function k(e,l=1,t=50){const m=await w.get("/events/registrations",{params:{eventId:e,page:l,limit:t}});return F(m)}const r=E(()=>s.value.filter(e=>e.status==="upcoming")),j=E(()=>s.value.filter(e=>e.status==="ongoing")),D=E(()=>s.value.filter(e=>e.status==="completed")),i=E(()=>s.value.reduce((e,l)=>e+(l.registered||0),0));return{events:s,loading:d,loaded:o,upcomingEvents:r,ongoingEvents:j,completedEvents:D,totalRegistrations:i,fetchEvents:f,fetchActiveEvents:y,fetchEvent:T,addEvent:N,updateEvent:h,deleteEvent:S,cancelEvent:U,registerForEvent:C,listRegistrations:k}}),ue={class:"pt-24"},ce={class:"flex items-center gap-2 overflow-x-auto pb-2 -mx-2 px-2 mb-8"},pe=["onClick"],fe={key:0,class:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6"},me={class:"relative aspect-[16/10] overflow-hidden bg-uia-slate-100 dark:bg-uia-ink"},ge=["src","alt"],be={key:1,class:"absolute inset-0 bg-k-mesh flex items-center justify-center text-uia-slate-400"},ve={class:"p-6"},ye={class:"font-display text-lg font-bold text-uia-black dark:text-white line-clamp-2 group-hover:text-uia-red transition-colors duration-300"},he={class:"mt-3 space-y-1.5 text-sm text-uia-grey-70 dark:text-white/65"},ke={class:"flex items-center gap-2"},xe={key:0,class:"text-uia-slate-300 dark:text-white/20"},we={key:1},_e={key:0,class:"flex items-center gap-2"},$e={class:"mt-3 text-sm text-uia-grey-70 dark:text-white/65 line-clamp-2"},Ae={class:"mt-5"},Ee={key:0,class:"inline-flex items-center gap-2 px-4 py-2 rounded-full bg-uia-slate-100 dark:bg-white/5 text-uia-grey-60 dark:text-white/55 text-sm font-medium"},Ce={key:1,class:"inline-flex items-center gap-2 px-4 py-2 rounded-full bg-uia-slate-100 dark:bg-white/5 text-uia-grey-70 dark:text-white/70 text-sm font-medium"},Ie={key:2,class:"inline-flex items-center gap-2 px-4 py-2 rounded-full bg-uia-red/10 dark:bg-uia-red/15 text-uia-red text-sm font-semibold"},Te=["onClick"],Ue={key:1,class:"py-20 text-center text-uia-grey-60 dark:text-white/55"},Ve={class:"text-body"},ze={class:"fixed inset-0 overflow-y-auto"},Ne={class:"flex min-h-full items-center justify-center p-4"},Se={class:"px-6 py-5 border-b border-uia-slate-200 dark:border-white/10 flex items-center justify-between"},je={class:"font-display text-lg font-bold text-uia-black dark:text-white"},De=["aria-label"],Fe={class:"block text-sm font-semibold text-uia-black dark:text-white mb-1.5"},Re=["placeholder"],Be={class:"block text-sm font-semibold text-uia-black dark:text-white mb-1.5"},Me=["placeholder"],Le={class:"block text-sm font-semibold text-uia-black dark:text-white mb-1.5"},Ze=["placeholder"],qe={class:"block text-sm font-semibold text-uia-black dark:text-white mb-1.5"},Pe=["placeholder"],Ke={class:"pt-4 border-t border-uia-slate-100 dark:border-white/10 flex items-center justify-end gap-3"},We=["disabled"],z="w-full px-4 py-2.5 rounded-k border border-uia-slate-200 dark:border-white/10 bg-white dark:bg-uia-ink-soft text-sm text-uia-black dark:text-white placeholder:text-uia-grey-50 dark:placeholder:text-white/40 focus:border-uia-red focus:ring-2 focus:ring-uia-red/20 focus:outline-none transition-all duration-300 ease-k-out",Ge=X({__name:"Events",setup(s){const d=de(),{t:o}=J(),f=x("all"),y=E(()=>[{key:"all",label:o("events.filters.all"),icon:"fa-solid fa-grip"},{key:"forum",label:o("events.filters.forums"),icon:"fa-solid fa-comments"},{key:"webinar",label:o("events.filters.webinars"),icon:"fa-solid fa-video"},{key:"summit",label:o("events.filters.summits"),icon:"fa-solid fa-mountain-city"},{key:"mission",label:o("events.filters.missions"),icon:"fa-solid fa-plane"},{key:"workshop",label:o("events.filters.workshops"),icon:"fa-solid fa-screwdriver-wrench"}]),T=E(()=>f.value==="all"?d.events:d.events.filter(i=>i.type===f.value));function N(i){return{forum:"bg-purple-500/15 text-purple-300 border-purple-500/30",webinar:"bg-blue-500/15 text-blue-300 border-blue-500/30",summit:"bg-
1amber-500/15 text-amber-300 border-amber-500/30",mission:"bg-emerald-500/15 text-emerald-300 border-emerald-500/30",workshop:"bg-uia-slate-500/15 text-uia-slate-300 border-uia-slate-500/30"}[i]||"bg-uia-slate-500/15 text-uia-slate-300 border-uia-slate-500/30"}function U(i){return i?i.charAt(0).toUpperCase()+i.slice(1):""}function S(i){if(!i)return"";const e=`events.types.${i}`,l=o(e);return l===e?U(i):l}const h=x(!1),C=x(null),k=x(!1),r=x({name:"",email:"",phone:"",company:""});function j(i){C.value=i,r.value={name:"",email:"",phone:"",company:""},h.value=!0}async function D(){if(C.value){if(!r.value.name||!r.value.email){L.Notify.failure(o("events.dialog.error_required"));return}k.value=!0;try{await d.registerForEvent({eventId:C.value,name:r.value.name,email:r.value.email,phone:r.value.phone,company:r.value.company}),L.Notify.success(o("events.dialog.success")),h.value=!1}catch{L.Notify.failure(o("events.dialog.error_generic"))}finally{k.value=!1}}}return ee(()=>{d.loaded||d.fetchActiveEvents()}),(i,e)=>{const l=re("reveal");return c(),u("main",ue,[_(se,{tone:"paper",tight:""},{default:$(()=>[_(te,{eyebrow:i.$t("events.header.eyebrow"),title:i.$t("events.header.title"),size:"display"},{intro:$(()=>[A(n(i.$t("events.header.intro")),1)]),_:1},8,["eyebrow","title"]),a("div",ce,[(c(!0),u(P,null,K(y.value,t=>(c(),u("button",{key:t.key,type:"button",onClick:m=>f.value=t.key,class:b(["cursor-pointer inline-flex items-center gap-2 px-4 py-2 rounded-full text-sm font-medium whitespace-nowrap transition-all duration-300 ease-k-out",f.value===t.key?"bg-uia-red text-white shadow-k-red":"bg-uia-slate-100 dark:bg-white/5 text-uia-grey-80 dark:text-white/70 hover:bg-uia-slate-200 dark:hover:bg-white/10"])},[a("i",{class:b([t.icon,"text-xs"])},null,2),A(" "+n(t.label),1)],10,pe))),128))]),T.value.length?(c(),u("div",fe,[(c(!0),u(P,null,K(T.value,(t,m)=>I((c(),u("article",{key:t.id,class:b(["group rounded-k-lg overflow-hidden border border-uia-slate-200 dark:border-white/10 bg-white dark:bg-uia-ink-soft shadow-k hover:shadow-k-lg transition-all duration-500 ease-k-out hover:-translate-y-1","k-reveal",`k-stagger-${m%6+1}`])},[a("div",me,[t.image?(c(),u("img",{key:0,src:t.image,alt:t.title,loading:"lazy",class:"absolute inset-0 w-full h-full object-cover transition-transform duration-1000 ease-k-out group-hover:scale-105"},null,8,ge)):(c(),u("div",be,[...e[7]||(e[7]=[a("i",{class:"fa-regular fa-calendar text-3xl"},null,-1)])])),a("span",{class:b(["absolute top-4 left-4 inline-flex items-center px-2.5 py-1 rounded-full border text-[11px] font-semibold uppercase tracking-wider backdrop-blur-md",N(t.type)])},n(S(t.type)),3)]),a("div",ve,[a("h3",ye,n(t.title),1),a("ul",he,[a("li",ke,[e[8]||(e[8]=a("i",{class:"fa-regular fa-calendar w-4 text-center text-uia-red text-xs"},null,-1)),a("span",null,n(v(ae)(t.startsAt)),1),v(M)(t.startsAt,t.endsAt)?(c(),u("span",xe,"|")):B("",!0),v(M)(t.startsAt,t.endsAt)?(c(),u("span",we,n(v(M)(t.startsAt,t.endsAt)),1)):B("",!0)]),t.location?(c(),u("li",_e,[e[9]||(e[9]=a("i",{class:"fa-solid fa-location-dot w-4 text-center text-uia-red text-xs"},null,-1)),a("span",null,n(t.location),1)])):B("",!0)]),a("p",$e,n(t.description),1),a("div",Ae,[t.status==="completed"?(c(),u("span",Ee,[e[10]||(e[10]=a("i",{class:"fa-solid fa-check-circle"},null,-1)),A(" "+n(i.$t("events.status.completed")),1)])):t.registrationEnabled?t.capacity>0&&t.registered>=t.capacity?(c(),u("span",Ie,[e[12]||(e[12]=a("i",{class:"fa-solid fa-ban"},null,-1)),A(" "+n(i.$t("events.status.fully_booked")),1)])):(c(),u("button",{key:3,type:"button",onClick:g=>j(t.id),class:"cursor-pointer w-full inline-flex items-center justify-center gap-2 px-4 py-2.5 rounded-full bg-uia-red hover:bg-uia-red/90 text-white text-sm font-semibold shadow-k-red transition-all duration-300 ease-k-out hover:-translate-y-0.5"},[A(n(i.$t("events.register_now"))+" ",1),e[13]||(e[13]=a("i",{class:"fa-solid fa-arrow-right text-xs"},null,-1))],8,Te)):(c(),u("span",Ce,[e[11]||(e[11]=a("i",{class:"fa-solid fa-circle-info"},null,-1)),A(" "+n(i.$t("events.status.info_only")),1)]))])])],2)),[[l]])),128))])):(c(),u("div",Ue,[e[14]||(e[14]=a("i",{class:"fa-solid fa-calendar-xmark text-5xl mb-4"},null,-1)),a("p",Ve,n(i.$t("events.empty")),1)]))]),_:1}),_(v(ne),{appear:"",show:h.value,as:"template"},{default:$(()=>[_(v(ie),{as:"div",class:"relative z-[60]",onClose:e[6]||(e[6]=t=>h.value=!1)},{default:$(()=>[_(v(W),{as:"template",enter:"duration-300 ease-out","enter-from":"opacity-0","enter-to":"opacity-100",leave:"duration-200 ease-in","leave-from":"opacity-100","leave-to":"opacity-0"},{default:$(()=>[...e[15]||(e[15]=[a("div",{class:"fixed inset-0 bg-uia-ink-deep/60 backdrop-blur-sm"},null,-1)])]),_:1}),a("div",ze,[a("div",Ne,[_(v(W),{as:"template",enter:"duration-300 ease-out","enter-from":"opacity-0 scale-95","enter-to":"opacity-100 scale-100",leave:"duration-200 ease-in","leave-from":"opacity-100 scale-100","leave-to":"opacity-0 scale-95"},{default:$(()=>[_(v(le),{class:"w-full max-w-md bg-white dark:bg-uia-ink-soft rounded-k-xl shadow-k-xl border border-uia-slate-200 dark:border-white/10 overflow-hidden"},{default:$(()=>[a("div",Se,[a("h3",je,n(i.$t("events.dialog.title")),1),a("button",{type:"button",onClick:e[0]||(e[0]=t=>h.value=!1),class:"cursor-pointer w-8 h-8 rounded-full flex items-center justify-center text-uia-grey-70 dark:text-white/65 hover:bg-uia-slate-100 dar
1k:hover:bg-white/10 transition-colors","aria-label":i.$t("common.close")},[...e[16]||(e[16]=[a("i",{class:"fa-solid fa-xmark"},null,-1)])],8,De)]),a("form",{onSubmit:oe(D,["prevent"]),class:"p-6 space-y-4"},[a("div",null,[a("label",Fe,n(i.$t("events.dialog.fields.name")),1),I(a("input",{"onUpdate:modelValue":e[1]||(e[1]=t=>r.value.name=t),type:"text",required:"",placeholder:i.$t("events.dialog.placeholders.name"),class:b(z)},null,8,Re),[[V,r.value.name]])]),a("div",null,[a("label",Be,n(i.$t("events.dialog.fields.email")),1),I(a("input",{"onUpdate:modelValue":e[2]||(e[2]=t=>r.value.email=t),type:"email",required:"",placeholder:i.$t("events.dialog.placeholders.email"),class:b(z)},null,8,Me),[[V,r.value.email]])]),a("div",null,[a("label",Le,n(i.$t("events.dialog.fields.phone")),1),I(a("input",{"onUpdate:modelValue":e[3]||(e[3]=t=>r.value.phone=t),type:"tel",placeholder:i.$t("events.dialog.placeholders.phone"),class:b(z)},null,8,Ze),[[V,r.value.phone]])]),a("div",null,[a("label",qe,n(i.$t("events.dialog.fields.company")),1),I(a("input",{"onUpdate:modelValue":e[4]||(e[4]=t=>r.value.company=t),type:"text",placeholder:i.$t("events.dialog.placeholders.company"),class:b(z)},null,8,Pe),[[V,r.value.company]])]),a("div",Ke,[a("button",{type:"button",onClick:e[5]||(e[5]=t=>h.value=!1),class:"cursor-pointer px-5 py-2.5 text-sm font-medium text-uia-grey-80 dark:text-white/80 rounded-full border border-uia-slate-200 dark:border-white/15 hover:bg-uia-slate-50 dark:hover:bg-white/5 transition-colors"},n(i.$t("common.cancel")),1),a("button",{type:"submit",disabled:k.value,class:b(["cursor-pointer inline-flex items-center gap-2 px-5 py-2.5 rounded-full bg-uia-red text-white text-sm font-semibold shadow-k-red transition-all duration-300 ease-k-out hover:-translate-y-0.5",k.value?"opacity-70 cursor-not-allowed":"hover:bg-uia-red/90"])},[a("i",{class:b(k.value?"fa-solid fa-spinner fa-spin":"fa-solid fa-check")},null,2),A(" "+n(k.value?i.$t("events.dialog.registering"):i.$t("events.dialog.register")),1)],10,We)])],32)]),_:1})]),_:1})])])]),_:1})]),_:1},8,["show"])])}}});export{Ge 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.