Downloaded Instacart's templates and deleted folders from churned customers.

This commit is contained in:
Norm Rasmussen
2026-01-22 14:59:11 -05:00
parent e1c0aa6409
commit 3f47527eca
1392 changed files with 3502 additions and 84500 deletions

View File

@ -1,66 +0,0 @@
<div class="np-hidden-mobile">
<p>{% t .description %}</p>
<p>{% t .requirements %}</p>
</div>
<img
alt=""
class="np-account-avatar-image"
src="{{ form.gravatar_url }}?s=200"
id="{{version}}_gravatar_img"
{% unless form.use_gravatar? %}style="display: none"{% endunless %}
/>
<img
alt=""
class="np-account-avatar-image"
src="{{ form.secure_custom_avatar_url }}"
id="{{version}}_custom_avatar_img"
{% if form.use_gravatar? %}style="display: none"{% endif %}
/>
<div class="np-account-avatar-choice">
<div class="np-form-field">
<label class="radio radio-before np-input-label" for="{{version}}_learner_use_gravatar_true">
<span class="radio__input">
<input
id="{{version}}_learner_use_gravatar_true"
name="learner[use_gravatar]"
type="radio"
value="true"
{% if form.use_gravatar? %}checked{% endif %}
/>
<span class="np-button-color radio__control"></span>
</span>
<span class="radio__label">
{% t .use_gravatar %}
</span>
</label>
</div>
<div class="np-form-field">
<label class="radio radio-before np-input-label" for="{{version}}_learner_use_gravatar_false">
<span class="radio__input">
<input
id="{{version}}_learner_use_gravatar_false"
name="learner[use_gravatar]"
type="radio"
value="false"
{% unless form.use_gravatar? %}checked{% endunless %}
/>
<span class="np-button-color radio__control"></span>
</span>
<span class="radio__label">
{% t .upload_custom_photo %}
</span>
</label>
</div>
<div>
<button
id="{{version}}_upload_avatar"
type="button"
class="np-button np-button-secondary" {% if form.use_gravatar? %}style="visibility: hidden"{% endif %}
>
{% t .upload %}
</button>
</div>
</div>

View File

@ -1,19 +0,0 @@
<form class="np-form" action="{{ form.options.action }}" method="post" id="desktop_edit_learner" novalidate>
<input type="hidden" name="_method" value="{{ form.options.http_method }}">
{% form_authenticity_token %}
<div class="np-card">
<div class="np-card-container np-card-padding">
<div class="row">
<div class="col-sm-7 np-account-form">
{% render "account_form", form: form, version: "desktop" %}
<button type="submit" class="account-submit-button np-button np-button-big np-button-large-font np-form-action" onclick="hubspotOptOutSubmit()">
{% t shared.account.save %}
</button>
</div>
<div class="col-sm-5 np-account-avatar">
{% include "account_avatar", version: "desktop" %}
</div>
</div>
</div>
</div>
</form>

View File

@ -1,131 +0,0 @@
<div class="np-resource-title">
{% t .header %}
</div>
<div class="np-form-field {% if form.errors contains 'email' %}np-account-form-field-error{% endif %}">
<label class="np-input-label" for="{{version}}_learner_email">{% t shared.email %} *</label>
<input
{% if form.options.invite? %} disabled {% endif %}
autofocus="autofocus"
class="np-input"
id="{{version}}_learner_email"
name="learner[email]"
type="email"
value="{{ form.email }}"
/>
</div>
<div class="np-form-field {% if form.errors contains 'first_name' %}np-account-form-field-error{% endif %}">
<label class="np-input-label" for="{{version}}_learner_first_name">
{% t shared.first_name %} *
</label>
<input
class="np-input"
id="{{version}}_learner_first_name"
name="learner[first_name]"
value="{{ form.first_name }}"
/>
</div>
<div class="np-form-field {% if form.errors contains 'last_name' %}np-account-form-field-error{% endif %}">
<label class="np-input-label" for="{{version}}_learner_last_name">
{% t shared.last_name %} *
</label>
<input
class="np-input"
id="{{version}}_learner_last_name"
name="learner[last_name]"
value="{{ form.last_name }}"
/>
</div>
<div class="np-form-field {% if form.errors contains 'display_name' %}np-account-form-field-error{% endif %}">
<label class="np-input-label" for="{{version}}_learner_display_name">
{% t .display_name %}
</label>
<input
class="np-input"
id="{{version}}_learner_display_name"
name="learner[display_name]"
value="{{ form.display_name }}"
/>
</div>
{% unless form.options.invite? %}
<div class="np-form-field {% if form.errors contains 'current_password' %}np-account-form-field-error{% endif %}">
<label class="np-input-label" for="{{version}}_learner_current_password">
{% t .current_password %} *
</label>
<input
class="np-input"
id="{{version}}_learner_current_password"
name="learner[current_password]"
type="password"
/>
</div>
<div class="np-form-field {% if form.errors contains 'password' %}np-account-form-field-error{% endif %}">
<label class="np-input-label" for="{{version}}_learner_password">
{% t .new_password %} *
</label>
<input
class="np-input"
id="{{version}}_learner_password"
name="learner[password]"
type="password"
/>
</div>
<div class="np-form-field {% if form.errors contains 'password_confirmation' %}np-account-form-field-error{% endif %}">
<label class="np-input-label" for="{{version}}_learner_password_confirmation">
{% t .confirm_new_password %} *
</label>
<input
class="np-input"
id="{{version}}_learner_password_confirmation"
name="learner[password_confirmation]"
type="password"
/>
</div>
{%- comment -%} <div class="np-form-field">
<input
class="hubspotOptOutCheckbox"
id="hubspotOptOut"
name="hubspotOptOutCheckbox"
onchange="checkCheckbox(this)"
style="margin-right: 15px;"
type="checkbox"
/>
<label class="hubspotOptOutLabel" for="hubspotOptOut">
Opt Out of Skuid Skool Email List
</label>
</div> {%- endcomment -%}
{% endunless %}
{% if form.options.invite? %}
<div class="np-form-field {% if form.errors contains 'password' %}np-account-form-field-error{% endif %}">
<label class="np-input-label" for="{{version}}_learner_password">
{% t shared.password %} *
</label>
<input
class="np-input"
id="{{version}}_learner_password"
name="learner[password]"
type="password"
/>
</div>
<div class="np-form-field terms-of-service {% if form.errors contains 'terms_of_service_accepted' %}np-account-form-field-error{% endif %}">
<input
id="{{version}}_learner_terms_of_service"
name="learner[terms_of_service_accepted]"
type="checkbox"
/>
<div class="label">
{% t .terms_of_service %}
</div>
</div>
<input
id="{{version}}_invite_token"
name="learner[token]"
value="{{ form.invite_token }}"
type="hidden"
/>
{% endif %}

View File

@ -1,17 +0,0 @@
<form class="np-form" action="{{ form.options.action }}" method="post" id="mobile_edit_learner" novalidate>
<input type="hidden" name="_method" value="{{ form.options.http_method }}">
{% form_authenticity_token %}
<div class="np-card np-account-form">
<div class="np-card-container np-card-padding">
{% render "account_form", form: form, version: "mobile" %}
</div>
</div>
<div class="np-card np-account-avatar">
<div class="np-card-container np-card-padding">
{% include "account_avatar", version: "mobile" %}
</div>
</div>
<button type="submit" class="account-submit-button np-button np-button-big np-button-large-font np-form-action" onclick="hubspotOptOutSubmit()">
{% t shared.account.save %}
</button>
</form>

View File

@ -1,30 +0,0 @@
{% capture settings_path %}{% route account %}{% endcapture %}
{% capture transcript_path %}{% route transcript %}{% endcapture %}
{% capture order_history_path %}{% route order_history %}{% endcapture %}
{% if current_person.signed_in? %}
{% unless current_school.sso_active? %}
<nav class="np-tabs np-account-tabs">
<div class="np-tabs-content">
<div class="np-tab{% if page.path == settings_path %} np-tab-active{% endif %}">
<a class="np-tab-link" href="{{ settings_path}}">
{% t .profile_settings %}
</a>
<div class="np-tab-indicator np-button-background-color"></div>
</div>
<div class="np-tab{% if page.path == transcript_path %} np-tab-active{% endif %}">
<a class="np-tab-link" href="{{ transcript_path }}">
{% t .transcript %}
</a>
<div class="np-tab-indicator np-button-background-color"></div>
</div>
<div class="np-tab{% if page.path == order_history_path %} np-tab-active{% endif %}">
<a class="np-tab-link" href="{{ order_history_path }}">
{% t .order_history %}
</a>
<div class="np-tab-indicator np-button-background-color"></div>
</div>
</div>
</nav>
{% endunless %}
{% endif %}

View File

@ -1,76 +0,0 @@
<div class="np-dashboard-resources" style="padding-bottom: 1rem;">
<div class="np-card">
<div class="np-card-container">
<div class="np-card-content-training-event">
<h3 class="np-card-content-title recent-achievements">
Recent Achievements
</h3>
<div style=" float: left;">
<button class="view-achievements-button" onclick="#" type="button">Total Points:{{ current_person.properties.learner_points }}</button>
</div>
</div>
<br>
<br>
<div class="achivements-carousel">
{% for course in courses.enrolled %}
{% if course.progress == 100 %}
<div>
<br>
<img src="{{course.properties.course_badge}}">
<div class="np-card-content-title recent-achievements col-12" style="text-align: center;">
<p>{{ course.name }}</p>
</div>
</div>
{% endif %}
{% endfor %}
</div>
</div>
</div>
</div>
<style>
.view-achievements-button {
background-color: #DC3713;
border: none;
color: white;
padding: 5px 8px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 12px;
cursor: pointer;
border-radius: 30px;
margin-top:12px;
}
.recent-achievements {
font-size: 16px;
}
.achievement-icon {
text-align: center;
color: #bec2c6;;
}
.horizontal-separator {
border-bottom: 1px solid grey;
}
@media screen and (max-width: 1200px) {
.recent-achievements {
font-size: 12px;
}
}
@media screen and (max-width: 800px) {
.view-achievements-button {
font-size: 9px;
}
}
</style>

View File

@ -1,6 +0,0 @@
<h3 class="np-card-heading">
{% t .about %}
</h3>
<div class="np-card-text">
{{ product.description }}
</div>

View File

@ -1,12 +0,0 @@
<div class="np-resource-header np-resource-header-card np-card-padding-large">
<div class="np-top-vocabulary np-text-title">
{% t shared.product_types.bundle %}
<i class="far fa-layer-group np-button-color np-learning-path-icon"></i>
</div>
<div class="np-top-title">
<a href="{% route catalog %}" class="np-back-button" aria-label="{% t shared.go_back %}">
<i class="far fa-arrow-left np-icon-back"></i>
</a>
{{ product.name }}
</div>
</div>

View File

@ -1,21 +0,0 @@
{% include "bundle_desktop_header" %}
<div class="row">
<div class="col-xs-12 col-sm-6">
<div class="np-card-container">
<img
src="{{ product.image_url }}"
class="np-top-image"
alt="{{ product.name }}"
/>
<div class="np-card-padding-dynamic">
{% include "bundle_description" %}
</div>
</div>
</div>
<div class="col-xs-12 col-sm-6 np-grid-spacing">
<div class="np-top-cta np-card-container np-card-padding np-product-cta">
{% include "product_price_and_cta"%}
</div>
{% include "bundle_product_outline" %}
</div>
</div>

View File

@ -1,27 +0,0 @@
<div class="np-card-container np-card-padding-large">
<div class="np-top-vocabulary np-text-title np-text-muted">
{% t shared.product_types.bundle %}
</div>
<div class="np-top-title">
<a href="{% route catalog %}" class="np-back-button" aria-label="{% t shared.go_back %}">
<i class="far fa-arrow-left np-hidden-mobile np-icon-back"></i>
</a>
{{ product.name }}
</div>
<img
src="{{ product.image_url }}"
class="np-top-image"
alt="{{ product.name }}"
/>
<div class="np-top-cta">
{% include "product_price_and_cta" %}
</div>
</div>
<div class="np-card-container np-card-padding np-card-spacing">
{% include "bundle_description" %}
</div>
<div class="np-card-spacing">
{% include "bundle_product_outline" %}
</div>

View File

@ -1,12 +0,0 @@
<div class="np-learning-path-outline">
<h3 class="np-product-outline-title">{% t shared.bundle.title %}</h3>
{% for item in product.bundle_items %}
{% if item.course? %}
{% include "product_outline_course", id: forloop.index %}
{% elsif item.training_event? %}
{% include "product_outline_event", id: forloop.index %}
{% elsif item.learning_path? %}
{% include "product_outline_lp", id: forloop.index %}
{% endif %}
{% endfor %}
</div>

View File

@ -1,38 +0,0 @@
<div class="np-card">
<div class="np-card-container">
<img
class="np-card-image"
alt="{{ item.name }}"
src="{{ item.image_url }}"
>
<div class="np-card-content np-card-content-vertical np-card-padding">
<h3 class="np-catalog-card-title">
{{ item.name }}
</h3>
<div class="np-product-badge np-product-badge-catalog">
<i class="far {{ item.icon }} np-product-badge-icon np-product-badge-catalog-icon"></i>
<h3 class="np-product-badge-name np-product-badge-catalog-name">{{ item.formatted_type }}</h3>
</div>
<div class="np-card-content-footer np-catalog-card-footer">
{% if item.free_course? %}
<div class="np-card-content-progress np-button-color">
{% t shared.progress, count: item.progress %}
</div>
{% if item.has_to_restart? %}
{% include "course_version_outdated_popup", path: item.path %}
{% endif %}
<a class="np-button np-button-wide" href="{{ item.path }}">
{% t shared.view %}
</a>
{% else %}
<span class="np-catalog-card-price">
{{ item.formatted_price}}
</span>
<a class="np-button np-button-wide" href="{{ item.path }}">
{% t shared.learn_more %}
</a>
{% endif %}
</div>
</div>
</div>
</div>

View File

@ -1,44 +0,0 @@
<div id="{{ course.progress }}" class="{{ class }}">
<div class="np-card course-card">
<div class="np-card-container">
{% if course.ribbon %}
<div class="np-card-ribbon">
{{ course.ribbon }}
</div>
{% endif %}
<img class="np-card-image" alt="{{ course.name }}" src="{{ course.image_url }}">
<div class="np-card-content np-card-content-vertical np-card-padding">
<h3 class="np-card-content-title course-card-title" style="min-height: 48px;">
{{ course.name }}
</h3>
<div class="np-card-content-subtitle">
{{ course.instructor_names }}
</div>
<div class="np-card-content-footer">
<div style="display: flex; flex-direction: column-reverse;" class="np-card-content-progress np-button-color">
<span>{% t shared.progress, count: course.progress %}</span>
<span style="color: gray; text-transform: none;">{{course.properties.course_time}} Mins</span>
</div>
{% capture course_path %}{% route course, id: course.id %}{% endcapture %}
{% if course.has_to_restart? %}
{% include "course_version_outdated_popup", path: course_path %}
{% endif %}
<a class="np-button np-button-wide" href="{{ course_path }}">
{% t shared.view %}
</a>
{% if current_person.signed_in? %}
{% if course.completed? %}
<span class="progress-info" style="display: none;">Completed</span>
{% else %}
{% if course.progress == 0%}
<span class="progress-info" style="display: none;">Not started</span>
{% else %}
<span class="progress-info" style="display: none;">Started</span>
{% endif %}
{% endif %}
{% endif %}
</div>
</div>
</div>
</div>
</div>

View File

