Cin7 templates were all messed up. Fixed them. Downloaded and backed up Scintilla's new templates that Raj was working on for commerce.

This commit is contained in:
Norm Rasmussen
2025-07-02 13:39:55 -04:00
parent 69cfb846b4
commit 23d799b75b
215 changed files with 5969 additions and 3164 deletions

View File

@ -1,66 +0,0 @@
{% for course in courses.enrolled %}
{% if course.progress == 100 and course.properties.badge_course == true %}
{% if course.name contains 'Omni' %}
<div class="card-wrapper">
<div class="card">
<div class="lp-link">
<div class="card-badge">
<img alt=""
src="https://s3.amazonaws.com/static.northpass.com/Cin7/badges/academy-badge_omni.png"
class="badge-card-image"
/>
</div>
</div>
</div>
</div>
{% elsif course.name contains 'Core' %}
<div class="card-wrapper">
<div class="card">
<div class="lp-link">
<div class="card-badge">
<img alt=""
src="https://s3.amazonaws.com/static.northpass.com/Cin7/badges/academy-badge_core.png"
class="badge-card-image"
/>
</div>
</div>
</div>
</div>
{% endif %}
{% if course.id == "0e5dc9ea-3ace-408c-8b8d-2841ba88bc66" %}
<div class="card-wrapper">
<div class="card">
<div class="lp-link">
<div class="card-badge">
<img alt=""
src="https://s3.amazonaws.com/static.northpass.com/Cin7/badges/partner-badge_implementer-services.png"
class="badge-card-image"
/>
</div>
</div>
</div>
</div>
{% endif %}
{% if course.id == "75be65eb-2941-42a5-9088-c0df68bf3fd8" %}
<div class="card-wrapper">
<div class="card">
<div class="lp-link">
<div class="card-badge">
<img alt=""
src="https://s3.amazonaws.com/static.northpass.com/Cin7/badges/partner-badge_referral-partner.png"
class="badge-card-image"
/>
</div>
{% comment %}
<div class="card-content card-content-badge">
<h3 class="card-content-title course-name">
{% if course.name contains 'Omni' %}Omni{% elsif course.name contains 'Core' %}Core{% endif %} Course Completed
</h3>
</div>
{% endcomment %}
</div>
</div>
</div>
{% endif %}
{% endif %}
{% endfor %}

View File

@ -1,44 +0,0 @@
<div class="card" categories="{%for category in course.categories%}{{category.name}}[$]{%endfor%}" duration="{{course.properties.course_duration}}">
{% capture course_path %}{% route course, id: course.id %}{% endcapture %}
<a class="lp-link" href="{{ course_path }}">
<div class="card-image">
<img
alt="{{ course.name }}"
src="{{ course.image_url }}"
class="learning-path-card-image"
/>
{% if course.ribbon %}
<div class="np-card-ribbon" {% if course.ribbon == "Omni" %} style="background: #0026b2;"
{% elsif course.ribbon == "Core"%} style="background: #05CBBF"
{% else %} style="background: #213343"
{% endif %}>
{{ course.ribbon }}
</div>
{% endif %}
</div>
<div class="card-content">
<div class="card-type"><i class="far fa-graduation-cap"></i> COURSE </div>
<h3 class="card-content-title course-name">
{{ course.name }}
</h3>
<div class="course-desc">
{{ course.short_description }}
</div>
<div class="course-details">
{% if course.properties.course_duration %}
<div class="course-time">
<i class="far fa-clock"></i>
{{course.properties.course_duration}} min
</div>
{% endif %}
{% unless course.properties.audience == 'missing property: audience' %}
<div class="recommended">
<i class="far fa-users"></i>
{{course.properties.audience}}
</div>
{% endunless %}
</div>
</div>
</a>
</div>

View File

@ -1,27 +0,0 @@
<div class="card">
<a class="lp-link" href="{% route learning_path, id: learning_path.id %}">
<div class="card-image">
<img
alt="{{ learning_path.name }}"
class="learning-path-card-image"
src="{{ learning_path.image_url }}"
/>
{% if learning_path.name contains "Omni" or learning_path.name contains "Core"%}
<div class="np-card-ribbon" {% if learning_path.name contains "Omni" %} style="background: #0026b2;"{% endif %}>
{% if learning_path.name contains "Omni" %}
Omni
{% elsif learning_path.name contains "Core" %}
Core
{% endif %}
</div>
{%endif%}
</div>
<div class="card-content">
<div class="card-type"><i class="far fa-road"></i> LEARNING PATH</div>
<h3 class="card-content-title">
{{ learning_path.name }}
</h3>
</div>
</a>
</div>

View File

@ -1,12 +0,0 @@
<a class="card category-card" href="/app/catalog?category={{category.name}}">
<div class="card-category">
<img class="badge-card-image" src="{{category_images[counter]}}" alt="">
</div>
<div class="card-content">
<h3 class="card-content-title">{{category.name}}</h3>
<div class="course-desc">Browse all courses for {{category.name}}.</div>
</div>
</a>

View File

@ -1,25 +0,0 @@
<a class="card category-card" href="/app/learning_paths?category={{category.name}}&category=Deep Dive: Core">
<div class="core-category-wrapper">
<div class="card-category card-category-core">
<img class="badge-card-image card-category-image-core"
{% if category.name == 'Warehouse Operations: Core' %}
src="{{category_images[4]}}" alt=""
{% elsif category.name == 'Admin: Core' %}
src="{{category_images[1]}}" alt=""
{% elsif category.name == 'Product Management: Core' %}
src="{{category_images[2]}}" alt=""
{% elsif category.name == 'Accounting: Core' %}
src="{{category_images[0]}}" alt=""
{% elsif category.name == 'Simple Manufacturing: Core' %}
src="{{category_images[3]}}" alt=""
{% endif %}
>
</div>
<div class="card-content card-content-core">
<h3 class="card-content-title">{{category.name | replace: ": Core", " Deep Dives"}}</h3>
<div class="course-desc course-desc-category-core">Level up your expertise and enhance your operations with {{category.name | replace: ": Core", " Deep Dives"}}.</div>
</div>
</div>
</a>

View File

@ -1,64 +0,0 @@
{% assign unique_category = "" %}
{% assign category_images = 'https://s3.amazonaws.com/static.northpass.com/Cin7/categories+images/Category+Icon+1.png,https://s3.amazonaws.com/static.northpass.com/Cin7/categories+images/Category+Icon+2.png,https://s3.amazonaws.com/static.northpass.com/Cin7/categories+images/Category+Icon+3.png,https://s3.amazonaws.com/static.northpass.com/Cin7/categories+images/Category+Icon+4.png' | split: ',' %}
{% assign category_counter = 0 %}
<div class="category-carousel">
{% for course in courses.in_catalog %}
{% for category in course.categories %}
{% if category.name contains 'Omni' %}
{% unless unique_category contains category.name %}
{% include 'category_cards' counter: category_counter %}
{% assign unique_category = unique_category | append: category.name %}
{% assign category_counter = category_counter | plus: 1 %}
{% if category_counter > 3 %}
{% assign category_counter = 0 %}
{% endif %}
{% endunless %}
{% endif %}
{% endfor %}
{% endfor %}
</div>
<script>
$('.category-carousel').slick({
infinite: true,
slidesToShow: 4,
slidesToScroll: 4,
prevArrow: "<i class='control-carousel fas fa-chevron-left left-arrow'></i>",
nextArrow: "<i class='control-carousel fas fa-chevron-right right-arrow'></i>",
responsive: [
{
breakpoint: 1200,
settings: {
slidesToShow: 3,
slidesToScroll: 3,
infinite: true
}
},
{
breakpoint: 768,
settings: {
slidesToShow: 1,
slidesToScroll: 1
}
}
]
});
</script>
<style>
.slick-track {
display: flex;
}
.card {
height: 100%;;
}
.card-wrapper {
padding: 1rem 0;
height: auto;
}
.category-carousel {
margin: 0 1rem;
}
</style>

View File

@ -1,64 +0,0 @@
{% assign unique_category = "" %}
{% assign category_images = 'https://s3.amazonaws.com/static.northpass.com/Cin7/categories+images+core+/Accounting+Deep+Dives+-+Thumbnails.png, https://s3.amazonaws.com/static.northpass.com/Cin7/categories+images+core+/Administrative+Deep+Dives+-+Thumbnail.png, https://s3.amazonaws.com/static.northpass.com/Cin7/categories+images+core+/Product+Management+Deep+Dives+-+Thumbnail.png, https://s3.amazonaws.com/static.northpass.com/Cin7/categories+images+core+/Simple+Manufacturing+Deep+Dives+-+Thumbnail.png, https://s3.amazonaws.com/static.northpass.com/Cin7/categories+images+core+/Warehouse+Operations+Deep+Dives+-+Thumbnail.png' | split: ', ' %}
{% assign category_counter = 0 %}
{% assign core_categories = 'Warehouse Operations: Core, Admin: Core, Product Management: Core, Accounting: Core, Simple Manufacturing: Core' | split: ", " %}
<div class="category-carousel-core">
{% for learning_path in learning_paths.available %}
{% for category in learning_path.categories %}
{% if core_categories contains category.name %}
{% unless unique_category contains category.name %}
{% include 'category_cards_core' counter: category_counter %}
{% assign unique_category = unique_category | append: category.name %}
{% assign category_counter = category_counter | plus: 1 %}
{% if category_counter > 3 %}
{% assign category_counter = 0 %}
{% endif %}
{% endunless %}
{% endif %}
{% endfor %}
{% endfor %}
</div>
<script>
$('.category-carousel-core').slick({
infinite: true,
slidesToShow: 4,
slidesToScroll: 4,
prevArrow: "<i class='control-carousel fas fa-chevron-left left-arrow'></i>",
nextArrow: "<i class='control-carousel fas fa-chevron-right right-arrow'></i>",
responsive: [
{
breakpoint: 1200,
settings: {
slidesToShow: 3,
slidesToScroll: 3,
infinite: true
}
},
{
breakpoint: 768,
settings: {
slidesToShow: 1,
slidesToScroll: 1
}
}
]
});
</script>
<style>
.slick-track {
display: flex;
}
.card {
height: 100%;;
}
.card-wrapper {
padding: 1rem 0;
height: auto;
}
.category-carousel-core {
margin: 0 1rem;
}
</style>

View File

@ -1,78 +0,0 @@
{% assign omni = false %}
{% assign core = false %}
{% assign partners = false %}
{% assign redirect = false %}
{% assign both_gorups = false %}
{% if current_person.signed_in? %}
{% assign log_out = false %}
{% for group in current_person.groups %}
{% if group.name contains 'Partners' %}
{% assign partners = true %}
{% else %}
{% if group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% if omni and core %}
{% assign both_gorups = true %}
{% endif %}
{% unless partners or both_gorups %}
{% if core and course.name contains 'Omni' %}
{% assign redirect = true %}
{% elsif omni and course.name contains 'Core' %}
{% assign redirect = true %}
{% endif %}
{% endunless %}
{% if redirect %}
<script>window.location.replace('/app')</script>
{% endif %}
<div class="np-card-container">
<div class="lp-header-container">
<div class="lp-heading lora course-name"> {{ course.name }}</div>
</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">
{% include "course_progress_and_cta" %}
</div>
{% include "course_outline" %}
</div>
</div>
</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 course-name">
<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,54 +0,0 @@
<div class="np-top-cta-progress-content">
<div class="np-top-cta-progress-title np-text-title">
{% t .header %}
</div>
<div class="np-progress-bar-container">
<div
style="width: {{ course.progress }}%"
class="np-button-background-color np-card-progress-bar">
</div>
</div>
<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>
{% 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 %}
{% if current_person.signed_in? == false%}
<a
class="lp-button" href="/learners/sign_in"
>
Sign In
</a>
{% else %}
<a
class="lp-button"
{% 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 %}
{% endif %}

View File

