moved a bunch of churned customers templates to a hidden folder. Added to Sandata's script and the new groups. Notes.

This commit is contained in:
Norm Rasmussen
2024-05-06 17:07:40 -04:00
parent e9a721cfd6
commit 86ef310892
1042 changed files with 4425 additions and 339 deletions

Binary file not shown.

View File

@ -0,0 +1,40 @@
{% if courses.enrolled.any? %}
{% assign in_progress_courses = courses.enrolled | map: "progress" %}
{% assign any_not_in_progress = false %}
{% for in_progress_course in in_progress_courses %}
{% if in_progress_course == 0 %}
{% assign any_not_in_progress = true %}
{% endif %}
{% endfor %}
<div class="row row-with-thumbnails">
{% for course in courses.enrolled %}
{% if course.started? == false %}
{%- comment -%} {% if course.progress == 0 %}
{% assign is_course_from_learning_path = false %}
{% for lp_courses in learning_path_courses %}
{% for lp_course in lp_courses %}
{% if lp_course.id == course.id %}
{% assign is_course_from_learning_path = true %}
{% endif %}
{% endfor %}
{% endfor %}
{% unless is_course_from_learning_path %}
{% assign any_course = true %}
{% endunless %}
{% endif %}
{%- endcomment -%}
<div class="{{ class }} enrolled-course-filter-card" data-progress='{{ course.progress }}'>
{% include "cards_course" with course %}
</div>
{% endif %}
{% endfor %}
</div>
{% else %}
{% include "courses_zero_state", message: "Yikes! You don’t have any Enrolled Courses." %}
{% endif %}

View File

@ -0,0 +1,74 @@
<footer class="np-footer">
<div class="np-footer-top">
{% if website_footer.show_navigation_links? %}
<div class="np-footer-navigation">
<ul class="np-footer-navigation-list">
{% for website_navigation in navigations.footer_navigations %}
<li class="np-footer-navigation-item">
<a
class="np-footer-navigation-link np-button-color"
href="{{ website_navigation.path }}"
{% if website_navigation.external? %} target="_blank" {% endif %}
>
For support, please email training@talkspace.com
</a>
</li>
{% endfor %}
</ul>
</div>
{% endif %}
{% if current_school.logo_url %}
<h2 class="np-footer-logo">
<a href="{% route home %}">
{% comment %} <img
alt="{{ current_school.name }}"
class="np-footer-logo-image"
src="{{ current_school.logo_url }}"
/>{% endcomment %}
</a>
</h2>
{% else %}
<div class="np-school-name np-header-font-color">
{{ current_school.name }}
</div>
{% endif %}
</div>
<div class="np-footer-bottom">
<nav class="np-footer-social-links">
{% if website_footer.show_social_media_links? %}
<ul class="np-footer-social-links-list">
{% for social_media_link in website_footer.social_media_links %}
<li class="np-footer-social-links-item">
<a
class="np-footer-social-links-link np-button-color"
href="{{ social_media_link.link }}"
target="_blank" title="{{ social_media_link.name }}"
>
<i class="np-footer-social-links-icon
np-button-color
fab fa-{{ social_media_link.name }}"
></i>
</a>
</li>
{% endfor %}
</ul>
{% endif %}
</nav>
<div class="np-footer-support">
<div class="np-footer-support-item np-footer-support-help">
{% t .need_help %}
</div>
<div class="np-footer-support-item np-footer-support-email">
{% t .email %}
</div>
<a
class="np-footer-support-item np-footer-support-link np-button-color"
href="mailto:{{ website_footer.school_customer_service_email }}"
>
{{ website_footer.school_customer_service_email }}
</a>
</div>
</div>
</footer>

View File

@ -0,0 +1,11 @@
{% styles default %}
{% styles colors %}
{% styles custom %}
<script>
let url = window.location.href;
if(url == 'https://talkspacefountain.northpass.com/app/courses' || url == 'https://talkspacefountain.northpass.com/app/catalog' || url == 'https://talkspacefountain.northpass.com/app/learning_paths' || url == 'https://talkspacefountain.northpass.com/app/training_events'){
window.location.href = 'https://talkspace-sandbox.northpass.com/app';
}
</script>

