| {% extends "templates/base.html" %} |
| {% block title %}{{ course.course_name }}{% endblock %} |
| {% from "www/lms/macros/hero.html" import hero %} |
| {% from "www/lms/macros/card.html" import null_card %} |
| |
| {% block head_include %} |
| <style> |
| div.card-hero-img { |
| height: 220px; |
| background-size: cover; |
| background-repeat: no-repeat; |
| background-position: center; |
| background-color: rgb(250, 251, 252); |
| } |
| |
| .card-image-wrapper { |
| display: flex; |
| overflow: hidden; |
| height: 220px; |
| background-color: rgb(250, 251, 252); |
| justify-content: center; |
| } |
| |
| .image-body { |
| align-self: center; |
| color: #d1d8dd; |
| font-size: 24px; |
| font-weight: 600; |
| line-height: 1; |
| padding: 20px; |
| } |
| section { |
| padding: 5rem 0 5rem 0; |
| } |
| </style> |
| {% endblock %} |
| |
| |
| {% macro card(topic) %} |
| <div class="col-sm-4 mb-4 text-left"> |
| <div class="card h-100"> |
| {% if has_access %} |
| <a href="/lms/topic?program={{ program }}&course={{ course.name }}&topic={{ topic.name }}" class="no-decoration no-underline"> |
| {% else %} |
| <div onclick="show_singup()"> |
| {% endif %} |
| {% if topic.hero_image %} |
| <div class="card-hero-img" style="background-image: url('{{ topic.hero_image }})'"></div> |
| {% else %} |
| <div class="card-image-wrapper text-center"> |
| <div class="image-body"><i class="fa fa-picture-o" aria-hidden="true"></i></div> |
| </div> |
| {% endif %} |
| <div class='card-body'> |
| <h5 class='card-title'>{{ topic.topic_name }}</h5> |
| <div> |
| <ol class="list-unstyled"> |
| {% for content in topic.topic_content %} |
| <li> |
| {% if has_access %} |
| <a class="text-muted" href="/lms/content?program={{ program }}&course={{ course.name }}&topic={{ topic.name }}&type={{ content.content_type }}&content={{ content.content }}"> |
| {{ content.content }} |
| </a> |
| {% else %} |
| <span class="text-muted">{{ content.content }}</span> |
| {% endif %} |
| </li> |
| {% endfor %} |
| </ol> |
| </div> |
| </div> |
| {% if has_access %} |
| <div class='card-footer'> |
| {% if progress[topic.name].completed %} |
| <span class="indicator green">Completed</span> |
| {% elif progress[topic.name].started %} |
| <span class="indicator orange">In Progress</span> |
| {% else %} |
| <span class="indicator blue">Start</span> |
| {% endif %} |
| </div> |
| </a> |
| {% else %} |
| </div> |
| {% endif %} |
| </div> |
| </div> |
| {% endmacro %} |
| |
| {% block content %} |
| <section class="section"> |
| {{ hero(course.course_name, course.description, has_access, {'name': 'Program', 'url': '/lms/program?program=' + program }) }} |
| <div class='container'> |
| <div class="row mt-5"> |
| {% for topic in topics %} |
| {{ card(topic) }} |
| {% endfor %} |
| {% if topics %} |
| {% for n in range( (3 - (topics|length)) %3) %} |
| {{ null_card() }} |
| {% endfor %} |
| {% endif %} |
| </div> |
| </div> |
| </section> |
| {% endblock %} |
| |
| {% block script %} |
| <script> |
| function show_singup() { |
| if (frappe.session.user == "Guest") { |
| let signup_dialog = new frappe.ui.Dialog({ |
| title: __('Sign Up'), |
| primary_action: function() { |
| window.location.href = '/login#signup' |
| }, |
| primary_action_label: 'Sign Up' |
| }) |
| signup_dialog.set_message('You have to sign up to access the course'); |
| signup_dialog.$message.show() |
| signup_dialog.show(); |
| } |
| } |
| </script> |
| {% endblock %} |