@ -1,102 +0,0 @@
<div class="np-card np-no-horizontal-padding">
<div class="np-card-container">
<div class="np-learning-path np-featured-course">
<div class="np-featured-course-img-container">
<div class="np-card-image-content-top">
{% include "course_details" %}
</div>
<img
class="np-card-image"
alt="{{ course.name }}"
src="{{ course.image_url }}"
style="width: 100%;"
>
</div>
<div class="np-card-text-wrapper" style="border: none !important;">
<div class="np-card-content np-card-padding np-card-content-vertical" style="border: none !important; background: #F2F2F2">
<h3 class="np-card-content-title" style="border: none;">
{{ course.name }}
</h3>
<div class="np-card-content-description" style='font-size: 16px !important; line-height: 24px !important; color: #2c4265 !important; font-family: Lexend !important;'>
{{ course.full_description }}
</div>
<div class="np-card-content-footer" style='display: flex; justify-content: space-between;'>
<div class='np-card-content-footer-left'style='display: flex; justify-content: left;'>
{% comment %}<a
class="np-top-button np-button-font-color np-button" href="{% route course_enrollment, code: course.enrollment_code %}" style='background: linear-gradient(90deg, #089FB7 0%, #15824B 100%); font-weight: 800;
border-radius: 8px; margin-right: 24px;'
>{% endcomment %}
<a
class="np-top-button np-button-font-color np-button" href="{% route course_enrollment, code: course.enrollment_code %}" style='background: linear-gradient(45deg, #2c4265 0%, #34abe2 100%); font-weight: 800;
border-radius: 8px; margin-right: 24px;'
>
{% if course.enrolled? == false %}
{% t shared.enroll %}
{% elsif course.started? == false %}
{% t shared.start, key: current_school.course_vocabulary %}
{% elsif course.completed? %}
{% t shared.course.view, key: current_school.course_vocabulary %}
{% else %}
{% t shared.continue %}
{% endif %}
</a>
<div class="np-card-progress np-button-color" style='font-weight: 700; font-size: 12px; align-self: center; text-transform: uppercase;'>
{% t shared.progress, count: course.progress %}
</div>
</div>
{% comment %}<div class='course-detail-rating'>
<div class='course-detail-rating-stars'>
{% for i in (1..5) %}
{% if course.properties.course_rating >= i %}
<svg width="20" height="19" viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10 0L12.5863 6.44033L19.5106 6.90983L14.1846 11.3597L15.8779 18.0902L10 14.4L4.12215 18.0902L5.81535 11.3597L0.489435 6.90983L7.41374 6.44033L10 0Z" fill="#089FB7"/>
</svg>
{% else %}
<svg width="20" height="19" viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.25" d="M10 0L12.5863 6.44033L19.5106 6.90983L14.1846 11.3597L15.8779 18.0902L10 14.4L4.12215 18.0902L5.81535 11.3597L0.489435 6.90983L7.41374 6.44033L10 0Z" fill="#089FB7"/>
</svg>
{% endif %}
{% endfor %}
</div>
<span class="np-details-label" style= 'display: flex; color: #2c4265;'>
{{course.properties.course_rating}} <div style='font-weight: 500; padding-left: 5px; color: #2c4265;'>({{course.properties.course_rating_count}}) </div>
</span>
</div>{% endcomment %}
</div>
</div>
</div>
</div>
</div>
</div>
<style>
.np-card-content.np-card-padding.np-card-content-vertical {
border-radius: 0 8px 8px 0;
}
@media screen and (max-width: 1024px) {
.np-card-content.np-card-padding.np-card-content-vertical {
border-radius: 8px;
}
}
.np-card-image {
border-top-left-radius: 8px;
border-top-right-radius: 0;
border-bottom-left-radius: 8px;
}
@media screen and (max-width: 1024px) {
.np-card-image {
border-top-right-radius: 8px;
border-bottom-left-radius: 0;
}
}
</style>
<script>
$(".np-card-content-description").css('font-size','16px !important')
$(".np-card-content-description").css('color','white !important')
$(".np-card-content-description").css('font-family', 'Lexend !important')
</script>

View File

@ -1,88 +0,0 @@
{% assign total_progress = 0 %}
{% assign completed_progress = 0 %}
{% for item in learning_path.items %}
{% if item.course? %}
{% assign total_progress = total_progress | plus: 100 %}
{% assign completed_progress = completed_progress | plus: item.progress %}
{% endif %}
{% endfor %}
{% assign total_progress = total_progress | times: 0.01 %}
{% assign calculated_progress = completed_progress | divided_by: total_progress %}
<div class="np-card-container">
<div class="np-learning-path">
<img
alt="{{ learning_path.name }}"
class="np-card-image np-learning-path-image"
src="{{ learning_path.image_url }}"
/>
<div class="np-card-text-wrapper">
<div class="np-hidden-desktop np-card-header">
<i class="np-card-header-icon far fa-road"></i>
<div class="np-card-header-type">{% t shared.learning_path.title %}</div>
<div class="np-hidden-desktop np-card-header-items-count">
{{ learning_path.items.count }} {% t .items %}
</div>
</div>
<div class="np-hidden-mobile np-card-header">
<div class="np-card-header-type">{% t shared.learning_path.title %}</div>
<i class="np-card-header-icon far fa-road"></i>
</div>
<div class="np-card-content np-card-padding np-card-content-vertical">
<div>
<h3 class="np-card-content-title">
{{ learning_path.name }}
</h3>
<div class="np-card-content-subtitle">
{{ learning_path.instructor_names }}
</div>
<div class="np-hidden-mobile np-card-content-description">
{{ learning_path.description }}
</div>
</div>
<div>
<div class="np-hidden-mobile np-card-content-progress
np-button-color">
{% comment %}{% t shared.progress, count: learning_path.progress %}{% endcomment %}
{% if calculated_progress < 1 %}
Not Started
{% else %}
{{calculated_progress | ceil }}% Completed
{% endif %}
</div>
<div class="np-hidden-mobile np-card-progress-bar-container">
<div style="width: {{ calculated_progress }}%" class="np-button-background-color np-card-progress-bar">
</div>
</div>
<div class="np-card-content-footer">
<div class="np-hidden-desktop np-card-content-progress
np-button-color">
{% t shared.progress, count: learning_path.progress %}
</div>
<a class="np-button" href="{% route learning_path, id: learning_path.id %}">
{% t shared.view %}
</a>
<span class="np-hidden-mobile np-learning-path-items">
<i class="np-button-color np-learning-path-items-icon far fa-graduation-cap"></i>
<span class="np-learning-path-items-count">
{{ learning_path.items.count }} {% t .items %}
</span>
</span>
</div>
</div>
</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>

View File

@ -1,51 +0,0 @@
{% comment %}<div class="np-card np-event-card">{% endcomment %}
<div class="np-event-card">
<div class="np-card-container">
<div class="np-card-content-training-event">
<h3 class="np-card-content-title">
{{ training_event.title }}
</h3>
<div class="np-card-content-subtitle">
{% t shared.event_types, key: training_event.event_type %}
</div>
<div class="np-card-training-session">
<span class="np-card-content-label" style='border-radius: 4px; opacity: 0.15;'>
{% t .next_session %}
</span>
<div class="np-card-training-session-date">
<div>
<div class="np-card-training-session-date-month">
{{ training_event.sessions.first.month }}
</div>
<div class="np-card-training-session-date-year np-opacity-50">
{{ training_event.sessions.first.year }}
</div>
</div>
<div class="np-card-training-session-date-day">
{% if training_event.sessions.first.day < 10 %}0{% endif %}{{ training_event.sessions.first.day }}
</div>
<div class="np-button-background-color np-card-training-session-date-bar" style='border-right: 16px solid #089FB7;'></div>
</div>
</div>
</div>
<div class="np-card-content np-card-content-vertical np-card-padding">
<div class="np-card-training-sessions">
<span class="np-card-training-sessions-label">
{% t .sessions, count: training_event.sessions.size %}
</span>
{% comment %}<a
class="np-button"
href="{% route training_session, id: training_event.sessions.first.id %}"
style='background: linear-gradient(90deg, #089FB7 0%, #15824B 100%); border-radius: 8px;'
>{% endcomment %}
<a
class="np-button"
href="{% route training_session, id: training_event.sessions.first.id %}"
style='background: linear-gradient(45deg, #2c4265 0%, #34abe2 100%); border-radius: 8px;'
>
{% t shared.view %}
</a>
</div>
</div>
</div>
</div>

View File

@ -1,62 +0,0 @@
{% assign topic_classname = topic | split: " " %}
<div class="courses-carousel np-carousel" data-topic="{{ topic_classname | join: '-' | downcase }}">
{% if items.any? %}
{% assign sorted_items =items | sort: "name" %}
{% for course in sorted_items %}
{% comment %} USED FOR PROGRESS FILTER {% endcomment %}
{% assign course_status = "" %}
{% if course.started? == false %}
{% assign course_status = "not-started" %}
{% elsif course.completed? %}
{% assign course_status = "completed" %}
{% elsif course.started? %}
{% assign course_status = "in-progress" %}
{% endif %}
{% if topic == "Not Categorized" %}
<div class="np-carousel-card {{course_status}}"> {% include "cards_course" with course %}</div>
{% else %}
{% for category in course.categories %}
{% if category.name == topic %}
<div class="np-carousel-card {{course_status}}"> {% include "cards_course" with course %}</div>
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{% endif %}
</div>
<script>
$(document).ready(function(){
$(".courses-carousel").not('.slick-initialized').slick({
slidesToShow: 3,
cssEase: 'linear',
prevArrow: '<i class="fal fa-chevron-left"></i>',
nextArrow: '<i class="fal fa-chevron-right"></i>',
infinite: false,
responsive: [
{
breakpoint: 1170,
settings: {
slidesToShow: 2,
}
},
{
breakpoint: 768,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
dots: false,
arrows: true,
}
}
]
});
});
</script>

View File

@ -1,37 +0,0 @@
<div class="events-carousel np-carousel np-carousel-bg-blue" id="events-carousel">
{% if items.any? %}
{% for training_event in items %}
<div class="np-carousel-card"> {% include "cards_training_event" with training_event %}</div>
{% endfor %}
{% endif %}
</div>
<script>
$(document).ready(function(){
$(".events-carousel").slick({
slidesToShow: 3,
prevArrow: '<i class="fal fa-chevron-left"></i>',
nextArrow: '<i class="fal fa-chevron-right"></i>',
infinite: false,
dots: false,
arrows: true,
responsive: [
{
breakpoint: 1170,
settings: {
slidesToShow: 2,
}
},
{
breakpoint: 768,
settings: {
slidesToShow: 1,
}
}
]
});
});
</script>

View File

@ -1,136 +0,0 @@
{% assign used_instructor_names = "" %}
<div class="instructors-carousel np-carousel" id="instructors-carousel">
<div class="np-carousel-card">
<div class="instructor-slide">
<div class="instructor-image" style='height:160px; width: 160px;'>
<img style='height: 136px; width: 136px;' src="https://s3.amazonaws.com/static.northpass.com/NorthpassAcademy/headshot_1.jpg" />
</div>
<div class="instructor-info">
<div class="instructor-name">Paula Naba</div>
<a href="mailto:paula@northpass.com" target="_blank" class="instructor-email" style='color: #089FB7;'>paula@northpass.com</a>
<div class="instructor-joined">Director of Customer Success</div>
</div>
</div>
</div>
<div class="np-carousel-card">
<div class="instructor-slide">
<div class="instructor-image" style='height:160px; width: 160px;'>
<img style='height: 136px; width: 136px;' src="https://s3.amazonaws.com/static.northpass.com/NorthpassAcademy/charlie+1.png" />
</div>
<div class="instructor-info">
<div class="instructor-name">Charlie Bencivenga</div>
<a href="mailto:cbencivenga@northpass.com" target="_blank" class="instructor-email" style='color: #089FB7;'>cbencivenga@northpass.com</a>
<div class="instructor-joined">Solutions Engineering Manager</div>
</div>
</div>
</div>
{% comment %}<div class="np-carousel-card">
<div class="instructor-slide">
<div class="instructor-image" style='height:160px; width: 160px;'>
<img style='height: 136px; width: 136px;' src="https://s3.amazonaws.com/static.northpass.com/NorthpassAcademy/headshot_4.jpg" />
</div>
<div class="instructor-info">
<div class="instructor-name">Rob Abrams</div>
<a href="mailto:rabrams@northpass.com" target="_blank" class="instructor-email" style='color: #089FB7;'>rabrams@northpass.com</a>
<div class="instructor-joined">Senior Implementation Manager</div>
</div>
</div>
</div>{% endcomment %}
<div class="np-carousel-card">
<div class="instructor-slide">
<div class="instructor-image" style='height:160px; width: 160px;'>
<img style='height: 136px; width: 136px;' src="https://s3.amazonaws.com/static.northpass.com/NorthpassAcademy/headshot_2.jpg" />
</div>
<div class="instructor-info">
<div class="instructor-name">Bridget Cafaro</div>
<a href="mailto:bcafaro@northpass.com" target="_blank" class="instructor-email" style='color: #089FB7;'>bcafaro@northpass.com</a>
<div class="instructor-joined">Customer Success Manager</div>
</div>
</div>
</div>
<div class="np-carousel-card">
<div class="instructor-slide">
<div class="instructor-image" style='height:160px; width: 160px;'>
<img style='height: 136px; width: 136px;' src="https://s3.amazonaws.com/static.northpass.com/NorthpassAcademy/nergis2.png" />
</div>
<div class="instructor-info">
<div class="instructor-name">Nergis Tepeli</div>
<a href="mailto:ntepeli@northpass.com" target="_blank" class="instructor-email" style='color: #089FB7;'>ntepeli@northpass.com</a>
<div class="instructor-joined">Customer Success Manager</div>
</div>
</div>
</div>
{% comment %}<div class="np-carousel-card">
<div class="instructor-slide">
<div class="instructor-image" style='height:160px; width: 160px;'>
<img style='height: 136px; width: 136px;' src="https://s3.amazonaws.com/static.northpass.com/NorthpassAcademy/eric.png" />
</div>
<div class="instructor-info">
<div class="instructor-name">Eric Pavan</div>
<a href="mailto:epavan@northpass.com" target="_blank" class="instructor-email" style='color: #089FB7;'>epavan@northpass.com</a>
<div class="instructor-joined">Customer Success Manager</div>
</div>
</div>
</div>{% endcomment %}
<div class="np-carousel-card">
<div class="instructor-slide">
<div class="instructor-image" style='height:160px; width: 160px;'>
<img style='height: 136px; width: 136px;' src="https://s3.amazonaws.com/static.northpass.com/NorthpassAcademy/brian.png" />
</div>
<div class="instructor-info">
<div class="instructor-name">Brian Bastante</div>
<a href="mailto:bbastante@northpass.com" target="_blank" class="instructor-email" style='color: #089FB7;'>bbastante@northpass.com</a>
<div class="instructor-joined">Technical Support Specialist</div>
</div>
</div>
</div>
<div class="np-carousel-card">
<div class="instructor-slide">
<div class="instructor-image" style='height:160px; width: 160px;'>
<img style='height: 136px; width: 136px;' src="https://s3.amazonaws.com/static.northpass.com/NorthpassAcademy/headshot_3.png" />
</div>
<div class="instructor-info">
<div class="instructor-name">Kasia Cholewa</div>
<a href="mailto:paula@northpass.com" target="_blank" class="instructor-email" style='color: #089FB7;'>support@northpass.com</a>
<div class="instructor-joined">Technical Support Specialist</div>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function(){
$(".instructors-carousel").slick({
slidesToShow: 2.5,
prevArrow: '<i class="fal fa-chevron-left"></i>',
nextArrow: '<i class="fal fa-chevron-right"></i>',
infinite: false,
dots: false,
arrows: true,
responsive: [
{
breakpoint: 1170,
settings: {
slidesToShow: 2,
}
},
{
breakpoint: 768,
settings: {
slidesToShow: 1,
}
}
]
});
});
</script>
<style>
.instructors-carousel .fa-chevron-right:before {
right: -7px !important;
}
</style>

