import{d as I,c as S,o as m,a as P,u as s,_ as $,r as k,w as x,b as T,e as a,f as o,g as n,h as g,F as N,i as M,t as C,n as R,j as F,k as B,l as L,v as U,m as V,p as q,q as A,s as z}from"./index-ByA9DPlo.js";import{C as H,L as W,P as j,a as G,b as J,p as K,c as Q,d as X,N as D,M as Y,B as Z,$ as aa,R as ea,E as y,f as ta,u as sa,e as la}from"./flowbite-vue-DLGmfvqf.js";const oa=I({__name:"SparklineChart",props:{data:{}},setup(h){H.register(W,j,G,J,K);const p=h,u=d=>d.length<2?"rgba(0, 0, 0, 1)":d[d.length-1]>d[0]?"rgba(255, 99, 132, 1)":"rgba(75, 192, 75, 1)",l=S(()=>{var d;return{labels:((d=p.data)==null?void 0:d.map((b,_)=>_+1))||[],datasets:[{data:p.data||[],borderColor:u(p.data||[]),backgroundColor:"rgba(75, 192, 192, 0.2)",borderWidth:2,pointRadius:0}]}}),i={responsive:!0,maintainAspectRatio:!1,scales:{x:{display:!1},y:{display:!1}},plugins:{legend:{display:!1},tooltip:{enabled:!0,mode:"nearest",intersect:!1,callbacks:{label:d=>`CO2 Value: ${d.raw}`}}},elements:{line:{tension:.4}}};return(d,b)=>(m(),P(s(Q),{data:l.value,options:i,class:"sparkline"},null,8,["data"]))}}),na=$(oa,[["__scopeId","data-v-4e17b311"]]),ia={class:"data-table__container"},da={class:"data-table__table-container"},ra=["href"],ca={key:1},ua={class:"trend-chart-container"},_a={class:"data-table__pagination-container"},pa=I({__name:"ScenariosTable",props:{data:{type:Array,required:!0},totalPages:{type:Number,required:!0},currentPage:{type:Number,required:!0}},emits:["update:currentPage"],setup(h,{emit:p}){const u=h,l=p,i=k(u.currentPage),d=_=>{i.value=_,l("update:currentPage",_)};x(()=>u.currentPage,_=>{i.value=_});const b=_=>{const c=new Date(_),w=(new Date().getTime()-c.getTime())/6e4;return w<60?`${Math.floor(w)} minutes ago`:ta(c,"PPpp")};return(_,c)=>(m(),T("div",ia,[a("div",da,[o(s(Z),{hoverable:""},{default:n(()=>[o(s(X),{class:"data-table__table-header"},{default:n(()=>[o(s(D),{class:"data-table__table-head-cell"},{default:n(()=>[g("Name")]),_:1}),o(s(D),{class:"data-table__table-head-cell"},{default:n(()=>[g("Lastest Run Co2 Emission")]),_:1}),o(s(D),{class:"data-table__table-head-cell"},{default:n(()=>[g("Lastest Run Power Consumption")]),_:1}),o(s(D),{class:"data-table__table-head-cell"},{default:n(()=>[g("Last execution")]),_:1}),o(s(D),{class:"data-table__table-head-cell fixed-width"},{default:n(()=>[g("CO2 Emission of last 5 runs")]),_:1}),o(s(D),{class:"data-table__table-head-cell fixed-width"},{default:n(()=>[g("Trend (over 5 runs)")]),_:1})]),_:1}),o(s(Y),null,{default:n(()=>[(m(!0),T(N,null,M(h.data,(t,w)=>(m(),P(s(ea),{key:w,class:"data-table__table-row"},{default:n(()=>[o(s(y),{class:"data-table__table-cell"},{default:n(()=>[a("a",{href:`/scenarios/${t.scenarioName.replace(/\s/g,"-")}`,class:"data-table__link"},C(t.scenarioName),9,ra)]),_:2},1024),o(s(y),{class:"data-table__table-cell"},{default:n(()=>[g(C(t.co2.toFixed(4))+" g",1)]),_:2},1024),o(s(y),{class:"data-table__table-cell"},{default:n(()=>[g(C(t.pow.toFixed(4))+" Wh",1)]),_:2},1024),o(s(y),{class:"data-table__table-cell"},{default:n(()=>[g(C(b(t.lastRun)),1)]),_:2},1024),o(s(y),{class:"data-table__table-cell fixed-width"},{default:n(()=>[t.sparkline.length>1?(m(),P(na,{key:0,data:t.sparkline},null,8,["data"])):(m(),T("span",ca,"-"))]),_:2},1024),o(s(y),{class:"data-table__table-cell fixed-width"},{default:n(()=>[a("div",ua,[a("span",{class:R({"trend-up":t.trend>0,"trend-down":t.trend<0})},[t.trend!==0?(m(),P(s(F),{key:0,icon:t.trend>0?"fa-solid fa-arrow-up":"fa-solid fa-arrow-down",size:"xl"},null,8,["icon"])):(m(),T(N,{key:1},[g(" - ")],64))],2)])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),a("div",_a,[o(s(aa),{modelValue:i.value,"onUpdate:modelValue":[c[0]||(c[0]=t=>i.value=t),d],"total-pages":h.totalPages,"slice-length":5,class:"data-table__pagination",onPageChanged:d},null,8,["modelValue","total-pages"])])]))}}),ha=$(pa,[["__scopeId","data-v-46cd2232"]]),f=h=>(A("data-v-c815562d"),h=h(),z(),h),ga=f(()=>a("h1",{class:"main-layout__title"},"Cardamon Dashboard",-1)),ma=f(()=>a("div",{class:"dashboard__header"},[a("p",{class:"dashboard__header-title"},"List of Scenarios")],-1)),fa={class:"dashboard__filters"},va={class:"dashboard__filters-group"},ba={class:"dashboard__filters-input-container dashboard__filters-date-input"},wa=f(()=>a("option",{value:"all"},"All time",-1)),Da=f(()=>a("option",{value:"5m"},"Last 5 minutes",-1)),ya=f(()=>a("option",{value:"30m"},"Last 30 minutes",-1)),Sa=f(()=>a("option",{value:"1d"},"Last 1 day",-1)),ka=f(()=>a("option",{value:"1w"},"Last week",-1)),Ta=f(()=>a("option",{value:"1m"},"Last month",-1)),Pa=f(()=>a("option",{value:"custom"},"Custom date",-1)),Ca=[wa,Da,ya,Sa,ka,Ta,Pa],La={key:0,class:"dashboard__filters-dates"},xa={class:"dashboard__filters-input-container"},Ia=f(()=>a("span",{class:"font-light text-sm text-gray-500 dark:text-gray-400"},"to",-1)),$a={class:"dashboard__filters-input-container"},Na={class:"main-layout__dashboard"},Va=I({__name:"HomeDashboard",setup(h){const p=sa(),u=k("all"),l=k(""),i=k(""),d=S(()=>p.loading),b=S(()=>{var e;return((e=p.scenariosData)==null?void 0:e.scenarios)||[]}),_=S(()=>{var e,r;return((r=(e=p.scenariosData)==null?void 0:e.pagination)==null?void 0:r.totalPages)||1}),c=k(1);S(()=>{var e,r;return((r=(e=p.scenariosData)==null?void 0:e.pagination)==null?void 0:r.totalScenarios)||0});const t=async(e={})=>{e.page===void 0&&(c.value=1),await p.fetchScenarios({...e,page:c.value,fromDate:l.value?new Date(l.value).getTime():0,toDate:i.value?new Date(i.value).getTime():Date.now()})},w=async()=>{u.value==="all"&&await t(),u.value!=="custom"&&(c.value=1,O())},O=async()=>{const e=new Date;switch(i.value=e.toISOString().split("T")[0],u.value){case"5m":l.value=new Date(e.getTime()-5*6e4).toISOString().split("T")[0];break;case"30m":l.value=new Date(e.getTime()-30*6e4).toISOString().split("T")[0];break;case"1d":l.value=new Date(e.getTime()-24*60*6e4).toISOString().split("T")[0];break;case"1w":l.value=new Date(e.getTime()-7*24*60*6e4).toISOString().split("T")[0];break;case"1m":l.value=new Date(e.getTime()-30*24*60*6e4).toISOString().split("T")[0];break;default:l.value=""}await t({fromDate:new Date(l.value).getTime(),toDate:new Date(i.value).getTime()})},E=async()=>{c.value=1,await t({fromDate:l.value?new Date(l.value).getTime():0,toDate:i.value?new Date(i.value).getTime():Date.now()})};return B(async()=>{await t()}),x([l,i],async()=>{u.value==="custom"&&await E()}),x(c,e=>{t({page:e})}),(e,r)=>(m(),P(la,{"show-add-widget":!1},{title:n(()=>[ga]),dashboard:n(()=>[ma,a("div",fa,[a("div",va,[a("div",ba,[L(a("select",{"onUpdate:modelValue":r[0]||(r[0]=v=>u.value=v),onChange:w,class:"input-with-icon"},Ca,544),[[U,u.value]]),o(s(F),{icon:"fa-solid fa-calendar",class:"input-icon pr-3"})]),u.value==="custom"?(m(),T("div",La,[a("div",xa,[L(a("input",{type:"date","onUpdate:modelValue":r[1]||(r[1]=v=>l.value=v),class:"input-with-icon"},null,512),[[V,l.value]])]),Ia,a("div",$a,[L(a("input",{type:"date","onUpdate:modelValue":r[2]||(r[2]=v=>i.value=v),class:"input-with-icon"},null,512),[[V,i.value]])])])):q("",!0)])]),a("div",Na,[o(ha,{data:b.value,loading:d.value,totalPages:_.value,currentPage:c.value,"onUpdate:currentPage":r[3]||(r[3]=v=>c.value=v)},null,8,["data","loading","totalPages","currentPage"])])]),_:1}))}}),Ea=$(Va,[["__scopeId","data-v-c815562d"]]);export{Ea as default};