PageSourceSearch

https://legateca.com/assets/MySchedulePage-fwugZPw_.js

js legateca.com collected 2026-10-06 13:43:15 UTC 5,184 bytes, 1 lines download raw bytes

1import{b as e,X as M,ae as L,r as o,a2 as y,a4 as P,a1 as p}from"./vendor-CNlRBQKV.js";import{b as B,L as G,s as v}from"./index-BLUlY5na.js";import{F as H,i as I,a as $,b as O}from"./vendor-fullcalendar-BkyuqqGC.js";import"./vendor-lodash-B3EhnKIF.js";const g=["01:00","01:30","02:00","02:30","03:00","03:30","04:00","04:30","05:00","05:30","06:00","06:30","07:00","07:30","08:00","08:30","09:00","09:30","10:00","10:30","11:00","11:30","12:00","12:30","13:00","13:30","14:00","14:30","15:00","15:30","16:00","16:30","17:00","17:30","18:00","18:30","19:00","19:30","20:00","20:30","21:00","21:30","22:00","22:30","23:00","23:30","24:00"],U=({handleInputChange:x,handleRemoveClick:u,handleAddClick:m,onSubmit:b,timeList:h})=>e.jsx("form",{onSubmit:d=>b(d),children:e.jsxs("div",{className:"slot-outer",children:[e.jsx("h2",{children:"Add slot"}),h.map((d,c)=>e.jsx("div",{className:"calender_fields",children:e.jsxs("div",{className:"box",children:[e.jsxs("div",{className:"mcls",children:[e.jsx("label",{children:" Start "}),e.jsx("select",{name:"time",value:d.time,className:"form-control",onChange:s=>x(s,c),required:!0,children:g.map(s=>e.jsx("option",{value:s,children:s},s))})]}),e.jsxs("div",{className:"mcls",children:[e.jsx("label",{children:" End "}),e.jsx("select",{name:"endTime",value:d.endTime,className:"form-control",onChange:s=>x(s,c),required:!0,children:g.map(s=>e.jsx("option",{value:s,children:s},s))})]}),e.jsxs("div",{className:"mcls",children:[e.jsx("label",{children:" Title "}),e.jsx("input",{name:"eventTitle",type:"text",className:"form-control",placeholder:"Enter Title",value:d.eventTitle,onChange:s=>x(s,c),required:!0})]}),e.jsxs("div",{className:"btn-box",children:[h.length!==0&&e.jsx("div",{className:"mr10  text-gray-700 flex items-center justify-center",onClick:()=>u(c),children:e.jsx(M,{className:"w-4 h-4"})}),h.length-1===c&&e.jsx("div",{className:"btn",onClick:m,children:e.jsx(L,{className:"w-4 h-4"})})]})]})},c)),e.jsx("div",{className:"d-flex justify-content-start mb-4 pl-20",children:e.jsx("button",{className:"addEventPop btn btn-primary",type:"submit",children:"Save slot"})})]})}),K=x=>{const[u,m]=o.useState([{time:"",endTime:"",eventTitle:"",eventDate:""}
1]),[b,h]=o.useState([{time:"",endTime:"",eventTitle:"",eventDate:""}]),[d,c]=o.useState([""]),[s,T]=o.useState([]),[N,f]=o.useState(!1),[C,S]=o.useState(""),_=t=>{S(t.dateStr);let l=E(b,"eventDate",t.dateStr);l.length>0?m(l):m([{time:"01:00",endTime:"01:00",eventTitle:"",eventDate:""}]),f(!0)},D=()=>f(!1),E=(t,l,i)=>{const a=[];for(let r=0,F=t.length;r<F;r++)t[r][l]===i&&a.push(t[r]);return a},k=(t,l)=>{const{name:i,value:a}=t.target,r=[...u];r[l][i]=a,m(r)},w=async t=>{const l=[...u],i=l[t];i._id&&(await v.availability.remove(i._id),p.success("Delete successfully",{hideProgressBar:!0,autoClose:2e3}),await v.availability.find({user:d})),l.splice(t,1),m(l)},q=()=>{m([...u,{time:"01:00",endTime:"01:00",eventTitle:"",eventDate:""}])},A=async t=>{t.preventDefault();let l=await u.map((a,r)=>({date:C,startTime:a.time,endTime:a.endTime,title:a.eventTitle,user:d,_id:a._id?a._id:void 0})),i=[];for(let a=0;a<l.length;a++)l[a]._id?await v.availability.update(l[a]._id,l[a]):i.push(l[a]);i.length>0&&await v.availability.create(i),p.success("Saved successfully",{hideProgressBar:!0,autoClose:2e3}),await v.availability.find({user:d}),f(!1)},j=y(t=>t.auth),n=y(t=>t.availability&&t.availability.queryResult&&t.availability.queryResult.length>0?t.availability.queryResult:t.availability&&t.availability.queryResult&&t.availability.queryResult.data&&t.availability.queryResult.data.length>0?t.availability.queryResult.data:[]);o.useEffect(()=>{let t=[],l=[];if(n&&n.length>0){for(let a=0;a<n.length;a++)if(!t.includes(n[a].date)){t.push(n[a].date);let r={id:a,start:n[a].date,end:n[a].date,overlap:!0,display:"background",color:"green"};l.push(r)}T(l)}let i=n&&n.length>0&&n.map((a,r)=>({time:a.startTime,endTime:a.endTime,eventTitle:a.title,eventDate:a.date,_id:a._id}));h(i)},[n]),o.useEffect(()=>{(async()=>{let{user:l}=j;l&&(c(l._id),await v.availability.find({user:l._id}))})()},[j]);const R=t=>e.jsx(H,{plugins:[I,$,O],headerToolbar:{left:"prev,next today",center:"title",right:"dayGridMonth,timeGridWeek,timeGridDay"},editable:!0,selectable:!0,selectMirror:!0,dayMaxEvents:!0,weekends:!0,events:t.finalEventForCalender,dateClick:l=>_(l)});return e.jsx(B,{children:e.jsxs(G,{children:[e.jsxs("div",{className:"registration_Pages",children:[e.jsxs("div",{className:"page_header pageflexHeading",children:[e.jsx("h3",{className:"pageHeading",children:"My Schedule"}),e.jsx("div",{className:"pageHeading_right",children:e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("span",{children:"•"}),"Available"]}),e.jsxs("li",{children:[e.jsx("span",{children:"•"}),"Not available"]}),e.jsxs("li",{children:[e.jsx("span",{children:"•"}),"Bookings"]})]})})]}),e.jsx("div",{className:"booking_calender",children:e.jsx("div",{className:"booking_full_calander",children:e.jsx(R,{finalEventForCalender:s})})})]}),e.jsx(P,{open:N,onClose:D,center:!0,children:e.jsx(U,{handleInputChange:k,handleRemoveClick:w,handleAddClick:q,onSubmit:A,timeList:u})})]})})};export{K 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.