View File

@ -1,25 +0,0 @@
<script type="text/javascript">
$(document).ready(function() {
if ($('.achivements-carousel').length > 0) {
$('.achivements-carousel').slick({
slidesToShow: 1,
slidesToScroll: 1,
dots: true,
infinite: true,
autoplay: false,
autoplaySpeed: 5000,
cssEase: 'linear',
prevArrow: '<svg viewBox="0 0 20 20" class="_1ycOA _left"><path d="M12 16a.997.997 0 0 1-.707-.293l-5-5a.999.999 0 0 1 0-1.414l5-5a.999.999 0 1 1 1.414 1.414L8.414 10l4.293 4.293A.999.999 0 0 1 12 16" fill-rule="evenodd"></path></svg>',
nextArrow: '<svg viewBox="0 0 20 20" class="_1ycOA _right"><path d="M8 16a.999.999 0 0 1-.707-1.707L11.586 10 7.293 5.707a.999.999 0 1 1 1.414-1.414l5 5a.999.999 0 0 1 0 1.414l-5 5A.997.997 0 0 1 8 16" fill-rule="evenodd"></path></svg>',
responsive: [{
breakpoint: 991,
settings: {
dots: false
}
}]
})
}
});
</script>

View File

@ -1,4 +0,0 @@
<div class="col-xs-12 col-md-4 spacing-clear">
{% include "certificates_verification" %}
{% include "certificates_metadata" %}
</div>

View File

@ -1,59 +0,0 @@
<div class="np-card spacing-clear">
<div class="np-card-container padding-spacing-8">
<div class="row np-certificate-metadata-row">
<div class="col-xs-6 col-md-6">
<p class="np-certificate-metadata-title" >
{% t .learner %}
</p>
</div>
<div class="col-xs-6 col-md-6">
<p class="np-certificate-metadata-value">
{{certificate.learner_name}}
</p>
</div>
</div>
<div class="line"></div>
{% if certificate.issuer_name_enabled? %}
<div class="row np-certificate-metadata-row">
<div class="col-xs-6 col-md-6">
<p class="np-certificate-metadata-title">
{% t .issued_by %}
</p>
</div>
<div class="col-xs-6 col-md-6">
<p class="np-certificate-metadata-value">
{{ certificate.issuer_name }}
</p>
</div>
</div>
<div class="line"></div>
{% endif %}
<div class="row np-certificate-metadata-row">
<div class="col-xs-6 col-md-6">
<p class="np-certificate-metadata-title" >
{% t .issued_on %}
</p>
</div>
<div class="col-xs-6 col-md-6">
<p class="np-certificate-metadata-value">
{{ certificate.issue_date }}
</p>
</div>
</div>
<div class="line"></div>
<div class="row np-certificate-metadata-row">
<div class="col-xs-6 col-md-6">
<p class="np-certificate-metadata-title" >
{% t .expires_on %}
</p>
</div>
<div class="col-xs-6 col-md-6">
<p class="np-certificate-metadata-value">
{{ certificate.expiration_date_translation }}
</p>
</div>
</div>
</div>
</div>

View File

@ -1,35 +0,0 @@
<script type="text/javascript">
const resizeIframe = () => {
const combinedPadding = 16;
const previewIframe = document.getElementById("previewIframe");
const previewIFrameCard = document.getElementById("previewIFrameCard");
const templateInPreviewContainer = previewIframe.contentWindow.document.querySelector('.np-certificate-container');
const previewIframeContentHeight = templateInPreviewContainer.offsetHeight;
const previewIframeContentWidth = templateInPreviewContainer.offsetWidth;
const certificateRatio = previewIframeContentHeight / previewIframeContentWidth;
templateInPreviewContainer.style.margin = 0;
previewIFrameCard.style.height = `${previewIFrameCard.offsetWidth * certificateRatio}px`;
const scaledIframeWidth = previewIFrameCard.offsetWidth - combinedPadding;
const scaledIframeHeight = scaledIframeWidth * certificateRatio;
const scale = scaledIframeHeight / previewIframeContentHeight;
previewIframe.style.transform = `scale(${scale})`;
}
window.onresize = resizeIframe;
</script>
<div class="col-xs-12 col-md-8 np-certificate-iframe-container">
<div class="np-card spacing-clear">
<div id="previewIFrameCard" class="np-card-container np-certificate-card">
<iframe
id="previewIframe"
onload="resizeIframe()"
class="np-certificate-iframe-preview"
srcdoc="{{ certificate.certificate_template_html }}"
></iframe>
</div>
</div>
</div>

View File

@ -1,44 +0,0 @@
<div class="top-bar np-certificate-top-bar-spacing">
<div class="top-bar__container uk-container uk-container-center uk-padding-horizontal np-max-width">
<div class="top-bar__col">
<h2 class="np-certificate-title" >
{{certificate.certificate_name}}
</h2>
</div>
<div class="button-container np-certificate-button-container">
{% if certificate.linkedin_sharing_enabled and current_person.signed_in? and certificate.learner_uuid == current_person.id %}
<a
class="np-button np-certificate-button np-certificate-button-secondary"
href="{{certificate.linkedin_share_url}}"
target="_blank"
>
<i class="fab fa-linkedin np-certificate-share-icon"></i>
{% t .share %}
</a>
{% endif %}
<button
id="print"
type="button"
class="np-button np-certificate-button np-certificate-button-secondary np-certificate-button-print"
>
{% t .print %}
</button>
{% if certificate.generating_pdf %}
<div class="np-button np-certificate-button np-certificate-button-primary np-certificate-spinner-container">
<i class="loader fad fa-spinner-third fa-spin np-certificate-spinner-icon np-button-font-color"></i>
</div>
{% else %}
<a
href="{{ certificate.download_url }}"
aria-label="{% t .download %}"
target="_blank"
rel="noopener noreferrer"
download
class="np-button np-certificate-button np-certificate-button-primary np-button-font-color"
>
{% t .download %}
</a>
{% endif %}
</div>
</div>
</div>

View File

@ -1,15 +0,0 @@
<div class="np-card spacing-clear np-certificate-verification-card">
<div class="np-card-container np-certificate-verification-container">
<div class="np-certificate-verification-icon-container np-certificate-verification-icon-container-{{certificate.verification_status}}">
<i class="far fa-{{certificate.verification_icon}} np-certificate-verification-icon"></i>
</div>
<div class="np-certificate-verification-info-container">
<h2 class="np-certificate-verification-info-status spacing-clear">
{{certificate.verification_title}}
</h2>
<p class="np-certificate-verification-info-description spacing-clear">
{{certificate.verification_description}}
</p>
</div>
</div>
</div>

View File

@ -1,60 +0,0 @@
<div class="np-dashboard-resources">
{% if courses.enrolled.any? %}
<div class="np-card">
<div class="np-card-container">
<div class="np-card-content-training-event">
{% assign countComplete = 0 %}
{% assign countInProgress = 0 %}
{% assign countNotStarted = 0 %}
{% assign countTotal = 0 | times: 1.0 %}
{% for course in courses.enrolled %}
{% assign countTotal = countTotal | plus: 1 %}
{% if course.progress == 100 %}
{% assign countComplete = countComplete | plus: 1 %}
{% endif %}
{% if course.progress > 0 and course.progress < 100 %}
{% assign countInProgress = countInProgress | plus: 1 %}
{% endif %}
{% if course.progress == 0 %}
{% assign countNotStarted = countNotStarted | plus: 1 %}
{% endif %}
{% endfor %}
<ul class="circle-list">
<li>
{% include "progress_circle", name:'Completed' , count: countComplete , total: countTotal %}
</li>
<li>
{% include "progress_circle", name:'In Progress' , count: countInProgress , total: countTotal %}
</li>
<li>
{% include "progress_circle", name:'Not Started' , count: countNotStarted , total: countTotal %}
</li>
</ul>
</div>
{% else %}
{% capture message %}
{% t shared.zero_state.courses.index,
key: current_school.course_vocabulary
%}
{% endcapture %}
{% include "courses_zero_state", message: message %}
{% endif %}
</div>
</div>
</div>
<style>
.circle-list {
list-style-type: none !important;
}
.align-center {
align-items: center !important;
}
.progress-ring__circle {
transition: stroke-dashoffset 0.35s;
}
.progress-ring__circle {
transition: stroke-dashoffset 0.35s;
transform: rotate(-90deg);
transform-origin: center;
}
</style>

View File

@ -1,4 +0,0 @@
{% comment %} <i class="far fa-lock-alt np-course-outline-content-activity-icon-locked"></i> {% endcomment %}
<span class="np-course-outline-content-activity-link">
{{ activity.title }}
</span>

View File

@ -1,17 +0,0 @@
{% if course.enrolled? %}
<a
href="{% route activity_viewer,
id: activity.id,
course_id: params.course_id,
learning_path_id: params.learning_path_id
%}" class="{{ class }}"
>
{{ activity.title }}
</a>
{% else %}
<div
class="{{ class }}"
>
{{ activity.title }}
</div>
{% endif %}

View File

@ -1,21 +0,0 @@
<div class="col-xs-12 np-top-image-spacing np-course-banner">
<div class="np-course-banner-overlay"></div>
<img
src="{{ course.image_url }}"
class="np-course-banner-image"
alt="{{ course.name }}"
/>
<div class="np-course-info np-course-banner-info">
<div class="np-course-title" style="color: #34abe2">{{ course.name }}</div>
{%- comment -%} {% include "course_details_review" %} {%- endcomment -%}
</div>
</div>
<style>
.fas.fa-star {
color: white;
}
.fas.fa-star {
line-height: 1.15;
}
</style>

View File

@ -1,10 +0,0 @@
<h3 class="np-card-heading">
{% t .header %}
</h3>
<div class="np-flex">
{% for category in course.categories %}
<div class="np-content-categories-content-item">
{{ category.name }}
</div>
{% endfor %}
</div>

View File

@ -1,11 +0,0 @@
<div class="np-hidden-mobile">
<div class="row">
<div class="carousel">
{% for course in courses.enrolled %}
<div>
{% include "cards_course" with course, class: "" %}
</div>
{% endfor %}
</div>
</div>
</div>

View File

@ -1,11 +0,0 @@
<div class="np-hidden-mobile">
<div class="row">
<div class="carousel">
{% for course in courses.in_catalog %}
<div>
{% include "cards_course" with course, class: "" %}
</div>
{% endfor %}
</div>
</div>
</div>

View File

@ -1,6 +0,0 @@
<h3 class="np-card-heading">
{% t .header, key: current_school.course_vocabulary %}
</h3>
<div class="np-card-text">
{{ course.full_description }}
</div>

View File

@ -1,60 +0,0 @@
<div class="np-card-container">
<div class="row np-course-content np-card-padding-dynamic">
{% include "course_banner" %}
<div class="col-xs-12 col-sm-6">
{% include "course_description" %}
{% comment %} {% if course.categories.any? %}
<div class="np-card-content-divider">
{% include "course_categories" %}
</div>
{% endif %} {% endcomment %}
{% if course.instructors.any? %}
<div class="np-card-content-divider">
{% include "course_instructors" %}
</div>
{% endif %}
{% if course.events.any? %}
<div class="np-card-content-divider">
{% include "course_events" %}
</div>
{% endif %}
</div>
<div class="np-grid-spacing col-xs-12 col-sm-6">
<div class="np-top-cta">
{% include "course_progress_and_cta" %}
</div>
{% include "course_outline" %}
</div>
</div>
</div>
<style>
@media only screen and (min-width: 768px) {
body {
display: grid;
grid-template-columns: 1fr;
grid-template-areas: "header" "nav" "main" "footer" "powered";
grid-template-rows: 120px 50px 1fr 160px 60px;
}
header {
grid-area: header;
}
nav {
grid-area: nav;
margin-bottom: 17px;
}
main {
grid-area: main;
margin-top: 0 !important;
}
footer {
grid-area: footer;
}
.np-powered-by {
grid-area: powered;
}
}
</style>

View File

@ -1,34 +0,0 @@
{% assign activities_count = 0 %}
{% for course_section in course.sections %}
{% for course_activity in course_section.activities %}
{% assign activities_count = activities_count | plus: 1 %}
{% endfor %}
{% endfor %}
<div class="np-course-details">
<div class="np-course-detail" style="color: #2c4265">
<strong>{{ activities_count }}</strong>
<span class="np-details-label" style="color: #2c4265">
{% if activities_count == 1 %}Activity{% else %}Activities{% endif %}
</span>
</div>
<div class="np-course-detail" style="color: #2c4265">
{% if course.properties.course_time contains 'missing property' %}
missing property: course.properties.course_time
{% else %}
{% if course.properties.course_time %}
{% if course.properties.course_time > 0 %}
<strong>{{course.properties.course_time}}</strong> mins<span class="np-details-label" style="color: #2c4265">Duration</span>
{% else %}
<div>&nbsp;&nbsp;&nbsp;</div>
{% endif %}
{% endif %}
{% endif %}
</div>
</div>
<style>
/* .np-course-details {
text-shadow: 1px 1px #34abe2;
} */
</style>

View File

@ -1,60 +0,0 @@
{% assign activities_count = 0 %}
{% for course_section in course.sections %}
{% for course_activity in course_section.activities %}
{% assign activities_count = activities_count | plus: 1 %}
{% endfor %}
{% endfor %}
<div class="np-course-details" style="text-align: center; ">
<div class="np-course-detail" id='hideable'>
<strong>{{ activities_count }}</strong>
<span class="np-details-label">
{% if activities_count == 1 %}Activity{% else %}Activities{% endif %}
</span>
</div>
<div class="np-course-detail">
{% if course.properties.course_time contains 'missing property' %}
missing property: course.properties.course_time
{% else %}
{% if course.properties.course_time %}
{% if course.properties.course_time > 0 %}
<strong>{{course.properties.course_time}}</strong> mins<span class="np-details-label">Duration</span>
{% else %}
<div>&nbsp;&nbsp;&nbsp;</div>
{% endif %}
{% endif %}
{% endif %}
</div>
{% comment %}<div class="np-course-detail course-detail-rating">
<div class='course-detail-rating-stars' style='display: flex; flex-wrap: nowrap;'>
{% for i in (1..5) %}
{% if course.properties.course_rating >= i %}
<svg width="20" height="19" viewBox="0 0 20 19" preserveAspectRatio fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10 0L12.5863 6.44033L19.5106 6.90983L14.1846 11.3597L15.8779 18.0902L10 14.4L4.12215 18.0902L5.81535 11.3597L0.489435 6.90983L7.41374 6.44033L10 0Z" fill="#089FB7"/>
</svg>
{% else %}
<svg width="20" height="19" viewBox="0 0 20 19" preserveAspectRatio fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.25" d="M10 0L12.5863 6.44033L19.5106 6.90983L14.1846 11.3597L15.8779 18.0902L10 14.4L4.12215 18.0902L5.81535 11.3597L0.489435 6.90983L7.41374 6.44033L10 0Z" fill="#089FB7"/>
</svg>
{% endif %}
{% endfor %}
</div>
<span class="np-details-label" style= 'display: flex;'>
{{course.properties.course_rating}} <div style='font-weight: 500; padding-left: 5px; color: #2c4265;'>({{course.properties.course_rating_count}}) </div>
</span>
</div>{% endcomment %}
</div>
<style>
.course-detail-rating {
align-self: flex-end;
}
.course-detail-rating-stars {
margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
.course-detail-rating-stars {
margin-bottom: 0;
}
}
</style>