View File

@ -0,0 +1,180 @@
<header class="np-header np-header-color">
<div class="np-header-content">
<div class="np-hidden-desktop np-header-mobile-menu-nav">
{% if current_person.signed_in? %}
<button
data-toggle-class="np-hidden"
class="np-header-mobile-menu-nav-button fal fa-times np-hidden np-header-font-color"
data-toggle-target=".np-header-mobile-avatar-menu,
.np-header-mobile-menu-content, .np-main, .np-footer"
></button>
<button
data-test="open-mobile-menu"
data-toggle-class="np-hidden"
class="np-header-mobile-menu-nav-button np-header-mobile-avatar-menu"
data-toggle-target=".fa-times, .np-header-mobile-menu-content, .np-main, .np-footer"
>
<img
alt="{{ current_person.name }}"
class="np-header-avatar-image"
src="{{ current_person.avatar_url }}"
/>
</button>
{% endif %}
</div>
{% if current_school.logo_url %}
<h1 class="np-header-logo">
<a href="{% route home %}">
<img
alt="{{ current_school.name }}"
class="np-header-logo-image"
src="{{ current_school.logo_url }}"
/>
</a>
</h1>
{% else %}
<a href="{% route home %}" class="np-school-name np-header-font-color">
{{ current_school.name }}
</a>
{% endif %}
<div class="np-hidden-mobile np-header-desktop-nav">
<ul class="np-header-desktop-nav-list">
{% for website_navigation in navigations.header_navigations_external %}
<li class= "np-header-desktop-nav-item">
<a
href="{{ website_navigation.path }}"
class="np-header-desktop-nav-link np-header-font-color"
target="_blank"
>
{{ website_navigation.name }}
</a>
</li>
{% endfor %}
</ul>
</div>
{% if current_person.signed_in? %}
<div class="np-hidden-mobile np-header-search np-header-search-expanded">
<form action="{% route search %}" method="get" data-test="desktop-search">
<input
aria-label="{% t .search %}"
class="np-header-search-input np-header-font-background-color"
type="text"
name="q"
placeholder="{% t .search %}"
/>
<i class="np-header-search-icon far fa-search"></i>
</form>
</div>
<div 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 %}
</div>
{% endif %}
</div>
</header>
<div class="np-hidden-desktop">
<div class="np-header-mobile-menu-content np-hidden">
{% if current_person.signed_in? %}
<img
alt="{{ current_person.name }}"
class="np-header-mobile-menu-content-avatar"
src="{{ current_person.avatar_url }}"
/>
<div class="np-header-mobile-menu-content-name">
{{ current_person.name }}
</div>
{% endif %}
<div class="np-header-mobile-menu-content-nav">
<form
class="np-header-search"
data-test="mobile-search"
method="get"
action="{% route search %}"
>
<input
aria-label="{% t .search %}"
class="np-header-search-input"
type="text"
name="q"
placeholder="{% t .search %}"
/>
<i class="np-header-search-icon far fa-search"></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" %}

View File