@ -1,43 +0,0 @@
{% if courses.in_catalog.any? %}
<div class=" row">
{% for course in courses.in_catalog %}
{% if current_person.signed_in? %}
{% if partners or both_gorups %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
{% include "cards_course" with course %}
</div>
{% else %}
{% if omni %}
{% if course.name contains 'Omni' %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
{% include "cards_course" with course %}
</div>
{% endif %}
{% elsif core %}
{% if course.name contains 'Core' %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
{% include "cards_course" with course %}
</div>
{% endif %}
{% else %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
{% include "cards_course" with course %}
</div>
{% endif %}
{% endif %}
{% else %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
{% include "cards_course" with course %}
</div>
{% endif %}
{% endfor %}
</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,16 +0,0 @@
{% if courses.enrolled.any? %}
<div class="row row-with-thumbnails">
{% for course in courses.enrolled %}
<div class="{{ class }}">
{% include "cards_course" with course %}
</div>
{% 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,106 +0,0 @@
{% assign omni = false %}
{% assign core = false %}
{% assign partners = false %}
{% assign log_out = true %}
{% assign both_gorups = false %}
{% if current_person.signed_in? %}
{% assign log_out = false %}
{% for group in current_person.groups %}
{% if group.name contains 'Partners' %}
{% assign partners = true %}
{% else %}
{% if group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% if omni and core %}
{% assign both_gorups = true %}
{% endif %}
<div class="carousel-wrapper">
<div class="feature-courses-carousel">
{% for course in courses.in_catalog %}
{% if both_gorups %}
{% if course.properties.feature_course_omni == true or course.properties.feature_course_core == true %}
<div class="card-wrapper">
{% include 'cards_course' %}
</div>
{% endif %}
{% elsif core %}
{% if course.properties.feature_course_core == true %}
<div class="card-wrapper">
{% include 'cards_course' %}
</div>
{% endif %}
{% elsif omni %}
{% if course.properties.feature_course_omni == true %}
<div class="card-wrapper">
{% include 'cards_course' %}
</div>
{% endif %}
{% elsif partners %}
{% if course.properties.feature_course_omni == true or course.properties.feature_course_core == true %}
<div class="card-wrapper">
{% include 'cards_course' %}
</div>
{% endif %}
{% else %}
{% if course.properties.feature_course_omni == true or course.properties.feature_course_core == true %}
<div class="card-wrapper">
{% include 'cards_course' %}
</div>
{% endif %}
{% endif %}
{% endfor %}
</div>
</div>
<script>
$('.feature-courses-carousel').slick({
infinite: true,
slidesToShow: 4,
slidesToScroll: 4,
prevArrow: "<i class='control-carousel fas fa-chevron-left left-arrow'></i>",
nextArrow: "<i class='control-carousel fas fa-chevron-right right-arrow'></i>",
responsive: [
{
breakpoint: 1200,
settings: {
slidesToShow: 3,
slidesToScroll: 3,
infinite: true
}
},
{
breakpoint: 768,
settings: {
slidesToShow: 1,
slidesToScroll: 1
}
}
]
});
</script>
<style>
.slick-track {
display: flex;
}
.card {
height: 100%;;
}
.card-wrapper {
padding: 1rem 0;
height: auto;
}
.feature-courses-carousel {
margin: 0 1rem;
}
</style>

View File

@ -1,195 +0,0 @@
<div class="filter-heading lora">Filters</div>
<div class="filters-option-container">
<div class="filter-categories">
<div class="filter-option-heading">Categories</div>
<div class="filter-option-container" id="categoryFilters">
{% assign unique_core_categories = "" %}
{% for course in courses.in_catalog %}
{% for category in course.categories %}
{% unless unique_core_categories contains category.name %}
<div class="category-option">
<input class="filter-checkbox" type="checkbox" id="{{category.name}}" />
<label>{{category.name}}</label>
</div>
{% assign unique_core_categories = unique_core_categories | append: category.name %}
{% endunless %}
{% endfor %}
{% endfor %}
</div>
</div>
<div class="fiter-duration">
<div class="filter-option-heading">Course Duration</div>
<div class="filter-option-container" id="course-duration">
<div class="time-option">
<input class="duration-checkbox" type="checkbox" id="<10" />
<label>< 10 min</label>
</div>
<div class="time-option">
<input class="duration-checkbox" type="checkbox" id="<20" />
<label>< 20 min</label>
</div>
<div class="time-option">
<input class="duration-checkbox" type="checkbox" id="<30" />
<label>< 30 min</label>
</div>
<div class="time-option">
<input class="duration-checkbox" type="checkbox" id="<45" />
<label>< 45 min</label>
</div>
<div class="time-option">
<input class="duration-checkbox" type="checkbox" id="<60" />
<label>< 60 min</label>
</div>
</div>
</div>
</div>
<style>
.filter-container {
width: 25%;
height: fit-content;
box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
padding: 1.5rem;
border-radius: 20px;
color: #002f6f;
}
.filter-heading {
font-size: 1.5rem;
font-weight: 600;
margin-bottom: 20px;
}
.filter-option-heading {
font-weight: 700;
}
.filter-option-container {
margin: 15px 10px;
}
.category-option, .time-option {
display: flex;
gap: 10px;
}
.hidden {
display: none;
}
</style>
<script>
function sortLabelsAlphabetically() {
const categoryContainer = document.getElementById("categoryFilters");
const categoryOptions = categoryContainer.querySelectorAll(".category-option");
const categoryOptionsArray = Array.from(categoryOptions);
categoryOptionsArray.sort((a, b) => {
const labelA = a.querySelector("label").innerText.toLowerCase();
const labelB = b.querySelector("label").innerText.toLowerCase();
return labelA.localeCompare(labelB);
});
categoryContainer.innerHTML = "";
categoryOptionsArray.forEach((categoryOption) => {
categoryContainer.appendChild(categoryOption);
});
}
document.addEventListener("DOMContentLoaded", function() {
var categoryCheckboxes = document.querySelectorAll('.filter-checkbox');
var durationCheckboxes = document.querySelectorAll('.duration-checkbox');
categoryCheckboxes.forEach(function (checkbox) {
checkbox.addEventListener('change', function () {
filterCourses();
});
});
durationCheckboxes.forEach(function (checkbox) {
checkbox.addEventListener('change', function () {
filterCourses();
});
});
var urlParams = new URLSearchParams(window.location.search);
var categoriesFromUrl = urlParams.getAll('category');
var durationFromUrl = urlParams.get('duration');
if (categoriesFromUrl.length > 0) {
categoriesFromUrl.forEach(function(category) {
var categoryCheckbox = document.getElementById(category);
if (categoryCheckbox) {
categoryCheckbox.click();
}
});
}
if (durationFromUrl) {
var durationCheckbox = document.getElementById(durationFromUrl);
if (durationCheckbox) {
durationCheckbox.click();
}
}
sortLabelsAlphabetically();
filterCourses();
});
function filterCourses() {
var selectedCategories = getSelectedCategories();
var selectedDurations = getSelectedDurations();
var cards = document.querySelectorAll('.card');
cards.forEach(function (card) {
var categories = card.getAttribute('categories');
var duration = parseInt(card.getAttribute('duration'), 10);
var categoryMatch = selectedCategories.length === 0 || matchesCategories(categories, selectedCategories);
var durationMatch = selectedDurations.length === 0 || matchesDuration(duration, selectedDurations);
if (categoryMatch && durationMatch) {
card.parentElement.style.display = 'flex';
} else {
card.parentElement.style.display = 'none';
}
});
}
function getSelectedCategories() {
var selectedCategories = [];
var checkboxes = document.querySelectorAll('.filter-checkbox:checked');
checkboxes.forEach(function (checkbox) {
selectedCategories.push(checkbox.id);
});
return selectedCategories;
}
function getSelectedDurations() {
var selectedDurations = [];
var checkboxes = document.querySelectorAll('.duration-checkbox:checked');
checkboxes.forEach(function (checkbox) {
selectedDurations.push(checkbox.id);
});
return selectedDurations;
}
function matchesCategories(courseCategories, selectedCategories) {
var courseCategoriesArray = courseCategories.split('[$]').map(function (category) {
return category.trim();
});
return selectedCategories.some(function (selectedCategory) {
return courseCategoriesArray.includes(selectedCategory);
});
}
function matchesDuration(courseDuration, selectedDurations) {
return selectedDurations.every(function (selectedDuration) {
var durationRange = parseInt(selectedDuration.replace('<', ''), 10);
return courseDuration < durationRange;
});
}
</script>

View File

@ -1,89 +0,0 @@
{% assign omni = false %}
{% assign core = false %}
{% assign partners = false %}
{% assign log_out = true %}
{% if current_person.signed_in? %}
{% assign log_out = false %}
{% for group in current_person.groups %}
{% if group.name contains 'Partners' %}
{% assign partners = true %}
{% else %}
{% if group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
<footer class="np-footer">
<div class="np-footer-top">
{% if website_footer.show_navigation_links? %}
<div class="np-footer-navigation">
<ul class="np-footer-navigation-list">
<div class="footer-heading lora">Resources</div>
{% if omni %}
<li class="np-footer-navigation-item">
<a
class="np-footer-navigation-link"
href="https://help.omni.cin7.com/hc/en-us"
target="_blank"
>
Omni Help Center
</a>
</li>
{% elsif core %}
<li class="np-footer-navigation-item">
<a
class="np-footer-navigation-link"
href="https://help.core.cin7.com/hc/en-us"
target="_blank"
>
Core Help Center
</a>
</li>
{% elsif log_out %}
<li class="np-footer-navigation-item">
<a
class="np-footer-navigation-link"
href="https://help.omni.cin7.com/hc/en-us"
target="_blank"
>
Omni Help Center
</a>
</li>
<li class="np-footer-navigation-item">
<a
class="np-footer-navigation-link"
href="https://help.core.cin7.com/hc/en-us"
target="_blank"
>
Core Help Center
</a>
</li>
{% endif %}
<li class="np-footer-navigation-item">
<a
class="np-footer-navigation-link"
href="https://www.cin7.com/product-updates/"
target="_blank"
>
Release Notes
</a>
</li>
<li class="np-footer-navigation-item">
<a
class="np-footer-navigation-link"
href="mailto:{{ website_footer.school_customer_service_email }}"
>
{{ website_footer.school_customer_service_email }}
</a>
</li>
</ul>
</div>
{% endif %}
</div>
</footer>

View File

@ -1,41 +0,0 @@
{% styles default %}
{% styles colors %}
{% styles custom %}
<script src=
"https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js">
</script>
<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"/>
<script type="text/javascript" src="//cdn.jsdelivr.net/gh/kenwheeler/slick@1.8.1/slick/slick.min.js"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap" rel="stylesheet">
<script>
document.addEventListener('DOMContentLoaded', function() {
function modifyCourseNames() {
var courseElements = document.querySelectorAll('.course-name');
courseElements.forEach(function(courseElement) {
var courseName = courseElement.textContent;
var modifiedCourseName = courseName.replace(/\[[^\]]+\]/g, '');
courseElement.textContent = modifiedCourseName;
});
}
function removeBadgeShadow() {
document.querySelectorAll('.card-badge').forEach(e=>{
e.parentElement.parentElement.style.boxShadow='none';
})
}
modifyCourseNames();
removeBadgeShadow();
});
</script>

View File

@ -1,267 +0,0 @@
{% assign omni = false %}
{% assign core = false %}
{% assign partners = false %}
{% assign log_out = true %}
{% if current_person.signed_in? %}
{% assign log_out = false %}
{% for group in current_person.groups %}
{% if group.name contains 'Partners' %}
{% assign partners = true %}
{% else %}
{% if group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
<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">
<li class= "np-header-desktop-nav-item">
<a
href="/app"
class="np-header-desktop-nav-link np-header-font-color"
>
Home
</a>
</li>
<li class= "np-header-desktop-nav-item">
<a
href="/app/dashboard"
class="np-header-desktop-nav-link np-header-font-color"
>
My Dashboard
</a>
</li>
<li class= "np-header-desktop-nav-item">
<a
href="/app/catalog"
class="np-header-desktop-nav-link np-header-font-color"
>
Course Catalog
</a>
</li>
<li class= "np-header-desktop-nav-item">
<a
href="/app/learning_paths"
class="np-header-desktop-nav-link np-header-font-color"
>
Learning Paths
</a>
</li>
<li class= "np-header-desktop-nav-item">
<a
href="/app/training_events"
class="np-header-desktop-nav-link np-header-font-color"
>
Events
</a>
</li>
</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">
<i id="search-icon" class="header-search-icon fas fa-search np-header-font-color"></i>
<input
aria-label="{% t .search %}"
class="header-search-input"
type="text"
name="q"
placeholder=""
/>
</form>
</div>
<div class="np-hidden-mobile np-header-avatar">
<button
class="np-header-avatar-button"
data-test="open-desktop-menu"
data-toggle-class-on-target="np-hidden"
data-toggle-target=".np-header-avatar-tooltip"
data-toggle-outside
>
<img
alt="{{ current_person.name }}"
class="np-header-avatar-image"
src="{{ current_person.avatar_url }}"
>
</button>
<div class="np-header-avatar-tooltip np-hidden" role="tooltip">
<span class="np-header-avatar-tooltip-arrow-up"></span>
<div class="np-header-avatar-tooltip-learner">
<div class="np-header-avatar-tooltip-learner-name">
{{ current_person.name }}
</div>
<div class="np-header-avatar-tooltip-learner-email">
{{ current_person.email }}
</div>
</div>
<nav class="np-header-avatar-tooltip-navigation">
{% unless current_school.sso_active? %}
<a
class="np-header-avatar-tooltip-navigation-link"
href="{% route account %}"
>
{% t .profile_settings %}
</a>
{% endunless %}
<a
class="np-header-avatar-tooltip-navigation-link np-danger"
href="{% route logout %}"
>
{% t .sign_out %}
</a>
</nav>
</div>
</div>
{% else %}
<a
class="np-header-sign-in np-header-desktop-nav-link np-header-font-color"
aria-label="{% t shared.sign_in %}"
href="{% route login %}"
>
{% t shared.sign_in %}
</a>
{% endif %}
</div>
</header>
<div class="np-hidden-desktop">
<div class="np-header-mobile-menu-content np-hidden">
{% if current_person.signed_in? %}
<img
alt="{{ current_person.name }}"
class="np-header-mobile-menu-content-avatar"
src="{{ current_person.avatar_url }}"
/>
<div class="np-header-mobile-menu-content-name">
{{ current_person.name }}
</div>
{% endif %}
<div class="np-header-mobile-menu-content-nav">
<form
class="np-header-search"
data-test="mobile-search"
method="get"
action="{% route search %}"
>
<input
aria-label="{% t .search %}"
class="np-header-search-input header-search-input"
type="text"
name="q"
placeholder="{% t .search %}"
/>
<i class="np-header-search-icon far fa-search"></i>
</form>
{% for website_navigation in navigations.header_navigations %}
<a
href="{{ website_navigation.path }}"
class="np-header-mobile-menu-content-button"
{% if website_navigation.external? %} target="_blank" {% endif %}
>
{{ website_navigation.name }}
</a>
{% endfor %}
<div class="np-header-mobile-menu-content-line"></div>
{% unless current_school.sso_active? %}
<a
class="np-header-mobile-menu-content-button"
href="{% route account %}"
>
{% t .profile_settings %}
</a>
{% endunless %}
<a
class="np-header-mobile-menu-content-button np-danger"
href="{% route logout %}"
>
{% t .sign_out %}
</a>
</div>
</div>
</div>
{% include "messages" %}
<style>
.header-search-input {
display: none;
}
[data-test="desktop-search"] {
display: flex;
align-items: center;
gap: 20px;
}
.np-header-desktop-nav-list {
width: 100%;
}
</style>
<script>
document.addEventListener("DOMContentLoaded", function() {
var searchIcon = document.getElementById("search-icon");
var searchInput = document.querySelector(".header-search-input");
searchIcon.addEventListener("click", function(event) {
event.stopPropagation();
if (searchInput.style.display === "block") {
searchInput.style.display = "none";
} else {
searchInput.style.display = "block";
}
});
document.addEventListener("click", function(event) {
if (event.target !== searchIcon && event.target !== searchInput) {
searchInput.style.display = "none";
}
});
});
</script>

View File

@ -1,56 +0,0 @@
{% if core or log_out or partners or both_gorups%}
<div class="heading lora info-section-heading">Transformative education for Connected Inventory Performance</div>
<div class="section-content section-content-info">
<div class="info-wrapper">
<div class="info">
<img class="info-icon" src="https://s3.amazonaws.com/static.northpass.com/Cin7/icons/Dynamic+Courses.png" alt="">
<div class="info-content">
<div class="info-heading">Dynamic courses</div>
<div class="info-desc">Developed by our product education professionals</div>
</div>
</div>
<div class="info">
<img class="info-icon" src="https://s3.amazonaws.com/static.northpass.com/Cin7/icons/Results+Driven.png" alt="">
<div class="info-content">
<div class="info-heading">Results-driven education</div>
<div class="info-desc">Designed for you to meet your business goals</div>
</div>
</div>
<div class="info">
<img class="info-icon" src="https://s3.amazonaws.com/static.northpass.com/Cin7/icons/Customer+Centered.png" alt="">
<div class="info-content">
<div class="info-heading">Customer-centered</div>
<div class="info-desc">Supporting you through all stages of your journey</div>
</div>
</div>
</div>
</div>
{% elsif omni %}
<div class="heading lora info-section-heading">Empowering education for Connected Inventory Performance</div>
<div class="section-content section-content-info">
<div class="info-wrapper">
<div class="info">
<img class="info-icon" src="https://s3.amazonaws.com/static.northpass.com/Cin7/icons/in+depth+learning.png" alt="">
<div class="info-content">
<div class="info-heading">In-depth learning</div>
<div class="info-desc">Created by our subject matter experts.</div>
</div>
</div>
<div class="info">
<img class="info-icon" src="https://s3.amazonaws.com/static.northpass.com/Cin7/icons/Always+available.png" alt="">
<div class="info-content">
<div class="info-heading">Always available</div>
<div class="info-desc">Choose when and what to learn at your own pace.</div>
</div>
</div>
<div class="info">
<img class="info-icon" src="https://s3.amazonaws.com/static.northpass.com/Cin7/icons/Designed+for+everyone.png" alt="">
<div class="info-content">
<div class="info-heading">Designed for everyone</div>
<div class="info-desc">From basic to advanced, courses for your whole team.</div>
</div>
</div>
</div>
</div>
{% endif %}

View File

@ -1,48 +0,0 @@
{% assign counter = 0 %}
<div class="carousel-wrapper">
<div class="learning-path-carousel">
{% for learning_path in learning_paths.available %}
{% if learning_path.name contains 'Core' %}
<div class="card-wrapper">
{% include "cards_learning_path_homepage" with learning_path %}
</div>
{% assign counter = counter | plus: 1 %}
{% endif %}
{% endfor %}
</div>
{% if counter == 0 %}
<div class="zero-state-wrapper">
<img class="zero-img" src="https://s3.amazonaws.com/static.northpass.com/Cin7/zero+state/no+courses+or+lps+(no+button).png" alt="">
<div class="zero-button-wrapper">
<a class="lp-button" href="/app/catalog">Continue learning now!</a>
</div>
</div>
{% endif %}
</div>
<script>
$('.learning-path-carousel').slick({
infinite: true,
slidesToShow: 4,
slidesToScroll: 4,
prevArrow: "<i class='control-carousel fas fa-chevron-left left-arrow'></i>",
nextArrow: "<i class='control-carousel fas fa-chevron-right right-arrow'></i>"
});
</script>
<style>
.slick-track {
display: flex;
}
.card {
height: 100%;;
}
.card-wrapper {
padding: 1rem 0;
height: auto;
}
.learning-path-carousel {
margin: 0 1rem;
}
</style>

View File

@ -1,49 +0,0 @@
{% assign counter = 0 %}
{% assign learning_paths_core = '50e59300-af4f-40c5-8731-ee88284d8f0d, 3793a1a2-3efa-4cea-afa9-077585520476, a67a07df-f153-4dce-ae93-90f3d76e77df, cdb26bc8-cd06-48dc-b5c4-57349c27b03d, d7d7ff88-3419-4999-b209-13faea260939' | split: ', ' %}
<div class="carousel-wrapper">
<div class="learning-path-carousel-core">
{% for learning_path in learning_paths.available %}
{% if learning_paths_core contains learning_path.id%}
<div class="card-wrapper">
{% include "cards_learning_path_homepage" with learning_path %}
</div>
{% assign counter = counter | plus: 1 %}
{% endif %}
{% endfor %}
</div>
{% if counter == 0 %}
<div class="zero-state-wrapper">
<img class="zero-img" src="https://s3.amazonaws.com/static.northpass.com/Cin7/zero+state/no+courses+or+lps+(no+button).png" alt="">
<div class="zero-button-wrapper">
<a class="lp-button" href="/app/catalog">Continue learning now!</a>
</div>
</div>
{% endif %}
</div>
<script>
$('.learning-path-carousel-core').slick({
infinite: true,
slidesToShow: 4,
slidesToScroll: 4,
prevArrow: "<i class='control-carousel fas fa-chevron-left left-arrow'></i>",
nextArrow: "<i class='control-carousel fas fa-chevron-right right-arrow'></i>"
});
</script>
<style>
.slick-track {
display: flex;
}
.card {
height: 100%;;
}
.card-wrapper {
padding: 1rem 0;
height: auto;
}
.learning-path-carousel-core {
margin: 0 1rem;
}
</style>

View File

@ -1,17 +0,0 @@
{% for category in learning_path.categories %}
{% if category.name contains "Deep Dive: Core" %}
<div class="np-learning-path-completed-banner np-learning-path-banner" style="display: none;">
{% endif %}
{% endfor %}
<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="/app/courses" class="np-learning-path-banner-action np-learning-path-banner-action--secondary">{% t .actions.more_courses %}</a>
</div>
</div>
</div>

View File

@ -1,39 +0,0 @@
{% if learning_path.enrolled? and course.unlocked? %}
<a
class="np-learning-path-outline-item card-container lp-course-card"
href="{% route learning_path_course, learning_path_id: learning_path.id, id: course.id %}"
>
<div class="np-card-content np-card-padding">
<div class="learning-path-outline-content">
<div class="np-learning-path-outline-name np-top-title course-name">
{{ course.name }}
</div>
<div class="learning-path-outline-progress
{% if course.completed? %} np-color-success {% else %} np-button-color {% endif %}
">
{% t shared.progress, count: course.progress %}
</div>
</div>
{% 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">
<div class="learning-path-outline-content">
<div class="np-learning-path-outline-name np-top-title course-name">
{{ course.name }}
</div>
</div>
{% if course.optional? %}
<div class="np-optional-ribbon">
{% t shared.optional %}
</div>
{% endif %}
</div>
</div>
{% endif %}

View File

@ -1,62 +0,0 @@
{% assign omni = false %}
{% assign core = false %}
{% assign partners = false %}
{% assign redirect = false %}
{% assign both_gorups = false %}
{% if current_person.signed_in? %}
{% assign log_out = false %}
{% for group in current_person.groups %}
{% if group.name contains 'Partners' %}
{% assign partners = true %}
{% else %}
{% if group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% if omni and core %}
{% assign both_gorups = true %}
{% endif %}
{% unless partners or both_gorups %}
{% if partners %}
{% assign redirect = false %}
{% elsif core and learning_path.name contains 'Omni' %}
{% assign redirect = true %}
{% elsif omni and learning_path.name contains 'Core' %}
{% assign redirect = true %}
{% endif %}
{% endunless %}
{% if redirect %}
<script>window.location.replace('/app')</script>
{% endif %}
<div class="lp-desktop-wrapper">
<div class="row">
<div class="col-xs-12 col-sm-6">
<div class="np-card-container card-learning-path-desktop">
<img
src="{{ learning_path.image_url }}"
class="np-top-image image-learning-path-desktop"
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 lp-progress-and-cta-wrapper">
<div class="np-top-cta">
{% include "learning_path_progress_and_cta" %}
</div>
{% include "learning_path_outline" %}
</div>
</div>
</div>

View File

@ -1,5 +0,0 @@
<div class="lp-header-container">
<div class="lp-heading lora">
{{ learning_path.name }}
</div>
</div>

View File

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

View File

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

View File

@ -1,17 +0,0 @@
{% if learning_path.enrolled? %}
<div class="np-top-cta-progress-content" >
<div class="lp-progress-text
{% if learning_path.completed? %} np-color-success {% else %} np-button-color {% endif %}
">
{% t shared.progress, count: learning_path.progress %}
</div>
</div>
{% endif %}
{% if current_person.signed_in? == false %}
<a class="lp-button" href="/learners/sign_in">
Sign In
</a>
{% else %}
{% learning_path_next_step_button learning_path, class: "lp-button" %}
{% endif %}

View File

@ -1,24 +0,0 @@
<div class="np-learning-paths-resources">
{% if items.any? %}
{% for learning_path in items %}
{% if partners or both_gorups %}
{% include "cards_learning_path" with learning_path %}
{% elsif core %}
{% if learning_path.name contains 'Core' %}
{% include "cards_learning_path" with learning_path %}
{% endif %}
{% elsif omni %}
{% if learning_path.name contains 'Omni'%}
{% include "cards_learning_path" with learning_path %}
{% endif %}
{% endif %}
{% 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,63 +0,0 @@
{% assign completed_courses = 0 %}
{% for course in courses.enrolled %}
{% if course.progress == 100 %}
{% assign completed_courses = completed_courses | plus: 1 %}
{% endif %}
{% endfor %}
<div class="carousel-wrapper">
<div class="my-badges-carousel">
{% include 'badges_cards' %}
</div>
{% if completed_courses == 0 %}
<div class="zero-state-wrapper">
<img class="zero-img" src="https://s3.amazonaws.com/static.northpass.com/Cin7/zero+state/No+badges+(no+button).png" alt="">
<div class="zero-button-wrapper">
<a class="lp-button" href="/app/catalog">Complete your first course now!</a>
</div>
</div>
{% endif %}
</div>
<script>
$('.my-badges-carousel').slick({
infinite: true,
slidesToShow: 4,
slidesToScroll: 4,
prevArrow: "<i class='control-carousel fas fa-chevron-left left-arrow'></i>",
nextArrow: "<i class='control-carousel fas fa-chevron-right right-arrow'></i>",
responsive: [
{
breakpoint: 1200,
settings: {
slidesToShow: 3,
slidesToScroll: 3,
infinite: true
}
},
{
breakpoint: 768,
settings: {
slidesToShow: 1,
slidesToScroll: 1
}
}
]
});
</script>
<style>
.slick-track {
display: flex;
}
.card {
height: 100%;;
}
.card-wrapper {
padding: 1rem 0;
height: auto;
}
.my-badges-carousel {
margin: 0 1rem;
}
</style>

View File

@ -1,64 +0,0 @@
{% assign counter = 0 %}
<div class="carousel-wrapper">
<div class="my-courses-carousel">
{% for course in courses.enrolled %}
{% if course.progress == 100 %}
<div class="card-wrapper">
{% include 'cards_course' %}
</div>
{% assign counter = counter | plus: 1 %}
{% endif %}
{% endfor %}
</div>
{% if counter == 0 %}
<div class="zero-state-wrapper">
<img class="zero-img" src="https://s3.amazonaws.com/static.northpass.com/Cin7/zero+state/no+completed+courses+(no+button).png" alt="">
<div class="zero-button-wrapper">
<a class="lp-button" href="/app/catalog">Start learning now!</a>
</div>
</div>
{% endif %}
</div>
<script>
$('.my-courses-carousel').slick({
infinite: true,
slidesToShow: 4,
slidesToScroll: 4,
prevArrow: "<i class='control-carousel fas fa-chevron-left left-arrow'></i>",
nextArrow: "<i class='control-carousel fas fa-chevron-right right-arrow'></i>",
responsive: [
{
breakpoint: 1200,
settings: {
slidesToShow: 3,
slidesToScroll: 3,
infinite: true
}
},
{
breakpoint: 768,
settings: {
slidesToShow: 1,
slidesToScroll: 1
}
}
]
});
</script>
<style>
.slick-track {
display: flex;
}
.card {
height: 100%;;
}
.card-wrapper {
padding: 1rem 0;
height: auto;
}
.my-courses-carousel {
margin: 0 1rem;
}
</style>

View File

@ -1,35 +0,0 @@
<div class="carousel">
<div class="my-learning-path-carousel">
{% for learning_path in learning_paths.enrolled %}
<div class="card-wrapper">
{% include "cards_learning_path_homepage" with learning_path %}
</div>
{% endfor %}
</div>
</div>
<script>
$('.my-learning-path-carousel').slick({
infinite: true,
slidesToShow: 5,
slidesToScroll: 5,
prevArrow: "<i class='control-carousel fas fa-chevron-left left-arrow'></i>",
nextArrow: "<i class='control-carousel fas fa-chevron-right right-arrow'></i>"
});
</script>
<style>
.slick-track {
display: flex;
}
.card {
height: 100%;;
}
.card-wrapper {
padding: 1rem 0;
height: auto;
}
.my-learning-path-carousel {
margin: 0 1rem;
}
</style>

View File

@ -1,67 +0,0 @@
{% assign counter = 0 %}
<div class="carousel-wrapper">
<div class="my-learning-path-carousel">
{% for learning_path in learning_paths.enrolled %}
{% if learning_path.progress < 100 %}
<div class="card-wrapper">
{% include "cards_learning_path_homepage" with learning_path %}
</div>
{% assign counter = counter | plus: 1 %}
{% endif %}
{% endfor %}
{% if core %}
{% for course in courses.enrolled %}
{% if course.name contains 'Core' and course.progress < 100 %}
<div class="card-wrapper">
{% include 'cards_course' %}
</div>
{% assign counter = counter | plus: 1 %}
{% endif %}
{% endfor %}
{% elsif omni %}
{% for course in courses.enrolled %}
{% if course.name contains 'Omni' and course.progress < 100 %}
<div class="card-wrapper">
{% include 'cards_course' %}
</div>
{% assign counter = counter | plus: 1 %}
{% endif %}
{% endfor %}
{% endif %}
</div>
{% if counter == 0 %}
<div class="zero-state-wrapper">
<img class="zero-img" src="https://s3.amazonaws.com/static.northpass.com/Cin7/zero+state/no+courses+or+lps+(no+button).png" alt="">
<div class="zero-button-wrapper">
<a class="lp-button" href="/app/catalog">Continue learning now!</a>
</div>
</div>
{% endif %}
</div>
<script>
$('.my-learning-path-carousel').slick({
infinite: true,
slidesToShow: 4,
slidesToScroll: 4,
prevArrow: "<i class='control-carousel fas fa-chevron-left left-arrow'></i>",
nextArrow: "<i class='control-carousel fas fa-chevron-right right-arrow'></i>"
});
</script>
<style>
.slick-track {
display: flex;
}
.card {
height: 100%;;
}
.card-wrapper {
padding: 1rem 0;
height: auto;
}
.my-learning-path-carousel {
margin: 0 1rem;
}
</style>

View File

@ -1,65 +0,0 @@
{% assign counter = 0 %}
<div class="carousel-wrapper">
<div class="my-learning-path-carousel">
{% for learning_path in learning_paths.enrolled %}
<div class="card-wrapper">
{% include "cards_learning_path_homepage" with learning_path %}
</div>
{% assign counter = counter | plus: 1 %}
{% endfor %}
{% if core %}
{% for course in courses.enrolled %}
{% if course.name contains 'Core' %}
<div class="card-wrapper">
{% include 'cards_course' %}
</div>
{% assign counter = counter | plus: 1 %}
{% endif %}
{% endfor %}
{% elsif omni %}
{% for course in courses.enrolled %}
{% if course.name contains 'Omni' %}
<div class="card-wrapper">
{% include 'cards_course' %}
</div>
{% assign counter = counter | plus: 1 %}
{% endif %}
{% endfor %}
{% endif %}
</div>
{% if counter == 0 %}
<div class="zero-state-wrapper">
<img class="zero-img" src="https://s3.amazonaws.com/static.northpass.com/Cin7/zero+state/no+courses+or+lps+(no+button).png" alt="">
<div class="zero-button-wrapper">
<a class="lp-button" href="/app/catalog">Continue learning now!</a>
</div>
</div>
{% endif %}
</div>
<script>
$('.my-learning-path-carousel').slick({
infinite: true,
slidesToShow: 4,
slidesToScroll: 4,
prevArrow: "<i class='control-carousel fas fa-chevron-left left-arrow'></i>",
nextArrow: "<i class='control-carousel fas fa-chevron-right right-arrow'></i>"
});
</script>
<style>
.slick-track {
display: flex;
}
.card {
height: 100%;;
}
.card-wrapper {
padding: 1rem 0;
height: auto;
}
.my-learning-path-carousel {
margin: 0 1rem;
}
</style>

View File

@ -1,53 +0,0 @@
<div class="carousel-wrapper">
<div class="my-learning-path-carousel">
{% for learning_path in learning_paths.enrolled %}
<div class="card-wrapper">
{% include "cards_learning_path_homepage" with learning_path %}
</div>
{% endfor %}
</div>
</div>
<script>
$('.my-learning-path-carousel').slick({
infinite: true,
slidesToShow: 4,
slidesToScroll: 4,
prevArrow: "<i class='control-carousel fas fa-chevron-left left-arrow'></i>",
nextArrow: "<i class='control-carousel fas fa-chevron-right right-arrow'></i>",
responsive: [
{
breakpoint: 1200,
settings: {
slidesToShow: 3,
slidesToScroll: 3,
infinite: true
}
},
{
breakpoint: 768,
settings: {
slidesToShow: 1,
slidesToScroll: 1
}
}
]
});
</script>
<style>
.slick-track {
display: flex;
}
.card {
height: 100%;;
}
.card-wrapper {
padding: 1rem 0;
height: auto;
}
.my-learning-path-carousel {
margin: 0 1rem;
}
</style>

View File

@ -1,70 +0,0 @@
{% if result.type == 'course' %}
{% if both_gorups or partners %}
<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>
{% elsif omni %}
{% if result.name contains 'Omni' %}
<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>
{% endif %}
{% elsif core %}
{% if result.name contains 'Core' %}
<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>
{% endif %}
{% endif %}
{%endif%}

View File

@ -1,11 +0,0 @@
{% for learning_path in learning_paths.enrolled %}
{% for category in learning_path.categories %}
{% if category.name contains 'B2B: Core' %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content card-wrapper">
{% include "cards_learning_path_homepage" with learning_path %}
</div>
{% endif %}
{% endfor %}
{% endfor %}

View File

@ -1,30 +0,0 @@
<nav class="sub-navigation">
<div class="np-sub-navigation-content">
{% for link in navigations.sub_navigation %}
<div class="np-sub-navigation-content-item">
{% if link.label == 'Catalog' %}
<a class="np-sub-navigation-content-item-link {{ link.active_class }}" id='courses-category' href="/app/courses-category">
{{ link.label }}
</a>
{%else%}
<a class="np-sub-navigation-content-item-link {{ link.active_class }}" href="{{ link.url }}">
{{ link.label }}
</a>
{% endif %}
</div>
{% endfor %}
</div>
</nav>
<script>
document.addEventListener("DOMContentLoaded", () => {
let link = document.getElementById('courses-category');
if (window.location.pathname == '/app/courses-category') {
link.classList.add("np-sub-navigation-content-item-active");
} else {
link.classList.remove("np-sub-navigation-content-item-active");
}
});
</script>

View File

@ -1,71 +0,0 @@
{% comment %} <div class="np-dashboard-resources">
{% if training_events.enrolled.any? %}
{% for training_event in training_events.enrolled %}
<div class="card-wrapper">
{% include "cards_training_event" with training_event %}
</div>
{% endfor %}
{% endif %}
</div> {% endcomment %}
{% assign counter = 0 %}
<div class="carousel-wrapper">
<div class="my-events-carousel">
{% if training_events.enrolled.any? %}
{% for training_event in training_events.enrolled %}
<div class="card-wrapper">
{% include "cards_training_event" with training_event %}
</div>
{% assign counter = counter | plus: 1 %}
{% endfor %}
{% endif %}
</div>
{% if counter == 0 %}
<div class="zero-state-wrapper">
<img class="zero-img" src="https://s3.amazonaws.com/static.northpass.com/Cin7/zero+state/no+live+events.png" alt="">
</div>
{% endif %}
</div>
<script>
$('.my-events-carousel').slick({
infinite: true,
slidesToShow: 5,
slidesToScroll: 5,
prevArrow: "<i class='control-carousel fas fa-chevron-left left-arrow'></i>",
nextArrow: "<i class='control-carousel fas fa-chevron-right right-arrow'></i>",
responsive: [
{
breakpoint: 1200,
settings: {
slidesToShow: 4,
slidesToScroll: 4,
infinite: true
}
},
{
breakpoint: 768,
settings: {
slidesToShow: 1,
slidesToScroll: 1
}
}
]
});
</script>
<style>
.slick-track {
display: flex;
}
.card {
height: 100%;;
}
.card-wrapper {
padding: 1rem 0;
height: auto;
}
.my-events-carousel {
margin: 0 1rem;
}
</style>

View File

@ -1,18 +0,0 @@
{% assign counter = 0 %}
<div class="np-dashboard-resources">
{% if training_events.available.any? %}
<div class="row events-container">
{% for training_event in training_events.available %}
<div class="event-card np-stretch-content">
{% include "cards_training_event" with training_event %}
</div>
{% assign counter = counter | plus: 1 %}
{% endfor %}
</div>
{% endif %}
{% if counter == 0 %}
<div class="zero-state-wrapper">
<img class="zero-img" src="https://s3.amazonaws.com/static.northpass.com/Cin7/zero+state/no+live+events.png" alt="">
</div>
{% endif %}
</div>

View File

@ -1,82 +0,0 @@
{% assign omni = false %}
{% assign core = false %}
{% assign partners = false %}
{% assign log_out = true %}
{% assign both_gorups = false %}
{% if current_person.signed_in? %}
{% assign log_out = false %}
{% for group in current_person.groups %}
{% if group.name contains 'Partners' %}
{% assign partners = true %}
{% elsif group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endfor %}
{% endif %}
{% if omni and core %}
{% assign both_gorups = true %}
{% endif %}
{% include "header" %}
{% include "course_version_outdated_alert", courses: courses.in_catalog %}
<div class="hero-homepage">
<div class="np-max-width">
<div class="hero-text">Course Catalog</div>
<div class="hero-subheading">Get the skills and knowledge you need at the moment you need them. Explore our full course catalog.</div>
</div>
</div>
<main class="np-main np-catalog np-max-width catalog-container">
<div class="filter-container">
{% include 'filters_catalog' %}
</div>
<div class="catalog-content-wrapper">
<div class="catalog-courses-container">
{% include "courses_catalog" %}
</div>
</div>
</main>
{% include "footer" %}
<style>
.catalog-container {
display: flex;
gap: 20px;
padding: 5% 20px;
}
.filter-container {
width: 25%;
margin: 10px;
}
.catalog-content-wrapper {
display: flex;
gap: 20px;
width: 75%;
}
.filters-container {
width: 20%;
border: 3px solid #002e6e;
border-radius: 25px;
}
.catalog-courses-container {
width: 100%;
}
@media only screen and (max-width: 768px) {
.catalog-container {
flex-direction: column;
align-items: center;
}
.filter-container {
width: 100%;
}
.catalog-content-wrapper {
width: 100%;
}
}
</style>

View File

@ -1,10 +0,0 @@
{% include "header" %}
<main class="np-main ">
<div class="np-hidden-mobile np-max-width" id="course-desktop">
{% include "course_desktop_view" %}
</div>
<div class="np-hidden-desktop" id="course-mobile">
{% include "course_mobile_view" %}
</div>
</main>
{% include "footer" %}

View File

@ -1,16 +0,0 @@
{% include "header" %}
{% include "course_version_outdated_alert", courses: courses.in_catalog %}
<div class="hero-catalog-category">
<div class="hero-text-catalog-category">Course Catalog</div>
<div class="catalog-button-container">
<a href="/app/catalog" class="catalog-button">Browse All Courses</a>
</div>
</div>
<div class="category-container">
{% include 'category_cards' %}
</div>
<main class="np-main np-catalog np-subpage-container np-max-width">
</main>
{% include "footer" %}

View File

@ -1,55 +0,0 @@
{% assign omni = false %}
{% assign core = false %}
{% assign partners = false %}
{% assign log_out = true %}
{% if current_person.signed_in? %}
{% assign log_out = false %}
{% for group in current_person.groups %}
{% if group.name contains 'Partners' %}
{% assign partners = true %}
{% else %}
{% if group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% include "header" %}
{% include "course_version_outdated_alert", courses: courses.enrolled %}
<div class="hero-homepage">
<div class="np-max-width">
<div class="hero-text ">My Dashboard</div>
<div class="hero-subheading">Easily view your badges, start and resume courses and learning paths, and revisit courses youve completed here on your dashboard.</div>
</div>
</div>
<div class="section np-max-width">
<div class="heading-dashboard lora">My Badges</div>
<div class="section-content">
{% include 'my_badges_carousel' %}
</div>
</div>
<div class="section np-max-width">
<div class="heading-dashboard lora">My Courses & Paths in Progress</div>
<div class="section-content">
{% include 'my_learning_paths_and_courses_carousel' %}
</div>
</div>
<div class="section np-max-width">
<div class="heading-dashboard lora">Completed Courses</div>
<div class="section-content">
{% include 'my_courses_carousel' %}
</div>
</div>
<div class="section np-max-width">
<div class="heading-dashboard lora">My Live Events</div>
<div class="section-content">
{% include "training_events_dashboard" %}
</div>
</div>
{% include "footer" %}

View File

@ -1,108 +0,0 @@
{% assign omni = false %}
{% assign core = false %}
{% assign partners = false %}
{% assign log_out = true %}
{% if current_person.signed_in? %}
{% assign log_out = false %}
{% for group in current_person.groups %}
{% if group.name contains 'Partners' %}
{% assign partners = true %}
{% else %}
{% if group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% include "header" %}
{% include "course_version_outdated_alert", courses: courses.featured %}
<main class="np-main homepage">
<div class="hero-homepage">
<div class="np-max-width">
{% if partners %}
<div class="hero-text lora">Welcome to Cin7 Academy</div>
{% elsif core %}
<div class="hero-text lora">Welcome to Cin7 Core Academy</div>
{% elsif omni %}
<div class="hero-text lora">Welcome to Cin7 Omni Academy</div>
{% elsif log_out %}
<div class="hero-text lora">Welcome to Cin7 Academy</div>
{% comment %} {% elsif multiprod %} {% endcomment %}
{% comment %} <div class="hero-text lora">Welcome to Cin7 Academy</div> {% endcomment %}
{% else %}
<div class="hero-text lora">Welcome to Cin7 Academy</div>
{% endif %}
<div class="hero-subheading">Learn to create and manage a best-in-class inventory operation for your business.</div>
</div>
</div>
<div class="page-content">
<div class="section np-max-width">
{% if partners %}
<div class="heading lora">Learn Cin7 Core by your function with Learning Paths</div>
<div class="section-content">
{% include 'learning_path_carousel_core' %}
</div>
<div class="heading lora">Grow and broaden your Cin7 Core expertise with Deep Dives</div>
<div class="section-content">
{% include "category_carousel_core"%}
</div>
<div class="heading lora">New to Cin7 Omni? Start learning here!</div>
<div class="section-content">
{% include "category_carousel"%}
</div>
{% elsif core %}
<div class="heading lora">Learn Cin7 Core by your function with Learning Paths</div>
<div class="section-content">
{% include 'learning_path_carousel_core' %}
</div>
<div class="heading lora">Grow and broaden your Cin7 Core expertise with Deep Dives</div>
<div class="section-content">
{% include "category_carousel_core"%}
</div>
{% elsif omni %}
<div class="heading lora">New to Cin7 Omni? Start learning here!</div>
<div class="section-content">
{% include "category_carousel"%}
</div>
{% elsif log_out %}
<div class="heading lora">Learn Cin7 Core by your function with Learning Paths</div>
<div class="section-content">
{% include 'learning_path_carousel_core' %}
</div>
<div class="heading lora">Grow and broaden your Cin7 Core expertise with Deep Dives</div>
<div class="section-content">
{% include "category_carousel_core"%}
</div>
<div class="heading lora">Learn Omni by module and features</div>
<div class="section-content">
{% include "category_carousel"%}
</div>
{% endif %}
</div>
<div class="section np-max-width">
<div class="heading lora">Featured Courses: Integrations</div>
<div class="section-content">
{% include 'featured_courses' %}
</div>
</div>
<div class="button-wrapper">
<a class="catalog-btn" href="/app/catalog">Browse All Courses</a>
</div>
</div>
<div class="section section-info">
<div class="np-max-width info-section-padding">
{% include 'homepage_testimonials' %}
</div>
</div>
</div>
</main>
{% include "footer" %}

View File

@ -1,10 +0,0 @@
{% include "header" %}
<main class="np-main">
<div class="np-hidden-mobile np-max-width" id="learning-path-desktop">
{% include "learning_path_desktop_view" %}
</div>
<div class="np-hidden-desktop" id="learning-path-mobile">
{% include "learning_path_mobile_view" %}
</div>
</main>
{% include "footer" %}

View File

@ -1,76 +0,0 @@
{% assign omni = false %}
{% assign core = false %}
{% assign partners = false %}
{% assign log_out = true %}
{% assign both_gorups = false %}
{% if current_person.signed_in? %}
{% assign log_out = false %}
{% for group in current_person.groups %}
{% if group.name contains 'Partners' %}
{% assign partners = true %}
{% elsif group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endfor %}
{% endif %}
{% if omni and core %}
{% assign both_gorups = true %}
{% endif %}
{% if log_out %}
<script>
window.location.replace('https://academy.cin7.com/learners/sign_in');
</script>
{% endif %}
{% include "header" %}
<div class="hero-homepage">
<div class="np-max-width">
<div class="hero-text">Learning Paths</div>
<div class="hero-subheading">Explore curated learning paths tailored to your function and role.</div>
</div>
</div>
<main class="np-main np-learning-paths np-subpage-container ">
<div class="np-learning-paths-main np-max-width">
{% if current_person.signed_in? %}
{% include "learning_paths_index", items: learning_paths.available %}
{% else %}
<div class="hero-subheading"> You must be signed in to view Learning Paths. </div>
{% endif %}
</div>
</main>
{% include "footer" %}
<script>
document.addEventListener('DOMContentLoaded', function() {
const urlParams = new URLSearchParams(window.location.search);
const categoriesFromURL = urlParams.getAll('category');
if (categoriesFromURL.length === 0) {
return;
}
const cards = document.querySelectorAll('.lp-card');
const cardMatchesCategories = (card, categories) => {
const cardCategories = card.getAttribute('categories').split('[$]');
return categories.every(category => cardCategories.includes(category));
};
const filterCards = () => {
cards.forEach(card => {
if (cardMatchesCategories(card, categoriesFromURL)) {
card.style.display = 'block';
} else {
card.style.display = 'none';
}
});
};
filterCards();
});
</script>

View File

@ -1,43 +0,0 @@
{% assign omni = false %}
{% assign core = false %}
{% assign partners = false %}
{% assign log_out = true %}
{% assign both_gorups = false %}
{% if current_person.signed_in? %}
{% assign log_out = false %}
{% for group in current_person.groups %}
{% if group.name contains 'Partners' %}
{% assign partners = true %}
{% elsif group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endfor %}
{% endif %}
{% if omni and core %}
{% assign both_gorups = true %}
{% endif %}
{% include "header" %}
<main class="np-main np-search np-subpage-container np-max-width">
<div class="np-resource-title">
{% t .title %}
</div>
<div class="np-search-header">
<div class="np-resource-subtitle">
{% t .showing %}
{% comment %} <span class="np-resource-subtitle-number">{{ results.count }}</span> {% endcomment %}
{% t .results_for %}
<span class="np-button-color">"{{ results.term }}"</span>
</div>
</div>
{% if results.items.any? %}
{% render "search_result" for results.items as result, core: core , omni: omni, partners: partners, both_gorups: both_gorups %}
{% else %}
{% include "search_zero_state" %}
{% endif %}
</main>
{% include "footer" %}

View File

@ -1,597 +0,0 @@
/*
Put your custom overlay styles in here
You can use your northpass color palette in this file
{{ color_palette.button_font_color }}
{{ color_palette.button_color }}
{{ color_palette.button_hover_color }}
{{ color_palette.header_font_color }}
{{ color_palette.header_font_hover_color }}
{{ color_palette.header_color }}
*/
body {
font-family: "Inter", sans-serif;
background: #fff;
}
.lora {
font-family: 'Lora';
}
.hero-text {
font-family: 'Lora';
}
.np-header-desktop-nav-link {
font-weight: 700;
}
.np-header-desktop-nav-link:hover {
color: #002EFF;
}
.header-search-input {
border: 3px solid #002e6e;
border-radius: 8px;
max-width: 150px;
}
.note-desc {
font-size: 1vw
}
.hero-text {
font-size: 3.5rem;
font-weight: 400;
}
.hero-homepage {
background: linear-gradient(257.71deg, rgba(255, 255, 255, 0) 41.81%, #FFF 99.32%), url('https://s3.amazonaws.com/static.northpass.com/Cin7/1920x300.png');
background-position: center;
background-size: cover;
padding: 5%;
color: #002f6f;
}
.hero-subheading {
margin-top: 2%;
font-size: 1.25rem;
}
.np-sub-navigation-content-item-active {
background: #002f6f !important;
}
.np-sub-navigation-content-item-link {
display: flex;
justify-content: center;
background: #05cbbf;
color: #fff;
padding: 15px;
border-radius: 8px;
font-weight: 700;
}
.sub-navigation {
background: #fff;
padding: 1rem 0;
}
.np-sub-navigation-content-item {
margin: 0 15px;
}
.info-icon {
width: 125px;
object-fit: cover;
}
.card {
border-radius: 25px;
background: #fff;
box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}
.learning-path-card-image {
width: 100%;
border-radius: 20px 20px 0 0;
}
.card-content-title {
color: #002f6f;
font-size: 1.25rem;
margin: 0;
height: 46px;
}
.course-time {
color: #000000b5;
display: flex;
align-items: center;
gap: 10px
}
.course-desc {
margin-top: 15px;
color: #002f6f;
height: 60px;
}
.lp-link {
text-decoration: none;
}
.slick-track {
margin-left: 0 !important;
margin-right: 0 !important;
}
.section-lp {
background: #dde9fe;
}
.heading {
font-size: 2.5rem;
color: #002f6f;
padding: 2rem 0;
font-weight: 600;
}
.section {
padding: 1rem 0;
}
.section-featured {
background: #fff;
}
.np-top-cta {
background: #fff;
border-radius: 20px;
box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
display: flex;
justify-content: space-between;
align-items: center;
}
.card-image {
position: relative;
}
.np-optional-ribbon {
background: #05CBBF;
color: #fff;
}
.np-card-ribbon {
top: 0;
right: 0;
border-radius: 0 20px;
text-transform: none;
font-size: 0.85rem;
font-weight: 600;
padding: 5px 12.5px;
background: #05CBBF;
}
.lp-progress-text {
font-weight: 700;
font-size: 1.5rem;
}
.lp-button {
background: #002f6f;
color: #fff;
padding: 15px 25px;
border-radius: 25px;
text-decoration: none;
font-weight: 700;
white-space: nowrap;
border: none;
}
.lp-button:hover {
background: #05CBBF;
color: #fff;
}
.lp-course-card {
margin: 30px 0;
background: #fff;
border-radius: 20px;
box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}
.learning-path-outline-content {
display: flex;
justify-content: space-between;
width: 100%;
align-items: center;
}
.learning-path-outline-progress {
font-weight: 600;
}
.lp-desktop-wrapper {
padding: 25px;
background: #fff;
box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
border-radius: 20px;
margin-bottom: 20px;
}
.lp-progress-and-cta-wrapper {
margin-top: 20px;
}
.card {
margin: 10px;
}
.right-arrow {
position: absolute;
bottom: -30px;
padding-left: 50px;
cursor: pointer;
right: 10px;
font-size: 1.5rem;
}
.left-arrow {
position: absolute;
bottom: -30px;
z-index: 1;
padding-left: 10px;
cursor: pointer;
right: 40px;
font-size: 1.5rem;
}
.heading-dashboard {
text-align: left;
font-size: 2.5rem;
color: #002f6f;
padding: 2rem 0;
font-weight: 600;
margin-left: 2rem;
}
.my-learning-paths {
background: #fff;
}
.my-courses {
background: #dde9fe;
}
.my-events {
background: #4d98ff;
}
.events {
background: #fff;
}
.card-container {
text-decoration: none;
}
.events-container {
display: flex;
margin: 0 20px;
}
.catalog-button {
display: flex;
justify-content: center;
background: #002f6f;
color: #fff;
padding: 15px;
border-radius: 8px;
font-weight: 700;
text-decoration: none;
}
.catalog-button-container {
display: flex;
justify-content: flex-end;
}
.hero-catalog-category {
background: #f2ede8;
padding: 5% 20px;
}
.hero-text-catalog-category {
color: #002f6f;
font-size: 3.5rem;
font-weight: 700;
}
.card-learning-path-desktop {
border-radius: 40px;
}
.image-learning-path-desktop {
border-radius: 40px;
}
.category-wrapper {
}
.category-container {
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
}
.category-link {
text-decoration: none;
font-size: 1.5rem;
font-weight: 500;
color: #002f6f;
background: #fff;
border: 3px solid;
border-radius: 20px;
padding: 2rem;
max-width: 1000px;
width: 100%;
margin: 10px 0;
}
.category-container {
margin: 20px 0;
}
.np-card-container {
border-radius: 25px;
box-shadow: none;
}
.np-learning-path-image {
border-bottom-left-radius: 20px;
border-top-left-radius: 20px;
width: 100% !important;
height: 100%;
}
.card-content {
background: #fff;
border-radius: 0 0 25px 25px;
padding: 1.5rem;
}
.catalog-btn {
background: #002f6f;
color: #fff;
padding: 15px 25px;
border-radius: 25px;
text-decoration: none;
font-weight: 700;
}
.button-wrapper {
display: flex;
justify-content: center;
padding: 2.5% 0;
}
.info {
display: flex;
align-items: center;
max-width: 400px;
gap: 5%;
}
.info-wrapper {
display: flex;
gap: 20px;
justify-content: space-between;
flex-wrap: wrap;
}
.info-heading {
color: #002f6f;
font-weight: 600;
font-size: 1.25rem;
}
.info-desc {
color: #002f6f;
font-size: 1rem;
margin-top: 5px;
}
.np-footer-logo-image {
filter: none;
opacity: 1;
}
.section-info {
background: linear-gradient(257.71deg, rgba(255, 255, 255, 0) 41.81%, #FFFFFF 99.32%), #F2EDE8;
}
.np-footer {
background: url('https://s3.amazonaws.com/static.northpass.com/Cin7/Footer+background.png');
background-size: cover;
background-repeat: round;
height: 28%;
}
.np-alert {
display: none;
}
.footer-heading {
font-size: 1.25rem;
color: #fff;
font-weight: 700;
border-bottom: 1px solid #fff;
padding: 10px 0;
width: 150px;
}
.np-footer-navigation-link {
color: #fff;
font-weight: 500;
}
.info-section-heading {
padding: 5% 0;
font-weight: 400;
}
.section-content-info {
padding-bottom: 5%;
}
.info-content {
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-evenly;
}
.np-footer-top {
display: flex;
flex-direction: row;
align-items:flex-start;
}
.np-footer-navigation-list {
flex-direction: column;
gap: 10px;
align-items: flex-start;
}
.np-footer-navigation-link {
padding: 10px 0;
}
.np-footer-navigation {
min-height: 52px;
display: flex;
width: 100%;
justify-content: end;
padding: 0 5%;
}
.np-learning-path-outline-name {
font-weight: 600;
}
.np-top-image {
border-radius: 25px;
}
.content-lp-card-padding {
padding: 25px;
}
.np-card-heading, .np-learning-path-outline-name {
color: #002f6f;
}
.np-card-text {
color: #002f6f;
}
.np-learning-path {
border-radius: 25px;
box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}
.np-learning-paths {
background: #fff;
}
.lp-heading {
font-size: 2.5rem;
color: #002f6f;
padding: 3rem 2rem;
font-weight: 500;
}
.category-card {
text-decoration: none;
height: auto !important;
}
.page-content {
margin: 20px;
}
.catalog-btn:hover {
background: #05CBBF;
color: #fff;
}
.info-section-padding {
padding: 0 20px;
}
.zero-state-wrapper {
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
}
.zero-button-wrapper {
display: flex;
}
.zero-img {
max-width: 400px;
}
.badge-card-image {
width: 60%;
}
.card-badge {
background: #FFFFFF;
display: flex;
justify-content: center;
padding: 2rem;
border-radius: 20px 20px 0 0;
}
.card-category {
background: #002f6f;
display: flex;
justify-content: center;
padding: 2rem;
border-radius: 20px 20px 0 0;
}
.card-content-badge {
text-align: center;
padding: 0;
}
.completed-courses {
margin-top: 10px;
font-weight: 500;
color: #002f6f;
}
.np-header-desktop-nav-list {
justify-content: end;
}
.event-card {
max-width: 330px;
}
.recommended
{
color: #000000b5;
}
.card-type
{
color: #000000b5;
text-align: end;
margin-bottom: 10px;
font-size: 0.85rem;
font-weight: 600;
opacity: 0.75;
}
.course-details {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 15px;
gap: 10px
}
.card:hover {
transform: translateY(-0.125rem);
}
.card-category-core {
background: none;
padding: 0;
}
.card-category-image-core {
width: 100%;
border-radius: 20px 20px 0 0;
}
@media only screen and (max-width: 768px) {
.hero-text {
font-size: 2.5rem;
}
.hero-subheading {
font-size: 1rem;
}
.heading, .heading-dashboard {
font-size: 2rem;
}
.info-section-heading {
text-align: center;
}
.info-wrapper {
justify-content: center;
}
.np-footer-navigation {
justify-content: flex-start;
}
.np-footer-navigation-link {
padding: 0;
margin: 10px;
}
.events-container {
justify-content: center;
}
.dropdown {
display: flex;
justify-content: flex-start;
position: relative;
margin-bottom: 20px;
}
}
.core-category-wrapper {
display: flex;
flex-direction: column;
height: 100%;
}
.course-desc-category-core {
margin-top: 15px;
color: #002f6f;
height: 100%;
display: flex;
align-items: end;
}
.card-content-core {
display: flex;
flex-direction: column;
justify-content: space-between;
}

View File

@ -1,13 +0,0 @@
{% include "header" %}
<div class="hero-homepage">
<div class="np-max-width">
<div class="hero-text">Live Training Events</div>
</div>
</div>
<div class="section events np-max-width">
<div class="section-content">
{% include "training_events_index" %}
</div>
</div>
{% include "footer" %}

View File

@ -1,7 +1,45 @@
{% assign omni = false %}
{% assign core = false %}
{% assign partners = false %}
{% assign redirect = false %}
{% assign both_gorups = false %}
{% if current_person.signed_in? %}
{% assign log_out = false %}
{% for group in current_person.groups %}
{% if group.name contains 'Partners' %}
{% assign partners = true %}
{% else %}
{% if group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% if omni and core %}
{% assign both_gorups = true %}
{% endif %}
{% unless partners or both_gorups %}
{% if core and course.name contains 'Omni' %}
{% assign redirect = true %}
{% elsif omni and course.name contains 'Core' %}
{% assign redirect = true %}
{% endif %}
{% endunless %}
{% if redirect %}
<script>window.location.replace('/app')</script>
{% endif %}
<div class="np-card-container">
<div class="np-resource-header np-course-header np-card-padding-large">
{% include "course_header" %}
<div class="lp-header-container">
<div class="lp-heading lora course-name"> {{ course.name }}</div>
</div>
<div class="np-divider"></div>
<div class="row np-course-content np-card-padding-dynamic">
<div class="col-xs-12 col-sm-6">

View File

@ -1,9 +1,36 @@
{% if courses.in_catalog.any? %}
<div class=" row">
{% for course in courses.in_catalog %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
{% include "cards_course" with course %}
</div>
{% if current_person.signed_in? %}
{% if partners or both_gorups %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
{% include "cards_course" with course %}
</div>
{% else %}
{% if omni %}
{% if course.name contains 'Omni' %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
{% include "cards_course" with course %}
</div>
{% endif %}
{% elsif core %}
{% if course.name contains 'Core' %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
{% include "cards_course" with course %}
</div>
{% endif %}
{% else %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
{% include "cards_course" with course %}
</div>
{% endif %}
{% endif %}
{% else %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
{% include "cards_course" with course %}
</div>
{% endif %}
{% endfor %}
</div>
{% else %}

View File

@ -1,16 +1,40 @@
{% assign omni = false %}
{% assign core = false %}
{% assign log_out = true %}
{% if current_person.signed_in? %}
{% assign log_out = false %}
{% for group in current_person.groups %}
{% if group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endfor %}
{% endif %}
<div class="carousel-wrapper">
<div class="feature-courses-carousel">
{% for course in courses.in_catalog %}
{% if course.properties.feature_course_omni == true or course.properties.feature_course_core == true %}
<div class="card-wrapper">
{% include 'cards_course' %}
</div>
{% if core %}
{% if course.properties.feature_course_core == true %}
<div class="card-wrapper">
{% include 'cards_course' %}
</div>
{% endif %}
{% elsif omni %}
{% if course.properties.feature_course_omni == true %}
<div class="card-wrapper">
{% include 'cards_course' %}
</div>
{% endif %}
{% else %}
{% if course.properties.feature_course_omni == true and course.properties.feature_course_core == true %}
<div class="card-wrapper">
{% include 'cards_course' %}
</div>
{% endif %}
{% endif %}
{% endfor %}
</div>
@ -20,7 +44,7 @@
$('.feature-courses-carousel').slick({
infinite: true,
slidesToShow: 4,
slidesToScroll: 4,
slidesToScroll: 5,
prevArrow: "<i class='control-carousel fas fa-chevron-left left-arrow'></i>",
nextArrow: "<i class='control-carousel fas fa-chevron-right right-arrow'></i>",
responsive: [
@ -54,7 +78,7 @@
padding: 1rem 0;
height: auto;
}
.feature-courses-carousel {
.my-courses-carousel {
margin: 0 1rem;
}
</style>

View File

@ -2,20 +2,58 @@
<div class="filters-option-container">
<div class="filter-categories">
<div class="filter-option-heading">Categories</div>
<div class="filter-option-container" id="categoryFilters">
{% assign unique_core_categories = "" %}
{% for course in courses.in_catalog %}
{% for category in course.categories %}
{% unless unique_core_categories contains category.name %}
<div class="category-option">
<input class="filter-checkbox" type="checkbox" id="{{category.name}}" />
<label>{{category.name}}</label>
</div>
{% assign unique_core_categories = unique_core_categories | append: category.name %}
{% endunless %}
{% endfor %}
{% endfor %}
</div>
{% if omni %}
<div class="filter-option-container" id="categoryFilters">
{% assign unique_omni_categories = "" %}
{% for course in courses.in_catalog %}
{% for category in course.categories %}
{% if category.name contains 'Omni' %}
{% unless unique_omni_categories contains category.name %}
<div class="category-option">
<input class="filter-checkbox" type="checkbox" id="{{category.name}}" />
<label>{{category.name}}</label>
</div>
{% assign unique_omni_categories = unique_omni_categories | append: category.name %}
{% endunless %}
{% endif %}
{% endfor %}
{% endfor %}
</div>
{% elsif core %}
<div class="filter-option-container" id="categoryFilters">
{% assign unique_core_categories = "" %}
{% for course in courses.in_catalog %}
{% if course.name contains '[Core]' %}
{% for category in course.categories %}
{% if category.name contains 'Core' %}
{% unless unique_core_categories contains category.name %}
<div class="category-option">
<input class="filter-checkbox" type="checkbox" id="{{category.name}}" />
<label>{{category.name}}</label>
</div>
{% assign unique_core_categories = unique_core_categories | append: category.name %}
{% endunless %}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
</div>
{%elsif log_out%}
<div class="filter-option-container" id="categoryFilters">
{% assign unique_core_categories = "" %}
{% for course in courses.in_catalog %}
{% for category in course.categories %}
{% unless unique_core_categories contains category.name %}
<div class="category-option">
<input class="filter-checkbox" type="checkbox" id="{{category.name}}" />
<label>{{category.name}}</label>
</div>
{% assign unique_core_categories = unique_core_categories | append: category.name %}
{% endunless %}
{% endfor %}
{% endfor %}
</div>
{% endif %}
</div>
<div class="fiter-duration">
<div class="filter-option-heading">Course Duration</div>
@ -27,11 +65,11 @@
<div class="time-option">
<input class="duration-checkbox" type="checkbox" id="<20" />
<label>< 20 min</label>
</div>
</div>
<div class="time-option">
<input class="duration-checkbox" type="checkbox" id="<30" />
<label>< 30 min</label>
</div>
</div>
<div class="time-option">
<input class="duration-checkbox" type="checkbox" id="<45" />
<label>< 45 min</label>
@ -41,7 +79,7 @@
<label>< 60 min</label>
</div>
</div>
</div>
</div>
</div>
<style>

View File

@ -1,7 +1,21 @@
{% assign omni = false %}
{% assign core = false %}
{% assign partners = false %}
{% assign log_out = true %}
{% if current_person.signed_in? %}
{% assign log_out = false %}
{% for group in current_person.groups %}
{% if group.name contains 'Partners' %}
{% assign partners = true %}
{% else %}
{% if group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
<header class="np-header np-header-color">
@ -251,4 +265,3 @@
});
});
</script>

View File

@ -1,7 +1,15 @@
<div class="np-learning-paths-resources">
{% if items.any? %}
{% for learning_path in items %}
{% if core %}
{% if learning_path.name contains 'Core' %}
{% include "cards_learning_path" with learning_path %}
{% endif %}
{% elsif omni %}
{% if learning_path.name contains 'Omni'%}
{% include "cards_learning_path" with learning_path %}
{% endif %}
{% endif %}
{% endfor %}
{% else %}
<div class="np-learning-paths-resources-container">

View File

@ -1,3 +1,26 @@
{% assign omni = false %}
{% assign core = false %}
{% assign partners = false %}
{% assign log_out = true %}
{% assign both_gorups = false %}
{% if current_person.signed_in? %}
{% assign log_out = false %}
{% for group in current_person.groups %}
{% if group.name contains 'Partners' %}
{% assign partners = true %}
{% elsif group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endfor %}
{% endif %}
{% if omni and core %}
{% assign both_gorups = true %}
{% endif %}
{% include "header" %}
{% include "course_version_outdated_alert", courses: courses.in_catalog %}

View File

@ -1,17 +1,54 @@
{% assign omni = false %}
{% assign core = false %}
{% assign log_out = true %}
{% if current_person.signed_in? %}
{% assign log_out = false %}
{% for group in current_person.groups %}
{% if group.name contains 'Core' %}
{% assign core = true %}
{% elsif group.name contains 'Omni' %}
{% assign omni = true %}
{% endif %}
{% endfor %}
{% endif %}
{% include "header" %}
{% include "course_version_outdated_alert", courses: courses.featured %}
<main class="np-main homepage">
<div class="hero-homepage">
<div class="np-max-width">
{% if core %}
<div class="hero-text lora">Welcome to Cin7 Core Academy</div>
{% elsif omni %}
<div class="hero-text lora">Welcome to Cin7 Omni Academy</div>
{% elsif log_out %}
<div class="hero-text lora">Welcome to Cin7 Academy</div>
{% comment %} {% elsif multiprod %} {% endcomment %}
{% comment %} <div class="hero-text lora">Welcome to Cin7 Academy</div> {% endcomment %}
{% else %}
<div class="hero-text lora">Welcome to Cin7 Academy</div>
{% endif %}
<div class="hero-subheading">Learn to create and manage a best-in-class inventory operation for your business.</div>
</div>
</div>
<div class="page-content">
<div class="section np-max-width">
{% if core %}
<div class="heading lora">Learn Cin7 Core by your function with Learning Paths</div>
<div class="section-content">
{% include 'learning_path_carousel_core' %}
</div>
<div class="heading lora">Grow and broaden your Cin7 Core expertise with Deep Dives</div>
<div class="section-content">
{% include "category_carousel_core"%}
</div>
{% elsif omni %}
<div class="heading lora">New to Cin7 Omni? Start learning here!</div>
<div class="section-content">
{% include "category_carousel"%}
</div>
{% elsif log_out %}
<div class="heading lora">Learn Cin7 Core by your function with Learning Paths</div>
<div class="section-content">
{% include 'learning_path_carousel_core' %}
@ -24,6 +61,7 @@
<div class="section-content">
{% include "category_carousel"%}
</div>
{% endif %}
</div>
<div class="section np-max-width">
<div class="heading lora">Featured Courses: Integrations</div>

View File

@ -64,7 +64,6 @@
<label class="np-input-label" for="{{version}}_learner_password">
{% t .new_password %} *
</label>
<label class="np-input-label" for="desktop_learner_password">Password must be a minimum of 8 characters, with at least 1 capital letter, 1 number, and 1 special character.</label>
<input
class="np-input"
id="{{version}}_learner_password"
@ -91,7 +90,6 @@
<label class="np-input-label" for="{{version}}_learner_password">
{% t shared.password %} *
</label>
<label class="np-input-label" for="desktop_learner_password">Password must be a minimum of 8 characters, with at least 1 capital letter, 1 number, and 1 special character.</label>
<input
class="np-input"
id="{{version}}_learner_password"

View File

@ -0,0 +1,32 @@
{% 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 aria-label="Navigation tabs" 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>
{% if features.commerce? %}
<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>
{% endif %}
</div>
</nav>
{% endunless %}
{% endif %}

View File

@ -0,0 +1,29 @@
<div class="np-homepage-featured" >
<div class="row np-flex-center">
<div class="col-xs-12 col-sm-8">
{% include "basic_group_homepage_ongoing_training", items: catalog_courses %}
{% include "lps_in_progress" %}
</div>
<div class="col-xs-12 col-sm-3">
<div id="divContentbyProduct" class="content-by-product">
<div id="divGetCertified" class="content-by-product">
<div class="left-content-title">
Get Certified
</div>
{% include "content_by_certificates" %}
</div>
<div style="display: flex;flex-direction: row-reverse;">
<a id="seemorecertificates" >See more..</a>
</div>
<div id="divCalender" class="upcomongevents">
<div class="left-content-title">
Upcoming Events
</div>
{% include "content_by_bundles" %}
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,314 @@
<div class="np-homepage-ongoing np-max-width">
<div class="np-homepage-ongoing-text">
<div class="np-homepage-headline">
Courses
</div>
<div class="ongoing-carousel-controls np-hidden-mobile">
<div class="prev-arrow carousel-control"><i class="far fa-chevron-left"></i></div>
<div class="next-arrow carousel-control"><i class="far fa-chevron-right"></i></div>
</div>
</div>
{% if items.size > 0 %}
{% assign new_courses_count = 0 %}
<div class="ongoing-courses-wrapper">
<div class="ongoing-courses-slider">
{% for course in courses.enrolled %}
{% if course.started? == false %}
{% assign new_courses_count = new_courses_count | plus: 1 %}
<div class="ongoing-course-slide">
{% include "cards_article" with course %}
</div>
{% endif %}
{% endfor %}
</div>
</div>
{% if new_courses_count > 0 %}
{% else %}
<script>console.log("{{new_courses_count}}")</script>
<div class="np-homepage-featured-empty">
<div class="np-zero-state-text">
You don't have any new training at this moment.
</div>
<img
class="np-zero-state-courses"
alt="Coming Soon!"
/>
</div>
{% endif %}
{% else %}
<div class="np-homepage-featured-empty">
<div class="np-zero-state-text">
Coming Soon!
</div>
<img
class="np-zero-state-courses"
alt="Coming Soon!"
/>
</div>
{% endif %}
</div>
<div class="np-homepage-ongoing np-max-width">
<div class="np-homepage-ongoing-text">
<div class="np-homepage-headline">
Ongoing Training
</div>
<div class="ongoing-carousel-controls2 np-hidden-mobile">
<div class="prev-arrow carousel-control"><i class="far fa-chevron-left"></i></div>
<div class="next-arrow carousel-control"><i class="far fa-chevron-right"></i></div>
</div>
</div>
{% if items.size > 0 %}
{% assign ongoing_courses_count = 0 %}
<div class="ongoing-courses-wrapper">
<div class="ongoing-courses-slider2">
{% for course in items %}
{% if course.properties.is_article_course == false %}
{% if course.progress > 0 and course.progress < 100 %}
{% assign ongoing_courses_count = ongoing_courses_count | plus: 1 %}
<div class="ongoing-course-slide">
{% include "cards_course_ongoing" with course %}
</div>
{% endif %}
{% endif %}
{% endfor %}
</div>
</div>
{% if ongoing_courses_count > 0 %}
{% else %}
<script>console.log("{{ongoing_courses_count}}")</script>
<div class="np-homepage-featured-empty">
<div class="np-zero-state-text">
You don't have any ongoing training at this moment.
</div>
<img
class="np-zero-state-courses"
alt="You don't have any ongoing training at this moment."
/>
</div>
{% endif %}
{% else %}
<div class="np-homepage-featured-empty">
<div class="np-zero-state-text">
You don't have any ongoing training at this moment.
</div>
<img class="np-zero-state-courses" alt="You don't have any ongoing training at this moment." />
</div>
{% endif %}
</div>
<style>
.np-max-width {
padding: 0px 40px;
}
.ongoing-courses-wrapper {
margin: 0 -8px;
}
.np-homepage-ongoing-text {
padding: 0 0 32px;
text-align:left;
display:flex;
}
.np-homepage-ongoing-text .np-homepage-headline {
font-weight: 400;
font-size: 24px;
line-height: 32px;
color:#000000;
align-self: flex-start;
}
.ongoing-carousel-controls {
align-self:flex-end;
display:flex;
}
.ongoing-carousel-controls .carousel-control {
margin: 0 8px;
background-color: #ebe8f3;
border-radius: 50%;
width: 40px;
height: 40px;
display: flex;
justify-content: center;
align-items: center;
color: #3c228a;
cursor: pointer;
transition:opacity 0.2s;
}
.ongoing-carousel-controls .carousel-control[aria-disabled='true'] {
opacity: 0.3;
cursor:default;
}
.ongoing-carousel-controls .carousel-control.next-arrow {
margin-right:0;
}
.ongoing-carousel-controls2 {
align-self:flex-end;
display:flex;
}
.ongoing-carousel-controls2 .carousel-control {
margin: 0 8px;
background-color: #ebe8f3;
border-radius: 50%;
width: 40px;
height: 40px;
display: flex;
justify-content: center;
align-items: center;
color: #3c228a;
cursor: pointer;
transition:opacity 0.2s;
}
.ongoing-carousel-controls2 .carousel-control[aria-disabled='true'] {
opacity: 0.3;
cursor:default;
}
.ongoing-carousel-controls2 .carousel-control.next-arrow {
margin-right:0;
}
.ongoing-courses-slider {
display:flex;
}
.ongoing-courses-slider2 {
display:flex;
}
.ongoing-course-slide {
margin-bottom: 12px;
}
.ongoing-course-slide .np-card {
margin:0 auto;
padding: 0;
height:100%;
}
.ongoing-course-slide .np-card-container {
height: 100%;
margin: 0 8px;
}
.ongoing-see-more-wrapper {
display:flex;
justify-content:flex-end;
margin-top:8px;
}
.ongoing-see-more-wrapper a {
color:#3C228A;
}
@media (min-width:768px){
.np-homepage-ongoing-text {
flex-direction:row;
justify-content:space-between;
}
.np-homepage-ongoing-text .np-homepage-headline {
font-size: 32px;
line-height: 40px;
}
.ongoing-see-more-wrapper {
margin-top:12px;
}
}
</style>
<script>
window.addEventListener("DOMContentLoaded", (event) => {
var ongoingSlider = tns({
container: '.ongoing-courses-slider',
items: 1,
slideBy: 'page',
autoplay: false,
gutter: 8,
controls:false,
navPosition:"bottom",
loop: false,
mouseDrag: true,
speed: 500,
controlsContainer: document.querySelector('.ongoing-carousel-controls'),
responsive: {
600: {
items: 2,
},
768: {
items:3,
gutter: 16,
controls:true
}
}
});
});
window.addEventListener("DOMContentLoaded", (event) => {
var ongoingSlider = tns({
container: '.ongoing-courses-slider2',
items: 1,
slideBy: 'page',
autoplay: false,
gutter: 8,
controls:false,
navPosition:"bottom",
loop: false,
mouseDrag: true,
speed: 500,
controlsContainer: document.querySelector('.ongoing-carousel-controls2'),
responsive: {
600: {
items: 2,
},
768: {
items:3,
gutter: 16,
controls:true
}
}
});
});
window.addEventListener("DOMContentLoaded", (event) => {
var ongoingSlider = tns({
container: '.ongoing-courses-slider3',
items: 1,
slideBy: 'page',
autoplay: false,
gutter: 8,
controls:false,
navPosition:"bottom",
loop: false,
mouseDrag: true,
speed: 500,
controlsContainer: document.querySelector('.ongoing-carousel-controls3'),
responsive: {
600: {
items: 2,
},
768: {
items:3,
gutter: 16,
controls:true
}
}
});
});
</script>

View File

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

View File

@ -0,0 +1,12 @@
<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

@ -0,0 +1,21 @@
{% 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

@ -0,0 +1,27 @@
<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

@ -0,0 +1,12 @@
<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

@ -0,0 +1,38 @@
{% capture course_path %}{% route course, id: course.id %}{% endcapture %}
<div class="np-card np-card-article">
<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.name }}
</h3>
<div class="np-card-content-subtitle">
{{ course.short_description }}
{% if course.properties.course_length %}
<div class="course-length">{{course.properties.course_length}}</div>
{% endif %}
</div>
<div class="np-card-content-footer">
<div class="np-card-content-progress np-button-color">
{% if course.progress == 100 %}
Viewed
{% endif %}
</div>
<a class="np-button np-button-wide" href="{{ course_path }}">
{% t shared.view %}
</a>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,38 @@
<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-learning-progress-text-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

@ -0,0 +1,80 @@
<div class="np-card">
<div class="np-card-container">
<div class="np-image-wrapper">
{% if course.ribbon %}
<div class="np-card-ribbon">
{{ course.ribbon }}
</div>
{% endif %}
<div class="course-img-content">
<h3 class="np-card-content-title">
{{ course.name }}
</h3>
{% comment %} {% if course.properties.course_length %}
<div class="course-length">{{course.properties.course_length}}</div>
{% endif %} {% endcomment %}
</div>
<img
class="np-card-image"
alt="{{ course.name }}"
src="{{ course.image_url }}"
>
</div>
<div class="np-card-content np-card-content-vertical np-card-padding">
{% if course.short_description != "" %}
<div class="np-card-content-subtitle">
{{ course.short_description }}
{% if course.properties.course_length %}
<div class="course-length">{{course.properties.course_length}}</div>
{% endif %}
</div>
{% else %}
<div></div>
{% endif %}
<div class="np-card-content-footer">
<div class="np-card-content-progress np-button-color">
{% if course.properties.course_cost > 0 %}
{% if course.enrolled? == false %}
Paid Course
{% elsif course.progress > 0 and course.progress < 100 %}
Purchased
{% elsif course.progress == 100 %}
Purchased
{% else %}
Purchased
{% endif %}
{% else %}
{% t shared.progress, count: course.progress %}
{% endif %}
</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 }}">
{% if course.properties.course_cost > 0 %}
{% if course.enrolled? == false %}
Preview
{% elsif course.progress > 0 and course.progress < 100 %}
Continue
{% elsif course.progress == 100 %}
Retake
{% else %}
Start
{% endif %}
{% elsif course.progress > 0 and course.progress < 100 %}
Continue
{% elsif course.progress == 100 %}
Retake
{% else %}
View
{% endif %}
</a>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,38 @@
{% capture course_path %}{% route course, id: course.id %}{% endcapture %}
<a href="{{course_path}}" class="np-card np-card-ongoing">
<div class="np-card-container">
<div class="np-image-wrapper">
{% if course.ribbon %}
<div class="np-card-ribbon">
{{ course.ribbon }}
</div>
{% endif %}
<div class="course-img-content">
<h3 class="np-card-content-title">
{{ course.name }}
</h3>
</div>
<img
class="np-card-image"
alt="{{ course.name }}"
src="{{ course.image_url }}"
>
</div>
<div class="np-card-content np-card-content-vertical np-card-padding">
<div class="np-card-content-subtitle">
{{ course.short_description }}
</div>
<div class="np-card-content-footer">
<div class="np-card-content-progress np-button-color">
{% t shared.progress, count: course.progress %}
</div>
<div class="np-card-progress-bar-container">
<div style="width: {{ course.progress }}%" class="np-button-background-color np-card-progress-bar">
</div>
</div>
</div>
</div>
</div>
</a>

View File

@ -1,12 +1,12 @@
<div class="np-card np-no-horizontal-padding lp-card" categories="{%for category in learning_path.categories%}{{category.name}}[$]{%endfor%}">
<div class="np-card np-no-horizontal-padding">
<div class="np-card-container">
<div class="np-learning-path">
<div class="lp-image-container">
<img
alt="{{ learning_path.name }}"
class="np-card-image np-learning-path-image"
src="{{ learning_path.image_url }}"
/>
<div class="lp-image-wrapper">
<img
alt="{{ learning_path.name }}"
class="np-card-image np-learning-path-image"
src="{{ learning_path.image_url }}"
/>
</div>
<div class="np-card-text-wrapper">
<div class="np-hidden-desktop np-card-header">
@ -26,9 +26,11 @@
{{ learning_path.name }}
</h3>
<div class="np-card-content-subtitle">
{{ learning_path.instructor_names }}
</div>
{% if learning_path.instructor_names %}
<div class="np-card-content-subtitle">
{{ learning_path.instructor_names }}
</div>
{% endif %}
<div class="np-hidden-mobile np-card-content-description">
{{ learning_path.description }}
@ -51,7 +53,7 @@
np-button-color">
{% t shared.progress, count: learning_path.progress %}
</div>
<a class="lp-button" href="{% route learning_path, id: learning_path.id %}">
<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">
@ -65,4 +67,8 @@
</div>
</div>
</div>
<div class="np-card-stack">
<div class="np-card-stack-level-1"></div>
<div class="np-card-stack-level-2"></div>
</div>
</div>

View File

@ -0,0 +1,55 @@
<a href="{% route learning_path, id: learning_path.id %}" class="np-card np-card-learning-path-progress">
<div class="np-card-container lp-progress-card-wrapper">
<div class="learning-path-title np-hidden-desktop">{{ learning_path.name }}</div>
<div class="lp-progress-circle-wrapper">
<svg
class="progress-ring"
width="130"
height="130"
data-total="{{learning_path.items.count}}"
>
<circle
class="progress-ring__circle circle-bg"
stroke="#E0E4EB"
stroke-width="9"
fill="transparent"
r="57"
cx="65"
cy="65"/>
<circle
class="progress-ring__circle circle-progress"
stroke="#3C228A"
stroke-width="9"
fill="transparent"
r="57"
cx="65"
cy="65"/>
<text x="50%" y="50%" text-anchor="middle" stroke="t#fff" stroke-width="1px" fill="#333" dy=".3em">{{learning_path.progress}}%</text>
</svg>
</div>
<div class="lp-content">
<div class="learning-path-title np-hidden-mobile">{{ learning_path.name }}</div>
<div class="lp-total-courses">
Total Courses: <span>{{ learning_path.items.count }} Courses</span>
</div>
<div class="lp-completed-items">
{% assign completed_count = 0 %}
{% for item in learning_path.items %}
{% if item.completed? %}
{% assign completed_count = completed_count | plus: 1 %}
{% endif %}
{% endfor %}
Completed:
{% if completed_count > 1 or completed_count == 0 %}
<span><div data-completed='{{completed_count}}'>{{completed_count}}</div> Courses</span>
{% else %}
<span><div data-completed='{{completed_count}}'>{{completed_count}}</div> Course</span>
{% endif %}
</div>
</div>
</div>
</a>

View File

@ -1,5 +1,5 @@
<div class="card">
<a class="card-container" href="{% route training_session, id: training_event.sessions.first.id %}">
<div class="np-card np-card-training-event">
<div class="np-card-container">
<div class="np-card-content-training-event">
<h3 class="np-card-content-title">
{{ training_event.title }}
@ -12,6 +12,7 @@
{% t .next_session %}
</span>
<div class="np-card-training-session-date">
<div class="np-button-background-color np-card-training-session-date-bar"></div>
<div class="np-card-training-session-date-day">
{{ training_event.sessions.first.day }}
</div>
@ -32,7 +33,13 @@
<span class="np-card-training-sessions-label">
{% t .sessions, count: training_event.sessions.size %}
</span>
<a
class="np-button np-button-wide"
href="{% route training_session, id: training_event.sessions.first.id %}"
>
{% t shared.view %}
</a>
</div>
</div>
</a>
</div>
</div>

View File

@ -0,0 +1,20 @@
<div class="np-dashboard-resources">
{% for item in catalog.items %}
{% if item.type == "bundle" %}
<a href="{{ item.path }}" style="text-decoration: unset;">
<div class="content-catds">
<div class="content-catds-text">
{{ item.name }}
</div>
<div class="content-arrow"><i class="far fa-duotone fa-solid fa-greater-than"></i></div>
</div>
</a>
{% endif %}
{% endfor %}
</div>
<style>
</style>

View File

@ -0,0 +1,130 @@
{% if basic_3p_user %}
{% assign lpitems = learning_paths.enrolled %}
{% else %}
{% assign lpitems = learning_paths.available %}
{% endif %}
<div class="np-dashboard-resources">
{% for learning_path in lpitems %}
<script>
console.log("{{learning_path.name}}")
</script>
{% if learning_path.has_certificate? %}
<a href="app/learning_paths/{{learning_path.id}}" style="text-decoration: unset;">
<div class="content-catds">
<div class="content-catds-text">
{{ learning_path.name }}
</div>
<div class="content-arrow"><i class="far fa-chevron-right"></i></div>
</div>
</a>
{% endif %}
{% endfor %}
</div>
<style>
.content-catds {
border: 2px solid #bac4ca;
border-radius: 10px;
/* padding: 5px; */
text-align: left;
margin: 15px;
display: flex;
justify-content: space-between;
/* align-content: stretch; */
flex-wrap: nowrap;
align-items: center;
height: 45px;
}
.content-catds:hover {
background-color: lightgray;
cursor: pointer;
}
.content-catds-text {
color: #333;
padding-left: 20px;
font-size: 16px;
/* margin-bottom: 24px; */
/* height: 30px; */
/* padding-top: 5px; */
}
.content-arrow {
padding-top: 5px;
background-color: #ebe8f3;
/* height: 30px; */
width: 50px;
border-radius: 0px 10px 10px 0px;
height: 42px;
width: 50px;
display: flex;
align-items: center;
justify-content: center;
}
</style>
<script>
$(document).ready(function(){
if ($("#divContentbyProduct").height() < "300") {
$("#seemore").css("dispaly","none")
}
else
{
$("#divContentbyProduct").height("300");
$("#seemore").css("dispaly","none")
}
console.log($("#divGetCertified").height())
if ($("#divGetCertified").height() < 300) {
$("#seemorecertificates").css("display","none")
}
else
{
$("#divGetCertified").height("300");
$("#seemorecertificates").html("See more..");
}
$("#seemore").click(function () {
if ($("#divContentbyProduct").height() == "300")
{
$("#divContentbyProduct").height("auto");
$("#seemore").html("Show less..");
}
else
{
$("#divContentbyProduct").height("300");
$("#seemore").html("See more..");
}
$("#divContentbyProduct").overflow("hidden");
});
$("#seemorecertificates").click(function () {
if ($("#divGetCertified").height() == "300")
{
$("#divGetCertified").height("auto");
$("#seemorecertificates").html("Show less..");
}
else
{
$("#divGetCertified").height("300");
$("#seemorecertificates").html("See more..");
}
$("#divGetCertified").overflow("hidden");
});
});
</script>

View File

@ -0,0 +1,43 @@
<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 col-md-5">
<div class="course-image-wrapper">
<div class="course-title">{{course.name}}</div>
<img
src="{{ course.image_url }}"
class="np-top-image np-top-image-spacing"
alt="{{ course.name }}"
/>
</div>
{% 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 col-md-7">
<div class="np-top-cta">
{% include "course_progress_and_cta" %}
</div>
{% include "course_outline" %}
</div>
</div>
</div>

View File

@ -0,0 +1,34 @@
<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="javascript:goBack();" class="np-back-button" aria-label="{% t shared.go_back %}">
<i class="far fa-arrow-left np-hidden-mobile np-icon-back"></i>
</a>
{% comment %} {{ course.name }} {% endcomment %}
</div>
<div class="course-image-wrapper np-hidden-desktop">
<div class="course-title ">{{course.name}}</div>
<img
src="{{ course.image_url }}"
class="np-top-image np-hidden-desktop"
alt="{{ course.name }}"
/>
</div>
<script>
function goBack() {
const fallbackUrl = '/app';
var prevPage = window.location.href;
window.history.go(-1);
setTimeout(function(){
if (window.location.href == prevPage) {
window.location.href = fallbackUrl;
}
}, 800);
}
</script>

View File

@ -0,0 +1,41 @@
<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

@ -0,0 +1,31 @@
<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

@ -0,0 +1,131 @@
<div class="np-top-cta-progress-content">
<div class="np-top-cta-progress-title np-text-title">
{% t .header %}
</div>
<div class="np-progress-bar-container">
<div
style="width: {{ course.progress }}%"
class="np-button-background-color np-card-progress-bar">
</div>
</div>
{% if course.enrolled? == false and course.properties.course_cost != 0 %}
<div class="np-top-cta-progress-text np-button-color" style="font-size: 25px;">
$ {{ course.properties.course_cost }}
</div>
</div>
<a
class="np-top-button np-button-font-color np-button np-button-big"
<input id="snappayhppform_response" name="snappayhppform_response" />
<button type="button" value="Submit" onclick="myclick()" class="button" style="color: white; border:none; background:transparent;">
<strong>Purchase</strong>
<div id='mylink'></div>
</button>
<input src="https://snappayglobal.com/Interop/HostedPaymentPage" id="snappayhppform_response" type="hidden" name="snappayhppform_response" />
</a>
{% else %}
<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>
{% 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 and course.progress == 0 %}
{% 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 %}
{% endif %}
{% comment %}
<div id="dvsnappay_hppform">
</div>
<div id="dvsnappay_hppform">
<!-- HTML is dynamically placed here -->
</div>
{% endcomment %}
<script type="text/javascript">
function myclick() {
sessionStorage.clear()
var mylink = document.getElementById('mylink');
mylink.onclick = function () {
var t = document.createElement("script");
t.setAttribute("id", "snappay_hppform");
t.setAttribute("src", "https://snappayglobal.com/Areas/Interop/Scripts/HPPForm.js");
t.setAttribute("data-target", "#snappayhppform_response");
t.setAttribute("data-callback", "submit_external_ecommerce");
t.setAttribute("data-accountid", "1002491072");
t.setAttribute("data-merchantid", "350160170881");
t.setAttribute("data-customerid", "100");
t.setAttribute("data-paymentmode", "CC");
t.setAttribute("data-transactionamount", '{{ course.properties.course_cost }}');
t.setAttribute("data-currencycode", "USD");
t.setAttribute("data-firstname", "{{ current_person.first_name }}");
t.setAttribute("data-lastname", "{{ current_person.last_name }}");
t.setAttribute("data-email", "{{ current_person.email }}");
t.setAttribute("data-redirectionurl", "https://learn.walmartdataventures.com/app/courses/{{ course.id }}"); //url they are currently on
t.setAttribute("data-snappayurl", "https://snappayglobal.com/Interop/HostedPaymentPage");
document.getElementsByTagName("head")[0].appendChild(t);
return false;
}
document.getElementById('mylink').click();
}
var response = document.getElementById('snappayhppform_response');
function submit_external_ecommerce() {
var result = $("#snappayhppform_response").val();
sessionStorage.setItem("snappayhpp_response", result);
sessionStorage.setItem("caller", "js");
var obj = JSON.parse(result);
var response = obj['response']
var inside = JSON.parse(obj['response'])
var stringside = JSON.stringify(inside)
sessionStorage.setItem("stringside", stringside)
}
var error_code = JSON.parse(sessionStorage.getItem('stringside')).pgreturncode
var error_desc = JSON.parse(sessionStorage.getItem('stringside')).pgreturndescription
if(error_code != 000 ) {
var alert = document.getElementById("fiveserv-alert")
document.getElementById("fiveserv-alert").style.display = 'grid';
var error_text = document.createTextNode(error_desc + ". Please try again.");
alert.appendChild(error_text)
sessionStorage.clear()
} else {
window.location.replace('https://learn.walmartdataventures.com/c/{{ course.enrollment_code }}')
sessionStorage.clear()
}
// Set course prop as whole number, if 0, don't do anything
// If user is not enrolled in course, run functions - check error message
// With redirect they will land back on page, with error message from sessionstorage
// If no error, auto-redirect/click to enrollment link. window.replace(/c/aklwjdalkjd)
</script>

View File

@ -0,0 +1,34 @@
{% if courses.in_catalog.any? %}
<div class="np-catalog-courses row row-with-thumbnails">
{% for course in courses.in_catalog %}
{% unless course.properties.is_article_course %}
{% if course.id == "6cc26c57-34db-4b8e-a38b-ad321ce18add" or course.id == "ac4fbf2e-ed8f-404d-b995-f0ef73481466" %}
{% if current_person.properties.hide_api_certification_exam_course == false %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
{% include "cards_course" with course %}
</div>
{% endif %}
{% else %}
{% if course.id == "b3225a47-448d-4988-962a-18d37d6616d0" or course.id == "fdc8acdc-0b7c-4064-a52b-1955379d411b" %}
{% unless course.progress == 100 %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
{% include "cards_course" with course %}
</div>
{% endunless %}
{% else %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
{% include "cards_course" with course %}
</div>
{% endif %}
{% endif %}
{% endunless %}
{% endfor %}
</div>
{% else %}
{% capture message %}
{% t shared.zero_state.courses.catalog,
key: current_school.course_vocabulary
%}
{% endcapture %}
{% include "courses_zero_state", message: message %}
{% endif %}

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