View File

@ -1,28 +0,0 @@
<h3 class="np-card-heading">
{% t .header %}
</h3>
<div class="np-flex-column">
{% for event in course.events %}
<div class="np-course-events-content-item">
<div class="np-course-events-content-date np-button-background-color">
<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 np-button-color">
{{ event.sessions.first.time_period }} {{ event.sessions.first.time_zone }}
</div>
</div>
</div>
{% endfor %}
</div>

View File

@ -1,16 +0,0 @@
<div class="np-top-vocabulary np-text-title np-text-muted">
{{ current_school.course_vocabulary }}
<i class="far fa-graduation-cap np-button-color np-learning-path-icon np-hidden-mobile">
</i>
</div>
<div class="np-top-title">
<a href="{% route home %}" class="np-back-button" aria-label="{% t shared.go_back %}">
<i class="far fa-arrow-left np-hidden-mobile np-icon-back"></i>
</a>
{{ course.name }}
</div>
<img
src="{{ course.image_url }}"
class="np-top-image np-hidden-desktop"
alt="{{ course.name }}"
/>

View File

@ -1,26 +0,0 @@
<h3 class="np-card-heading">
{% t .header %}
</h3>
<div class="np-flex instructors-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>
<div class="np-content-instructors-content-info np-text-light">
{{ instructor.title }}
</div>
</div>
</div>
{% endfor %}
</div>
<style>
@media (min-width: 768px) and (max-width: 1500px) {
.instructors-container {
flex-direction: column;
}
}
</style>

View File

@ -1,87 +0,0 @@
<div class="np-card-container np-card-padding-large in-course-sections in-course-condenser">
{% include "course_header" %}
<div class="np-top-cta">
{% include "course_progress_and_cta" %}
</div>
</div>
{% if course.progress == 0 %}
<div class="np-card-container np-card-padding np-card-spacing in-course-sections in-course-condenser">
{% include "course_description" %}
</div>
<div class="np-card-container np-card-padding np-card-spacing in-course-sections in-course-condenser">
{% include "course_outline" %}
</div>
{% else %}
<div class="np-card-container np-card-padding np-card-spacing in-course-sections in-course-condenser">
{% include "course_outline" %}
</div>
<div class="np-card-container np-card-padding np-card-spacing in-course-sections in-course-condenser">
{% include "course_description" %}
</div>
{% endif %}
{% if course.categories.any? %}
<div class="np-card-container np-card-padding np-card-spacing in-course-sections in-course-condenser">
{% include "course_categories" %}
</div>
{% endif %}
{% if course.instructors.any? %}
<div class="np-card-container np-card-padding np-card-spacing in-course-sections in-course-condenser">
{% include "course_instructors" %}
</div>
{% endif %}
{% if course.events.any? %}
<div class="np-card-container np-card-padding np-card-spacing in-course-sections in-course-condenser">
{% include "course_events" %}
</div>
{% endif %}
<div class="course-start-button in-course-start-button">
{% 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">
{% t .retake, key: current_school.course_vocabulary %}
</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 %}
{% t shared.enroll %}
{% elsif course.started? == false %}
{% t shared.course.start, key: current_school.course_vocabulary %}
{% elsif course.completed? %}
{% t shared.course.view, key: current_school.course_vocabulary %}
{% else %}
{% t shared.continue %}
{% endif %}
</a>
{% endif %}
</div>
<style>
.in-course-sections{
box-shadow: none;
}
.in-course-start-button{
width: 50%;
padding-top: 1.25rem;
margin: 0 auto;
float: none;
}
.in-course-condenser{
padding-bottom: 0;
}
</style>

View File

@ -1,38 +0,0 @@
<div class="np-course-outline">
<div class="np-text-title np-course-outline-title" style='color: #FFFFFF; opacity: 0.5;'>
{% t .header, key: current_school.course_vocabulary %}
</div>
<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">
{% if activity.completed? %}
<i class="fas fa-check np-course-outline-content-activity-icon"></i>
{% if activity.locked? %}
{% include "course_activity_locked" %}
{% else %}
{% include "course_activity_unlocked", class: "np-course-outline-content-activity-link-completed" %}
{% endif %}
{% else %}
<i class="icon-course-not-started np-course-outline-content-activity-icon"></i>
{% if activity.locked? %}
{% include "course_activity_locked" %}
{% else %}
{% include "course_activity_unlocked", class: "np-course-outline-content-activity-link" %}
{% endif %}
{% endif %}
</li>
{% endfor %}
</ol>
</li>
{% endfor %}
</ol>
</div>
</div>

View File

@ -1,41 +0,0 @@
<div class="np-card-container">
<div class="np-resource-header np-course-header np-card-padding-large">
{% include "course_header" %}
</div>
<div class="np-divider"></div>
<div class="row np-course-content np-card-padding-dynamic">
<div class="col-xs-12 col-sm-6">
<img
src="{{ course.image_url }}"
class="np-top-image np-top-image-spacing"
alt="{{ course.name }}"
/>
{% include "course_description" %}
{% if course.categories.any? %}
<div class="np-card-content-divider">
{% include "course_categories" %}
</div>
{% endif %}
{% if course.instructors.any? %}
<div class="np-card-content-divider">
{% include "course_instructors" %}
</div>
{% endif %}
{% if course.events.any? %}
<div class="np-card-content-divider">
{% include "course_events" %}
</div>
{% endif %}
</div>
<div class="np-grid-spacing col-xs-12 col-sm-6">
<div class="np-top-cta np-card-container np-card-padding np-product-cta">
{% include "product_price_and_cta" %}
</div>
{% include "product_outline" %}
</div>
</div>
</div>

View File

@ -1,31 +0,0 @@
<div class="np-card-container np-card-padding-large">
{% include "course_header" %}
<div class="np-top-cta">
{% include "product_price_and_cta" %}
</div>
</div>
<div class="np-card-container np-card-padding np-card-spacing">
{% include "course_description" %}
</div>
<div class="np-card-container np-card-padding np-card-spacing">
{% include "product_outline" %}
</div>
{% if course.categories.any? %}
<div class="np-card-container np-card-padding np-card-spacing">
{% include "course_categories" %}
</div>
{% endif %}
{% if course.instructors.any? %}
<div class="np-card-container np-card-padding np-card-spacing">
{% include "course_instructors" %}
</div>
{% endif %}
{% if course.events.any? %}
<div class="np-card-container np-card-padding np-card-spacing">
{% include "course_events" %}
</div>
{% endif %}

View File

@ -1,47 +0,0 @@
<div class="np-top-cta-progress-content">
{%comment%}<div class="np-top-cta-progress-title np-text-title">
{% t .header %}
</div>{%endcomment%}
<div class="np-top-cta-progress-text
{% if course.completed? %} np-color-success {% else %} np-button-color {% endif %}
">
{% t shared.progress, count: course.progress %}
</div>
<div class="np-progress-bar-container">
<div
style="width: {{ course.progress }}%"
class="np-button-background-color np-card-progress-bar">
</div>
</div>
</div>
<div class="course-start-button">
{% 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">
{% t .retake, key: current_school.course_vocabulary %}
</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 %}
{% t shared.enroll %}
{% elsif course.started? == false %}
{% t shared.course.start, key: current_school.course_vocabulary %}
{% elsif course.completed? %}
{% t shared.course.view, key: current_school.course_vocabulary %}
{% else %}
{% t shared.continue %}
{% endif %}
</a>
{% endif %}
</div>

View File

@ -1,7 +0,0 @@
{% if courses.include_courses_to_restart? %}
<div role="alert" class="np-alert np-alert-global np-alert-info">
<div class="np-alert-container uk-container uk-container-center">
{% t .content %}
</div>
</div>
{% endif %}

View File

@ -1,33 +0,0 @@
<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
></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"></i>
<h3 class="np-popup-header-title">
{% t .title %}
</h3>
</header>
<div class="np-popup-body">
<h4>{% t .body.header %}</h4>
<p>{% t .body.content %}</p>
<a
class="np-popup-body-button"
href="{{ path }}"
>
{% t .body.button %}
</a>
</div>
<div class="np-popup-tail"></div>
</div>
</div>
</div>

View File

