1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7289],{26955:function(e,t,r){Promise.resolve().then(r.bind(r,97449))},22640:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var n=r(2265),l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},a=r(61331);/** 2 * @license lucide-react v0.469.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */let i=(0,n.forwardRef)((e,t)=>{let{color:r="currentColor",size:i=24,strokeWidth:s=2,absoluteStrokeWidth:o,className:c="",children:u,iconNode:d,...f}=e;return(0,n.createElement)("svg",{ref:t,...l,width:i,height:i,stroke:r,strokeWidth:o?24*Number(s)/Number(i):s,className:(0,a.z)("lucide",c),...f},[...d.map(e=>{let[t,r]=e;return(0,n.createElement)(t,r)}),...Array.isArray(u)?u:[u]])})},38170:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var n=r(2265),l=r(61331),a=r(22640);/** 7 * @license lucide-react v0.469.0 - ISC 8 * 9 * This source code is licensed under the ISC license. 10 * See the LICENSE file in the root directory of this source tree. 11 */let i=(e,t)=>{let r=(0,n.forwardRef)((r,i)=>{let{className:s,...o}=r;return(0,n.createElement)(a.Z,{ref:i,iconNode:t,className:(0,l.z)("lucide-".concat((0,l.m)(e)),s),...o})});return r.displayName="".concat(e),r}},87385:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});/** 12 * @license lucide-react v0.469.0 - ISC 13 * 14 * This source code is licensed under the ISC license. 15 * See the LICENSE file in the root directory of this source tree. 16 */let n=(0,r(38170).Z)("CalendarDays",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]])},92940:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});/** 17 * @license lucide-react v0.469.0 - ISC 18 * 19 * This source code is licensed under the ISC license. 20 * See the LICENSE file in the root directory of this source tree. 21 */let n=(0,r(38170).Z)("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},45193:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});/** 22 * @license lucide-react v0.469.0 - ISC 23 * 24 * This source code is licensed under the ISC license. 25 * See the LICENSE file in the root directory of this source tree. 26 */let n=(0,r(38170).Z)("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]])},7746:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});/** 27 * @license lucide-react v0.469.0 - ISC 28 * 29 * This source code is licensed under the ISC license. 30 * See the LICENSE file in the root directory of this source tree. 31 */let n=(0,r(38170).Z)("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]])},49321:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});/** 32 * @license lucide-react v0.469.0 - ISC 33 * 34 * This source code is licensed under the ISC license. 35 * See the LICENSE file in the root directory of this source tree. 36 */let n=(0,r(38170).Z)("MapPin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]])},85016:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});/** 37 * @license lucide-react v0.469.0 - ISC 38 * 39 * This source code is licensed under the ISC license. 40 * See the LICENSE file in the root directory of this source tree. 41 */let n=(0,r(38170).Z)("Trophy",[["path",{d:"M6 9H4.5a2.5 2.5 0 0 1 0-5H6",key:"17hqa7"}],["path",{d:"M18 9h1.5a2.5 2.5 0 0 0 0-5H18",key:"lmptdp"}],["path",{d:"M4 22h16",key:"57wxv0"}
41],["path",{d:"M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22",key:"1nw9bq"}],["path",{d:"M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22",key:"1np0yb"}],["path",{d:"M18 2H6v7a6 6 0 0 0 12 0V2Z",key:"u46fv3"}]])},61331:function(e,t,r){"use strict";r.d(t,{m:function(){return n},z:function(){return l}});/** 42 * @license lucide-react v0.469.0 - ISC 43 * 44 * This source code is licensed under the ISC license. 45 * See the LICENSE file in the root directory of this source tree. 46 */let n=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),l=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()}},87138:function(e,t,r){"use strict";r.d(t,{default:function(){return l.a}});var n=r(231),l=r.n(n)},16463:function(e,t,r){"use strict";var n=r(71169);r.o(n,"useParams")&&r.d(t,{useParams:function(){return n.useParams}}),r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})},97449:function(e,t,r){"use strict";r.d(t,{default:function(){return s}});var n=r(57437),l=r(2265),a=r(87138),i=r(72848);function s(e){let{tasks:t}=e,[r,s]=(0,l.useState)(""),o=async()=>{try{let e=window.location.href;navigator.share?await navigator.share({title:"Excelrs Task Board",text:"Check out the latest tasks on Excelrs.",url:e}):e&&(await navigator.clipboard.writeText(e),s("Task board link copied"),setTimeout(()=>s(""),2e3))}catch(e){s("Share cancelled"),setTimeout(()=>s(""),2e3)}};return(0,n.jsxs)("main",{className:"bg-gray-200 p-3 md:p-8 min-h-screen flex flex-col gap-3 md:gap-4",children:[(0,n.jsx)("section",{className:"relative",children:(0,n.jsx)(i.yV,{title:"Task Board",description:"Real tasks with real outcomes. Enroll, contribute, and submit effort + GitHub proof.",showButton:!1,backgroundImage:"/trainingHero.svg",overlayOpacity:.72})}),(0,n.jsxs)("div",{className:"bg-white rounded-2xl shadow-lg p-4 md:p-5",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsxs)("span",{className:"inline-flex items-center rounded-full bg-sky-100 text-sky-700 text-xs font-semibold px-3 py-1",children:[t.length," Tasks"]}),(0,n.jsx)("span",{className:"inline-flex items-center rounded-full bg-gray-100 text-gray-600 text-xs font-medium px-3 py-1",children:"Explore, enroll, and contribute"})]}),(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-2 sm:flex sm:flex-wrap sm:items-center sm:justify-end sm:gap-3 w-full lg:w-auto",children:[(0,n.jsx)(a.default,{href:"/",className:"bg-purple-600 hover:bg-purple-700 text-white font-semibold px-4 py-2 rounded-lg transition-all shadow-lg text-sm text-center",children:"Dashboard"}),(0,n.jsx)(a.default,{href:"/my-tasks",className:"bg-indigo-600 hover:bg-indigo-700 text-white font-semibold px-4 py-2 rounded-lg transition-all shadow-lg text-sm text-center",children:"My Tasks"}),(0,n.jsx)("button",{onClick:o,className:"bg-indigo-600 hover:bg-indigo-700 text-white font-semibold px-4 py-2 rounded-lg transition-all shadow-lg text-sm text-center",children:"Share"}),(0,n.jsx)("button",{onClick:()=>window.location.reload(),className:"bg-teal-600 hover:bg-teal-700 text-white font-semibold px-4 py-2 rounded-lg transition-all shadow-lg text-sm text-center",children:"Refresh"})]})]}),r?(0,n.jsx)("p",{className:"mt-3 text-sm text-emerald-700",children:r}):null]}),(0,n.jsx)("section",{className:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-2 gap-5",children:0===t.length?(0,n.jsx)("div",{className:"col-span-full bg-white rounded-2xl p-8 text-gray-500 shadow border border-gray-100",children:"No public tasks available right now."}):t.map(e=>(0,n.jsxs)(a.default,{href:"/tasks/".concat(e.id),className:"group bg-white rounded-2xl shadow-lg border border-gray-100 overflow-hidden hover:shadow-2xl transition",children:[(0,n.jsx)("div",{className:"h-40 w-full bg-gray-100 overflow-hidden",children:e.image?(0,n.jsx)("img",{src:e.image,alt:e.title,className:"h-full w-full object-cover group-hover:scale-105 transition duration-500"}):(0,n.jsx)("div",{className:"h-full w-full bg-gradient-to-r from-blue-100 to-teal-100"})}),(0,n.jsxs)("div",{className:"p-5",children:[(0,n.jsxs)("div",{className:"flex items-start justify-between gap-2 mb-2",children:[(0,n.jsx)("h2",{className:"text-xl font-bold text-gray-800 leading-7",children:e.title}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)("span",{className:"inline-flex items-center text-[10px] px-2 py-1 rounded-full bg-amber-100 border border-amber-300 text-amber-800 font-semibold",children:["Score: ",Number(e.score||0)]}),(0,n.jsx)("span",{className:"text-[10px] px-2 py-1 rounded-full bg-emerald-100 text-emerald-700",children:e.status})]})]}),(0,n.jsx)("p",{className:"text-sm text-gray-600 line-clamp-2 min-h-[40px]",children:e.summary||"No summary provided."}),(0,n.jsxs)("div",{className:"mt-4 text-xs text-gray-500",children:[" Enrolled: ",e.enrolledCount||0]})]})]},e.id))})]})}},1584:function(e,t,r){"use strict";r.d(t,{F:function(){return a},e:function(){return i}});var n=r(2265);function l(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function a(...e){return t=>{let r=!1,n=e.map(e=>{let n=l(e,t);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let t=0;t<n.length;t++){let r=n[t];"function"==typeof r?r():l(e[t],null)}}}}function i(...e){return n.useCallback(a(...e),e)}},71538:function(e,t,r){"use strict";r.d(t,{Z8:function(){return u},g7:function(){return d}});var n,l=r(2265),a=r(1584),i=r(57437),s=Symbol.for("react.lazy"),o=(n||(n=r.t(l,2)))[" use ".trim().toString()];function c(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===s&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}function u(e){let t=function(e){let t=l.forwardRef((e,t)=>
46{let{children:r,...n}=e;if(c(r)&&"function"==typeof o&&(r=o(r._payload)),l.isValidElement(r)){var i;let e,s;let o=(i=r,(e=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning?i.ref:(e=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning?i.props.ref:i.props.ref||i.ref),c=function(e,t){let r={...t};for(let n in t){let l=e[n],a=t[n];/^on[A-Z]/.test(n)?l&&a?r[n]=(...e)=>{let t=a(...e);return l(...e),t}:l&&(r[n]=l):"style"===n?r[n]={...l,...a}:"className"===n&&(r[n]=[l,a].filter(Boolean).join(" "))}return{...e,...r}}(n,r.props);return r.type!==l.Fragment&&(c.ref=t?(0,a.F)(t,o):o),l.cloneElement(r,c)}return l.Children.count(r)>1?l.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}(e),r=l.forwardRef((e,r)=>{let{children:n,...a}=e;c(n)&&"function"==typeof o&&(n=o(n._payload));let s=l.Children.toArray(n),u=s.find(p);if(u){let e=u.props.children,n=s.map(t=>t!==u?t:l.Children.count(e)>1?l.Children.only(null):l.isValidElement(e)?e.props.children:null);return(0,i.jsx)(t,{...a,ref:r,children:l.isValidElement(e)?l.cloneElement(e,void 0,n):null})}return(0,i.jsx)(t,{...a,ref:r,children:n})});return r.displayName=`${e}.Slot`,r}var d=u("Slot"),f=Symbol("radix.slottable");function p(e){return l.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===f}},13027:function(e,t,r){"use strict";r.d(t,{j:function(){return i}});var n=r(44839);let l=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,a=n.W,i=(e,t)=>r=>{var n;if((null==t?void 0:t.variants)==null)return a(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:i,defaultVariants:s}=t,o=Object.keys(i).map(e=>{let t=null==r?void 0:r[e],n=null==s?void 0:s[e];if(null===t)return null;let a=l(t)||l(n);return i[e][a]}),c=r&&Object.entries(r).reduce((e,t)=>{let[r,n]=t;return void 0===n||(e[r]=n),e},{});return a(e,o,null==t?void 0:null===(n=t.compoundVariants)||void 0===n?void 0:n.reduce((e,t)=>{let{class:r,className:n,...l}=t;return Object.entries(l).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...s,...c}[t]):({...s,...c})[t]===r})?[...e,r,n]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)}}},function(e){e.O(0,[231,4868,8173,6048,2848,2971,7023,1744],function(){return e(e.s=26955)}),_N_E=e.O()}]);
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.