{ "version": 3, "sources": ["src/widgets/cta.imba"], "sourcesContent": ["tag course-cta\n\tcss .chariot ta:center d:vflex ji:center ai:stretch\n\tcss .chariot c:green6 rd:lg p:6 bd:1px solid clear # backdrop-filter: blur(20px) \n\tcss .chariot bg:green2/80 bxs:lg c:$night bc:green2 bcb:green3 o@loading:0.2 tween:opacity 0.5s\n\n\tcss .title font-style:italic fs:xl/1.3 fw:500 w:<200px\n\tcss .group-head my:3 c:green7 fw:600 m:3 @880:3 0\n\tcss .flounder bgc:blue0/80 h:70px p:10px pos:fixed b:0px l:0px w:100%\n\t\n\tcss .bullet mb:2 fs:md @1060:lg- @1250:lg\n\t\t@before content: '\u274D' pr:2\n\n\tcss & @enrolled bg:white/80 bc:white bcb:white rd:lg\n\tcss section ofx:hidden w:100%\n\n\tcss section.chariot\n\t\tpos:fixed @880:relative b:0px l:0px\n\t\th:70px @880:auto d:flex @880:block fld:row ai:center jc:space-between\n\t\tbgc:var(--lemony) @880:white\n\n\tdef hydrate\n\t\tinnerHTML = ''\n\t\tschedule!\n\t\trender!\n\n\tget course\n\t\tstore.course\n\n\tget content\n\t\tcourse..sections..content\n\n\tget enrolled\n\t\tcourse.membership\n\n\tget uid\n\t\tcourse.membership.uid\n\t\n\tget completed?\n\t\tcourse.membership..completed\n\n\tget certificate?\n\t\tcourse.certificate\n\n\tdef enroll\n\t\tlet res = await window.$api.post(\"/course/{course.id}/enroll\")\n\t\tif res.enrollment\n\t\t\twindow.$api.track(\"Course\", \"Enrolled\", course.id)\n\t\t\twindow.gtag \"event\", \"course_enrolled\", { course_id: course.id }\n\t\t\twindow.location.href = course.scrims[0].contextualUrl(course)\n\n\tdef unenroll\n\t\tif window.confirm \"Are you sure you want to unenroll from {course.title}?\"\n\t\t\tconst res = await window.$api.post(\"/course/{course.id}/unenroll\")\n\t\t\tif res.unenrolled\n\t\t\t\twindow.$api.track(\"Course\", \"Unenrolled\", course.id)\n\t\t\t\twindow.location.href = \"/allcourses\"\n\n\tdef progress\n\t\tlet prog = Math.round course.progress * 100\n\t\tlet next = course.next\n\t\tlet first = course.scrims[0] or {}\n\n\t\t<section.chariot>\n\t\t\tif next\n\t\t\t\t<.group-head[d:none @880: block mt:0]> <span> \"Jump back in\"\n\t\t\t\t<.item[ta:left ofx:hidden]>\n\t\t\t\t\t<h4.truncate[fs:md/1.1 fw:500]> next.title\n\t\t\t\t\tif next.mod\n\t\t\t\t\t\t<div[fs:sm c:gray7 mb:0 @880:2]> \"In {next.mod.title}\"\n\t\t\t\t<a.button[mt:0 @880:4] href=next.contextualUrl(course)> \"Go to lesson\"\n\t\t\t\tif enrolled\n\t\t\t\t\t<p.small[d:none @880:block mt:6]> \"Leaving course? {<a.small.link @click=unenroll> \" Unenroll\"}\"\n\t\t\telse\n\t\t\t\t<.group-head[d:none @880:block]> <span> \"Get started\"\n\t\t\t\t<.item[ta:left]>\n\t\t\t\t\t<div.truncate[fs:md/1.2 fw:500]> first.title\n\t\t\t\t\tif first.mod\n\t\t\t\t\t\t<div[fs:sm c:gray7 mb:0 @880:2]> \"In {first.mod.title}\"\n\t\t\t\t<a.button[mt:0 @880:4].white href=first.contextualUrl(course)> \"Go to lesson\"\n\t\t\t\tif enrolled\n\t\t\t\t\t<p.small[d:none @880:block mt:6]> \"Leaving course? {<a.small.link @click=unenroll> \" Unenroll\"}\"\n\t\t\tif completed? and certificate?\n\t\t\t\t<.group-head[d:none @880: block mt:10]> \"Certificate unlocked!\"\n\t\t\t\t<a.button.white.sm[mt:0] href=\"/certificate/{uid}/{course.id}\"> \"Open certificate\"\n\t\t\telif completed? and !certificate?\n\t\t\t\t<.group-head[d:none @880: block mt:10 mb:0]> \"Well done, course completed!\"\n\t\t\t\t<div> \"On to your \"\n\t\t\t\t\t<a href=\"/allcourses\"> \"next conquest!\"\n\t\t\t\t\n\t\t\telif prog > 0\n\t\t\t\t<.group-head[d:none @880:block]> <span> \"Your progress\"\n\t\t\t\t<div[d:none @880:block bg:gray2 rd:md my:2]> <.progress[h:2 rd:md bg:green4 w: calc($progress * 100%)]>\n\t\t\t\t<div[d:none @880:block fs:sm c:green9]>\n\t\t\t\t\tcertificate? ? \"You are {prog}% on the way to unlocking your certificate.\" : \"You are {prog}% on your way.\"\n\t\t\t\tif course.id == 'gfrontend'\n\t\t\t\t\t<div[d:none @880:block fs:sm font-style:italic mt:4]> \"Did your progress decrease? Don't worry, please { <a[fs:sm] href=\"https://scrimba.com/links/progress-decrease\"> \"read this\" }.\"\n\n\tdef render\n\t\t<self>\n\t\t\t# Free/Enroll version\n\t\t\t<div[d:none @free:block @subscriber:block @enrolled:none]>\n\t\t\t\t<div[d:none @880:block].chariot>\n\t\t\t\t\t<a[mb:4 as:center d:none @guest:hflex].button href=\"#sign-in\"> \"Enroll for free\"\n\t\t\t\t\t<a[d:block @guest:none @has-access:block mb:4 mx:auto as:center].button @click=enroll> \"Get started!\"\n\t\t\t\t\t<p[fw:500]> \"Join {course.student_count} other students\"\n\t\t\t\t\t<div[d:none @guest:contents]>\n\t\t\t\t\t\t<.group-head> <p> \"Log in to get\"\n\t\t\t\t\t\t<.bullets[ta:left]>\n\t\t\t\t\t\t\t<.bullet> \"Access to all our free courses\"\n\t\t\t\t\t\t\t<.bullet> \"Interactive hands-on content\"\n\t\t\t\t\t\t\t<.bullet> \"100s of code challenges\"\n\t\t\t\t\t\t\t<.bullet> \"Join a friendly community\"\n\t\t\t\t<div[d:flex @880:none jai:center].flounder>\n\t\t\t\t\t<a[d:none @guest:hflex].button.sm href=\"#sign-in\"> \"Enroll for free\"\n\t\t\t\t\t<form[d:contents @guest:none] action=\"/course/{course.id}/enroll\" method=\"post\">\n\t\t\t\t\t\t<button.button.sm type=\"submit\"> \"Get started!\"\n\n\n\t\t\t# Subscribe version\n\t\t\t<div[d:block @free:none @subscriber:none @enrolled:none]>\n\t\t\t\t<div[d:none @880:block].chariot>\n\t\t\t\t\t<a[d:none @1200:block mb:4].button href=\"#join\"> \"Subscribe to access!\"\n\t\t\t\t\t<a[d@1200:none mb:4].button.sm href=\"#join\"> \"Subscribe to access!\"\n\n\t\t\t\t\t<p.small[c:green9]> \"Subscribe to access to this course and ALL other courses. You get a 30-day money-back guarantee, no questions asked.\"\n\t\t\t\t\tif content\n\t\t\t\t\t\t<.group-head> <p> \"This {course.type} includes\"\n\t\t\t\t\t\t<.bullets[ta:left]>\n\t\t\t\t\t\t\tfor usp in content\n\t\t\t\t\t\t\t\t<.bullet> usp\n\t\t\t\t\telse\n\t\t\t\t\t\t<.group-head> <p> \"Subscription includes\"\n\t\t\t\t\t\t<.bullets[ta:left]>\n\t\t\t\t\t\t\t<.bullet> \"All courses and career paths\"\n\t\t\t\t\t\t\t<.bullet> \"100s of coding challenges\"\n\t\t\t\t\t\t\t<.bullet> \"Certificates of completion\"\n\t\t\t\t\t\t\t<.bullet> \"Exclusive Pro members chat\"\n\n\t\t\t\t# Bottom bar for small screens\n\t\t\t\t<div[d:flex @880:none ai:center jc:center].flounder>\n\t\t\t\t\t<a[d:hflex m:0].button.sm href=\"#join\"> \"Subscribe now!\"\n\t\t\t\t\t# <span[d:block]> \"New Years discount\"\n\n\t\t\t# Progress version (when enrolled)\n\t\t\t<div[d:none @enrolled:contents]>\n\t\t\t\tif $web$\n\t\t\t\t\tprogress!\n"], "mappings": "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", "names": [] }