@ -1,28 +0,0 @@
{% assign view_more_counter = 0 %}
{% if courses.in_catalog.any? %}
<div class="np-catalog-courses row row-with-thumbnails">
{% for course in courses.in_catalog %}
{% if view_more_counter < 3%}
{% assign view_more_counter = view_more_counter | plus: 1%}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
{% include "cards_course" with course, class: "" %}
</div>
{% else %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content view-more-hidden">
{% include "cards_course" with course, class: "" %}
</div>
{% endif%}
{% endfor %}
{% if view_more_counter >= 3%}
<button class="np-top-button np-button-font-color np-button np-button-big view-more-button" onclick="viewMore()">View More</button>
{% endif %}
</div>
{% else %}
{% capture message %}
{% t shared.zero_state.courses.catalog,
key: current_school.course_vocabulary
%}
{% endcapture %}
{% include "courses_zero_state", message: message %}
{% endif %}

View File

@ -1,14 +0,0 @@
{% if courses.enrolled.any? %}
<div id="dash-sort" class="row row-with-thumbnails">
{% for course in courses.enrolled %}
{% include "cards_course" with course, class: "col-xs-12 col-sm-6 np-stretch-content" %}
{% endfor %}
</div>
{% else %}
{% capture message %}
{% t shared.zero_state.courses.index,
key: current_school.course_vocabulary
%}
{% endcapture %}
{% include "courses_zero_state", message: message %}
{% endif %}

View File

@ -1,6 +0,0 @@
<div class="np-dashboard-resources-container">
<div class="np-zero-state-text">
{{ message }}
</div>
<img class="np-zero-state-courses" alt="{{ message }}" />
</div>

View File

@ -1,124 +0,0 @@
<header class="np-header np-header-color" style="background: #fafafa; border: none; height: 3.5rem; position: fixed; margin-top: 4rem;">
<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">
{% for website_navigation in navigations.header_navigations_external %}
<li class= "np-header-desktop-nav-item">
<a
href="{{ website_navigation.path }}"
class="np-header-desktop-nav-link np-header-font-color"
target="_blank"
>
{{ website_navigation.name }}
</a>
</li>
{% 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"></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">
<a class="np-header-avatar-tooltip-navigation-link" onclick="buildURL(window.location.pathname)" style="cursor:pointer">
Default
</a>
{% unless current_school.sso_active? %}
<a
class="np-header-avatar-tooltip-navigation-link"
href="{% route account %}"
>
Profile Settings
</a>
{% endunless %}
<a
class="np-header-avatar-tooltip-navigation-link np-danger"
href="{% route logout %}"
>
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>

View File

@ -1,168 +0,0 @@
<div class="mo-search-wrapper">
<select class="dashboard-filter-select filter-wrapper uk-text-bold mo-active-filter-prog"
id='course-by-status-select'>
<option class="mo-filter-item" value="none" style="padding-bottom:10px" selected disabled>Filter by progress
</option>
<option class="mo-filter-item" value="all">All</option>
<option class="mo-filter-item" value="not-started">Not Started</option>
<option class="mo-filter-item" value="in-progress">In Progress</option>
<option class="mo-filter-item" value="completed">Completed</option>
</select>
</div>
<script>
let selectByStatusOfCourse = document.getElementById('course-by-status-select')
selectByStatusOfCourse.addEventListener('click', filterCoursesByStatus())
function filterCoursesByStatus() {
setTimeout(() => {
if ($('.carousel').parent().parent().is(":visible"))
filterCourseCardsInCarousel()
else
filterCourseCardsInCatalog()
}, 100);
}
function filterCourseCardsInCatalog() {
$(".dashboard-filter-select").change(function () {
let numberOfCoursesInGrid = 0
hideNoCourseMessage()
showAllCardsInCatalog()
let statusOfFilter = this.value
$('.np-catalog-courses').children().each(function () {
let courseCard = $(this)
let courseProgress = courseCard.find('.progress-info').text()
courseCard.addClass('col-lg-4')
if (statusOfFilter === "in-progress") {
if (courseProgress !== "Started")
hideCardInCatalog(courseCard)
else
numberOfCoursesInGrid++
}
else if (statusOfFilter === "not-started") {
if (courseProgress !== "Not started")
hideCardInCatalog(courseCard)
else
numberOfCoursesInGrid++
}
else if (statusOfFilter === "completed") {
if (courseProgress !== "Completed")
hideCardInCatalog(courseCard)
else
numberOfCoursesInGrid++
}
})
if (numberOfCoursesInGrid === 1) {
$('.np-catalog-courses').children().each(function () {
$(this).removeClass('col-lg-4')
})
}
else if (numberOfCoursesInGrid === 0) {
if (statusOfFilter === "all") {
hideNoCourseMessage()
}
else {
showNoCourseMessage()
}
}
})
}
function showNoCourseMessage() {
$('.no-course-message').css('display', 'block')
}
function hideNoCourseMessage() {
$('.no-course-message').css('display', 'none')
}
function filterCourseCardsInCarousel() {
setTimeout(() => {
addCourseSlideClass();
}, 100);
$("#course-by-status-select").change(function () {
let numberOfCoursesInCarousel = 0
hideNoCourseMessage()
showAllCardsInCarousel()
let status = this.value
$('.carousel').slick('unslick')
$(".progress-info").each(function () {
let progress = $(this).text()
if (status === "in-progress") {
if (progress !== "Started")
hideCardInCarousel($(this))
else
numberOfCoursesInCarousel++
}
else if (status === "not-started") {
if (progress !== "Not started")
hideCardInCarousel($(this))
else
numberOfCoursesInCarousel++
}
else if (status === "completed") {
if (progress !== "Completed")
hideCardInCarousel($(this))
else
numberOfCoursesInCarousel++
}
})
if (numberOfCoursesInCarousel === 0) {
if (status === "all") {
hideNoCourseMessage()
initializeCarousel('.carousel', 3);
}
else {
showNoCourseMessage()
}
}
else
initializeCarousel('.carousel', 3);
});
}
function addCourseSlideClass() {
$(".slick-track").children().each(function () {
$(this).addClass("course-slide")
})
}
function hideCardInCarousel(progressInfo) {
progressInfo.parents().each(function () {
var courseCard = $(this)
if (courseCard.hasClass("course-slide")) {
courseCard.css("display", "none")
courseCard.appendTo(courseCard.parent().parent());
}
})
}
function showAllCardsInCarousel() {
$(".carousel").each(function () {
var carousel = $(this)
carousel.siblings().each(function () {
var sibling = $(this)
if (sibling.hasClass("course-slide")) {
sibling.css('display', 'block')
sibling.appendTo(carousel)
}
})
})
}
function hideCardInCatalog(courseCard) {
courseCard.css('display', 'none')
}
function showAllCardsInCatalog() {
$('.np-catalog-courses').children().each(function () {
$(this).css('display', 'block')
})
}
$(document).ready(function () {
hideNoCourseMessage()
});
</script>

View File

@ -1,112 +0,0 @@
{% assign topic_classname = topic | split: " " %}
<div class="np-progress-filter-wrapper">
{% if label %}
<div class="np-progress-filter-label">{{ label }}</div>
{% endif %}
<div class="progress-filter filter-select-wrapper select-wrapper np-button" data-topic="{{ topic_classname | join: '-' | downcase }}" style="border-radius: 8px;">
<select >
<option selected disabled hidden>{{ default_option}}</option>
<option value="a">All Courses</option>
<option value="n">Not Started</option>
<option value="i">In Progress</option>
<option value="c">Completed</option>
</select>
</div>
</div>
<style>
.np-progress-filter-label {
color: #2c4265;
padding-right: 7px;
text-transform: none;
font-weight:500;
font-size:0.812rem;
}
.np-progress-filter-wrapper {
display: flex;
justify-content: flex-end;
align-items: center;
}
.filter-select-wrapper {
position: relative;
padding:0;
border: 2px solid #2c4265;
color: #fff;
height:auto;
text-transform: none;
background: transparent;
border-radius:0;
}
.filter-select-wrapper:hover {
background:transparent;
color:#fff;
}
.select-items {
position: absolute;
background-color: #FFFFFF;
top: 105%;
left: -2px;
z-index: 99;
width: 102%;
border: 2px solid #2c4265;
border-top:none;
}
.select-items div {
color: #2c4265;
border-top:none;
cursor: pointer;
width:100%;
padding: 12px 16px;
}
.select-items div:hover { color: rgba(255, 255, 255, 1); }
.select-selected {
width: 100%;
height: 100%;
padding: 9px 66px 9px 20px;
position: relative;
color:#2c4265;
}
.select-selected::after {
content:"\f078";
font-family: "Font Awesome 5 Pro";
position: absolute;
width:20px;
height:100%;
color:#2c4265;
right:10px;
top:0;
display: flex;
justify-content: center;
align-items: center;
font-size:1rem;
}
.select-selected::before {
content:"";
position: absolute;
width:20px;
height:100%;
border-left:2px solid #2c4265;
right:20px;
top:0;
}
.select-selected.select-arrow-active::after { transform: rotate(180deg); }
.same-as-selected,
.filter-select-wrapper select,
.select-hide {
display: none;
}
.mo-filter-wrapper {
display: flex;
justify-content: center;
list-style: none;
margin: 0;
padding: 0;
}
.select-items div:hover,
.same-as-selected {
background-color: #062531;
}
</style>

View File

@ -1,10 +0,0 @@
<input
id={{value}}
name={{ name }}
value={{ value }}
type="checkbox"
{% if selected %} checked="checked" {% endif %}
/>
<label for={{value}}>
{{label}}
</label>

View File

@ -1,33 +0,0 @@
<div class="np-filter">
<div class="dropdown">
<button
class="np-button dropdown-button"
data-toggle-class="is-open"
data-toggle-escape
data-toggle-outside
data-toggle-target-next
type="button"
>
{% t shared.filters.filter %}
</button>
<div class="dropdown-menu" data-test="modal">
<form method="get">
{%
include "filter_select",
filters: filters,
key: key,
label: label
%}
<button
class="np-button dropdown-button-apply"
data-toggle-trigger-off
type="submit"
>
{% t shared.filters.apply %}
</button>
</form>
</div>
</div>
</div>

View File

@ -1,22 +0,0 @@
{% if params.q %}
<input type="hidden" name="q" value="{{ params.q }}">
{% endif %}
<label class="dropdown-label" for="filter[category_uuid][in][]">
{{ label }}
</label>
<select
class="np-filter-select"
multiple
name="filter[{{ key }}][in][]"
>
{% for filter in filters %}
<option
value="{{ filter.value }}"
{% if filter.selected? %} selected="selected" {% endif %}
>
{{ filter.name }}
</option>
{% endfor %}
</select>

View File

@ -1,236 +0,0 @@
<footer class="np-footer">
<div class="np-footer-top custom-footer-divider mobile-footer">
<div>
<span>© {{"now" | date: "%Y"}} Skuid, Inc.</span>
<span class="np-hidden-mobile inline-text" style="margin-left: 15px;">
<a class="policy-links" href="{{ current_school.terms_of_service_url }}">Terms of Use</a> | <a class="policy-links" href="https://www.skuid.com/legal/privacy-policy">Privacy Policy</a>
</span>
<span class="inline-text" style="margin-left: 15px;">
Can we help you? Contact us at <a href="mailto:training@skuid.com" class="policy-links inline-text">training@skuid.com</a>
</span>
</div>
<div>
<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 }}"></i>
</a>
</li>
{% endfor %}
</ul>
{% endif %}
</nav>
</div>
</div>
</footer>
{% include "carousels" %}
{% if current_person.signed_in? %}
<script>
$(document).ready(function () {
fixCorauselCrash('carousel')
fixCorauselCrash('lp-carousel')
})
function fixCorauselCrash(htmlClass) {
if ($('.' + htmlClass).width() < 150) {
setTimeout(function () {
$('.' + htmlClass).slick('setPosition');
}, 600);
}
}
</script>
<style>
@media (max-width: 2499px) {
.np-footer {
padding-left: 21%;
}
}
@media (min-width: 2500px) {
.np-footer {
padding-left: 16%;
}
}
</style>
{% endif %}
<style>
.policy-links {
font-family: Inter;
text-decoration: none;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
}
.np-footer {
background-color: transparent;
}
.custom-footer-divider {
border-top: 1px solid #D7D8DA;
}
@media (max-width: 768px) {
#ReadMoreButon {
margin-bottom: 10px;
}
.np-footer {
padding-left: 0;
width: 90%;
margin: 0 5%;
}
.custom-footer-divider {
font-size: 0.9rem !important;
flex-direction: column;
}
.np-footer-social-links-list {
margin-bottom: 0;
}
.mobile-footer {
display: flex;
flex-direction: row;
justify-content: space-between;
}
}
.popup-button-container {
display: flex;
justify-content: space-around;
}
.popup-button {
width: 160px;
height: 50px;
}
@media (max-width:768px) {
.popup-button {
margin-bottom: 0;
}
.popup-button-container {
flex-direction: column;
align-items: center;
}
}
.overlay {
z-index: 1000;
position: fixed;
top: 0;
bottom: -100%;
left: -2%;
right: -2%;
background: rgba(0, 0, 0, 0.7);
transition: opacity 500ms;
visibility: hidden;
opacity: 0;
}
.overlay:target {
visibility: visible;
opacity: 1;
}
.popup {
margin: 70px auto;
padding: 20px;
background: #fff;
border-radius: 5px;
width: 30%;
position: relative;
transition: all 5s ease-in-out;
}
.popup h2 {
margin-top: 0;
color: #333;
font-family: F37 Moon !important;;
}
.popup .close {
position: absolute;
top: 20px;
right: 30px;
transition: all 200ms;
font-size: 30px;
font-weight: bold;
text-decoration: none;
color: #333;
}
.popup .close:hover {
color: #06D85F;
}
.popup .content {
max-height: 30%;
overflow: auto;
font-family: F37 Moon !important;
}
@media screen and (max-width: 700px) {
.box {
width: 70%;
}
.popup {
width: 70%;
}
}
</style>
{%comment%} View More Styles/Scripts {%endcomment%}
<style>
.view-more-hidden{
display: block;
}
.view-more-button{
display: none;
}
@media (max-width: 767px){
.view-more-hidden{
display: none;
}
.view-more-button{
display: block;
width: 50%;
margin: 0 auto;
float: none;
}
}
</style>
<script>
let viewMore = () => {
let additionalCourses = document.querySelectorAll('.view-more-hidden');
let viewMoreButton = document.querySelector('.view-more-button');
viewMoreButton.style.display = 'none';
additionalCourses.forEach((courseNode) => {
courseNode.style.display = 'block';
})
}
</script>
{% if current_person.signed_in? %}
<script>
console.log('Appcues Identifying')
window.Appcues.identify(
'{{current_person.id}}',
{
accountId: '{{current_person.id}}',
firstName: '{{current_person.first_name}}',
lastName: '{{current_person.last_name}}',
email: '{{current_person.email}}',
createdAt: '{{current_person.created_at}}'
}
);
</script>
{% endif %}

View File

@ -1,25 +0,0 @@
{% styles default %}
{% styles colors %}
{% styles custom %}
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.min.js" integrity="sha384-cVKIPhGWiC2Al4u+LWgxfKTRIcfu0JTxR+EQDz/bgldoEyl4H0zUF0QKbrJ0EcQF" crossorigin="anonymous"></script>
<script
src="https://code.jquery.com/jquery-3.5.1.min.js"
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
crossorigin="anonymous"></script>
<!-- Add the slick-theme.css if you want default styling -->
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/gh/kenwheeler/slick@1.8.1/slick/slick.css"/>
<!-- Add the slick-theme.css if you want default styling -->
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/gh/kenwheeler/slick@1.8.1/slick/slick-theme.css"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.4/tiny-slider.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.2/min/tiny-slider.js"></script>
<!-- Appcues code snippet -->
<script type="text/javascript">
console.log('Apppcues Enabled')
window.AppcuesSettings = {enableURLDetection: true}
</script>
<script src="//fast.appcues.com/69414.js"></script>

View File

