Stripe updates
This commit is contained in:
@ -0,0 +1,86 @@
|
||||
{% comment %} Determine if events are enabled and the user is registered for at least one event {% endcomment %}
|
||||
{% if features.training_events? and training_events.enrolled and training_events.enrolled.any? %}
|
||||
{% assign show_events_section = true %}
|
||||
{% endif %}
|
||||
|
||||
{% comment %} Determine whether special classes need to be added to non course sections and the cards within {% endcomment %}
|
||||
{% if show_learning_paths_section %}
|
||||
{% assign learning_path_section_classes = "col-md-8 col-lg-6" %}
|
||||
{% assign learning_path_card_classes = "" %}
|
||||
{% endif %}
|
||||
|
||||
{%if show_events_section%}
|
||||
{% assign event_section_classes = "col-md-4 col-lg-6" %}
|
||||
{% assign event_card_classes = "col-x-sm-6 col-sm-6 col-md-12 col-lg-6" %}
|
||||
{%endif%}
|
||||
|
||||
{% include "header", current_page_orgin: "/app/partner-training" %}
|
||||
<main class="np-main np-dashboard np-subpage-container">
|
||||
|
||||
<div class="page__header-wrapper">
|
||||
<h1 class="np-resource-title">Partner Training Dashboard</h1>
|
||||
</div>
|
||||
|
||||
<div class="page__primary-content">
|
||||
|
||||
<div class="blocks-layout">
|
||||
|
||||
{% comment %} Show the first featured course as a banner {% endcomment %}
|
||||
{% if courses.featured and courses.featured.any? %}
|
||||
<div>
|
||||
{% include "banner_course", course: courses.featured.first, button_text: "Get Started" %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% comment %} Show this section if either the event section or learning path section has content {% endcomment %}
|
||||
{% if show_learning_paths_section or show_events_section %}
|
||||
|
||||
<div class="blocks-layout">
|
||||
|
||||
{% if show_learning_paths_section %}
|
||||
<div class="{{ learning_path_section_classes }}">
|
||||
<h2 class="np-dashboard-resources-title">
|
||||
Learning Paths
|
||||
</h2>
|
||||
{% include "learning_paths_index", items: learning_paths.enrolled, card_classes: learning_path_card_classes %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if show_events_section %}
|
||||
<div class="{{ event_section_classes }}">
|
||||
<h2 class="np-dashboard-resources-title">
|
||||
Upcoming Events
|
||||
</h2>
|
||||
{% include "training_events_dashboard", card_classes: event_card_classes %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if courses.enrolled and courses.enrolled.any? %}
|
||||
<div class="blocks-layout">
|
||||
{% for course in courses.enrolled %}
|
||||
{% for category in course.categories %}
|
||||
{% if category.name == 'Partner Training' %}
|
||||
{% include "cards_course", course: course, card_classes: card_classes %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
{% capture message %}
|
||||
{% t shared.zero_state.courses.index,
|
||||
key: current_school.course_vocabulary
|
||||
%}
|
||||
{% endcapture %}
|
||||
{% assign message = message | replace: "Courses", "tutorials" %}
|
||||
{% include "courses_zero_state", message: message, filters_applied: false %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
@ -0,0 +1,46 @@
|
||||
<div class="np-card {{ card_classes }}">
|
||||
<div class="np-card-container">
|
||||
<div class="card__image" style="background-image: url({{ course.image_url }})">
|
||||
{% if course.ribbon and course.ribbon.size > 0 %}
|
||||
<div class="np-card-ribbon">
|
||||
{{ course.ribbon }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="np-card-content np-card-content-vertical np-card-padding">
|
||||
<h3 class="np-card-content-title">
|
||||
{{ course.name }}
|
||||
</h3>
|
||||
{% if course.instructor_names and course.instructor_names.size > 0 %}
|
||||
<div class="np-card-content-subtitle">
|
||||
{{ course.instructor_names }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if course.short_description and course.short_description.size > 0 %}
|
||||
<div class="np-card-content-description">
|
||||
{{ course.short_description | split: " --- " | last }}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="np-card-content-footer">
|
||||
{% capture course_path %}{% route course, id: course.id %}{% endcapture %}
|
||||
<a class="np-button np-button-wide" href="{{ course_path }}">
|
||||
{% t shared.view %}
|
||||
</a>
|
||||
{% if course.enrolled? %}
|
||||
{% if course.has_to_restart? %}
|
||||
{% include "course_version_outdated_popup", path: course_path %}
|
||||
{% endif %}
|
||||
<div class="np-card-content-progress np-button-color">
|
||||
{% if course.completed? %}
|
||||
Complete
|
||||
{% elsif course.started? == false %}
|
||||
Enrolled
|
||||
{% else %}
|
||||
{{ course.progress }}% Complete
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,61 @@
|
||||
<div class="np-card card--horizontal {{ card_classes }}">
|
||||
<div class="np-card-container">
|
||||
<div class="card__image" style="background-image: url({{ learning_path.image_url }})">
|
||||
<div class="np-card-ribbon np-hidden-mobile">
|
||||
<i class="fa fa-book-open" aria-hidden="true"></i>
|
||||
{{ learning_path.items.count }} Tutorial{% if learning_path.items.count > 1%}s{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="np-card-text-wrapper">
|
||||
|
||||
<div class="np-card-content np-card-padding np-card-content-vertical">
|
||||
<h3 class="np-card-content-title">
|
||||
{{ learning_path.name }}
|
||||
</h3>
|
||||
|
||||
{% if learning_path.has_instructors? %}
|
||||
<div class="np-card-content-subtitle">
|
||||
{{ learning_path.instructor_names }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="np-card-ribbon np-hidden-desktop">
|
||||
<i class="fa fa-book-open" aria-hidden="true"></i>
|
||||
{{ learning_path.items.count }} Tutorial{% if learning_path.items.count > 1%}s{% endif %}
|
||||
</div>
|
||||
|
||||
{% comment %} Currently hiding the description {% endcomment %}
|
||||
{% comment %}
|
||||
{% if learning_path.description and learning_path.description.size > 0 %}
|
||||
<div class="np-hidden-mobile np-card-content-description">
|
||||
{{ learning_path.description }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endcomment %}
|
||||
|
||||
<div class="np-card-content-footer">
|
||||
<a class="np-button" href="{% route learning_path, id: learning_path.id %}">
|
||||
<span class="np-hidden-desktop">View</span>
|
||||
<span class="np-hidden-mobile">View Path</span>
|
||||
</a>
|
||||
{% if learning_path.enrolled? %}
|
||||
<div class="np-card-content-progress
|
||||
np-button-color">
|
||||
{% if learning_path.completed? %}
|
||||
Complete
|
||||
{% elsif learning_path.started? == false %}
|
||||
Enrolled
|
||||
{% else %}
|
||||
{{ learning_path.progress }}% Complete
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="np-card-stack">
|
||||
<div class="np-card-stack-level-1"></div>
|
||||
<div class="np-card-stack-level-2"></div>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,59 @@
|
||||
<div class="np-card card--training-event {{ card_classes }}">
|
||||
<div class="np-card-container">
|
||||
<div class="np-card-content np-card-padding np-card-content-vertical">
|
||||
<h3 class="np-card-content-title">
|
||||
{{ training_event.title }}
|
||||
</h3>
|
||||
<div class="np-card-content-subtitle">
|
||||
{% case training_event.event_type %}
|
||||
{% when "online" %}
|
||||
Online Event
|
||||
{% when "in_person" %}
|
||||
In-Person Event
|
||||
{% endcase %}
|
||||
</div>
|
||||
{% if training_event.description and training_event.description.size > 0 %}
|
||||
<div class="np-card-content-description">
|
||||
|
||||
{{ training_event.description | strip }}
|
||||
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="np-card-training-session-date">
|
||||
|
||||
{% comment %} Fallback to the first session {% endcomment %}
|
||||
{% assign session_to_display = training_event.sessions | first %}
|
||||
{% comment %} Check for an enrolled session and preferrably display that {% endcomment %}
|
||||
{% assign enrolled_sessions = training_event.sessions | where: "registered?", true %}
|
||||
{% if enrolled_sessions and enrolled_sessions.size > 0 %}
|
||||
{% assign session_to_display = enrolled_sessions | first %}
|
||||
{% endif %}
|
||||
|
||||
{% include "training_session_date", training_session: session_to_display %}
|
||||
{% if training_event.sessions and training_event.sessions.size > 1 %}
|
||||
<div class="session-date__other-info-container">
|
||||
<div class="session-date__other-info-wrapper">
|
||||
<i class="np-card-training-sessions-icon far fa-calendar-star" aria-hidden="true"></i>
|
||||
<span class="np-card-training-sessions-label">
|
||||
{{ training_event.sessions.size | minus: 1 }}
|
||||
{% if training_event.sessions.size == 2 %}
|
||||
Other Session
|
||||
{% else %}
|
||||
Other Sessions
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="np-card-content-footer">
|
||||
<a
|
||||
class="np-button np-button-wide"
|
||||
href="{% route training_session, id: session_to_display.id %}"
|
||||
>
|
||||
{% t shared.view %} Event
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,4 @@
|
||||
<span class="np-course-outline-content-activity-title">
|
||||
{{ activity.title }}
|
||||
</span>
|
||||
|
||||
@ -0,0 +1,9 @@
|
||||
<a
|
||||
href="{% route activity_viewer,
|
||||
id: activity.id,
|
||||
course_id: params.course_id,
|
||||
learning_path_id: params.learning_path_id
|
||||
%}" class="{{ activity_classes }}"
|
||||
>
|
||||
{{ activity.title }}
|
||||
</a>
|
||||
@ -0,0 +1,27 @@
|
||||
{% if course.learner_can_retake? %}
|
||||
<form action="{% route course_retake, id: course.id %}" method="POST">
|
||||
{% form_authenticity_token %}
|
||||
<button type="submit" class="np-top-button np-button-font-color np-button np-button-big">
|
||||
Restart Course
|
||||
</button>
|
||||
</form>
|
||||
{% else %}
|
||||
<a
|
||||
class="np-top-button np-button-font-color np-button np-button-big"
|
||||
{% if course.enrolled? %}
|
||||
href="{% route course_viewer, course_id: course.id, learning_path_id: params.learning_path_id %}"
|
||||
{% else %}
|
||||
href="{% route course_enrollment, code: course.enrollment_code %}"
|
||||
{% endif %}
|
||||
>
|
||||
{% if course.enrolled? == false %}
|
||||
Enroll in Course
|
||||
{% elsif course.started? == false %}
|
||||
Start Course
|
||||
{% elsif course.completed? %}
|
||||
View Course
|
||||
{% else %}
|
||||
Continue Course
|
||||
{% endif %}
|
||||
</a>
|
||||
{% endif %}
|
||||
@ -0,0 +1,6 @@
|
||||
<h3 class="np-card-heading">
|
||||
About This Tutorial
|
||||
</h3>
|
||||
<div class="np-card-text">
|
||||
{{ course.full_description }}
|
||||
</div>
|
||||
@ -0,0 +1,26 @@
|
||||
<h3 class="np-card-heading">
|
||||
{% t .header %}
|
||||
</h3>
|
||||
{% for event in course.events %}
|
||||
<div class="np-course-events-content-item">
|
||||
<div class="np-course-events-content-date">
|
||||
<div class="np-course-events-content-month">
|
||||
{{ event.sessions.first.abbreviated_month }}
|
||||
</div>
|
||||
<div class="np-course-events-content-day">
|
||||
{{ event.sessions.first.day }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="np-course-events-content-details">
|
||||
<div class="np-course-events-content-name">
|
||||
{{ event.title }}
|
||||
</div>
|
||||
<div class="np-course-events-content-type np-text-light">
|
||||
{% t shared.event_types, key: event.event_type %}
|
||||
</div>
|
||||
<div class="np-course-events-content-time">
|
||||
{{ event.sessions.first.time_period | replace: "AM", "am" | replace: "PM", "pm" | replace: "-", "–" }} {{ event.sessions.first.time_zone }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
@ -0,0 +1,6 @@
|
||||
<div class="np-top-title">
|
||||
{{ course.name }}
|
||||
</div>
|
||||
<div>
|
||||
{% include "course_cta_button" %}
|
||||
</div>
|
||||
@ -0,0 +1,26 @@
|
||||
<h3 class="np-card-heading">
|
||||
Instructors
|
||||
</h3>
|
||||
<div class="instructors-list__container">
|
||||
{% for instructor in course.instructors %}
|
||||
<div class="np-content-instructors-content-item">
|
||||
<img
|
||||
src="{{ instructor.avatar_url }}"
|
||||
class="np-content-instructors-content-image"
|
||||
alt="{{ instructor.name }}"
|
||||
/>
|
||||
<div class="np-content-instructors-content-description">
|
||||
<div class="np-content-instructors-content-name">
|
||||
{{ instructor.name }}
|
||||
</div>
|
||||
|
||||
{% if instructor.title and instructor.title.size > 0 %}
|
||||
<div class="np-content-instructors-content-info">
|
||||
{{ instructor.title }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
@ -0,0 +1,57 @@
|
||||
<div class="np-course-outline np-card-content-divider">
|
||||
<h3 class="np-card-heading">
|
||||
Outline
|
||||
</h3>
|
||||
<div class="np-course-outline-content">
|
||||
<ol class="np-course-outline-content-section">
|
||||
{% for section in course.sections %}
|
||||
<li class="np-course-outline-content-section-list">
|
||||
<div class="np-course-outline-content-section-name np-text-title-bold np-text-title-bold">
|
||||
{{ section.name }}
|
||||
</div>
|
||||
<ol class="np-course-outline-content-activity">
|
||||
{% for activity in section.activities %}
|
||||
|
||||
<li class="np-course-outline-content-activity-list">
|
||||
<i
|
||||
class="fas np-course-outline-content-activity-icon
|
||||
{% if activity.completed? %}
|
||||
fa-check-circle np-progress-color
|
||||
{% else %}
|
||||
fa-circle
|
||||
{% endif %}"
|
||||
{% if activity.completed? %}
|
||||
aria-label="Chapter Complete"
|
||||
{% else %}
|
||||
aria-hidden="true"
|
||||
{% endif %}
|
||||
>
|
||||
</i>
|
||||
|
||||
{% comment %} If the activity is locked show a locked icon and then a text title {% endcomment %}
|
||||
{% if activity.locked? %}
|
||||
<i
|
||||
class="far fa-lock-alt np-course-outline-content-activity-icon-locked"
|
||||
aria-label="Chapter Locked"
|
||||
></i>
|
||||
{% include "course_activity_locked" %}
|
||||
|
||||
{% comment %} If the user is not enrolled in the course show a text title {% endcomment %}
|
||||
{% elsif course.enrolled? == false %}
|
||||
{% include "course_activity_locked" %}
|
||||
|
||||
{% comment %} Otherwise include a link {% endcomment %}
|
||||
{% else %}
|
||||
{% include "course_activity_unlocked", activity_classes: "np-course-outline-content-activity-link-completed" %}
|
||||
{% endif %}
|
||||
|
||||
<div class="np-course-outline-content-activity-list-bar
|
||||
{% if activity.completed? %} np-progress-background-color {% endif %}"></div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ol>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,23 @@
|
||||
<div class="np-top-cta">
|
||||
<div class="np-hidden-mobile">
|
||||
{% include "course_cta_button" %}
|
||||
</div>
|
||||
<div class="np-top-cta-progress-content">
|
||||
<div class="np-top-cta-progress-title np-text-title">
|
||||
Progress
|
||||
</div>
|
||||
<div class="np-progress-bar-container">
|
||||
<div
|
||||
style="width: {{ course.progress }}%"
|
||||
class="np-progress-background-color np-card-progress-bar">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="np-top-cta-progress-text">
|
||||
{{ course.progress }}% Complete
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="np-hidden-desktop">
|
||||
{% include "course_cta_button" %}
|
||||
</div>
|
||||
@ -0,0 +1,49 @@
|
||||
<div class="np-course-version-outdated-popup np-popup">
|
||||
<div class="np-popup-positioner">
|
||||
<i
|
||||
class="np-course-version-outdated-popup-trigger fas fa-exclamation-circle"
|
||||
data-toggle-class-on-target="np-popup-tooltip--visible"
|
||||
data-toggle-target-parent=".np-popup-tooltip"
|
||||
data-toggle-outside
|
||||
aria-label="New Version Available"
|
||||
tabindex="0"
|
||||
></i>
|
||||
<div
|
||||
class="np-popup-tooltip"
|
||||
role="tooltip"
|
||||
aria-hidden="true"
|
||||
>
|
||||
<header class="np-popup-header">
|
||||
<i class="np-popup-header-icon fas fa-exclamation-circle" aria-hidden="true"></i>
|
||||
<h3 class="np-popup-header-title">
|
||||
{% t .title %}
|
||||
</h3>
|
||||
</header>
|
||||
<div class="np-popup-body">
|
||||
<h4>
|
||||
{% capture header_text %}
|
||||
{% t .body.header %}
|
||||
{% endcapture %}
|
||||
{{ header_text | replace: "course", "tutorial" }}
|
||||
|
||||
</h4>
|
||||
<p>
|
||||
{% capture body_text %}
|
||||
{% t .body.content %}
|
||||
{% endcapture %}
|
||||
{{ body_text | replace: "course", "tutorial" }}
|
||||
</p>
|
||||
<a
|
||||
class="np-popup-body-button"
|
||||
href="{{ path }}"
|
||||
>
|
||||
{% capture button_text %}
|
||||
{% t .body.button %}
|
||||
{% endcapture %}
|
||||
{{ button_text | replace: "Course", "Tutorial" }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="np-popup-tail"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,15 @@
|
||||
{% if courses.enrolled and courses.enrolled.any? %}
|
||||
<div class="blocks-layout">
|
||||
{% for course in courses.enrolled %}
|
||||
{% include "cards_course", course: course, card_classes: card_classes %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
{% capture message %}
|
||||
{% t shared.zero_state.courses.index,
|
||||
key: current_school.course_vocabulary
|
||||
%}
|
||||
{% endcapture %}
|
||||
{% assign message = message | replace: "Courses", "tutorials" %}
|
||||
{% include "courses_zero_state", message: message, filters_applied: false %}
|
||||
{% endif %}
|
||||
@ -0,0 +1,20 @@
|
||||
{% if courses.enrolled and courses.enrolled.any? %}
|
||||
<div class="blocks-layout">
|
||||
{% for course in courses.enrolled %}
|
||||
{% for category in course.categories %}
|
||||
{% if category.name == 'Partner Certification' %}
|
||||
{% include "cards_course", course: course, card_classes: card_classes %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
{% capture message %}
|
||||
{% t shared.zero_state.courses.index,
|
||||
key: current_school.course_vocabulary
|
||||
%}
|
||||
{% endcapture %}
|
||||
{% assign message = message | replace: "Courses", "tutorials" %}
|
||||
{% include "courses_zero_state", message: message, filters_applied: false %}
|
||||
{% endif %}
|
||||
@ -0,0 +1,133 @@
|
||||
{% comment %} Initialize Variables {% endcomment %}
|
||||
{% assign show_learning_paths_section = false %}
|
||||
{% assign show_events_section = false %}
|
||||
{% assign learning_path_section_classes = "" %}
|
||||
{% assign event_section_classes = "" %}
|
||||
{% assign learning_path_card_classes = "col-md-6" %}
|
||||
{% assign event_card_classes = "col-x-sm-6 col-sm-6 col-md-4 col-lg-3" %}
|
||||
|
||||
{% comment %} Determine if learning paths are enabled and the user is enrolled in at least one learning path {% endcomment %}
|
||||
{% if features.learning_paths? and learning_paths.enrolled and learning_paths.enrolled.any? %}
|
||||
{% assign show_learning_paths_section = true %}
|
||||
{% endif %}
|
||||
|
||||
{% comment %} Determine if events are enabled and the user is registsered for at least one event {% endcomment %}
|
||||
{% if features.training_events? and training_events.enrolled and training_events.enrolled.any? %}
|
||||
{% assign show_events_section = true %}
|
||||
{% endif %}
|
||||
|
||||
{% comment %} Determine whether special classes need to be added to non course sections and the cards within {% endcomment %}
|
||||
{% if show_learning_paths_section %}
|
||||
{% assign learning_path_section_classes = "col-md-8 col-lg-6" %}
|
||||
{% assign learning_path_card_classes = "" %}
|
||||
{% endif %}
|
||||
|
||||
{%if show_events_section%}
|
||||
{% assign event_section_classes = "col-md-4 col-lg-6" %}
|
||||
{% assign event_card_classes = "col-x-sm-6 col-sm-6 col-md-12 col-lg-6" %}
|
||||
{%endif%}
|
||||
|
||||
<main class="np-main np-dashboard np-subpage-container">
|
||||
|
||||
<div class="blocks-layout">
|
||||
|
||||
{% comment %} Show the first featured course as a banner {% endcomment %}
|
||||
{% if courses.featured and courses.featured.any? %}
|
||||
<div>
|
||||
{% include "banner_course", course: courses.featured.first, button_text: "Get Started" %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% comment %} Show this section if either the event section or learning path section has content {% endcomment %}
|
||||
{% if show_learning_paths_section or show_events_section %}
|
||||
|
||||
<div class="blocks-layout">
|
||||
|
||||
{% if show_learning_paths_section %}
|
||||
<div class="{{ learning_path_section_classes }}">
|
||||
<h2 class="np-dashboard-resources-title">
|
||||
Learning Paths
|
||||
</h2>
|
||||
{% include "learning_paths_index", items: learning_paths.enrolled, card_classes: learning_path_card_classes %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if show_events_section %}
|
||||
<div class="{{ event_section_classes }}">
|
||||
<h2 class="np-dashboard-resources-title">
|
||||
Upcoming Events
|
||||
</h2>
|
||||
{% include "training_events_dashboard", card_classes: event_card_classes %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
|
||||
<div>
|
||||
<h2 class="np-dashboard-resources-title">
|
||||
My Courses
|
||||
</h2>
|
||||
{% if courses.enrolled and courses.enrolled.any? %}
|
||||
|
||||
|
||||
{% comment %} Sort enrolled courses by progress {% endcomment %}
|
||||
{% assign enrolled_courses_sorted = courses.enrolled | sort_natural: "short_description" | reverse | sort_natural: "progress" | reverse %}
|
||||
|
||||
{% comment %} Divide courses by progress/completion state {% endcomment %}
|
||||
{% assign courses_completed = enrolled_courses_sorted | where: "completed?", true %}
|
||||
{% assign courses_in_progress = enrolled_courses_sorted | where: "completed?", false | where: "started?", true %}
|
||||
{% assign courses_enrolled = enrolled_courses_sorted | where: "started?", false %}
|
||||
|
||||
{% comment %} In Progress & Enrolled courses {% endcomment %}
|
||||
{% if courses_in_progress.size > 0 or courses_enrolled.size > 0 %}
|
||||
<h3 class="dashboard-layout__subtitle">
|
||||
Courses In Progress
|
||||
</h3>
|
||||
<div class="blocks-layout">
|
||||
|
||||
{% comment %} In Progress courses {% endcomment %}
|
||||
{% if courses_in_progress.size > 0 %}
|
||||
{% for course in courses_in_progress %}
|
||||
{% include "cards_course", course: course, card_classes: "col-x-sm-6 col-sm-6 col-md-4 col-lg-3" %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% comment %} Enrolled courses {% endcomment %}
|
||||
{% if courses_enrolled.size > 0 %}
|
||||
{% for course in courses_enrolled %}
|
||||
{% include "cards_course", course: course, card_classes: "col-x-sm-6 col-sm-6 col-md-4 col-lg-3" %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% comment %} Completed courses {% endcomment %}
|
||||
{% if courses_completed.size > 0 %}
|
||||
<h3 class="dashboard-layout__subtitle">
|
||||
Completed Courses
|
||||
</h3>
|
||||
<div class="blocks-layout">
|
||||
{% for course in courses_completed %}
|
||||
{% include "cards_course", course: course, card_classes: "col-x-sm-6 col-sm-6 col-md-4 col-lg-3" %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
{% capture message %}
|
||||
{% t shared.zero_state.courses.index,
|
||||
key: current_school.course_vocabulary
|
||||
%}
|
||||
{% endcapture %}
|
||||
{% assign message = message | replace: "Courses", "tutorials" %}
|
||||
{% include "courses_zero_state", message: message, filters_applied: false %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
}}
|
||||
@ -0,0 +1,20 @@
|
||||
{% if courses.enrolled and courses.enrolled.any? %}
|
||||
<div class="blocks-layout">
|
||||
{% for course in courses.enrolled %}
|
||||
{% for category in course.categories %}
|
||||
{% if category.name == 'Section 3' %}
|
||||
{% include "cards_course", course: course, card_classes: card_classes %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
{% capture message %}
|
||||
{% t shared.zero_state.courses.index,
|
||||
key: current_school.course_vocabulary
|
||||
%}
|
||||
{% endcapture %}
|
||||
{% assign message = message | replace: "Courses", "tutorials" %}
|
||||
{% include "courses_zero_state", message: message, filters_applied: false %}
|
||||
{% endif %}
|
||||
@ -0,0 +1,9 @@
|
||||
<div class="np-dashboard-resources-container">
|
||||
<div class="np-zero-state-text">
|
||||
<p>{{ message }}</p>
|
||||
{% if filters_applied %}
|
||||
<button class="np-button np-button-wide js-clear-filter-button js-filter-type__all">Clear All Filters</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
<img class="np-zero-state-courses" alt="{{ message }}" />
|
||||
</div>
|
||||
@ -0,0 +1,81 @@
|
||||
{% comment %}
|
||||
<footer class="np-footer">
|
||||
<div class="np-footer-top">
|
||||
{% if website_footer.show_navigation_links? %}
|
||||
<div class="np-footer-navigation">
|
||||
<ul class="np-footer-navigation-list">
|
||||
{% for website_navigation in navigations.footer_navigations %}
|
||||
<li class="np-footer-navigation-item">
|
||||
<a
|
||||
class="np-footer-navigation-link np-button-color"
|
||||
href="{{ website_navigation.path }}"
|
||||
{% if website_navigation.external? %} target="_blank" {% endif %}
|
||||
>
|
||||
{{ website_navigation.name }}
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if current_school.logo_url %}
|
||||
<h2 class="np-footer-logo">
|
||||
<a href="{% route home %}">
|
||||
<img
|
||||
alt="{{ current_school.name }}"
|
||||
class="np-footer-logo-image"
|
||||
src="{{ current_school.logo_url }}"
|
||||
/>
|
||||
</a>
|
||||
</h2>
|
||||
{% else %}
|
||||
<div class="np-school-name np-header-font-color">
|
||||
{{ current_school.name }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="np-footer-bottom">
|
||||
<nav class="np-footer-social-links">
|
||||
{% if website_footer.show_social_media_links? %}
|
||||
<ul class="np-footer-social-links-list">
|
||||
{% for social_media_link in website_footer.social_media_links %}
|
||||
<li class="np-footer-social-links-item">
|
||||
<a
|
||||
class="np-footer-social-links-link np-button-color"
|
||||
href="{{ social_media_link.link }}"
|
||||
target="_blank" title="{{ social_media_link.name }}"
|
||||
>
|
||||
<i class="np-footer-social-links-icon
|
||||
np-button-color
|
||||
fab fa-{{ social_media_link.name }}"
|
||||
aria-label="{{ social_media_linke.name }}"
|
||||
></i>
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</nav>
|
||||
|
||||
{% if website_footer.show_customer_service_email? and
|
||||
website_footer.school_customer_service_email
|
||||
%}
|
||||
<div class="np-footer-support">
|
||||
<div class="np-footer-support-item np-footer-support-help">
|
||||
{% t .need_help %}
|
||||
</div>
|
||||
<div class="np-footer-support-item np-footer-support-email">
|
||||
{% t .email %}
|
||||
</div>
|
||||
<a
|
||||
class="np-footer-support-item np-footer-support-link np-button-color"
|
||||
href="mailto:{{ website_footer.school_customer_service_email }}"
|
||||
>
|
||||
{{ website_footer.school_customer_service_email }}
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</footer>
|
||||
{% endcomment %}
|
||||
@ -0,0 +1,8 @@
|
||||
{% styles default %}
|
||||
{% styles colors %}
|
||||
{% styles custom %}
|
||||
|
||||
{% comment %} Install Lato {% endcomment %}
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;0,900;1,400;1,700;1,900&display=swap" rel="stylesheet">
|
||||
@ -0,0 +1,204 @@
|
||||
<header class="np-header np-header-color">
|
||||
<div class="np-header-content">
|
||||
<div class="np-hidden-desktop np-header-mobile-menu-nav">
|
||||
{% if current_person.signed_in? %}
|
||||
<button
|
||||
data-toggle-class="np-hidden"
|
||||
class="np-header-mobile-menu-nav-button fal fa-times np-hidden np-header-font-color"
|
||||
data-toggle-target=".np-header-mobile-avatar-menu,
|
||||
.np-header-mobile-menu-content, .np-main, .np-footer"
|
||||
></button>
|
||||
<button
|
||||
data-test="open-mobile-menu"
|
||||
data-toggle-class="np-hidden"
|
||||
class="np-header-mobile-menu-nav-button np-header-mobile-avatar-menu"
|
||||
data-toggle-target=".fa-times, .np-header-mobile-menu-content, .np-main, .np-footer"
|
||||
>
|
||||
<img
|
||||
alt="{{ current_person.name }}"
|
||||
class="np-header-avatar-image"
|
||||
src="{{ current_person.avatar_url }}"
|
||||
/>
|
||||
</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if current_school.logo_url %}
|
||||
<h1 class="np-header-logo">
|
||||
<a href="{% route home %}">
|
||||
<img
|
||||
alt="{{ current_school.name }}"
|
||||
class="np-header-logo-image"
|
||||
src="{{ current_school.logo_url }}"
|
||||
/>
|
||||
</a>
|
||||
</h1>
|
||||
{% else %}
|
||||
<a href="{% route home %}" class="np-school-name np-header-font-color">
|
||||
{{ current_school.name }}
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
<div class="np-hidden-mobile np-header-desktop-nav">
|
||||
<ul class="np-header-desktop-nav-list">
|
||||
|
||||
{% comment %} Dashboard {% endcomment %}
|
||||
{% assign navigation_my_training = navigations.sub_navigation | where: "label", "Dashboard" | first %}
|
||||
{% include "header_desktop_menu_item", label: "Dashboard", url: navigation_my_training.url, external: false %}
|
||||
|
||||
{% comment %} All Courses {% endcomment %}
|
||||
{% include "header_desktop_menu_item", label: 'Courses', url: '/app/courses', external: false %}
|
||||
|
||||
{% comment %} Learning Paths {% endcomment %}
|
||||
{% assign navigation_guides = navigations.sub_navigation | where: "label", "Learning Paths" | first %}
|
||||
{% include "header_desktop_menu_item", label: "Learning Paths", url: navigation_guides.url, external: false %}
|
||||
|
||||
{% comment %} Events {% endcomment %}
|
||||
{% assign navigation_events = navigations.sub_navigation | where: "label", "Events" | first %}
|
||||
{% include "header_desktop_menu_item", label: navigation_events.label, url: navigation_events.url, external: false %}
|
||||
|
||||
{% for website_navigation in navigations.header_navigations_external %}
|
||||
{% include "header_desktop_menu_item", label: website_navigation.name, url: website_navigation.path, external: true %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{% if current_person.signed_in? %}
|
||||
<div class="np-hidden-mobile np-header-search np-header-search-expanded">
|
||||
<form action="{% route search %}" method="get" data-test="desktop-search">
|
||||
<input
|
||||
aria-label="{% t .search %}"
|
||||
class="np-header-search-input np-header-font-background-color"
|
||||
type="text"
|
||||
name="q"
|
||||
placeholder="{% t .search %}"
|
||||
/>
|
||||
<i class="np-header-search-icon far fa-search" aria-label="Search"></i>
|
||||
</form>
|
||||
</div>
|
||||
<div class="np-hidden-mobile np-header-avatar">
|
||||
<button
|
||||
class="np-header-avatar-button"
|
||||
data-test="open-desktop-menu"
|
||||
data-toggle-class-on-target="np-hidden"
|
||||
data-toggle-target=".np-header-avatar-tooltip"
|
||||
data-toggle-outside
|
||||
>
|
||||
<img
|
||||
alt="{{ current_person.name }}"
|
||||
class="np-header-avatar-image"
|
||||
src="{{ current_person.avatar_url }}"
|
||||
>
|
||||
</button>
|
||||
<div class="np-header-avatar-tooltip np-hidden" role="tooltip">
|
||||
<span class="np-header-avatar-tooltip-arrow-up"></span>
|
||||
<div class="np-header-avatar-tooltip-learner">
|
||||
<div class="np-header-avatar-tooltip-learner-name">
|
||||
{{ current_person.name }}
|
||||
</div>
|
||||
<div class="np-header-avatar-tooltip-learner-email">
|
||||
{{ current_person.email }}
|
||||
</div>
|
||||
</div>
|
||||
<nav class="np-header-avatar-tooltip-navigation">
|
||||
{% unless current_school.sso_active? %}
|
||||
<a
|
||||
class="np-header-avatar-tooltip-navigation-link"
|
||||
href="{% route account %}"
|
||||
>
|
||||
{% t .profile_settings %}
|
||||
</a>
|
||||
{% endunless %}
|
||||
<a
|
||||
class="np-header-avatar-tooltip-navigation-link np-danger"
|
||||
href="{% route logout %}"
|
||||
>
|
||||
{% t .sign_out %}
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<a
|
||||
class="np-header-sign-in np-header-desktop-nav-link np-header-font-color"
|
||||
href="{% route login %}"
|
||||
>
|
||||
{% t shared.sign_in %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div class="np-hidden-desktop">
|
||||
<div class="np-header-mobile-menu-content np-hidden">
|
||||
{% if current_person.signed_in? %}
|
||||
<img
|
||||
alt="{{ current_person.name }}"
|
||||
class="np-header-mobile-menu-content-avatar"
|
||||
src="{{ current_person.avatar_url }}"
|
||||
/>
|
||||
<div class="np-header-mobile-menu-content-name">
|
||||
{{ current_person.name }}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="np-header-mobile-menu-content-nav">
|
||||
<form
|
||||
class="np-header-search"
|
||||
data-test="mobile-search"
|
||||
method="get"
|
||||
action="{% route search %}"
|
||||
>
|
||||
<input
|
||||
aria-label="{% t .search %}"
|
||||
class="np-header-search-input"
|
||||
type="text"
|
||||
name="q"
|
||||
placeholder="{% t .search %}"
|
||||
/>
|
||||
<i class="np-header-search-icon far fa-search" aria-label="search"></i>
|
||||
</form>
|
||||
|
||||
{% comment %} Home {% endcomment %}
|
||||
{% assign mobile_navigation_home = navigations.header_navigations | where: "name", "Home" | first %}
|
||||
{% include "header_mobile_menu_item", label: mobile_navigation_home.name, url: mobile_navigation_home.path, external: false %}
|
||||
|
||||
{% comment %} Dashboard {% endcomment %}
|
||||
{% assign mobile_navigation_my_training = navigations.header_navigations | where: "name", "Dashboard" | first %}
|
||||
{% include "header_mobile_menu_item", label: "Dashboard", url: mobile_navigation_my_training.path, external: false %}
|
||||
|
||||
{% comment %} All Courses {% endcomment %}
|
||||
{% include "header_mobile_menu_item", label: "Tutorials", url: "/app/courses", external: false %}
|
||||
|
||||
{% comment %} Learning Paths {% endcomment %}
|
||||
{% assign mobile_navigation_guides = navigations.header_navigations | where: "name", "Learning Paths" | first %}
|
||||
{% include "header_mobile_menu_item", label: "Learning Paths", url: mobile_navigation_guides.path, external: false %}
|
||||
|
||||
{% comment %} Events {% endcomment %}
|
||||
{% assign mobile_navigation_events = navigations.header_navigations | where: "name", "Events" | first %}
|
||||
{% include "header_mobile_menu_item", label: mobile_navigation_events.name, url: mobile_navigation_events.path, external: false %}
|
||||
|
||||
{% comment %} External Links {% endcomment %}
|
||||
{% assign mobile_navigation_external = navigations.header_navigations | where: "external?", true %}
|
||||
{% for website_navigation in mobile_navigation_external %}
|
||||
{% include "header_mobile_menu_item", label: website_navigation.name, url: website_navigation.path, external: true %}
|
||||
{% endfor %}
|
||||
|
||||
<div class="np-header-mobile-menu-content-line"></div>
|
||||
{% unless current_school.sso_active? %}
|
||||
<a
|
||||
class="np-header-mobile-menu-content-button"
|
||||
href="{% route account %}"
|
||||
>
|
||||
{% t .profile_settings %}
|
||||
</a>
|
||||
{% endunless %}
|
||||
<a
|
||||
class="np-header-mobile-menu-content-button np-danger"
|
||||
href="{% route logout %}"
|
||||
>
|
||||
{% t .sign_out %}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "messages" %}
|
||||
@ -0,0 +1,24 @@
|
||||
<li class="np-header-desktop-nav-item">
|
||||
<a
|
||||
href="{{ url }}"
|
||||
class="np-header-desktop-nav-link np-header-font-color
|
||||
{% if url contains current_page_orgin %}
|
||||
is-active white-text
|
||||
{% else %}
|
||||
black-text
|
||||
{% endif %}
|
||||
"
|
||||
{% if external %}target="_blank"{% endif %}
|
||||
>
|
||||
{{ label }}
|
||||
</a>
|
||||
</li>
|
||||
<style>
|
||||
.white-text{
|
||||
color: white
|
||||
}
|
||||
|
||||
.black-text{
|
||||
color: black
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,8 @@
|
||||
<a
|
||||
href="{{ url }}"
|
||||
class="np-header-mobile-menu-content-button"
|
||||
{% if external %} target="_blank" {% endif %}
|
||||
style="color: white"
|
||||
>
|
||||
{{ label }}
|
||||
</a>
|
||||
@ -0,0 +1,63 @@
|
||||
{% comment %} Determine if the item should be a link or not {% endcomment %}
|
||||
{% if learning_path.enrolled? and course.unlocked? %}
|
||||
{% assign element_type = "a" %}
|
||||
{% else %}
|
||||
{% assign element_type = "div" %}
|
||||
{% endif %}
|
||||
|
||||
<div>
|
||||
<{{ element_type }}
|
||||
class="np-learning-path-outline-item np-card card--horizontal"
|
||||
{% if element_type == "a" %}
|
||||
href="{% route learning_path_course, learning_path_id: learning_path.id, id: course.id %}"
|
||||
{% endif %}
|
||||
>
|
||||
<div class="np-card-container">
|
||||
<div class="card__image" style="background-image: url({{ item.image }})">
|
||||
{% if course.optional? %}
|
||||
<div class="np-card-ribbon">
|
||||
Optional
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="np-card-content np-learning-path-outline-content np-card-padding">
|
||||
<div class="card__step-counter"></div>
|
||||
<h3 class="np-card-content-title">
|
||||
{{ course.name }}
|
||||
</h3>
|
||||
|
||||
{% if course.instructors and course.instructors.size > 0 %}
|
||||
<div class="np-card-content-subtitle">
|
||||
{{ course.instructors }}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="np-card-content-footer">
|
||||
<div class="np-card-content-progress">
|
||||
{% if course.completed? %}
|
||||
Complete
|
||||
{% elsif course.progress > 0 %}
|
||||
{{ course.progress }}% Complete
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% comment %} Use a different icon based on the state of the learning path and course {% endcomment %}
|
||||
{% if course.completed? %}
|
||||
<div class="outline-card__icon-container outline-card__icon-complete">
|
||||
<i class="fas fa-check np-learning-path-outline-icon" aria-label="Tutorial Completed"></i>
|
||||
</div>
|
||||
{% elsif element_type == "div" %}
|
||||
<div class="outline-card__icon-container outline-card__icon-locked">
|
||||
<i class="fas fa-lock np-learning-path-outline-icon" aria-label="Tutorial Locked"></i>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="outline-card__icon-container outline-card__icon-link">
|
||||
<i class="fas fa-chevron-right np-learning-path-outline-icon" aria-label="Start Tutorial"></i>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
</{{ element_type }}>
|
||||
</div>
|
||||
@ -0,0 +1,22 @@
|
||||
<a
|
||||
class="np-top-button np-button-font-color np-button np-button-big"
|
||||
{% if learning_path.enrolled? %}
|
||||
{% if learning_path.current_item.course? %}
|
||||
href="{% route learning_path_course, id: learning_path.current_item.id, learning_path_id: learning_path.id %}"
|
||||
{% elsif learning_path.current_item.training_event? %}
|
||||
href="{% route training_session, id: learning_path.current_item.id %}"
|
||||
{% endif %}
|
||||
{% else %}
|
||||
href="{% route learning_path_enrollment, code: learning_path.enrollment_code %}"
|
||||
{% endif %}
|
||||
>
|
||||
{% if learning_path.enrolled? == false %}
|
||||
Enroll in Learning Path
|
||||
{% elsif learning_path.started? == false %}
|
||||
Start Learning Path
|
||||
{% elsif learning_path.completed? %}
|
||||
View Learning Path
|
||||
{% else %}
|
||||
Continue Learning Path
|
||||
{% endif %}
|
||||
</a>
|
||||
@ -0,0 +1,6 @@
|
||||
<h3 class="np-card-heading">
|
||||
About This Guide
|
||||
</h3>
|
||||
<div class="np-card-text">
|
||||
{{ learning_path.description }}
|
||||
</div>
|
||||
@ -0,0 +1,27 @@
|
||||
<h3 class="np-card-heading">
|
||||
Instructors
|
||||
</h3>
|
||||
<div class="np-content-instructors-content row">
|
||||
{% for instructor in learning_path.instructors %}
|
||||
<div class="np-content-instructors-content-item">
|
||||
<img
|
||||
src="{{ instructor.avatar_url }}"
|
||||
class="np-content-instructors-content-image"
|
||||
alt="{{ instructor.name }}"
|
||||
>
|
||||
<div class="np-content-instructors-content-description">
|
||||
<div class="np-content-instructors-content-name">
|
||||
{{ instructor.name }}
|
||||
</div>
|
||||
|
||||
{% assign instructor_title_size = instructor.title | size %}
|
||||
{% if instructor.title and instructor.title.size > 0 %}
|
||||
<div class="np-content-instructors-content-info">
|
||||
{{ instructor.title }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
@ -0,0 +1,9 @@
|
||||
<div class="np-learning-path-outline blocks-layout">
|
||||
{% for item in learning_path.items %}
|
||||
{% if item.course? %}
|
||||
{% include "learning_path_course", course: item %}
|
||||
{% elsif item.training_event? %}
|
||||
{% include "learning_path_training_session", training_session: item %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
@ -0,0 +1,23 @@
|
||||
<div class="np-top-cta">
|
||||
<div class="np-hidden-mobile">
|
||||
{% include "learning_path_cta_button" %}
|
||||
</div>
|
||||
<div class="np-top-cta-progress-content">
|
||||
<div class="np-top-cta-progress-title np-text-title">
|
||||
Progress
|
||||
</div>
|
||||
<div class="np-progress-bar-container">
|
||||
<div
|
||||
style="width: {{ learning_path.progress }}%"
|
||||
class="np-progress-background-color np-card-progress-bar">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="np-top-cta-progress-text">
|
||||
{{ learning_path.progress }}% Complete
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="np-hidden-desktop">
|
||||
{% include "learning_path_cta_button" %}
|
||||
</div>
|
||||
@ -0,0 +1,57 @@
|
||||
{% if learning_path.enrolled? and training_session.unlocked? %}
|
||||
<div class="np-learning-path-outline-bar np-hidden-mobile"style='display: none;'></div>
|
||||
<div class="np-card">
|
||||
<a
|
||||
class="np-learning-path-outline-item np-card-container"
|
||||
href="{% route training_session, id: training_session.id %}"
|
||||
>
|
||||
<div class="np-card-content np-card-padding">
|
||||
<div class="np-events-content-date np-button-background-color">
|
||||
<div class="np-events-content-month">
|
||||
{{ training_session.month }}
|
||||
</div>
|
||||
<div class="np-events-content-day">
|
||||
{{ training_session.day }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="np-learning-path-outline-content">
|
||||
<div class="np-learning-path-outline-name np-top-title">{{ training_session.name }}</div>
|
||||
<div class="np-learning-path-outline-caption">{{ training_session.instructors }}</div>
|
||||
<div class="np-events-content-time np-learning-path-outline-time np-button-color">
|
||||
{{ training_session.time }} {{ training_session.time_zone }}
|
||||
</div>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right np-learning-path-outline-icon" aria-hidden="true"></i>
|
||||
{% if training_session.optional? %}
|
||||
<div class="np-optional-ribbon">
|
||||
{% t shared.optional %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="np-card">
|
||||
<div class="np-learning-path-outline-item np-card-container np-learning-path-outline-inactive-item">
|
||||
<div class="np-card-content np-card-padding">
|
||||
<div class="np-events-content-date np-button-background-color">
|
||||
<div class="np-events-content-month">
|
||||
{{ training_session.month }}
|
||||
</div>
|
||||
<div class="np-events-content-day">
|
||||
{{ training_session.day }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="np-learning-path-outline-content">
|
||||
<div class="np-learning-path-outline-name np-top-title">{{ training_session.name }}</div>
|
||||
<div class="np-learning-path-outline-caption">{{ training_session.caption }}</div>
|
||||
</div>
|
||||
{% if training_session.optional? %}
|
||||
<div class="np-optional-ribbon">
|
||||
{% t shared.optional %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
@ -0,0 +1,17 @@
|
||||
{% if items and items.any? %}
|
||||
<div class="blocks-layout">
|
||||
{% for learning_path in items %}
|
||||
{% include "cards_learning_path" with learning_path %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="np-learning-paths-resources-container">
|
||||
<div class="np-zero-state-text">
|
||||
{% capture empty_state_text %}
|
||||
{% t .empty %}
|
||||
{% endcapture %}
|
||||
{{ empty_state_text | replace: "Learning Paths", "guides" }}
|
||||
</div>
|
||||
<img class="np-zero-state-learning-paths" alt="{% t .empty %}" />
|
||||
</div>
|
||||
{% endif %}
|
||||
@ -0,0 +1,11 @@
|
||||
<nav class="np-sub-navigation">
|
||||
<div class="np-sub-navigation-content">
|
||||
{% include "sub_navigation_item", label: "All Courses", icon: "fa fa-book-open", url: '/app/courses' %}
|
||||
{% include "sub_navigation_item", label: "Partner Training", icon: "fa fa-tasks", url: "/app/partner-training" %}
|
||||
{% if current_person.properties.partner_training_cert == true %}
|
||||
{% include "sub_navigation_item", label: "Partner Certifications", icon: "fa fa-desktop", url: "/app/partner-certs" %}
|
||||
{% else %}
|
||||
{% include "sub_navigation_item", label: "Partner Certifications", icon: "fa fa-exclamation-circle", url: "" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</nav>
|
||||
@ -0,0 +1,15 @@
|
||||
<div class="np-sub-navigation-content-item
|
||||
{% if url contains current_page %}
|
||||
np-sub-navigation-content-item-active
|
||||
{% else %}
|
||||
np-sub-navigation-content-item-inactive
|
||||
{% endif %}
|
||||
">
|
||||
<a class="np-sub-navigation-content-item-link" href="{{ url }}">
|
||||
<i class="{{ icon }} np-button-color np-sub-navigation-content-item-icon" aria-hidden="true"></i>
|
||||
<div class="oa-sub-navigation-content-item-label">
|
||||
{{ label }}
|
||||
</div>
|
||||
</a>
|
||||
<div class="np-sub-navigation-content-item-bar np-button-background-color"></div>
|
||||
</div>
|
||||
@ -0,0 +1,5 @@
|
||||
<div class="blocks-layout">
|
||||
{% for training_event in training_events.enrolled %}
|
||||
{% include "cards_training_event", training_event: training_event, card_classes: card_classes %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
@ -0,0 +1,11 @@
|
||||
<div>
|
||||
{% if training_events.available and training_events.available.any? %}
|
||||
<div class="blocks-layout">
|
||||
{% for training_event in training_events.available %}
|
||||
{% include "cards_training_event", training_event: training_event, card_classes: "col-x-sm-6 col-sm-6 col-md-4" %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
{% include "training_events_zero_state" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
@ -0,0 +1,43 @@
|
||||
<div class="dropdown dropdown-calendar">
|
||||
<button
|
||||
class="np-button np-button-big dropdown-calendar-button"
|
||||
data-toggle-class="is-open"
|
||||
data-toggle-escape
|
||||
data-toggle-outside
|
||||
data-toggle-target-next
|
||||
type="button"
|
||||
>
|
||||
{% t .add_to_calendar %}
|
||||
<i class="fas fa-chevron-down dropdown-calendar-button-chevron" aria-hidden="true"></i>
|
||||
</button>
|
||||
|
||||
<ul class="dropdown-calendar-menu">
|
||||
<li class="dropdown-calendar-item">
|
||||
<a
|
||||
class="dropdown-calendar-item-element np-button-background-color-on-hover np-button-font-color-on-hover"
|
||||
href="{{ training_session.google_calendar_url }}"
|
||||
target="_blank"
|
||||
>
|
||||
{% t .google_calendar %}
|
||||
</a>
|
||||
</li>
|
||||
<li class="dropdown-calendar-item">
|
||||
<a
|
||||
class="dropdown-calendar-item-element np-button-background-color-on-hover np-button-font-color-on-hover"
|
||||
href="{{ training_session.outlook_calendar_url }}"
|
||||
target="_blank"
|
||||
>
|
||||
{% t .outlook_calendar %}
|
||||
</a>
|
||||
</li>
|
||||
<li class="dropdown-calendar-item">
|
||||
<a
|
||||
class="dropdown-calendar-item-element np-button-background-color-on-hover np-button-font-color-on-hover"
|
||||
href="{{ training_session.ical_calendar_url }}"
|
||||
target="_blank"
|
||||
>
|
||||
{% t .ical_calendar %}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -0,0 +1,31 @@
|
||||
<div class="np-training-session-cta">
|
||||
<div class="np-training-session-cta-buttons">
|
||||
<form
|
||||
action="{% route training_session_registration, id: training_session.id %}"
|
||||
method="post"
|
||||
>
|
||||
{% form_authenticity_token %}
|
||||
|
||||
{% if training_session.internal? and training_session.approved? %}
|
||||
{% if features.training_events_google_calendar? %}
|
||||
{% include "training_session_calendars" %}
|
||||
<button type="submit" class="np-button np-button-big np-button-secondary">
|
||||
{% t .unregister %}
|
||||
</button>
|
||||
{% else %}
|
||||
<button type="submit" class="np-button-font-color np-button np-button-big">
|
||||
{% t .unregister %}
|
||||
</button>
|
||||
{% endif %}
|
||||
|
||||
<input type="hidden" name="_method" value="delete" />
|
||||
{% endif %}
|
||||
|
||||
{% if training_session.not_registered? %}
|
||||
<button type="submit" class="np-top-button np-button np-button-big">
|
||||
{% t .register %}
|
||||
</button>
|
||||
{% endif %}
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,12 @@
|
||||
<div class="np-card-training-session-date-bar"></div>
|
||||
<div class="np-card-training-session-date-day">
|
||||
{{ training_session.day }}
|
||||
</div>
|
||||
<div class="card__month-year-container">
|
||||
<div class="np-card-training-session-date-month">
|
||||
{{ training_session.month }}
|
||||
</div>
|
||||
<div class="np-card-training-session-date-year">
|
||||
{{ training_session.year }}
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,73 @@
|
||||
{% include "header", current_page_orgin: "training_events" %}
|
||||
<main class="np-main np-page-container np-training-session">
|
||||
<div class="blocks-layout">
|
||||
|
||||
<div class="col-md-8">
|
||||
<div class="np-card">
|
||||
<div class="np-card-container details-card__card-container">
|
||||
<div class="np-resource-header details-card__header np-card-padding-dynamic">
|
||||
<div class="np-top-title">
|
||||
{{ training_event.title }}
|
||||
</div>
|
||||
<div class="np-top-vocabulary">
|
||||
|
||||
{% case training_event.event_type %}
|
||||
{% when "online" %}
|
||||
<i class="fa fa-laptop np-training-session-icon" aria-hidden="true"></i>
|
||||
Online Event
|
||||
{% when "in_person" %}
|
||||
<i class="fa fa-users-class np-training-session-icon" aria-hidden="true"></i>
|
||||
In-Person Event
|
||||
{% endcase %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="np-divider"></div>
|
||||
<div class="np-card-padding-dynamic details-card__card-content">
|
||||
|
||||
{% if training_event.description and training_event.description.size > 0 %}
|
||||
{% include "training_session_description" %}
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
|
||||
<div class="blocks-layout">
|
||||
<div class="np-card col-sm-6 col-md-12">
|
||||
<div class="np-card-container">
|
||||
<div class="np-card-content np-card-content-vertical np-card-padding">
|
||||
{% include "training_session_details" %}
|
||||
{% include "training_session_cta" %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 col-md-12">
|
||||
<div class="np-training-session-sessions-title">
|
||||
{% t shared.more_sessions %}
|
||||
</div>
|
||||
{% if training_event.sessions and training_event.sessions.size > 1 %}
|
||||
{% include "training_session_more_sessions" %}
|
||||
{% else %}
|
||||
<div class="np-training-session-zero-state">
|
||||
<img
|
||||
alt="{% t .empty %}"
|
||||
class="np-zero-state-training-sessions"
|
||||
/>
|
||||
<div class="np-training-session-zero-state-text">
|
||||
{% t .empty %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
@ -0,0 +1,60 @@
|
||||
<div class="np-card-training-session-date">
|
||||
{% include "training_session_date", training_session: training_session %}
|
||||
|
||||
{% if training_session.approved? %}
|
||||
<div class="session-date__other-info-container np-training-session-cta-note np-alert-success">
|
||||
<div class="session-date__other-info-wrapper">
|
||||
<i class="far fa-check np-training-session-icon" aria-hidden="true"></i>
|
||||
<span>You're registered!</span>
|
||||
</div>
|
||||
</div>
|
||||
{% elsif training_session.pending? %}
|
||||
<div class="session-date__other-info np-training-session-cta-note np-alert-error">
|
||||
<div class="session-date__other-info-wrapper">
|
||||
<span>Pending – waiting approval</span>
|
||||
</div>
|
||||
</div>
|
||||
{% elsif training_session.denied? %}
|
||||
<div class="session-date__other-info np-training-session-cta-note np-alert-error">
|
||||
<div class="session-date__other-info-wrapper">
|
||||
<span>Denied – contact your academy admin</span>
|
||||
</div>
|
||||
</div>
|
||||
{% elsif training_session.too_late? %}
|
||||
<div class="session-date__other-info np-training-session-cta-note np-alert-error">
|
||||
<div class="session-date__other-info-wrapper">
|
||||
<span>Too late – meeting started</span>
|
||||
</div>
|
||||
</div>
|
||||
{% elsif training_session.no_seats? %}
|
||||
<div class="session-date__other-info np-training-session-cta-note np-alert-error">
|
||||
<div class="session-date__other-info-wrapper">
|
||||
<span>No seats available</span>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="training-session__details">
|
||||
<div class="np-training-session-time">
|
||||
<i class="fa fa-clock np-training-session-icon" aria-label="Event Time"></i>
|
||||
{{ training_session.time_period | replace: "AM", "am" | replace: "PM", "pm" | replace: "-", "–" }} {{ training_session.time_zone }}
|
||||
</div>
|
||||
<div class="np-training-session-location">
|
||||
{% if training_session.location %}
|
||||
<i class="fa fa-map-marker-alt np-training-session-icon" aria-label="Event Location"></i>
|
||||
{{ training_session.location }}
|
||||
{% elsif training_session.session_url %}
|
||||
<i class="fa fa-globe np-training-session-icon" aria-label="Event URL"></i>
|
||||
<a href="https://{{ training_session.session_url }}" class="np-button-color" target="_blank" >
|
||||
{{ training_session.session_url }}
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if training_session.instructor and training_session.instructor.size > 0 %}
|
||||
<div>
|
||||
<i class="fa fa-chalkboard-teacher np-training-session-icon" aria-label="Instructor"></i>
|
||||
{{ training_session.instructor }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
@ -0,0 +1,47 @@
|
||||
{% include "header", current_page_orgin: "catalog" %}
|
||||
<main class="np-main np-page-container page--course-overview">
|
||||
|
||||
{% comment %} Get the full size background image by removing the modifier from the URL {% endcomment %}
|
||||
{% assign course_image_full_size = course.image_url | replace: '/resize=width:820,height:500,fit:crop/', '/' %}
|
||||
|
||||
<div class="page-background-image" style="background-image: url({{ course_image_full_size }})"></div>
|
||||
<div class="np-card">
|
||||
<div class="np-card-container">
|
||||
<div class="np-resource-header details-card__header np-card-padding-dynamic">
|
||||
{% include "course_header" %}
|
||||
</div>
|
||||
<div class="np-divider"></div>
|
||||
<div class="details-card__card-content np-card-padding-dynamic">
|
||||
|
||||
{% if course.full_description and course.full_description.size > 0 %}
|
||||
{% include "course_description" %}
|
||||
{% endif %}
|
||||
|
||||
<div class="cta__container">
|
||||
{% if course.enrolled? and course.started? %}
|
||||
{% include "course_progress_and_cta" %}
|
||||
{% else %}
|
||||
{% include "course_cta_button" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if course.instructors and course.instructors.any? %}
|
||||
<div class="np-card-content-divider">
|
||||
{% include "course_instructors" %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% include "course_outline" %}
|
||||
|
||||
{% if course.events and course.events.any? %}
|
||||
<div class="np-card-content-divider">
|
||||
{% include "course_events" %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% include "course_cta_button" %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
@ -0,0 +1,17 @@
|
||||
{% include "header", current_page_orgin: "courses" %}
|
||||
{% include "sub_navigation", current_page: "/app/courses" %}
|
||||
<main class="np-main np-courses np-subpage-container">
|
||||
<h1 class="np-resource-title">
|
||||
All Courses
|
||||
</h1>
|
||||
<div class="np-resource-subtitle">
|
||||
{% capture subtitle_text %}
|
||||
{%comment%}{% t .headline, key: current_school.course_vocabulary %}{%endcomment%}
|
||||
These are all courses you are enrolled in
|
||||
{% endcapture %}
|
||||
{{ subtitle_text | replace: "Courses", "tutorials" }}
|
||||
</div>
|
||||
<br>
|
||||
{% include "courses_index", card_classes: "col-xs-12 col-sm-6 col-lg-4 np-stretch-content" %}
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
@ -0,0 +1,103 @@
|
||||
{% comment %} Initialize Variables {% endcomment %}
|
||||
{% assign show_learning_paths_section = false %}
|
||||
{% assign show_events_section = false %}
|
||||
{% assign learning_path_section_classes = "" %}
|
||||
{% assign event_section_classes = "" %}
|
||||
{% assign learning_path_card_classes = "col-md-6" %}
|
||||
{% assign event_card_classes = "col-x-sm-6 col-sm-6 col-md-4 col-lg-3" %}
|
||||
|
||||
{% comment %} Determine if learning paths are enabled and the user is enrolled in at least one learning path {% endcomment %}
|
||||
{% if features.learning_paths? and learning_paths.enrolled and learning_paths.enrolled.any? %}
|
||||
{% assign show_learning_paths_section = true %}
|
||||
{% endif %}
|
||||
|
||||
{% comment %} Determine if events are enabled and the user is registered for at least one event {% endcomment %}
|
||||
{% if features.training_events? and training_events.enrolled and training_events.enrolled.any? %}
|
||||
{% assign show_events_section = true %}
|
||||
{% endif %}
|
||||
|
||||
{% comment %} Determine whether special classes need to be added to non course sections and the cards within {% endcomment %}
|
||||
{% if show_learning_paths_section %}
|
||||
{% assign learning_path_section_classes = "col-md-8 col-lg-6" %}
|
||||
{% assign learning_path_card_classes = "" %}
|
||||
{% endif %}
|
||||
|
||||
{%if show_events_section%}
|
||||
{% assign event_section_classes = "col-md-4 col-lg-6" %}
|
||||
{% assign event_card_classes = "col-x-sm-6 col-sm-6 col-md-12 col-lg-6" %}
|
||||
{%endif%}
|
||||
|
||||
{% include "header", current_page_orgin: "dashboard" %}
|
||||
<main class="np-main np-dashboard np-subpage-container">
|
||||
|
||||
<div class="page__header-wrapper">
|
||||
<h1 class="np-resource-title">My Dashboard</h1>
|
||||
</div>
|
||||
|
||||
<div class="page__primary-content">
|
||||
|
||||
<div class="blocks-layout">
|
||||
|
||||
{% comment %} Show the first featured course as a banner {% endcomment %}
|
||||
{% if courses.featured and courses.featured.any? %}
|
||||
<div>
|
||||
{% include "banner_course", course: courses.featured.first, button_text: "Get Started" %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% comment %} Show this section if either the event section or learning path section has content {% endcomment %}
|
||||
{% if show_learning_paths_section or show_events_section %}
|
||||
|
||||
<div class="blocks-layout">
|
||||
|
||||
{% if show_learning_paths_section %}
|
||||
<div class="{{ learning_path_section_classes }}">
|
||||
<h2 class="np-dashboard-resources-title">
|
||||
Learning Paths
|
||||
</h2>
|
||||
{% include "learning_paths_index", items: learning_paths.enrolled, card_classes: learning_path_card_classes %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if show_events_section %}
|
||||
<div class="{{ event_section_classes }}">
|
||||
<h2 class="np-dashboard-resources-title">
|
||||
Upcoming Events
|
||||
</h2>
|
||||
{% include "training_events_dashboard", card_classes: event_card_classes %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
|
||||
<div>
|
||||
<h2 class="np-dashboard-resources-title">
|
||||
My Courses
|
||||
</h2>
|
||||
{% if courses.enrolled and courses.enrolled.any? %}
|
||||
<div class="blocks-layout">
|
||||
{% for course in courses.enrolled %}
|
||||
{% for category in course.categories %}
|
||||
{% if category.name == 'Partner Training' %}
|
||||
{% include "cards_course", course: course, card_classes: card_classes %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
{% capture message %}
|
||||
{% t shared.zero_state.courses.index,
|
||||
key: current_school.course_vocabulary
|
||||
%}
|
||||
{% endcapture %}
|
||||
{% assign message = message | replace: "Courses", "tutorials" %}
|
||||
{% include "courses_zero_state", message: message, filters_applied: false %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
@ -0,0 +1,97 @@
|
||||
{% include "header", current_page_orgin: "false" %}
|
||||
<main class="np-main np-homepage">
|
||||
<div class="np-homepage-hero">
|
||||
<div class="np-homepage-hero-content">
|
||||
<div class="np-homepage-headline is-animation np-header-font-color">
|
||||
{{ homepage.headline }}
|
||||
</div>
|
||||
<div class="np-homepage-subheadline np-header-font-color">
|
||||
Hi {{ current_person.name }}, how is the weather in {{ current_person.properties.location }}?
|
||||
Here is the training you are eligible for in your role as {{ current_person.properties.role }}.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<svg class="homepage-waves__wave-1-container" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 150">
|
||||
<path class="homepage-waves__wave-1 is-animation" d="M5984.23,101c-58.92-1.53-60.5-94.9-141.4-95.37-82.28-.48-87.5,94.18-169.31,92.18-60.28-1.48-80.93-94.31-149.31-92.66-67.51,1.64-83.1,87.24-155.81,86.28-49.22-.65-72-77.4-122.79-82.61-72.21-7.41-72.5,80.57-156.29,79.42-66.63-.92-68.81-87.51-123.81-85C4900.7,6.11,4893.8,95,4827.92,93.55c-51.81-1.16-71.73-83.71-114.42-86.1-72.39-4.06-85.27,88.17-160,89.29C4482.8,97.81,4484.4-.95,4432.57,0,4371.39,1.14,4356.11,93,4294,96.74c-60.14,3.67-78-94.36-142.33-94.61C4083,1.87,4077.21,104.19,4000,104.19c-50.91,0-68.57-98.87-121.86-98.87-59.83,0-80.93,104.18-157.22,102.05-60.56-1.68-68-101-142.92-101-60.32,0-69.95,101.3-156,100.61-46.95-.38-60-97-124.6-99.78C3224.62,4.08,3232.62,101,3148,107.37c-64,4.83-79.69-96.59-138.61-99.24-57.56-2.58-83.72,90.74-153.49,89.68-54.53-.83-79.4-95.2-142.33-94.61-63.24.59-85.42,94.22-156.28,93.54C2492.62,96.13,2493,11,2427,8.26c-77.22-3.19-61.83,95.8-153.5,94.86-52.48-.53-83-97.84-131.16-101C2077.9-2.09,2054,102.8,1984.23,101c-58.92-1.53-60.5-94.9-141.4-95.37-82.28-.48-87.5,94.18-169.31,92.18-60.28-1.48-80.93-94.31-149.31-92.66-67.51,1.64-83.1,87.24-155.81,86.28-49.22-.65-72-77.4-122.79-82.61-72.21-7.41-72.5,80.57-156.29,79.42-66.63-.92-68.81-87.51-123.81-85C900.7,6.11,893.8,95,827.92,93.55,776.11,92.39,756.19,9.84,713.5,7.45c-72.39-4.06-85.27,88.17-160,89.29C482.8,97.81,484.4-.95,432.57,0,371.39,1.14,356.11,93,294,96.74c-60.14,3.67-78-94.36-142.33-94.61C83,1.87,77.21,104.19,0,104.19V150H6000V99.52A65.85,65.85,0,0,1,5984.23,101Z"/>
|
||||
</svg>
|
||||
<div class="page-section homepage-navigation__section np-max-width">
|
||||
<nav class="homepage-navigation__wrapper blocks-layout">
|
||||
<div class="homepage-navigation__item-container">
|
||||
<a class="homepage-navigation__item" href="/app/partner-training">
|
||||
<div class="homepage-navigation__title">Partner Training</div>
|
||||
<img class="animation-pe homepage-navigation__animation" src="https://s3.amazonaws.com/static.northpass.com/Gusto/gusto3.png" alt="">
|
||||
</a>
|
||||
</div>
|
||||
{% comment %}
|
||||
This card needs to be greyed out until the property partner_training_certs == True. Something like
|
||||
{% endcomment %}
|
||||
{% if current_person.properties.partner_training_cert == true %}
|
||||
<div class="homepage-navigation__item-container">
|
||||
<a class="homepage-navigation__item" href="">
|
||||
<div class="homepage-navigation__title">Partner Certifications</div>
|
||||
<img class="animation-pe homepage-navigation__animation" src="https://s3.amazonaws.com/static.northpass.com/Gusto/gusto3.png" alt="" style="filter:grayscale(1)">
|
||||
</a>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="homepage-navigation__item-container">
|
||||
<a class="homepage-navigation__item" href="/app/partner-certs">
|
||||
<div class="homepage-navigation__title">Partner Certifications</div>
|
||||
<img class="animation-pe homepage-navigation__animation" src="https://s3.amazonaws.com/static.northpass.com/Gusto/gusto3.png" alt="">
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</nav>
|
||||
</div >
|
||||
{% if courses.featured and courses.featured.any? %}
|
||||
<div class="np-homepage-featured page-section np-max-width">
|
||||
|
||||
{% comment %} Show featured section text if either headline or subheadline are defined {% endcomment %}
|
||||
{% if homepage.featured_courses_headline and homepage.featured_courses_headline.size > 0 %}
|
||||
{% assign has_featured_headline = true %}
|
||||
{% else %}
|
||||
{% assign has_featured_headline = false %}
|
||||
{% endif %}
|
||||
{% if homepage.featured_courses_subheadline and homepage.featured_courses_subheadline.size > 0 %}
|
||||
{% assign has_featured_subheadline = true %}
|
||||
{% else %}
|
||||
{% assign has_featured_subheadline = false %}
|
||||
{% endif %}
|
||||
{% if has_featured_headline or has_featured_subheadline %}
|
||||
<div class="np-homepage-featured-text">
|
||||
{% if homepage.featured_courses_headline and homepage.featured_courses_headline.size > 0 %}
|
||||
<div class="np-homepage-headline">
|
||||
{{ homepage.featured_courses_headline }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if homepage.featured_courses_subheadline and homepage.featured_courses_subheadline.size > 0 %}
|
||||
<div class="np-homepage-subheadline">
|
||||
{{ homepage.featured_courses_subheadline }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="blocks-layout">
|
||||
{% comment %} Add different classes dependant on the number of featured courses. {% endcomment %}
|
||||
{% assign card_classes = "card--horizontal np-stretch-content" %}
|
||||
{% case courses.featured.size %}
|
||||
{% when 3 %}
|
||||
{% assign card_classes = card_classes | append: " col-lg-4" %}
|
||||
{% when 2 %}
|
||||
{% assign card_classes = card_classes | append: " col-md-6" %}
|
||||
{% endcase %}
|
||||
|
||||
{% for course in courses.featured %}
|
||||
{% include "cards_course", course: course, card_classes: card_classes %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<svg class="homepage-waves__wave-2-container" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 150">
|
||||
<path class="homepage-waves__wave-2 is-animation" d="M7818.66,2.13C7737.85-2.09,7707.9,102.8,7620.41,101c-73.85-1.53-75.84-94.9-177.26-95.37C7340,5.15,7333.46,99.81,7230.91,97.81c-75.58-1.48-101.46-94.31-187.18-92.66-84.64,1.64-104.18,87.24-195.33,86.28-61.7-.65-90.28-77.4-153.94-82.61-90.53-7.41-90.89,80.57-195.92,79.42-83.53-.92-86.27-87.51-155.22-85-81.25,2.91-89.9,91.83-172.48,90.35-65-1.16-89.93-83.71-143.44-86.1a115.28,115.28,0,0,0-27.4,1.9v.13c-67.84,13.2-89.79,86.4-173.18,87.4-88.63,1.06-86.63-97.7-151.61-96.74-76.69,1.13-95.84,93-173.76,96.74-75.39,3.67-97.77-94.36-178.43-94.61-86.08-.27-93.29,102.05-190.09,102.05-63.82,0-86-98.86-152.77-98.86-75,0-95,105.17-190.66,103-75.92-1.69-68-100-160-97-57.86,1.89-77.69,84.57-164,85-78.21.39-82-86-152-88-86.37-2.45-79.66,93.56-174.12,96.75-80.42,2.71-68.16-99-183.61-96.86C3879,9.81,3839.6,101,3762.7,101c-72.94,0-78.26-96.73-169.23-94.61-75.58,1.77-115.21,103-179.46,99.92C3355.25,103.49,3345.2,6,3266.65,7.22c-91.31,1.4-81.21,93.78-187.34,100.15-80.24,4.83-99.9-96.59-173.76-99.24-72.17-2.58-105,90.74-192.42,89.68C2644.77,97,2613.59,2.61,2534.7,3.2c-79.28.59-107.08,94.22-195.92,93.54-81-.61-80.6-85.76-163.26-88.48-96.8-3.19-77.51,95.8-192.42,94.86-65.79-.53-104.08-97.84-164.44-101C1737.85-2.09,1707.9,102.8,1620.41,101c-73.85-1.53-75.84-94.9-177.26-95.37C1340,5.15,1333.46,99.81,1230.91,97.81c-75.58-1.48-101.46-94.31-187.18-92.66C959.09,6.79,939.55,92.39,848.4,91.43,786.7,90.78,758.12,14,694.46,8.82c-90.53-7.41-90.89,80.57-195.92,79.42C415,87.32,412.27.73,343.32,3.2,262.07,6.11,253.42,95,170.84,93.55c-65-1.16-89.93-83.71-143.44-86.1A115.28,115.28,0,0,0,0,9.35V150H8000V102.47c-5.3.46-10.91.7-16.9.65C7917.31,102.59,7879,5.28,7818.66,2.13Z"/>
|
||||
</svg>
|
||||
<svg class="homepage-waves__wave-3-container" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 150">
|
||||
<path class="homepage-waves__wave-3 is-animation" d="M7682.34,88.24c-107.48-.92-111-87.51-199.73-85C7378.07,6.11,7366.94,95,7260.68,93.55,7177.1,92.39,7145,9.84,7076.12,7.45,6959.34,3.39,6938.56,95.62,6818,96.74,6704,97.81,6706.56-.95,6623,0,6524.28,1.14,6499.63,93,6399.37,96.74c-97,3.67-125.8-94.36-229.58-94.61-83.25-.2-109.17,57.55-169.79,86.25-20,9.49-43.86,15.81-74.8,15.81-82.12,0-110.6-98.87-196.57-98.87-96.5,0-130.55,104.18-253.6,102.05C5377.34,105.69,5354.78,8.61,5231,9c-76,.24-124,96-227.95,98.37-103.33,2.36-128.55-96.59-223.59-99.24-92.85-2.58-135,90.74-247.59,89.68-88-.83-128.08-95.2-229.58-94.61-102,.59-137.79,94.22-252.09,93.54C3945.93,96.13,3946.48,11,3840.12,8.26c-124.54-3.19-99.73,95.8-247.59,94.86-84.65-.53-133.91-97.84-211.57-101C3277-2.09,3238.43,102.8,3125.86,101c-95-1.53-97.58-94.9-228.08-95.37-132.71-.48-141.14,94.18-273.1,92.18-97.24-1.48-130.55-94.31-240.85-92.66-108.9,1.64-134,87.24-251.33,86.28-79.39-.65-116.16-77.4-198.07-82.61C1818,1.41,1817.49,89.39,1682.34,88.24c-107.48-.92-111-87.51-199.73-85C1378.07,6.11,1366.94,95,1260.68,93.55,1177.1,92.39,1145,9.84,1076.12,7.45,959.34,3.39,938.56,95.62,818,96.74,704,97.81,706.56-.95,623,0,524.28,1.14,499.63,93,399.37,96.74c-97,3.67-125.8-94.36-229.58-94.61C86.54,1.93,60.62,59.68,0,88.38V150H8000V29.78c-19.27-10.91-40.27-19.35-65.57-21C7818,1.41,7817.49,89.39,7682.34,88.24Z"/>
|
||||
</svg>
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
@ -0,0 +1,58 @@
|
||||
{% include "header", current_page_orgin: "learning_paths" %}
|
||||
<main class="np-main np-page-container page--learning-path-overview">
|
||||
|
||||
{% comment %} Get the full size background image by removing the modifier from the URL {% endcomment %}
|
||||
{% assign learning_path_image_full_size = learning_path.image_url | replace: '/resize=width:820,height:500,fit:crop/', '/' %}
|
||||
|
||||
<div class="page-background-image" style="background-image: url({{ learning_path_image_full_size }})"></div>
|
||||
|
||||
<div class="blocks-layout">
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="np-card">
|
||||
<div class="details-card__card-container np-card-container">
|
||||
<div class="np-resource-header details-card__header np-card-padding-dynamic">
|
||||
<div class="np-top-title">
|
||||
{{ learning_path.name }}
|
||||
</div>
|
||||
<div class="np-hidden-desktop">
|
||||
{% include "learning_path_cta_button" %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="np-divider"></div>
|
||||
<div class="details-card__card-content np-card-padding-dynamic">
|
||||
{% if learning_path.description and learning_path.description.size > 0 %}
|
||||
{% include "learning_path_description" %}
|
||||
{% endif %}
|
||||
|
||||
<div class="cta__container np-hidden-mobile">
|
||||
{% include "learning_path_cta_button" %}
|
||||
</div>
|
||||
|
||||
{% if learning_path.instructors and learning_path.instructors.any? %}
|
||||
<div class="np-card-content-divider">
|
||||
{% include "learning_path_instructors" %}
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="cta__container cta--outline">
|
||||
{% if learning_path.enrolled? and learning_path.started? %}
|
||||
{% include "learning_path_progress_and_cta" %}
|
||||
{% else %}
|
||||
{% include "learning_path_cta_button" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% include "learning_path_outline" %}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
@ -0,0 +1,23 @@
|
||||
{% include "header", current_page_orgin: "learning_paths" %}
|
||||
<main class="np-main np-learning-paths np-subpage-container">
|
||||
<div class="page__header-wrapper">
|
||||
|
||||
<h1 class="np-resource-title">
|
||||
Browse Learning Paths
|
||||
</h1>
|
||||
|
||||
{% comment %} Capture subtitle text so it can be modified {% endcomment %}
|
||||
{% capture subtitle_text %}
|
||||
{% t .subtitle %}
|
||||
{% endcapture %}
|
||||
|
||||
{% if subtitle_text and subtitle_text.size > 0 %}
|
||||
<div class="np-resource-subtitle">
|
||||
{{ subtitle_text | replace: "courses", "tutorials" }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
{% include "learning_paths_index", items: learning_paths.available, card_classes: "col-md-6" %}
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
@ -0,0 +1,17 @@
|
||||
{% include "header", current_page_orgin: "courses" %}
|
||||
{% include "sub_navigation", current_page: "/app/partner-certs" %}
|
||||
<main class="np-main np-courses np-subpage-container">
|
||||
<h1 class="np-resource-title">
|
||||
Partner Certification Courses
|
||||
</h1>
|
||||
<div class="np-resource-subtitle">
|
||||
{% capture subtitle_text %}
|
||||
{%comment%}{% t .headline, key: current_school.course_vocabulary %}{%endcomment%}
|
||||
Hey there, {{ current_person.name }}! Are you ready to move onto your Partner Challenge Missions? Let's go!
|
||||
{% endcapture %}
|
||||
{{ subtitle_text | replace: "Courses", "tutorials" }}
|
||||
</div>
|
||||
<br>
|
||||
{% include "courses_partnercerts_index", card_classes: "col-xs-12 col-sm-6 col-lg-4 np-stretch-content" %}
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
@ -0,0 +1,17 @@
|
||||
{% include "header", current_page_orgin: "courses" %}
|
||||
{% include "sub_navigation", current_page: "/app/partner-training" %}
|
||||
<main class="np-main np-courses np-subpage-container">
|
||||
<h1 class="np-resource-title">
|
||||
Partner Training Courses
|
||||
</h1>
|
||||
<div class="np-resource-subtitle">
|
||||
{% capture subtitle_text %}
|
||||
{%comment%}{% t .headline, key: current_school.course_vocabulary %}{%endcomment%}
|
||||
Hey there {{ current_person.name }}! Welcome to your partner training center! Complete at least one of the courses to complete your certification.
|
||||
{% endcapture %}
|
||||
{{ subtitle_text | replace: "Courses", "tutorials" }}
|
||||
</div>
|
||||
<br>
|
||||
{% include "courses_partnertraining_index", card_classes: "col-xs-12 col-sm-6 col-lg-4 np-stretch-content" %}
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
@ -0,0 +1,17 @@
|
||||
{% include "header", current_page_orgin: "courses" %}
|
||||
{% include "sub_navigation", current_page: "/app/sec3-courses" %}
|
||||
<main class="np-main np-courses np-subpage-container">
|
||||
<h1 class="np-resource-title">
|
||||
Section 3 Courses
|
||||
</h1>
|
||||
<div class="np-resource-subtitle">
|
||||
{% capture subtitle_text %}
|
||||
{%comment%}{% t .headline, key: current_school.course_vocabulary %}{%endcomment%}
|
||||
These are all courses filed under Section 1
|
||||
{% endcapture %}
|
||||
{{ subtitle_text | replace: "Courses", "tutorials" }}
|
||||
</div>
|
||||
<br>
|
||||
{% include "courses_sec3_index", card_classes: "col-xs-12 col-sm-6 col-lg-4 np-stretch-content" %}
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
2382
NP_Custom_Templates/customer_templates/Stripe/styles.css.liquid
Normal file
2382
NP_Custom_Templates/customer_templates/Stripe/styles.css.liquid
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,13 @@
|
||||
{% include "header", current_page_orgin: "training_events" %}
|
||||
<main class="np-main np-training-events np-subpage-container">
|
||||
<div class="page__header-wrapper">
|
||||
<h1 class="np-resource-title">
|
||||
{% t .title %}
|
||||
</h1>
|
||||
<div class="np-resource-subtitle">
|
||||
{% t .subtitle %}
|
||||
</div>
|
||||
</div>
|
||||
{% include "training_events_index" %}
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
@ -0,0 +1 @@
|
||||
{% include "training_session_desktop_view" %}
|
||||
Reference in New Issue
Block a user