PageSourceSearch

https://semanticsx.pk/assets/SaasLMS-BbmPRdoB.js

js semanticsx.pk collected 2026-10-02 02:06:33 UTC 19,571 bytes, 1 lines download raw bytes

1import{s as q,r as l,a6 as I,aO as D,z as k,A as w,j as e,a3 as j,n as K,w as x,e as F,h as z,ap as H,E as X}from"./index-CGeo62Qw.js";import{A as J}from"./arrow-left-ng81dsWg.js";import{R as Q}from"./rocket-Blgaepl6.js";import{C as N}from"./check-circle-2-ByRKlKK3.js";import{C as Y}from"./chevron-up-Bc_X9j2B.js";import{P as Z}from"./play-CoECdnPi.js";import{S as ee}from"./sticky-note-CTO9LghO.js";const te=[{id:0,title:"What is SaaS, Metrics, Examples",duration:"Introduction"},{id:1,title:"What is Github, Git, Vercel, Hosting our First Sample SaaS",duration:"Lecture 2"},{id:2,title:"Building SaaS with API",duration:"Lecture 3"},{id:3,title:"Building Websites with RSS and SaaS with Login System",duration:"Lecture 4"},{id:4,title:"Niche Research",duration:"Lecture 5"},{id:5,title:"Building Content Writing SaaS",duration:"Lecture 6"},{id:6,title:"Researching Competitors for Features",duration:"Lecture 7"},{id:7,title:"Building SaaS Live",duration:"Lecture 8"},{id:8,title:"Adding Ahrefs & SemanticsX Features",duration:"Lecture 9"},{id:9,title:"First Sale of Rs 100K and Adding Geo Features",duration:"Lecture 10"},{id:10,title:"Adding LMS & Building Dashboard",duration:"Lecture 11"},{id:11,title:"Our 2nd SaaS Sale and Adding Admin Functionalities",duration:"Lecture 12"},{id:12,title:"Adding Payment Methods & Verification System",duration:"Lecture 13"},{id:13,title:"How to Migrate Websites from Vercel to Cloudflare Pages",duration:"Lecture 14"},{id:14,title:"Skills for AI Agents & Security Issues",duration:"Lecture 15"},{id:16,title:"Reached 250K Sales - LTD Registration Requirement and Process",duration:"Lecture 16"},{id:17,title:"Attaching Domain - Firebase Configuration - Getting APIs",duration:"Lecture 17"},{id:15,title:"Debugging Tools and Fixing Issues",duration:"Lecture 18"},{id:18,title:"Redesigning Tools for Better Visuals",duration:"SaaS 18"},{id:19,title:"Lifetime Deal",duration:"Lecture 20"},{id:20,title:"Facebook Promotion, Reddit Promotion, Startup Submission",duration:"Lecture 21"}],ne=({embedded:o=!1})=>{const{user:a,isAdmin:M,isLoading:T}=q(),[$,v]=l.useState(null),[B,y]=l.useState(null),[n,u]=l.useState([]),[_,S]=l.useState({}),[L,m]=l.useState(null),[V,b]=l.useState(null),[C,P]=l.useState([]),[W,A]=l.useState(!1),g=l.useRef({}),d=M||(a==null?void 0:a.astroturfEnabled);l.useEffect(()=>{if(!d){Promise.resolve().then(()=>{P([]),v(null),y(null)});return}let t=!1;return Promise.resolve().then(()=>(t||A(!0),I(()=>import("./saasCourseData-BJbHRByn.js"),[]))).then(({LECTURES:r})=>{t||P(r)}).catch(r=>{console.error("Failed to load SaaS course data:",r)}).finally(()=>{t||A(!1)}),()=>{t=!0}},[d]),l.useEffect(()=>{if(!d||!(a!=null&&a.id))return;(async()=>{try{const r=await X(k(w,"users",a.id));if(r.exists()){const s=r.data();s.saasCompleted&&u(s.saasCompleted),s.saasNotes&&S(s.saasNotes)}}catch(r){console.error("Failed to load SaaS LMS progress:",r)}})()},[d,a==null?void 0:a.id]);const E=l.useCallback((t,r)=>{a!=null&&a.id&&(g.current[t]&&clearTimeout(g.current[t]),m(t),b(null),g.current[t]=setTimeout(async()=>{try{await D(k(w,"users",a.id),{[`saasNotes.${t}`]:r}),m(s=>s===t?null:s),b(t),setTimeout(()=>b(s=>s===t?null:s),2e3)}catch(s){console.error("Failed to save note:",s),m(c=>c===t?null:c)}},800))},[a]),O=l.useCallback((t,r)=>{S(s=>({...s,[t]:r})),E(t,r)},[E]),G=async t=>{if(!(a!=null&&a.id))return;const r=n.includes(t)?n.filter(s=>s!==t):[...n,t];u(r);try{await D(k(w,"users",a.id),{saasCompleted:r})}catch(s){console.error("Failed to save SaaS LMS progress:",s),u(n)}},i=d?C:te,h=d?n.length:0,R=d&&i.length?Math.round(h/i.length*100):0;return T?e.jsx("div",{className:`${o?"py-12":"min-h-screen"} flex items-center justify-center bg-gray-50 dark:bg-slate-900`,children:e.jsx("div",{className:"w-8 h-8 border-2 border-blue-500/30 border-t-blue-500 rounded-full animate-spin"})}):d&&W&&C.length===0?e.jsx("div",{className:`${o?"py-12":"min-h-screen"} flex items-center justify-center bg-gray-50 dark:bg-slate-900`,children:e.jsx("div",{className:"w-8 h-8 border-2 border-blue-500/30 border-t-blue-500 rounded-full animate-spin"})}):e.jsxs("div",{className:`astroturf-dark-surface ${o?"":"min-h-screen"} bg-gradient-to-b from-gray-50 via-white to-gray-50 dark:bg-[#060d18] dar
1k:bg-none`,children:[!o&&e.jsxs("div",{className:"relative overflow-hidden",children:[e.jsxs("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[e.jsx("div",{className:"absolute -top-40 -right-40 w-80 h-80 bg-blue-100 dark:bg-blue-500/10 rounded-full blur-3xl animate-pulse"}),e.jsx("div",{className:"absolute top-20 -left-20 w-60 h-60 bg-indigo-100 dark:bg-indigo-500/10 rounded-full blur-3xl",style:{animation:"pulse 4s ease-in-out infinite"}}),e.jsx("div",{className:"absolute bottom-0 right-1/4 w-40 h-40 bg-violet-100 dark:bg-violet-500/10 rounded-full blur-2xl",style:{animation:"pulse 6s ease-in-out infinite"}})]}),e.jsxs("div",{className:"relative max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 pt-8 pb-12",children:[e.jsxs(j,{to:"/dashboard",className:"inline-flex items-center gap-2 text-gray-500 dark:text-slate-400 hover:text-blue-600 dark:hover:text-blue-400 mb-8 transition-colors group",children:[e.jsx(J,{className:"w-4 h-4 group-hover:-translate-x-1 transition-transform"}),e.jsx("span",{className:"text-sm",children:"Back to Dashboard"})]}),e.jsxs("div",{className:"flex flex-col md:flex-row items-start md:items-center gap-6 mb-4",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"w-16 h-16 md:w-20 md:h-20 rounded-2xl bg-gradient-to-br from-blue-400 to-indigo-500 flex items-center justify-center shadow-2xl shadow-blue-500/30",children:e.jsx(Q,{className:"w-8 h-8 md:w-10 md:h-10 text-white"})}),e.jsx("div",{className:"absolute -top-1 -right-1 w-6 h-6 bg-yellow-400 rounded-full flex items-center justify-center shadow-lg",children:e.jsx(K,{className:"w-3.5 h-3.5 text-yellow-900"})})]}),e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx("span",{className:"px-3 py-1 bg-blue-100 dark:bg-blue-500/20 text-blue-700 dark:text-blue-300 text-xs font-semibold rounded-full border border-blue-200 dark:border-blue-500/30 uppercase tracking-wider",children:"Learning Portal"}),e.jsxs("span",{className:"px-3 py-1 bg-indigo-100 dark:bg-indigo-500/20 text-indigo-700 dark:text-indigo-300 text-xs font-semibold rounded-full border border-indigo-200 dark:border-indigo-500/30",children:[i.length," Lecture",i.length!==1?"s":""]})]}),e.jsxs("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-extrabold text-gray-900 dark:text-white mb-3 leading-tight",children:["SaaS ",e.jsx("span",{className:"bg-gradient-to-r from-blue-500 to-indigo-500 bg-clip-text text-transparent",children:"Mastery"})]}),e.jsx("p",{className:"text-gray-500 dark:text-slate-400 text-base md:text-lg max-w-2xl leading-relaxed",children:"Master the art of building and scaling SaaS products with our comprehensive video lectures. Learn practical strategies and techniques from industry experts."})]})]}),d?e.jsxs("div",{className:"mt-8 bg-white dark:bg-slate-800/50 backdrop-blur-sm rounded-2xl p-4 md:p-6 border border-gray-200 dark:border-slate-700/50 shadow-sm dark:shadow-none",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-slate-300",children:"Course Progress"}),e.jsxs("span",{className:"text-sm font-bold text-blue-600 dark:text-blue-400",children:[h," / ",i.length," completed"]})]}),e.jsx("div",{className:"w-full h-2.5 bg-gray-100 dark:bg-slate-700 rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full bg-gradient-to-r from-blue-400 to-indigo-400 rounded-full transition-all duration-1000 ease-out",style:{width:`${R}%`}})})]}):e.jsx("div",{className:"mt-8 bg-white dark:bg-slate-800/50 backdrop-blur-sm rounded-2xl p-5 md:p-6 border border-blue-100 dark:border-blue-500/20 shadow-sm dark:shadow-none",children:e.jsxs("div",{className:"flex flex-col md:flex-row md:items-center md:justify-between gap-4",children:[e.jsxs("div",{children:[e.jsxs("span",{className:"inline-flex items-center gap-2 px-3 py-1 rounded-full bg-blue-50 dark:bg-blue-500/10 text-blue-700 dark:text-blue-300 text-xs font-semibold uppercase tracking-wider border border-blue-100 dark:border-blue-500/20 mb-3",children:[e.jsx(x,{className:"w-3.5 h-3.5"}),"Premium Course"]}),e.jsx("h2",{className:"text-xl font-bold text-gray-900 dark:text-white mb-1",children:"Purchase SaaS Mastery"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-slate-400",children:"Lecture rows are visible, but locked accounts cannot expand lessons or load video data."})]}),e.jsx(j,{to:"/lifetime-deal",className:"inline-flex items-center justify-center px-5 py-3 bg-gradient-to-r from-blue-500 to-indigo-500 text-white rounded-xl font-semibold hover:from-blue-600 hover:to-indigo-600 transition-all shadow-lg shadow-blue-500/25",children:"Purchase Course"})]})})]})]}),o&&d&&e.jsx("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 pt-4 pb-2",children:e.jsxs("div",{className:"bg-white dark:bg-slate-800/50 backdrop-blur-sm rounded-2xl p-4 border border-gray-200 dark:border-slate-700/50 shadow-sm dark:shadow-none",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-slate-300",children:"Course Progress"}
1),e.jsxs("span",{className:"text-sm font-bold text-blue-600 dark:text-blue-400",children:[h," / ",i.length," completed"]})]}),e.jsx("div",{className:"w-full h-2.5 bg-gray-100 dark:bg-slate-700 rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full bg-gradient-to-r from-blue-400 to-indigo-400 rounded-full transition-all duration-1000 ease-out",style:{width:`${R}%`}})})]})}),o&&!d&&e.jsx("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 pt-4 pb-2",children:e.jsx("div",{className:"bg-white dark:bg-slate-800/50 backdrop-blur-sm rounded-2xl p-5 border border-blue-100 dark:border-blue-500/20 shadow-sm dark:shadow-none",children:e.jsxs("div",{className:"flex flex-col md:flex-row md:items-center md:justify-between gap-4",children:[e.jsxs("div",{children:[e.jsxs("span",{className:"inline-flex items-center gap-2 px-3 py-1 rounded-full bg-blue-50 dark:bg-blue-500/10 text-blue-700 dark:text-blue-300 text-xs font-semibold uppercase tracking-wider border border-blue-100 dark:border-blue-500/20 mb-3",children:[e.jsx(x,{className:"w-3.5 h-3.5"}),"Premium Course"]}),e.jsx("h2",{className:"text-xl font-bold text-gray-900 dark:text-white mb-1",children:"Purchase SaaS Mastery"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-slate-400",children:"Lecture rows are visible, but locked accounts cannot expand lessons or load video data."})]}),e.jsx(j,{to:"/lifetime-deal",className:"inline-flex items-center justify-center px-5 py-3 bg-gradient-to-r from-blue-500 to-indigo-500 text-white rounded-xl font-semibold hover:from-blue-600 hover:to-indigo-600 transition-all shadow-lg shadow-blue-500/25",children:"Purchase Course"})]})})}),e.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 pb-16",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-8",children:[e.jsx(F,{className:"w-5 h-5 text-blue-600 dark:text-blue-400"}),e.jsx("h2",{className:"text-xl font-bold text-gray-900 dark:text-white",children:"Course Lectures"})]}),e.jsx("div",{className:"space-y-4",children:i.map((t,r)=>{const s=d&&$===t.id,c=d&&B===t.id,f=d&&n.includes(t.id);return d?e.jsxs("div",{className:`rounded-2xl border transition-all duration-300 overflow-hidden ${s?"bg-white dark:bg-slate-800/80 border-blue-300 dark:border-blue-500/40 shadow-xl shadow-blue-100 dark:shadow-blue-500/10":"bg-white dark:bg-slate-800/40 border-gray-200 dark:border-slate-700/50 hover:border-blue-200 dark:hover:border-slate-600/50 hover:shadow-md dark:hover:bg-slate-800/60"}`,children:[e.jsxs("button",{onClick:()=>v(s?null:t.id),className:"w-full flex items-center gap-4 p-4 md:p-6 text-left cursor-pointer",children:[e.jsx("div",{className:`flex-shrink-0 w-12 h-12 md:w-14 md:h-14 rounded-xl flex items-center justify-center font-bold text-lg transition-all ${s?"bg-gradient-to-br from-blue-400 to-indigo-500 text-white shadow-lg shadow-blue-500/30":"bg-gray-100 dark:bg-slate-700/60 text-gray-500 dark:text-slate-300"}`,children:t.status==="available"?e.jsx("span",{children:String(r+1).padStart(2,"0")}):e.jsx(x,{className:"w-5 h-5"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1 flex-wrap",children:[e.jsx("h3",{className:"text-base md:text-lg font-semibold text-gray-900 dark:text-white truncate",children:t.title}),e.jsx("span",{className:"px-2 py-0.5 bg-indigo-100 dark:bg-indigo-500/20 text-indigo-700 dark:text-indigo-300 text-xs font-medium rounded-full border border-indigo-200 dark:border-indigo-500/30 flex-shrink-0",children:t.duration})]}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-slate-400 line-clamp-1",children:t.description})]}),f&&e.jsxs("span",{className:"flex-shrink-0 px-2.5 py-1 bg-indigo-100 dark:bg-indigo-500/20 text-indigo-700 dark:text-indigo-300 text-xs font-semibold rounded-full border border-indigo-200 dark:border-indigo-500/30 flex items-center gap-1",children:[e.jsx(N,{className:"w-3.5 h-3.5"}),"Completed"]}),e.jsx("div",{className:"flex-shrink-0 text-gray-400 dark:text-slate-400",children:s?e.jsx(Y,{className:"w-5 h-5"}):e.jsx(z,{className:"w-5 h-5"})})]}),s&&e.jsxs("div",{className:"px-4 md:px-6 pb-6 space-y-6",children:[e.jsx("div",{className:"relative rounded-xl overflow-hidden bg-black shadow-2xl",children:c?e.jsx("div",{className:"relative w-full",style:{paddingBottom:"56.25%"},children:e.jsx("iframe",{className:"absolute inset-0 w-full h-full",src:`https://www.youtube.com/embed/${t.youtubeId}?autoplay=1&rel=0`,title:t.title,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})}):e.jsxs("div",{className:"relative w-full cursor-pointer group",style:{paddingBottom:"56.25%"},onClick:()=>y(t.id),children:[e.jsx("img",{src:`https://img.youtube.com/vi/${t.youtubeId}/hqdefault.jpg`,alt:t.title,className:"absolute inset-0 w-full h-full object-cover"}),e.jsx("div",{className:"absolute inset-0 bg-black/40 flex items-center justify-center group-hover:bg-black/30 transition-colors",children:e.jsx("div",{className:"w-16 h-16 md:w-20 md:h-20 rounded-full bg-gradient-to-r from-blue-500 to-indigo-500 flex items-center justify-center shadow-2xl shadow-blue-500/50 group-hover:scale-110 transition-transform",children:e.jsx(Z,{className:"w-7 h-7 md:w-9 md:h-9 text-white ml-1",fill:"white"})})}),e.jsx("div",{className:"absolute bottom-4 left-1/2 -translate-x-1/2",children:e.jsx("span",{className:"px-4 py-1.5 bg-black/60 backdrop-blur-sm text-white text-sm font-medium rounded-full border border-white/10",children:"Click to play"})})]})}),e.jsxs("div",{className:"bg-gray-50 dark:bg-slate-900/50 rounded-xl p-5 border border-gray-100 dark:border-slate-700/50",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("h4",{className:"text-sm font-semibold text-amber-600 dar
1k:text-amber-400 uppercase tracking-wider flex items-center gap-2",children:[e.jsx(ee,{className:"w-4 h-4"}),"My Notes"]}),e.jsx("span",{className:`text-xs font-medium transition-opacity duration-300 ${L===t.id?"text-amber-500 dark:text-amber-400 opacity-100":V===t.id?"text-emerald-500 dark:text-emerald-400 opacity-100":"opacity-0"}`,children:L===t.id?"Saving…":"Saved ✓"})]}),e.jsx("textarea",{value:_[t.id]||"",onChange:p=>O(t.id,p.target.value),placeholder:"Take your personal notes here while watching the lecture…",rows:4,className:"w-full bg-white dark:bg-slate-800/60 border border-gray-200 dark:border-slate-700/50 rounded-lg px-4 py-3 text-sm text-gray-700 dark:text-slate-300 placeholder-gray-400 dark:placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-amber-400/50 focus:border-amber-400 dark:focus:ring-amber-500/30 dark:focus:border-amber-500/50 resize-y transition-colors leading-relaxed"})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[e.jsxs("div",{className:"bg-gray-50 dark:bg-slate-900/50 rounded-xl p-5 border border-gray-100 dark:border-slate-700/50",children:[e.jsxs("h4",{className:"text-sm font-semibold text-blue-600 dark:text-blue-400 uppercase tracking-wider mb-3 flex items-center gap-2",children:[e.jsx(F,{className:"w-4 h-4"}),"About This Lecture"]}),e.jsx("p",{className:"text-gray-600 dark:text-slate-300 text-sm leading-relaxed",children:t.description})]}),e.jsxs("div",{className:"bg-gray-50 dark:bg-slate-900/50 rounded-xl p-5 border border-gray-100 dark:border-slate-700/50",children:[e.jsxs("h4",{className:"text-sm font-semibold text-indigo-600 dark:text-indigo-400 uppercase tracking-wider mb-3 flex items-center gap-2",children:[e.jsx(N,{className:"w-4 h-4"}),"Topics Covered"]}),e.jsx("ul",{className:"space-y-2.5",children:t.topics.map((p,U)=>e.jsxs("li",{className:"flex items-start gap-3 text-sm text-gray-600 dark:text-slate-300",children:[e.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-blue-50 dark:bg-blue-500/20 border border-blue-200 dark:border-blue-500/30 flex items-center justify-center mt-0.5",children:e.jsx(H,{className:"w-2.5 h-2.5 text-blue-500 dark:text-blue-400"})}),p]},U))})]})]}),e.jsxs("button",{onClick:()=>G(t.id),className:`w-full flex items-center justify-center gap-2 py-3 px-4 rounded-xl font-semibold text-sm transition-all duration-200 cursor-pointer ${f?"bg-indigo-100 dark:bg-indigo-500/20 text-indigo-700 dark:text-indigo-300 border border-indigo-200 dark:border-indigo-500/30 hover:bg-red-50 hover:text-red-600 hover:border-red-200 dark:hover:bg-red-500/10 dark:hover:text-red-400 dark:hover:border-red-500/30":"bg-gradient-to-r from-blue-500 to-indigo-500 text-white shadow-lg shadow-blue-500/25 hover:from-blue-600 hover:to-indigo-600 hover:shadow-xl hover:shadow-blue-500/30"}`,children:[e.jsx(N,{className:"w-4 h-4"}),f?"Completed — Click to Undo":"Mark as Complete"]})]})]},t.id):e.jsx("div",{className:"rounded-2xl border border-gray-200 dark:border-slate-700/50 bg-white dark:bg-slate-800/40 overflow-hidden",children:e.jsxs("div",{className:"w-full flex items-center gap-4 p-4 md:p-6 text-left",children:[e.jsx("div",{className:"flex-shrink-0 w-12 h-12 md:w-14 md:h-14 rounded-xl bg-gray-100 dark:bg-slate-700/60 text-gray-500 dark:text-slate-300 flex items-center justify-center font-bold text-lg",children:String(r+1).padStart(2,"0")}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1 flex-wrap",children:[e.jsx("h3",{className:"text-base md:text-lg font-semibold text-gray-900 dark:text-white truncate",children:t.title}),e.jsx("span",{className:"px-2 py-0.5 bg-indigo-100 dark:bg-indigo-500/20 text-indigo-700 dark:text-indigo-300 text-xs font-medium rounded-full border border-indigo-200 dark:border-indigo-500/30 flex-shrink-0",children:t.duration})]}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-slate-400",children:"Purchase the course to unlock the full lecture."})]}),e.jsxs("span",{className:"flex-shrink-0 px-2.5 py-1 bg-gray-100 dark:bg-slate-700 text-gray-600 dark:text-slate-300 text-xs font-semibold rounded-full border border-gray-200 dark:border-slate-600 flex items-center gap-1",children:[e.jsx(x,{className:"w-3.5 h-3.5"}),"Locked"]})]})},t.id)})})]})]})};export{ne 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.