@ -1,574 +0,0 @@
{%- comment -%} {% assign redirect = true %}
{% if current_person.signed_in? %}
{% for group in current_person.groups %}
{% if group.id == "29ae12e6-f740-4190-a5c2-a7e12e87926f" or group.id == "aa36069f-e354-4dbe-9972-9ce70ad146d7" or group.id == "8cd6ec9c-101e-4b1a-82c7-77dac583a1f5" %}
{% assign redirect = false %}
{% break %}
{% endif %}
{% endfor %}
{% endif %}
{% if current_person.signed_in? and redirect %}
{% unless current_person.email contains '+preview-' %}
<script>
if (window.location.pathname != '/app/sign-up-follow-up' && window.location.pathname != '/terms_agreement/new'){
new_url = '/app/sign-up-follow-up'.concat('?redirect_uri=', encodeURIComponent(window.location.toString().split(window.location.hostname)[1]));
window.location.replace(new_url);
}
</script>
{% endunless %}
{% endif %} {%- endcomment -%}
<header id="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=".np-button-mobile-content, .fa-times, .np-header-mobile-menu-content, .np-main, .np-footer">
<i style="color: #005CB9;" class="far fa-bars"></i>
</button>
{% endif %}
</div>
{% if current_person.signed_in? %}
{% if current_school.logo_url %}
<div class="logo-container">
<h1 class="np-header-logo" style="flex-grow: 0.1 !important">
<a href="{% route home %}">
<img alt="{{ current_school.name }}" class="np-header-logo-image np-hidden-mobile" src="{{ current_school.logo_url }}" />
<img alt="{{ current_school.name }}" class="np-header-logo-image np-hidden-desktop" src="https://s3.amazonaws.com/static.northpass.com/Skuid/images/Skuid+Logomark_Primary+1.svg" />
</a>
</h1>
</div>
{% else %}
<a href="{% route home %}" class="np-school-name np-header-font-color">
{{ current_school.name }}
</a>
{% endif %}
{% endif %}
{% if current_person.signed_in? %}
<div class="np-hidden-mobile form-group has-search" style="margin-left: 3%;">
<form action="{% route search %}" method="get" data-test="desktop-search">
<span class="fa fa-search form-control-feedback"></span>
<input aria-label="{% t .search %}" class="form-control" type="text" name="q" placeholder="search courses" />
</form>
</div>
<div class="np-hidden-mobile np-header-desktop-nav">
<ul class="np-header-desktop-nav-list">
{% for website_navigation in navigations.header_navigations_external %}
<li class="np-header-desktop-nav-item">
<a href="{{ website_navigation.path }}" class="np-header-desktop-nav-link np-header-font-color"
target="_blank">
{{ website_navigation.name }}
</a>
</li>
{% endfor %}
</ul>
</div>
{% endif %}
{% if current_person.signed_in? %}
<div class="np-hidden-mobile np-header-avatar" style="align-items: center;">
<div class="points-badges-avatar">
{% if current_person.properties.learner_points contains "missing property" %}
<p class="points-display"> 0 Points </p>
{% else %}
<p class="points-display"> {{ current_person.properties.learner_points }} Points </p>
{% endif %}
{% if current_person.properties.learner_badges contains "missing property" %}
<p class="badges-display"> 0 Badges </p>
{% else %}
<p class="badges-display"> {{ current_person.properties.learner_badges }} Badges </p>
{% endif %}
</div>
<div class="points-badges-avatar">
<button class="np-header-avatar-button avatar-container" data-test="open-desktop-menu"
data-toggle-class-on-target="np-hidden" data-toggle-target=".np-header-avatar-tooltip" data-toggle-outside>
<i class="fal fa-angle-down" style="font-size: 20px;"></i>
<p style="margin-top: revert;"> {{current_person.display_name }} </p>
<img alt="{{ current_person.name }}" class="np-header-avatar-image avatar-image"
src="{{ current_person.avatar_url }}">
</button>
</div>
<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.display_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" href="mailto:{{ website_footer.school_customer_service_email }}">
Need help?
</a>
<a class="np-header-avatar-tooltip-navigation-link np-danger" href="{% route logout %}">
{% t .sign_out %}
</a>
</nav>
</div>
</div>
{% else %}
<div style="display: flex; align-items: center;">
<div class="logo-container">
<h1 class="np-header-logo" style="flex-grow: 0.1 !important">
<a href="{% route home %}">
<img alt="{{ current_school.name }}" class="np-header-logo-image np-hidden-mobile" src="{{ current_school.logo_url }}" />
<img alt="{{ current_school.name }}" class="np-header-logo-image np-hidden-desktop" src="https://s3.amazonaws.com/static.northpass.com/Skuid/images/Skuid+Logomark_Primary+1.svg" />
</a>
</h1>
</div>
<div class="np-hidden-mobile form-group has-search" style="margin-left: 3%;">
<form action="{% route search %}" method="get" data-test="desktop-search">
<span class="fa fa-search form-control-feedback"></span>
<input aria-label="{% t .search %}" class="form-control" type="text" name="q" />
</form>
</div>
</div>
<div style="display: flex; align-items: center;">
<a class="np-header-sign-in np-header-desktop-nav-link np-header-font-color" style="font-size: 16px;" aria-label="{% t shared.sign_in %}"
href="{% route login %}">
Login
</a>
<a class="np-header-sign-in np-header-desktop-nav-link np-header-font-color np-button" style="margin-left: 18%; color: white; border-radius: 32px; font-size: 16px;" aria-label="{% t shared.sign_up %}"
href="{% route sign_up %}">
Register
</a>
</div>
{% endif %}
</div>
</header>
<div class="np-hidden-desktop">
<div class="np-header-mobile-menu-content np-hidden">
<div class="mobile-header-dropdown">
{% if current_school.logo_url %}
<div>
<h1 class="np-header-logo" style="flex-grow: 0.1 !important">
<a href="{% route home %}">
<img alt="{{ current_school.name }}" class="np-header-logo-image" src="https://s3.amazonaws.com/static.northpass.com/Skuid/images/Skuid+Logomark_Primary+1.svg" />
</a>
</h1>
</div>
{% endif%}
<div>
<button class="np-hidden np-button-mobile-content" id='closing-button' data-test="close-mobile-menu" data-toggle-class="np-hidden" data-toggle-target=".np-header-mobile-avatar-menu, .fa-times, .np-header-mobile-menu-content, .np-main, .np-footer">
<input type="image" src="https://s3.amazonaws.com/static.northpass.com/Skuid/images/OpenNavIcon.svg" />
</button>
</div>
</div>
{% if current_person.signed_in? %}
<div class="user-container-mobile">
<a href="{% route account %}" class="np-header-mobile-menu-content-button mobile-header-link" style="border-bottom: none;">
<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>
</a>
</div>
{% endif %}
<div class="np-header-mobile-menu-content-nav">
<form class="np-header-search" data-test="mobile-search" method="get" action="{% route search %}">
<i class="np-header-search-icon far fa-search"></i>
<input aria-label="{% t .search %}" class="np-header-search-input" type="text" name="q"
placeholder="{% t .search %}" />
</form>
{% for link in navigations.sub_navigation %}
{% if link.label == "Events" or link.label == "Dashboard" %}
{% elsif link.label == "Catalog" %}
<a href="{{ link.url }}" class="np-header-mobile-menu-content-button mobile-header-link">
<i class="{{ link.icon }} np-button-color np-sub-navigation-content-item-icon custom-navigation-content-item-icon"></i>
Courses
</a>
{% elsif link.label == "Home" %}
<a href="{{ link.url }}" class="np-header-mobile-menu-content-button mobile-header-link">
<i class="{{ link.icon }} np-button-color np-sub-navigation-content-item-icon custom-navigation-content-item-icon"></i>
Home
</a>
{% else %}
<a href="{{ link.url }}" class="np-header-mobile-menu-content-button mobile-header-link">
<i class="{{ link.icon }} np-button-color np-sub-navigation-content-item-icon custom-navigation-content-item-icon"></i>
{{ link.label }}
</a>
{% endif %}
{% endfor %}
{%comment%}
<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>
{%endcomment%}
</div>
</div>
</div>
{% include "messages" %}
{% if current_person.signed_in? %}
<style>
@media (min-width: 769px) and (max-width: 1024px) {
body {
transform: scaleX(0.962014);
background: linear-gradient(90deg, #ebf5ff 230px, #fff 230px);
}
}
@media (min-width: 1025px) and (max-width: 2500px) {
body {
transform: scaleX(0.962014);
background: linear-gradient(90deg, #ebf5ff 293px, #fff 293px);
}
}
@media (min-width: 2501px) {
body {
transform: scaleX(0.962014);
background: linear-gradient(90deg, #ebf5ff 350px, #fff 350px);
}
}
.np-main {
padding-left: 0;
}
@media (max-width: 768px) {
body {
background: #fff;
transform: none;
}
.np-header-content {
flex-direction: row-reverse;
}
.np-header-mobile-menu-nav {
position: relative !important;
}
}
@media (min-width: 769px) and (max-width: 1440px) {
.np-main {
margin-left: 9% !important;
}
}
@media (min-width: 1440px) and (max-width: 2500px) {
.np-main {
margin-left: 8% !important;
}
}
@media (min-width: 769px) and (max-width: 1900px) {
.np-card.np-no-horizontal-padding {
padding-left: 25px;
padding-right: 25px;
}
.np-learning-paths-main > .np-resource-title,
.np-learning-paths-main > .np-resource-subtitle,
.np-catalog-header {
padding-left: 25px;
}
}
@media (max-width: 1024px) {
.np-footer {
padding-left: 24%;
}
}
</style>
{% endif %}
{% unless current_person.signed_in? %}
<style>
@media screen and (min-width: 769px) {
.np-header {
background: transparent;
padding-left: 3%;
padding-right: 3%;
height: 85px;
}
.np-card.np-no-horizontal-padding {
padding-left: 2rem;
padding-right: 2rem;
}
.np-header-content {
justify-content: space-between;
}
.logo-container {
padding: 0px 50px 0px 5px;
}
.form-control {
border: 1px solid #005CB9 !important;
}
.np-homepage-hero-image {
max-height: fit-content;
}
.np-header-logo {
margin: 0;
}
}
@media (max-width: 768px) {
.np-header-content {
flex-direction: row;
}
.np-header-mobile-menu-nav {
display: none !important;
}
.np-header-sign-in {
position: relative;
}
}
</style>
{% endunless %}
<style>
@media (min-width: 769px) and (max-width: 1024px) {
.np-header-logo-image {
height: 40px;
}
}
@media (max-width: 768px) {
.np-header-search-input:focus {
color: black;
}
#closing-button {
border: none;
background: transparent;
}
.np-header-mobile-menu-content-nav {
padding: 0 1.25rem;
}
.mobile-header-link {
display: flex;
justify-content: space-between;
padding-top: 15px;
padding-bottom: 25px;
margin-top: 1rem;
border-bottom: 1.08108px solid #BFD6ED;
padding-left: 6px;
padding-right: 10px;
background: transparent;
box-shadow: none;
color: black;
font-family: "F37 Moon";
font-style: normal;
font-weight: normal;
font-size: 19.4595px;
}
.np-header {
background-color: #EBF5FF;
}
.np-header-content {
justify-content: space-between;
}
.np-header-mobile-menu-content {
background-color: #EBF5FF;
padding-top: 30px;
}
.np-header-mobile-menu-content-avatar {
height: 50px;
width: 50px;
margin-top: 0;
}
.np-header-mobile-menu-content-name {
font-family: "F37 Moon";
font-style: normal;
font-weight: normal;
font-size: 19.4595px;
color: black;
}
.np-header-search-input {
font-family: "F37 Moon";
font-style: normal;
font-weight: normal;
font-size: 19.4595px;
color: black;
border: none;
padding: 0 0 0 50px;
background-color: #EBF5FF;
}
.np-header-search-input::placeholder {
color: black;
font-family: "F37 Moon";
font-style: normal;
font-weight: normal;
font-size: 19.4595px;
}
@media (max-width:425px) {
.np-header-mobile-menu-content {
background-color: #EBF5FF;
padding-top: 30px;
}
.mobile-header-dropdown {
display: flex;
align-items: center;
width: 88%;
justify-content: space-between;
}
.user-container-mobile {
display: flex;
align-items: center;
width: 88%;
justify-content: space-between;
padding-top: 15px;
padding-bottom: 10px;
border-bottom: 1.08108px solid #BFD6ED;
}
.np-header-search {
background-color: #EBF5FF;
padding-top: 10px;
padding-bottom: 10px;
border-bottom: 1.08108px solid #BFD6ED;
}
.np-header-search-icon {
color: black;
left: 2%;
top: 2rem;
}
}
@media (min-width: 426px) and (max-width: 768px) {
.np-header-search-input {
float: none;
width: 100%;
opacity: unset;
}
.np-header-search-input:focus {
padding: 0;
margin-left: 50px;
width: 92%;
}
.np-header-search-input:focus {
padding: 0;
margin-left: 50px;
width: 92%;
}
.np-header-mobile-menu-content {
background-color: #EBF5FF;
padding-top: 0;
margin-top: -55px;
}
.mobile-header-dropdown {
display: flex;
align-items: center;
width: 95%;
justify-content: space-between;
}
.user-container-mobile {
display: flex;
align-items: center;
width: 95%;
justify-content: space-between;
padding-top: 15px;
padding-bottom: 10px;
border-bottom: 1.08108px solid #BFD6ED;
}
.np-header-search {
background-color: #EBF5FF;
padding-top: 15px;
padding-bottom: 10px;
border-bottom: 1.08108px solid #BFD6ED;
}
.np-header-search-icon {
color: black;
left: 1%;
top: 2rem;
}
.np-header-search-input::placeholder {
padding-left: 90%;
}
}
@media (max-width: 320px) {
.np-header-search-input::placeholder {
padding-left: 72%;
}
.np-header-mobile-menu-content {
padding-top: 0;
margin-top: -55px;
}
}
@media (min-width: 321px) and (max-width: 375px) {
.np-header-search-input::placeholder {
padding-left: 75%;
}
.np-header-mobile-menu-content {
padding-top: 0;
margin-top: -55px;
}
}
@media (min-width: 376px) and (max-width: 425px) {
.np-header-search-input::placeholder {
padding-left: 78%;
}
.np-header-mobile-menu-content {
padding-top: 0;
margin-top: -55px;
}
}
}
</style>

View File

@ -1,17 +0,0 @@
<header class="np-box-header">
<a class="np-box-header-link" href="{% route home %}">
{% if current_school.logo_url %}
<img
alt="{{ current_school.name }}"
src="{{ current_school.logo_url }}"
class="np-box-header-logo"
/>
{% else %}
<span class="np-school-name np-header-font-color">
{{ current_school.name }}
</span>
{% endif %}
</a>
</header>
{% include "messages" %}

View File

@ -1,5 +0,0 @@
{% if learning_path.new_content_available? %}
{% include "learning_path_new_content_banner" %}
{% else %}
{% include "learning_path_completed_banner" %}
{% endif %}

View File

@ -1,17 +0,0 @@
{% if learning_path.has_certificate? %}
{% if learning_path.certificate_completed? %}
<div class="np-learning-path-outline-bar np-hidden-mobile"></div>
<a
class="np-learning-path-certificate-link"
href="{{ learning_path.certificate_link }}"
>
<div class="np-learning-path-certificate">
{% include "learning_path_certificate_content" %}
</div>
</a>
{% else %}
<div class="np-learning-path-certificate np-learning-path-certificate--inactive">
{% include "learning_path_certificate_content" %}
</div>
{% endif %}
{% endif %}

View File

@ -1,19 +0,0 @@
<div class="np-learning-path-certificate-content">
<div class="np-learning-path-certificate-avatar" role="img">
<i class="np-learning-path-certificate-avatar-icon fal fa-award"></i>
<h5 class="np-learning-path-certificate-avatar-title">
{% t .avatar_title %}
</h5>
</div>
<h4 class="np-learning-path-certificate-name">
{{ learning_path.certificate_name }}
</h4>
{% if learning_path.certificate_completed? %}
<time
class="np-learning-path-certificate-issue-date"
datetime="{{ learning_path.certificate_issue_date }}"
>
{{ learning_path.certificate_issue_date | date: "%B %d, %Y" }}
</time>
{% endif %}
</div>

View File

@ -1,13 +0,0 @@
<div class="np-learning-path-completed-banner np-learning-path-banner">
<img class="np-learning-path-banner-image" src="https://s3.amazonaws.com/static.northpass.com/images/stars-completed.svg"/>
<div class="np-learning-path-banner-content">
<h3 class="np-learning-path-banner-headline">{% t .headline %}</h3>
<p class="np-learning-path-banner-description">{% t .description %}</p>
<div class="np-learning-path-banner-actions">
{% if learning_path.certificate_link %}
<a href="{{ learning_path.certificate_link }}" class="np-learning-path-banner-action np-learning-path-banner-action--primary">{% t .actions.certificate %}</a>
{% endif %}
<a href="{% route courses %}" class="np-learning-path-banner-action np-learning-path-banner-action--secondary">{% t .actions.more_courses %}</a>
</div>
</div>
</div>

View File

@ -1,56 +0,0 @@
{% if learning_path.enrolled? and course.unlocked? %}
<div class="np-learning-path-outline-bar np-hidden-mobile"></div>
<a
class="np-learning-path-outline-item np-card-container"
href="{% route learning_path_course, learning_path_id: learning_path.id, id: course.id %}"
>
<div class="np-card-content np-card-padding">
<img
src="{{ item.image }}"
alt="{{ course.name }}"
class="np-learning-path-outline-course-image"
>
<div class="np-learning-path-outline-content">
<div class="np-learning-path-outline-name np-top-title">
{{ course.name }}
</div>
{% if course.instructors %}
<div class="np-learning-path-outline-caption">
{{ course.instructors }}
</div>
{% endif %}
<div class="np-learning-path-outline-progress
{% if course.completed? %} np-color-success {% else %} np-button-color {% endif %}
">
{% t shared.progress, count: course.progress %}
</div>
</div>
<i class="fas fa-chevron-right np-learning-path-outline-icon"></i>
{% if course.optional? %}
<div class="np-optional-ribbon">
{% t shared.optional %}
</div>
{% endif %}
</div>
</a>
{% else %}
<div class="np-learning-path-outline-item np-learning-path-outline-inactive-item np-card-container">
<div class="np-card-content np-card-padding">
<img
src="{{ item.image }}"
alt="{{ course.name }}"
class="np-learning-path-outline-course-image"
>
<div class="np-learning-path-outline-content">
<div class="np-learning-path-outline-name np-top-title">
{{ course.name }}
</div>
</div>
{% if course.optional? %}
<div class="np-optional-ribbon">
{% t shared.optional %}
</div>
{% endif %}
</div>
</div>
{% endif %}

View File

@ -1,6 +0,0 @@
<h3 class="np-card-heading">
{% t .about %}
</h3>
<div class="np-card-text">
{{ learning_path.description }}
</div>

View File

@ -1,21 +0,0 @@
<div class="row">
<div class="col-xs-12 col-sm-6">
<div class="np-card-container">
<img
src="{{ learning_path.image_url }}"
class="np-top-image"
alt="{{ learning_path.name }}"
/>
<div class="np-card-padding-dynamic">
{% include "learning_path_description" %}
{% include "learning_path_instructors" %}
</div>
</div>
</div>
<div class="col-xs-12 col-sm-6 np-grid-spacing">
<div class="np-top-cta">
{% include "learning_path_progress_and_cta" %}
</div>
{% include "learning_path_outline" %}
</div>
</div>

View File

@ -1,12 +0,0 @@
<div class="np-resource-header np-resource-header-card np-card-padding-large">
<div class="np-top-vocabulary np-text-title">
{% t shared.learning_path.title %}
<i class="far fa-road np-button-color np-learning-path-icon"></i>
</div>
<div class="np-top-title">
<a href="{% route home %}" class="np-back-button" aria-label="{% t shared.go_back %}">
<i class="far fa-arrow-left np-icon-back"></i>
</a>
{{ learning_path.name }}
</div>
</div>

View File

@ -1,2 +0,0 @@
{% include "learning_path_desktop_header" %}
{% include "learning_path_desktop_content" %}

View File

@ -1,26 +0,0 @@
{% if learning_path.instructors.any? %}
<div class="np-card-content-divider">
<h3 class="np-card-heading">
{% t shared.instructors %}
</h3>
<div class="np-content-instructors-content row">
{% for instructor in learning_path.instructors %}
<div class="np-content-instructors-content-item col-xs-12 col-lg">
<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>
<div class="np-content-instructors-content-info np-text-light">
{{ instructor.title }}
</div>
</div>
</div>
{% endfor %}
</div>
</div>
{% endif %}

View File

@ -1,19 +0,0 @@
{% if learning_path.in_progress? %}
{% include "learning_path_outline" %}
<div class="np-card-container np-card-padding np-card-spacing">
{% include "learning_path_description" %}
</div>
{% else %}
<div class="np-card-container np-card-padding np-card-spacing">
{% include "learning_path_description" %}
</div>
<div class="np-card-spacing">
{% include "learning_path_outline" %}
</div>
{% endif %}
{% if learning_path.instructors.any? %}
<div class="np-card-container np-card-padding np-card-spacing">
{% include "learning_path_instructors" %}
</div>
{% endif %}

View File

@ -1,17 +0,0 @@
<div class="np-resource-header np-card-padding-vertical">
<div class="np-top-vocabulary np-text-title">
{% t shared.learning_path.title %}
<i class="far fa-road np-button-color np-learning-path-icon"></i>
</div>
<div class="np-top-title">
{{ learning_path.name }}
</div>
<img
src="{{ learning_path.image_url }}"
class="np-top-image"
alt="{{ learning_path.name }}"
/>
<div class="np-top-cta">
{% include "learning_path_progress_and_cta" %}
</div>
</div>

View File

@ -1,2 +0,0 @@
{% include "learning_path_mobile_header" %}
{% include "learning_path_mobile_content" %}

View File

@ -1,12 +0,0 @@
<div class="np-learning-path-new-content-banner np-learning-path-banner">
<div class="np-learning-path-banner-content">
<h3 class="np-learning-path-banner-headline">{% t .headline %}</h3>
<p class="np-learning-path-banner-description">{% t .description %}</p>
<div class="np-learning-path-banner-actions">
{% learning_path_next_step_button learning_path, class: "np-learning-path-banner-action np-learning-path-banner-action--primary" %}
{% if learning_path.certificate_link %}
<a href="{{ learning_path.certificate_link }}" class="np-learning-path-banner-action np-learning-path-banner-action--secondary">{% t .actions.view_certificate %}</a>
{% endif %}
</div>
</div>
</div>

View File

@ -1,10 +0,0 @@
<div class="np-learning-path-outline">
{% 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 %}
{% include "learning_path_certificate" %}
</div>

View File

@ -1,22 +0,0 @@
{% include "learning_path_desktop_header", learning_path: product %}
<div class="row">
<div class="col-xs-12 col-sm-6">
<div class="np-card-container">
<img
src="{{ product.image_url }}"
class="np-top-image"
alt="{{ product.name }}"
/>
<div class="np-card-padding-dynamic">
{% include "learning_path_description", learning_path: product %}
{% include "learning_path_instructors", learning_path: product %}
</div>
</div>
</div>
<div class="col-xs-12 col-sm-6 np-grid-spacing">
<div class="np-top-cta np-card-container np-card-padding np-product-cta">
{% include "product_price_and_cta"%}
</div>
{% include "learning_path_product_outline" %}
</div>
</div>

View File

@ -1,34 +0,0 @@
<div class="np-card-container np-card-padding-large">
<div class="np-top-vocabulary np-text-title np-text-muted">
{% t shared.learning_path.title %}
<i class="far fa-road np-button-color np-learning-path-icon np-hidden-mobile"></i>
</div>
<div class="np-top-title">
<a href="{% route home %}" class="np-back-button" aria-label="{% t shared.go_back %}">
<i class="far fa-arrow-left np-hidden-mobile np-icon-back"></i>
</a>
{{ product.name }}
</div>
<img
src="{{ product.image_url }}"
class="np-top-image"
alt="{{ product.name }}"
/>
<div class="np-top-cta">
{% include "product_price_and_cta" %}
</div>
</div>
<div class="np-card-container np-card-padding np-card-spacing">
{% include "learning_path_description", learning_path: product %}
</div>
<div class="np-card-spacing">
{% include "learning_path_product_outline" %}
</div>
{% if product.instructors.any? %}
<div class="np-card-container np-card-padding np-card-spacing">
{% include "learning_path_instructors", learning_path: product %}
</div>
{% endif %}

View File

@ -1,10 +0,0 @@
<div class="np-learning-path-outline">
<h3 class="np-product-outline-title">{% t .title %}</h3>
{% for item in product.learning_path_items %}
{% if item.course? %}
{% include "product_outline_course", id: forloop.index %}
{% elsif item.training_event? %}
{% include "product_outline_event", id: forloop.index %}
{% endif %}
{% endfor %}
</div>

View File

@ -1,67 +0,0 @@
{% comment %}This section of code will iterate over all courses in a learning path and average out the completion per course compared to the total of the LP {% endcomment %}
{% assign total_progress = 0 %}
{% assign completed_progress = 0 %}
{% for item in learning_path.items %}
{% if item.course? %}
{% assign total_progress = total_progress | plus: 100 %}
{% unless item.progress == 0 %}
{% assign completed_progress = completed_progress | plus: item.progress %}
{% endunless %}
{% endif %}
{% endfor %}
{% assign total_progress = total_progress | times: 0.01 %}
{% assign calculated_progress = completed_progress | divided_by: total_progress %}
{% if learning_path.enrolled? %}
<div class="np-top-cta-progress-content">
<div class="np-top-cta-progress-title np-text-title">
{% t .progress %}
</div>
<div class="np-progress-bar-container">
<div
style="width: {{ calculated_progress }}%"
class="np-button-background-color np-card-progress-bar">
</div>
</div>
<div class="np-top-cta-progress-text
{% if learning_path.completed? %} np-color-success {% else %} np-button-color {% endif %}
">
{% if calculated_progress == 0 %}
{% t shared.progress, count: learning_path.progress %}
{% else %}
{{calculated_progress | ceil }}% Completed
{% endif %}
</div>
</div>
{% endif %}
{% learning_path_next_step_button learning_path, class: "np-top-button np-button-font-color np-button np-button-big" %}
{% comment %}
<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 %}
{% t shared.enroll %}
{% elsif calculated_progress == 0 %}
{% t shared.learning_path.start %}
{% elsif calculated_progress == 100 %}
{% t shared.learning_path.view %}
{% else %}
{% t shared.continue %}
{% endif %}
</a>
{% endcomment %}

View File

@ -1,3 +0,0 @@
{% include "learning_path_desktop_header" %}
{% include "learning_path_banners" %}
{% include "learning_path_desktop_content" %}

View File

@ -1,5 +0,0 @@
<div class="np-card-padding">
{% include "learning_path_banners" %}
</div>
{% include "learning_path_mobile_header" %}
{% include "learning_path_mobile_content" %}

View File

@ -1,53 +0,0 @@
{% if learning_path.enrolled? and training_session.unlocked? %}
<div class="np-learning-path-outline-bar np-hidden-mobile"></div>
<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"></i>
{% if training_session.optional? %}
<div class="np-optional-ribbon">
{% t shared.optional %}
</div>
{% endif %}
</div>
</a>
{% else %}
<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>
{% endif %}

View File

@ -1,11 +0,0 @@
<div class="np-hidden-mobile">
<div class="row">
<div class="lp-carousel">
{% for learning_path in learning_paths.available %}
<div>
{% include "cards_learning_path" with learning_path %}
</div>
{% endfor %}
</div>
</div>
</div>

View File

@ -1,27 +0,0 @@
<div class="np-learning-paths-resources">
{% if items.any? %}
{% assign view_more_counter = 0 %}
{% for learning_path in items %}
{% if view_more_counter < 1%}
{% assign view_more_counter = view_more_counter | plus: 1%}
<div class="np-card np-no-horizontal-padding">
{% include "cards_learning_path" with learning_path %}
</div>
{% else %}
<div class="np-card np-no-horizontal-padding view-more-hidden">
{% include "cards_learning_path" with learning_path %}
</div>
{% endif %}
{% endfor %}
{% if view_more_counter >= 1%}
<button class="np-top-button np-button-font-color np-button np-button-big view-more-button" onclick="viewMore()">View More</button>
{% endif %}
{% else %}
<div class="np-learning-paths-resources-container">
<div class="np-zero-state-text">
{% t .empty %}
</div>
<img class="np-zero-state-learning-paths" alt="{% t .empty %}" />
</div>
{% endif %}
</div>

View File

@ -1,16 +0,0 @@
<div class="np-learning-paths-resources lp-carousel">
{% if items.any? %}
{% for learning_path in items %}
<div>
{% include "cards_learning_path" with learning_path %}
</div>
{% endfor %}
{% else %}
<div class="np-learning-paths-resources-container">
<div class="np-zero-state-text">
{% t .empty %}
</div>
<img class="np-zero-state-learning-paths" alt="{% t .empty %}" />
</div>
{% endif %}
</div>

View File

@ -1,19 +0,0 @@
{% if messages.alert.size > 0 %}
<div class="np-alert np-alert-error">
<div class="np-alert-wrapper">
{% for message in messages.alert %}
<div>{{ message }}</div>
{% endfor %}
</div>
</div>
{% endif %}
{% if messages.notice.size > 0 %}
<div class="np-alert np-alert-success">
<div class="np-alert-wrapper">
{% for message in messages.notice %}
<div>{{ message }}</div>
{% endfor %}
</div>
</div>
{% endif %}

View File

@ -1,148 +0,0 @@
<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">
{% for website_navigation in navigations.header_navigations_external %}
<li class= "np-header-desktop-nav-item">
<a
href="{{ website_navigation.path }}"
class="np-header-desktop-nav-link np-header-font-color"
target="_blank"
>
{{ website_navigation.name }}
</a>
</li>
{% 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"></i>
</form>
</div>
<div>
<a class='help-guide-link' href="https://help.scenariocloud.com/ENTERPRISE/" target="_blank">Help Guide</a>
</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">
<a class="np-header-avatar-tooltip-navigation-link" onclick="buildURL(window.location.pathname)" style="cursor:pointer">
Default
</a>
{% unless current_school.sso_active? %}
<a
class="np-header-avatar-tooltip-navigation-link"
href="{% route account %}"
>
Profile Settings
</a>
{% endunless %}
<a
class="np-header-avatar-tooltip-navigation-link np-danger"
href="{% route logout %}"
>
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>
<style>
.np-header{
background: #fafafa;
border: none;
height: 3.5rem;
margin-top: 4rem;
position: fixed;
}
.help-guide-link {
color: #2c4265;
font-size: 18px;
font-weight: 500;
margin: 0 15px;
text-decoration: none;
}
.help-guide-link:hover{
color: rgb(4, 173, 240);
}
</style>

View File

@ -1,39 +0,0 @@
<script src="https://fast.wistia.net/embed/iframe/0m6tky9ic0?videoFoam=true" async></script>
<script src="https://fast.wistia.com/assets/external/E-v1.js" async></script>
<div class="overview-video">
<div
class="thumbnail video wistia_embed wistia_async_0m6tky9ic0 popover=true popoverAnimateThumbnail=true popoverContent=link videoFoam=true"
style="background-image:url(/wp-content/themes/altair/dist/img/ford_winner_2015.png)">
<p style="padding-top:4px;"> Not sure where to start? Watch this quick training overview video.
<a class="overview-video-link" href="javascript:void(0)">
<span class="caption">
Watch
<i class="fas fa-caret-right"></i>
</span>
</a>
</p>
</div>
</div>
<style>
.overview-video-link {
text-decoration: none;
}
.overview-video-link:hover {
text-decoration: none;
}
.overview-video {
text-align: center;
font-family: F37 Moon !important;
font-style: normal;
font-weight: normal;
padding-top: 5px;
border-radius: 5px;
margin: 15px;
margin-top: 40px;
margin-bottom: 40px;
}
</style>

View File

@ -1,7 +0,0 @@
{% if date %}
{% capture date_format %}{% t date.formats.short_humanized %}{% endcapture %}
{% capture formatted_date %}{{ date | date: date_format }}{% endcapture %}
<time class="np-product-expiration-date" datetime="{{ date }}">
{% t .label, date: formatted_date %}
</time>
{% endif %}

View File

@ -1,25 +0,0 @@
<div class="np-course-outline">
<div class="np-text-title np-course-outline-title">
{% t .header.course %}
</div>
<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="far fa-circle np-course-outline-content-activity-icon"></i>
{% include "course_activity_locked" %}
<div class="np-course-outline-content-activity-list-bar"></div>
</li>
{% endfor %}
</ol>
</li>
{% endfor %}
</ol>
</div>
</div>

View File

@ -1,82 +0,0 @@
<div class="np-card-container np-card-padding np-product-outline-container">
<div class="np-product-outline-base-container">
<img
src="{{ item.image }}"
alt="{{ item.name }}"
class="np-product-outline-course-image"
>
<div class="np-product-outline-content">
<div class="np-product-outline-name np-top-title">
{{ item.name }}
</div>
<p class="np-product-outline-caption">
{% if item.instructors.any? %}
{{ item.instructor_names }}
{% endif %}
</p>
<div class="np-product-outline-base-bottom">
<div class="np-product-badge np-product-badge-catalog np-product-badge-outline">
<i class="far fa-graduation-cap np-product-badge-icon np-product-badge-catalog-icon"></i>
<h3 class="np-product-badge-name np-product-badge-catalog-name">{% t shared.product_types.course %}</h3>
</div>
<button
class="np-button np-product-outline-details-button"
data-toggle-class-on-target="np-hidden"
data-toggle-target=".np-expand-{{ id }}"
data-toggle-outside
>
<span class="np-expand-{{ id }}">{% t shared.buttons.expand %}<i class="far fa-chevron-down np-expand-{{ id }}"></i></span>
<span class="np-expand-{{ id }} np-hidden">{% t shared.buttons.collapse %} <i class="far fa-chevron-up np-hidden np-expand-{{ id }}"></i></span>
</button>
</div>
</div>
</div>
<div class="np-expand-{{ id }} np-hidden">
<div class="np-card-content-divider np-product-outline-spacer">
<h3 class="np-product-outline-section-headline">{% t .about %}</h3>
<p class="np-product-outline-section-content">{{ item.full_description }}</p>
</div>
{% if item.categories.any? %}
<div class="np-card-content-divider np-product-outline-spacer">
<h3 class="np-product-outline-section-headline">
{% t .categories %}
</h3>
<div class="np-flex">
{% for category in item.categories %}
<div class="np-content-categories-content-item">
{{ category.name }}
</div>
{% endfor %}
</div>
</div>
{% endif %}
{% if item.instructors.any? %}
<div class="np-card-content-divider np-product-outline-spacer">
<h3 class="np-product-outline-section-headline">
{% t shared.instructors %}
</h3>
<div class="np-content-instructors-content row">
{% for instructor in item.instructors %}
<div class="np-content-instructors-content-item col-xs-12 col-lg">
<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>
<div class="np-content-instructors-content-info np-text-light">
{{ instructor.title }}
</div>
</div>
</div>
{% endfor %}
</div>
</div>
{% endif %}
</div>
</div>

View File

@ -1,49 +0,0 @@
<div class="np-card-container np-card-padding np-product-outline-container">
<div class="np-product-outline-content">
{% if item.available? %}
{% if item.location %}
<span class="np-product-location">{{ item.location }} |</span>
{% endif %}
<span class="np-product-date">{{ item.time }} {{ item.time_zone }}, {{ item.date }}</span>
<a class="np-product-outline-name np-top-title" href="{{ item.preview_path }}">{{ item.name }}</a>
{% else %}
<span class="np-product-outline-name np-top-title">{{ item.name }}</span>
{% endif %}
<div class="np-learning-path-outline-caption">{{ item.caption }}</div>
<div class="np-product-outline-base-bottom np-product-ilt-bottom">
<div class="np-product-badge np-product-badge-catalog np-product-badge-outline">
<i class="far {{ item.icon }} np-product-badge-icon np-product-badge-catalog-icon"></i>
<h3 class="np-product-badge-name np-product-badge-catalog-name">{{ item.formatted_type }}</h3>
</div>
<button
class="np-button np-product-outline-details-button"
data-toggle-class-on-target="np-hidden"
data-toggle-target=".np-expand-{{ id }}"
data-toggle-outside
>
<span class="np-expand-{{ id }}">{% t shared.buttons.expand %}<i class="far fa-chevron-down np-expand-{{ id }}"></i></span>
<span class="np-expand-{{ id }} np-hidden">{% t shared.buttons.collapse %} <i class="far fa-chevron-up np-hidden np-expand-{{ id }}"></i></span>
</button>
</div>
<div class="np-expand-{{ id }} np-hidden">
<div class="np-card-content-divider np-product-outline-spacer">
<h3 class="np-product-outline-section-headline">{% t .about %}</h3>
<p class="np-product-outline-section-content">{{ item.description }}</p>
</div>
{% if item.instructors %}
<div class="np-card-content-divider np-product-outline-spacer">
<h3 class="np-product-outline-section-headline">
{% t shared.instructors %}
</h3>
<div class="np-content-instructors-content row">
<div class="np-content-instructors-content-item col-xs-12 col-lg">
<div class="np-content-instructors-content-name">
{{ item.instructors }}
</div>
</div>
</div>
</div>
{% endif %}
</div>
</div>
</div>

View File

@ -1,65 +0,0 @@
<div class="np-card-container np-card-padding np-product-outline-container">
<div class="np-product-outline-base-container">
<img
src="{{ item.image_url }}"
alt="{{ item.name }}"
class="np-product-outline-course-image"
>
<div class="np-product-outline-content">
<div class="np-product-outline-name np-top-title">
{{ item.name }}
</div>
<p class="np-product-outline-caption">
{% if item.instructor_names %}
{{ item.instructor_names }}
{% endif %}
</p>
<div class="np-product-outline-base-bottom">
<div class="np-product-badge np-product-badge-catalog np-product-badge-outline">
<i class="far fa-road np-product-badge-icon np-product-badge-catalog-icon"></i>
<h3 class="np-product-badge-name np-product-badge-catalog-name">{% t shared.product_types.learning_path %}</h3>
</div>
<button
class="np-button np-product-outline-details-button"
data-toggle-class-on-target="np-hidden"
data-toggle-target=".np-expand-{{ id }}"
data-toggle-outside
>
<span class="np-expand-{{ id }}">{% t shared.buttons.expand %}<i class="far fa-chevron-down np-expand-{{ id }}"></i></span>
<span class="np-expand-{{ id }} np-hidden">{% t shared.buttons.collapse %} <i class="far fa-chevron-up np-hidden np-expand-{{ id }}"></i></span>
</button>
</div>
</div>
</div>
<div class="np-expand-{{ id }} np-hidden">
<div class="np-card-content-divider np-product-outline-spacer">
<h3 class="np-product-outline-section-headline">{% t .about %}</h3>
{{ item.description }}
</div>
<h3 class="np-product-outline-section-headline">{% t .content %}</h3>
{% for learning_path_item in item.learning_path_items %}
<div class="np-product-outline-lp-product-container">
<div class="np-product-outline-lp-product-info">
{% if learning_path_item.course? %}
<h3 class="np-product-outline-name np-top-title">{{learning_path_item.name}}</h3>
<p class="np-product-outline-caption">{{learning_path_item.instructor_names}}</p>
{% elsif learning_path_item.training_event? %}
{% if learning_path_item.available? %}
<a class="np-product-outline-name np-top-title" href="{{ learning_path_item.preview_path }}">{{learning_path_item.name}}</a>
<span class="np-product-date">{{ learning_path_item.time }} {{ learning_path_item.time_zone }}, {{ learning_path_item.date }}</span>
{% else %}
<span class="np-product-outline-name np-top-title">{{learning_path_item.name}}</span>
<span class="np-product-date">{{ learning_path_item.caption }}</span>
{% endif %}
{% endif %}
</div>
<div class="np-product-badge np-product-badge-catalog">
<i class="far {{ learning_path_item.icon }} np-product-badge-icon np-product-badge-catalog-icon"></i>
<h3 class="np-product-badge-name np-product-badge-catalog-name">{{ learning_path_item.formatted_type }}</h3>
</div>
</div>
{% endfor %}
</div>
</div>

View File

@ -1,12 +0,0 @@
<div class="np-top-cta-price-content">
<div>
<span class="np-catalog-card-price np-commerce-outline-description-price">{{ product.formatted_price }}</span>
<span class="np-commerce-outline-description-access">
{{ product.formatted_access_period}}
</span>
</div>
</div>
<div class="np-top-cta-container">
{% commerce_add_to_cart product %}
{% commerce_buy_more_access product %}
</div>

View File

@ -1,37 +0,0 @@
<div class="np-card-content np-card-content-vertical np-card-padding align-center">
<h3 class="np-card-content-title">
{{name}}
</h3>
<svg
class="progress-ring"
width="120"
height="120">
<circle
class="progress-ring__circle circle-{{name}}"
stroke="#2e1e6b"
stroke-width="4"
fill="transparent"
r="52"
cx="60"
cy="60"/>
<text x="50%" y="50%" text-anchor="middle" stroke="#2e1e6b" stroke-width="2px" dy=".3em">{{count}}</text>
</svg>
</div>
<script>
$(document).ready(function(){
var circle = document.getElementsByClassName("circle-{{name}}")[0];
var radius = circle.r.baseVal.value;
var circumference = radius * 2 * Math.PI;
circle.style.strokeDasharray = `${circumference} ${circumference}`;
circle.style.strokeDashoffset = `${circumference}`;
function setProgress(percent) {
const offset = circumference - percent * circumference;
console.log(offset)
circle.style.strokeDashoffset = offset;
}
setProgress('{{ count | divided_by: total }}')
})
</script>

View File

@ -1,52 +0,0 @@
{% if courses.enrolled.any? %}
<div class="recent-container">
{% for course in courses.enrolled %}
{% if course.id == current_person.properties.last_viewed_course %}
<p class="recent-view-header">RECENTLY VIEWED</p>
{% include "cards_course" with course, class: "" %}
{% endif %}
{% endfor %}
</div>
{% endif %}
<style>
.recent-container {
display: flex;
align-items: center;
flex-direction: column;
}
.recent-container>div>div {
padding: 0px !important;
}
.recent-container>div>div>div {
box-shadow: 4px 4px 0px rgba(128, 173, 220, 0.32);
border-radius: 8px;
}
.recent-view-header {
width: 100%;
}
@media (max-width: 768px) {
.recent-view-header {
margin-bottom: 0;
background-color: #ebf5ff;
padding: 5px 114px 0px;
box-shadow: 4px 1px 0px rgb(128 173 220 / 32%);
border-radius: 14px 14px 0 0;
}
}
@media (min-width: 1025px) {
.recent-view-header {
margin-bottom: 0;
background-color: #ebf5ff;
box-shadow: 4px 1px 0px rgb(128 173 220 / 32%);
border-radius: 14px 14px 0 0;
}
}
</style>

View File

@ -1,19 +0,0 @@
<div class="np-card np-search-result">
<div class="np-card-container">
<div class="np-card-content">
<img
class="np-search-result-image"
alt="{{ result.name }}"
src="{{ result.image_url }}"
/>
<div class="np-search-result-content">
<div>
<a class="np-search-result-title" href="{{ result.path }}">
{{ result.name }}
</a>
</div>
<div class="np-search-result-snippet">{{ result.description }}</div>
</div>
</div>
</div>
</div>

View File

@ -1,13 +0,0 @@
<div class="np-card np-search-zero-state">
<div class="np-card-container">
<div class="np-card-content np-card-content-vertical np-search-zero-state-card">
<h3 class="np-search-zero-state-title">
{% t .nothing_found %}
</h3>
<div class="np-search-zero-state-subtitle">
{% t .empty %}
</div>
<div class="np-search-zero-state-image"></div>
</div>
</div>
</div>

View File

@ -1,106 +0,0 @@
<div class="np-homepage-featured np-faq np-max-width">
<div class="np-homepage-featured-text">
<div class="np-homepage-headline">
Frequently Asked Questions
</div>
</div>
<div class="row np-faqs" style='margin:0;'>
<div class="col-md-6">
<div class="np-accordion">
<div class="accordion-btn">
<i class="fal fa-plus"></i>
<div class="accordion-title"><strong>Q:</strong> Do I need to be a customer before creating a course on Northpass?</div>
</div>
<div class="accordion-panel">
<div class="accordion-panel-content">
<p><strong>A:</strong> Absolutely not! We often set up trials for folks shopping for an LMS. To set up your trial, click the following link and you’ll be intro’d to the correct reps to get started.</p>
</div>
</div>
</div>
<div class="np-accordion">
<div class="accordion-btn">
<i class="fal fa-plus"></i>
<div class="accordion-title"><strong>Q:</strong> Do I need to sign up for an advanced package option?</div>
</div>
<div class="accordion-panel">
<div class="accordion-panel-content">
<p><strong>A:</strong> No, Northpass product packages have a variety of services. Our Essentials package is great to get started, especially with internal training. Looking for something more, both our Premium and Enterprise packages allow for advanced options including custom design and data connections via webhooks and API. To learn more, please contact your rep or support@northpass.com.</p>
</div>
</div>
</div>
<div class="np-accordion">
<div class="accordion-btn">
<i class="fal fa-plus"></i>
<div class="accordion-title"><strong>Q:</strong> There are a lot of courses, which one should I start with as a new admin?</div>
</div>
<div class="accordion-panel">
<div class="accordion-panel-content">
<p><strong>A:</strong> We recommend starting with the Getting Started with Northpass Learning Path. It has all the foundational information needed to become familiar with our platform. Even more, you can pick and choose which information you’d like to view in the Learning Path.</p>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="np-accordion">
<div class="accordion-btn">
<i class="fal fa-plus"></i>
<div class="accordion-title"><strong>Q:</strong> I cannot find a course on a topic, how should I share this feedback?</div>
</div>
<div class="accordion-panel">
<div class="accordion-panel-content">
<p><strong>A:</strong> Thank you for letting us know that you’d like to learn something more. Please reach out to our support team at support@northpass.com and our service team is happy to assist.</p>
</div>
</div>
</div>
<div class="np-accordion">
<div class="accordion-btn">
<i class="fal fa-plus"></i>
<div class="accordion-title"><strong>Q:</strong> I'm having a billing issue, who should I contact?</div>
</div>
<div class="accordion-panel">
<div class="accordion-panel-content">
<p><strong>A:</strong> Great question and happy to help! For all billing inquiries, please reach out to billing@northpass.com, and our finance and operations team is happy to assist.</p>
</div>
</div>
</div>
<div class="np-accordion">
<div class="accordion-btn">
<i class="fal fa-plus"></i>
<div class="accordion-title"><strong>Q:</strong> I'm interested in setting up an integration that's not listed. What should I do?</div>
</div>
<div class="accordion-panel">
<div class="accordion-panel-content">
<p><strong>A:</strong> Excellent, we always look forward to new integrations. Please reach out to support@northpass.com and your assigned rep when applicable. They will be happy to help further and loop in the respective folks to scope out the integration further.</p>
</div>
</div>
</div>
</div>
</div>
</div>
<style>
.clicked {
border-bottom-right-radius: 0;
}
.accordion-panel {
border-radius: 0 0 8px 8px;
}
</style>
<script>
let accordions = document.getElementsByClassName("accordion-btn");
for (let i = 0; i < accordions.length; i++) {
accordions[i].addEventListener("click", function() {
this.querySelector('.fal').classList.toggle("fa-plus");
this.querySelector('.fal').classList.toggle("fa-minus");
this.classList.toggle("clicked");
let panel = this.nextElementSibling;
panel.classList.toggle("panel-open");
if (panel.style.maxHeight) {
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
});
}
</script>

View File

@ -1,26 +0,0 @@
<div class="np-homepage-featured np-homepage-topics np-max-width">
<div class="np-homepage-featured-text">
<div class="np-homepage-headline">
Popular Topics
</div>
</div>
<div class="np-topics-list row">
<div class="col-xs-12 np-stretch-content" style="justify-content: space-evenly; flex-direction: row-reverse;">
{% for category in current_school.filterable_categories %}
<a class="np-top-button np-button np-button-secondary topic-button col-xs-2" href="/app/catalog?filter[category_uuid][in][]={{category.id}}">{{category.name}}</a>
{% endfor %}
</div>
</div>
</div>
<style>
.topic-button {
border-radius: 8px;
color: #2c4265 !important;
border: 1px solid #2c4265 !important;
}
.topic-button:hover{
color: #34abe2 !important;
}
</style>

View File

@ -1,76 +0,0 @@
{% capture quotes %}
<svg width="52" height="40" viewBox="0 0 52 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12.656 39.76C9.072 39.76 6.048 38.3787 3.584 35.616C1.19467 32.7787 0 29.12 0 24.64C0 21.056 0.858667 17.584 2.576 14.224C4.29333 10.864 6.68267 7.91467 9.744 5.376C12.0458 3.46723 14.5797 1.98056 17.3458 0.916004C19.0264 0.269172 20.8915 0.900303 22.0271 2.29798C23.9806 4.70233 22.9585 8.2866 20.493 10.1624C19.6235 10.8239 18.8405 11.5431 18.144 12.32C16.2027 14.4853 15.232 16.3147 15.232 17.808C15.232 18.48 15.3813 19.2267 15.68 20.048C16.0533 20.7947 16.9493 21.5787 18.368 22.4C20.2347 23.5947 21.5413 24.9013 22.288 26.32C23.0347 27.664 23.408 29.232 23.408 31.024C23.408 33.712 22.4 35.84 20.384 37.408C18.368 38.976 15.792 39.76 12.656 39.76ZM40.32 39.76C36.736 39.76 33.712 38.3787 31.248 35.616C28.8587 32.7787 27.664 29.12 27.664 24.64C27.664 21.056 28.5227 17.584 30.24 14.224C31.9573 10.864 34.3467 7.91467 37.408 5.376C39.7098 3.46723 42.2437 1.98056 45.0098 0.916003C46.6904 0.269172 48.5555 0.900303 49.6911 2.29797C51.6446 4.70233 50.6225 8.2866 48.157 10.1624C47.2875 10.8239 46.5045 11.5431 45.808 12.32C43.8667 14.4853 42.896 16.3147 42.896 17.808C42.896 18.48 43.0453 19.2267 43.344 20.048C43.7173 20.7947 44.6133 21.5787 46.032 22.4C47.8987 23.5947 49.2053 24.9013 49.952 26.32C50.6987 27.664 51.072 29.232 51.072 31.024C51.072 33.712 50.064 35.84 48.048 37.408C46.032 38.976 43.456 39.76 40.32 39.76Z" fill="url(#paint0_linear_2_541)"/>
<defs>
<linearGradient id="paint0_linear_2_541" x1="1.24909e-07" y1="19.88" x2="53.648" y2="19.88" gradientUnits="userSpaceOnUse">
<stop stop-color="#089FB7"/>
<stop offset="1" stop-color="#15824B"/>
</linearGradient>
</defs>
</svg>
{% endcapture %}
<div class="np-homepage-featured np-homepage-tips-tricks np-max-width">
<div class="np-homepage-featured-text">
<div class="np-homepage-headline">
Testimonials From Our Customers
</div>
</div>
<div class="tips-tricks-carousel np-carousel" id="tips-tricks-carousel">
<div class="np-carousel-card">
<div class="quote-block np-carousel-bg-blue">
<i class="quotes-left"> {{quotes}} </i>
<div class="quote">
Northpass is an easy-to-manage LMS with the freedom to create and scale learning programs the way we want. Ultra-fast authoring and intelligent administration, along with integrated learning experiences. Plus, responsive support.
</div>
</div>
<div class="quote-author-info">
Administrator in Real Estate<br>
<span>&gt; 1000 employees</span>
</div>
</div>
<div class="np-carousel-card">
<div class="quote-block np-carousel-bg-blue">
<i class="quotes-left"> {{quotes}} </i>
<div class="quote ">
Northpass is an LMS with the learner experience front and center. Their UI principles lead to a clean and focused learner experience that removes the typical distractions of finding and beginning courses in an LMS. They have over the years made significant investments into the admin experience and platform integrations which have helped it grow into areas where other established players would have had a leg up. Their customer success management approach is excellent and one that I routinely use as the bar with other software vendors we utilize.
</div>
</div>
<div class="quote-author-info">
Executive Sponsor in Retail<br>
<span>&gt; 1000 employees</span>
</div>
</div>
<div class="np-carousel-card">
<div class="quote-block np-carousel-bg-blue">
<i class="quotes-left"> {{quotes}} </i>
<div class="quote ">
The ability to build a learning management for both internal employees and external clients is harder to find than I would have thought. Because Northpass is focused solely on the ability to build on-demand training, it's simplicity allows you to use those courses in whatever way you want/need.
</div>
</div>
<div class="quote-author-info">
Client Enablement Manager Mid-Market<br>
<span>51-1000 employees</span>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function(){
$("#tips-tricks-carousel").slick({
slidesToShow: 1,
slidesToScroll: 1,
cssEase: 'linear',
prevArrow: '<i class="fal fa-chevron-left"></i>',
nextArrow: '<i class="fal fa-chevron-right"></i>',
infinite: true,
adaptiveHeight: true
});
});
</script>

Some files were not shown because too many files have changed in this diff Show More