@ -0,0 +1,154 @@
<div class="my-courses-filters" style="display: none;">
<div class="progress-filter-dropdown-container">
<button class="progress-filter-dropdown np-button">
<span style="margin-right: 10px">
Not Started
</span>
<i class="fas fa-angle-down"></i>
</button>
<div class="progress-filter-dropdown-content">
<span class="progress-filter-item" id="not-started" style="display: none">Not Started</span>
<span class="progress-filter-item" id="view-all">View All</span>
<span class="progress-filter-item" id="in-progress">In Progress</span>
<span class="progress-filter-item" id="completed">Completed</span>
</div>
</div>
</div>
<script>
window.addEventListener('DOMContentLoaded', (event) => {
setDefaultFilter()
document.querySelectorAll('.progress-filter-item').forEach((item) => {
item.addEventListener('click', (clickEvent) => {
changeFilterButtonName(clickEvent.target);
showAllOptions();
hideChosenOption(clickEvent.target);
filter(clickEvent.target);
})
})
document.querySelector('.progress-filter-dropdown').addEventListener('click', showDropdown)
window.addEventListener("click", hideDropdown);
});
function hideDropdown(event) {
if (!event.target.matches('.progress-filter-dropdown')) {
var dropdowns = document.getElementsByClassName("progress-filter-dropdown-content");
var i;
for (i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains('progress-filter-dropdown-content-show')) {
openDropdown.classList.remove('progress-filter-dropdown-content-show');
}
}
}
}
function showDropdown() {
document.querySelector('.progress-filter-dropdown-content').classList.add('progress-filter-dropdown-content-show')
}
function hideChosenOption(chosenOption) {
chosenOption.style.display = 'none';
}
function showAllOptions() {
document.querySelectorAll('.progress-filter-item').forEach((item) => {
item.style.removeProperty('display');
});
}
function changeFilterButtonName(newName) {
document.querySelector(".progress-filter-dropdown span").innerHTML = newName.innerHTML;
}
function filter(filterOption) {
let allFilterCourses = document.querySelectorAll('.enrolled-course-filter-card');
let currentFilter = filterOption.id;
let checker = {
'100': 'completed',
'0': 'not-started'
}
if(filterOption.id == 'view-all'){
allFilterCourses.forEach((course) => course.style.display = 'flex')
} else {
allFilterCourses.forEach((courseCard) => {
if(checker[courseCard.getAttribute('data-progress')] && checker[courseCard.getAttribute('data-progress')] == currentFilter){
courseCard.style.display = 'flex'
} else if(!checker[courseCard.getAttribute('data-progress')] && currentFilter == 'in-progress'){
courseCard.style.display = 'flex'
} else {
courseCard.style.display = 'none'
}
})
}
}
function setDefaultFilter() {
let allFilterCourses = document.querySelectorAll('.enrolled-course-filter-card');
allFilterCourses.forEach((course) => course.style.display = 'flex')
}
</script>
<style>
.my-courses-filters {
align-items: center;
background: #f5f2ff;
color: #737373;
display: flex;
flex-direction: column;
font-weight: 600;
justify-content: center;
letter-spacing: .56px;
line-height: 1.71;
padding: 10px 4%;
position: relative;
transition: .2s;
width: 100%;
z-index: 32;
}
.progress-filter-dropdown-container {
position: relative;
display: inline-block;
}
.progress-filter-dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
.progress-filter-item {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
cursor: pointer;
}
.progress-filter-dropdown * {
pointer-events: none;
}
.progress-filter-item:hover {background-color: #f1f1f1}
.progress-filter-dropdown-content-show {
display: block;
}
@media (min-width: 768px) {
.my-courses-filters {
flex-direction: row;
/* justify-content: right; */
}
}
</style>

View File

@ -0,0 +1,60 @@
<main class="np-box-container np-open-access">
<div class="np-box">
{% include "header_minimal" %}
<div class="np-box-content-container">
<form class="np-form np-box-content" action="{{ form.url }}" method="get" novalidate>
{% form_authenticity_token %}
<div class="np-form-headline">
Talkspace-Northpass Academy
</div>
<div class="np-form-subheadline">
Thanks for your interesting in Talkspace Education. This training link is no longer valid. If you have any questions or urgent needs please email training@talkspace.com.
</div>
{% comment %}
<div class="np-form-field">
<label class="np-input-label" for="learner_first_name">
{% t shared.first_name %}
</label>
<input
class="np-input"
autofocus="autofocus"
type="text"
name="first_name"
id="learner_first_name"
value="{{ form.first_name | escape }}"
/>
</div>
<div class="np-form-field">
<label class="np-input-label" for="learner_last_name">
{% t shared.last_name %}
</label>
<input
class="np-input"
type="text"
name="last_name"
id="learner_last_name"
value="{{ form.last_name | escape }}"
/>
</div>
<div class="np-form-field">
<label class="np-input-label" for="learner_email">
{% t shared.email_address %}
</label>
<input
class="np-input"
type="text"
name="email"
id="learner_email"
value="{{ form.email | escape }}"
/>
</div>
<input
type="submit"
name="commit"
value="{% t shared.enter %}"
class="np-button np-button-big np-form-action"
/>{% endcomment %}
</form>
</div>
</div>
</main>

View File

@ -0,0 +1,54 @@
{% include "header" %}
{% include "course_version_outdated_alert", courses: courses.enrolled %}
{% comment %}{% include "sub_navigation" %}{% endcomment %}
<div class="my-course-banner"></div>
<main class="np-main np-dashboard np-subpage-container np-max-width">
<div class="uk-container uk-container-center">
<div class="uk-padding-horizontal">
<div class="my-course-banner-content">
<h3 class="custom-title"><img src="{{ current_school.logo_url }}" width="130" alt="TALKSPACE FOUNTAIN LOGO" style="width: 20rem; margin-bottom: -3rem;"></h3>
{% if current_person.groups.size > 0 %}
{% assign persongroup = current_person.groups.last.name | split: "-" %}
{% endif %}
<p class="np-resource-title" style="font-size: 1.5rem; font-weight: 600; margin-bottom: -1rem;">Hi {{current_person.first_name}}! &#128075; {% if current_person.groups.size > 0 %} {{ persongroup | slice: 1 }} {% endif %}</p>
<div> <p style="font-weight: 500;">Please complete all your 2023 Compliance Courses.</p>
<p style="font-weight: 300;">Click the drop down box below to view courses that are in progress or
complete.</p></div>
</div>
</div>
</div>
{% include "my_courses_filter" %}
<div class="row np-flex-center">
<div class="col-xs-12 dashboard-courses">
{% comment %}{% if features.learning_paths? %}
<div class="np-dashboard-resources-title">
{% t shared.learning_paths %}
</div>
{% include "learning_paths_index", items: learning_paths.enrolled %}
{% endif %}
<div class="np-dashboard-resources-title">
{% t shared.course_vocabulary.plural, key: current_school.course_vocabulary %}
</div>{% endcomment %}
{%- comment -%} {% include "courses_index", class: "col-xs-12 col-sm-6 np-stretch-content" %} {%- endcomment -%}
{% include "enrolled_courses_index", class: "col-xs-12 col-sm-6 np-stretch-content" %}
</div>
{% comment %}{% if features.training_events? %}
<div class="np-grid-spacing col-xs-12 col-sm-4">
<div class="np-dashboard-resources-title">
{% t .upcoming_events %}
</div>
{% include "training_events_dashboard" %}
</div>
{% endif %}{% endcomment %}
</div>
</main>
{% include "footer" %}
<script>
window.addEventListener('DOMContentLoaded', (event) => {
document.querySelector('.my-courses-filters').style.removeProperty('display');
})
</script>

View File

@ -0,0 +1,56 @@
{% comment %}{% include "header" %}
{% include "course_version_outdated_alert", courses: courses.featured %}
<main class="np-main np-homepage">
<div class="np-homepage-hero">
<img class="np-homepage-hero-image"
src="{{ homepage.artwork_url }}"
alt="{{ homepage.headline }}"
/>
<div class="np-homepage-hero-content">
<div class="np-homepage-headline np-header-font-color">
{{ homepage.headline }}
</div>
<div class="np-homepage-subheadline np-header-font-color">
{{ homepage.subheadline }}
</div>
<a class="np-homepage-hero-cta np-button" href="{% route catalog %}">
{% t .discover %}
</a>
</div>
</div>
<div class="np-homepage-featured np-max-width">
<div class="np-homepage-featured-text">
<div class="np-homepage-headline">
{{ homepage.featured_courses_headline }}
</div>
<div class="np-homepage-subheadline">
{{ homepage.featured_courses_subheadline }}
</div>
</div>
{% if courses.featured.any? %}
<div class="np-homepage-featured-courses row">
{% for course in courses.featured %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
{% include "cards_course" with course %}
</div>
{% endfor %}
</div>
{% else %}
<div class="np-homepage-featured-empty">
<div class="np-zero-state-text">
{% t .empty, key: current_school.course_vocabulary %}
</div>
<img
class="np-zero-state-courses"
alt="{% t .empty, key: current_school.course_vocabulary %}"
/>
</div>
{% endif %}
</div>
</main>
{% include "footer" %}{% endcomment %}
<script>
window.location.href = 'https://talkspacefountain.northpass.com/app/dashboard';
</script>

View File

@ -0,0 +1,192 @@
/*
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 }}
*/
/*========= Header ==========*/
.np-header{
background: #fff;
}
.np-header-font-background-color{
background: #000;
}
@media screen and (min-width: 768px){
.np-header {
height: 80px;
padding: 0 4%;
position: inherit;
}
}
/* ---------------------------------------------------------------------------------------------------------------- */
/*========= Course banner==========*/
.my-course-banner{
position: relative;
width: 100%;
height: 150px;
background-color: #0FC1A7;
/* background-image: url(https://dvtemp.doubleverify.com/wp-content/uploads/2019/11/large-purple-v.svg); */
/* background-repeat: no-repeat; */
}
.my-course-banner-content{
position: relative;
width: 1014px;
max-width: 100%;
min-height: 247px;
margin: 0 auto;
margin-top: -124px;
margin-bottom: 3rem;
padding: 33px 40px 25px;
box-sizing: border-box;
text-align: center;
background: #FFFFFF;
box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.25);
border-radius: 10px;
}
.my-course-banner-content p {
padding: 27px 10px 0;
text-align: center;
font-size: 18px;
line-height: 1.64em;
}
a.continue-start-btn{
color: #14113B;
display: block;
margin: 0 0 10px;
line-height: 1em;
font-weight: bold;
letter-spacing: 0.025em;
text-indent: 2px;
}
.uk-container.school-website-course-index-list {
max-width: 1200px !important;
margin-bottom: 75px !important;
}
.school-website-course-list > li {
padding-left: 40px;
opacity: 1 !important;
}
.school-website-course-index-list .uk-width-1-1.uk-padding {
padding: 0 !important;
}
/* ---------------------------------------------------------------------------------------------------------------- */
/*========= Buttons ==========*/
.np-button,
.np-button-background-color{
background: #0FC1A7 !important;
}
.np-button-color{
color: #0FC1A7;
}
.np-button:hover{
background: #263159;
}
/* ---------------------------------------------------------------------------------------------------------------- */
/*========footer part ========*/
.footer-main{
background-color: #fff;
color: #fff;
padding-top: 19px;
padding-bottom: 17px;
overflow: hidden;
box-shadow: 0 -1px 2px rgba(0,0,0,0.15);
}
.footer-logo{
text-align: left;
}
.footer-main h3{
font-size: 16px;
line-height: 25px;
margin-bottom: 6px;
color: #fff;
font-weight: 500;
}
.footer-menu-col ul {
padding-right: 10px;
padding-left: 0;
margin-top: 10px;
}
.footer-main .footer-menu-col li {
margin-bottom: 12px;
display: list-item;
list-style-type: none;
}
.footer-main .footer-menu-col li:before{
display: none;
}
.footer-main .footer-menu-col a {
font-size: 14px;
line-height: 21px;
color: #68667d;
transition: color .2s ease-in-out;
text-decoration: none;
}
.footer-main .footer-menu-col a:hover {
color: #fff;
}
.footer-divder {
position: relative;
height: 197px;
}
.footer-divder:before {
content: "";
display: block;
width: 1px;
height: 100%;
top: 5px;
left: 50%;
position: absolute;
background-color: #5e5f75;
}
.footer-form-wrap {
padding-top: 14px;
padding-bottom: 49px;
}
.footer-socials-wrap {
display: flex;
justify-content: space-between;
}
.footer-social-left {
padding-top: 12px;
margin-left: -20px;
}
.footer-social-left a {
margin-left: 20px;
}
.footer-social-right {
padding-top: 5px;
margin-right: -19px;
}
.footer-social-right a {
margin-right: 19px;
}
input.email-field{
width: 100%;
background-color: #f9f9fa;
border: 1px solid #d5d4dc;
border-radius: 3px;
font-size: 14px;
line-height: 18px;
color: #68667d;
transition: border-color .1s ease-in-out;
display: block;
height: 40px;
padding: 0 15px;
}
.submit-btn{
display: none;
}
.sk-branding-banner{
display: none !important;
}