veza/apps/web/dist_verification/assets/EducationView-Dgv2lm_h.js

2 lines
10 KiB
JavaScript
Raw Normal View History

2026-02-07 19:36:48 +00:00
import{j as e,a as c}from"./vendor-react-YMhRUmcb.js";import{C as w,B as N,l as y}from"./index-D2uzyr9g.js";import{a as C}from"./progress-CWjxseYI.js";import{b4 as k,b5 as f,e as S,d as A,w as L,G as E,aQ as P,b6 as F}from"./vendor-icons-DINCNwpk.js";import{S as I}from"./input-DL1WY4HG.js";import{S as d}from"./skeleton-BPDNnZ8E.js";import"./vendor-fFnFILYR.js";import"./vendor-router-DX94Iu-2.js";import"./vendor-tanstack-CoFNL2zy.js";import"./vendor-utils-4BWoYre8.js";const U=({course:t,onClick:s,showProgress:o=!1})=>e.jsxs(w,{variant:"default",className:"group p-0 overflow-hidden cursor-pointer hover:border-kodo-steel/50 transition-all flex flex-col h-full",onClick:()=>s(t),children:[e.jsxs("div",{className:"relative aspect-video bg-kodo-ink overflow-hidden",children:[e.jsx("img",{src:t.thumbnailUrl,className:"w-full h-full object-cover opacity-90 group-hover:opacity-100 transition-opacity duration-200",alt:t.title}),e.jsx("div",{className:"absolute inset-0 bg-black/40 opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center backdrop-blur-sm",children:e.jsx(k,{className:"w-12 h-12 text-white fill-current opacity-80"})}),t.certificateAvailable&&e.jsxs("div",{className:"absolute top-2 right-2 bg-kodo-gold/90 text-black text-[10px] font-bold px-2 py-0.5 rounded shadow-lg flex items-center gap-1",children:[e.jsx(f,{className:"w-3 h-3 fill-current"})," CERTIFIED"]}),e.jsxs("div",{className:"absolute bottom-2 left-2 bg-black/70 text-white text-xs px-2 py-1 rounded font-mono flex items-center gap-1",children:[e.jsx(S,{className:"w-3 h-3"})," ",t.duration]})]}),e.jsxs("div",{className:"p-4 flex flex-col flex-1",children:[e.jsxs("div",{className:"flex justify-between items-start mb-2",children:[e.jsx("span",{className:`text-[10px] px-2 py-0.5 rounded uppercase font-bold ${t.level==="Advanced"?"bg-kodo-red/20 text-kodo-red":t.level==="Intermediate"?"bg-kodo-gold/20 text-kodo-gold":"bg-kodo-lime/20 text-kodo-lime"}`,children:t.level}),t.rating&&e.jsxs("div",{className:"flex items-center gap-1 text-xs text-kodo-gold font-bold",children:[e.jsx(f,{className:"w-3 h-3 fill-current"})," ",t.rating]})]}),e.jsx("h3",{className:"font-bold text-white text-base mb-1 line-clamp-2 group-hover:text-white transition-colors",children:t.title}),e.jsxs("p",{className:"text-kodo-content-dim text-xs mb-3",children:["by ",t.instructor]}),e.jsx("div",{className:"mt-auto pt-2",children:o&&t.progress!==void 0?e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex justify-between text-xs text-kodo-content-dim",children:[e.jsx("span",{children:"Progress"}),e.jsxs("span",{className:t.progress===100?"text-kodo-lime":"text-white",children:[t.progress,"%"]})]}),e.jsx(C,{value:t.progress,color:t.progress===100?"lime":"cyan"}),t.progress===100&&e.jsxs("div",{className:"flex items-center gap-1 text-xs text-kodo-lime mt-1 font-bold",children:[e.jsx(A,{className:"w-3 h-3"})," Completed"]})]}):e.jsxs("div",{className:"flex justify-between items-center border-t border-white/5 pt-3",children:[e.jsxs("div",{className:"flex items-center gap-1 text-xs text-kodo-content-dim",children:[e.jsx(L,{className:"w-3 h-3"})," ",(t.studentCount||0).toLocaleString()," students"]}),e.jsx("span",{className:"font-mono font-bold text-white",children:t.price&&t.price>0?`$${t.price}`:"Free"})]})})]})]});function B({onMyCoursesClick:t}){return e.jsxs("div",{className:"flex flex-col md:flex-row justify-between items-end border-b border-border pb-6 gap-4",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-display font-bold text-white mb-2",children:"ACADEMY"}),e.jsx("p",{className:"text-muted-foreground font-mono text-sm",children:"Level up your skills. Earn certificates."})]}),e.jsx(N,{variant:"glass",icon:e.jsx(E,{className:"w-4 h-4"}),onClick:t,children:"MY LEARNING"})]})}function M({className:t}){return e.jsxs("svg",{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",className:t,children:[e.jsx("lin