From 1a2c86d665249c34cbfc6a7758778ec68f34e8ed Mon Sep 17 00:00:00 2001 From: Norm Rasmussen Date: Wed, 12 Apr 2023 08:36:25 -0400 Subject: [PATCH] Added Front. A few script changes. Jupyter notebooks practice for customer analysis. --- Custom_Templates/customer_templates/.DS_Store | Bin 14340 -> 14340 bytes .../Front/_cards_course.html.liquid | 48 ++ .../Front/_cards_course_old.html.liquid | 210 ++++++ .../Front/_cards_learning_path.html.liquid | 70 ++ .../_cards_learning_path_homepage.html.liquid | 43 ++ .../_cards_learning_path_vertical.html.liquid | 63 ++ .../Front/_carousel_instructors.html.liquid | 82 +++ .../Front/_catalog_filter.html.liquid | 112 +++ .../_catalog_filtter_courses.html.liquid | 210 ++++++ .../Front/_course_description.html.liquid | 6 + .../Front/_course_desktop_view.html.liquid | 33 + .../Front/_course_mobile_view.html.liquid | 54 ++ .../Front/_course_outline.html.liquid | 39 ++ .../_course_progress_and_cta.html.liquid | 51 ++ .../Front/_courses_catalog.html.liquid | 16 + .../Front/_footer.html.liquid | 124 ++++ .../Front/_head.html.liquid | 11 + .../Front/_header.html.liquid | 289 ++++++++ .../_homepage_courses_carousel.html.liquid | 51 ++ .../Front/_learning_path_course.html.liquid | 74 ++ .../_learning_path_desktop_view.html.liquid | 27 + ...learning_path_progress_and_cta.html.liquid | 60 ++ .../_learning_paths_homepage.html.liquid | 28 + .../Front/_progress_circle.html.liquid | 79 +++ .../Front/_sub_navigation.html.liquid | 34 + .../_training_events_zero_state.html.liquid | 30 + .../Front/_widget_course_progress.html.liquid | 73 ++ .../Front/catalog.html.liquid | 28 + .../Front/course.html.liquid | 87 +++ .../Front/courses.html.liquid | 13 + .../Front/dashboard.html.liquid | 54 ++ .../Front/homepage.html.liquid | 135 ++++ ...a6-4427-44a0-b49e-70ba3616ec7f.html.liquid | 63 ++ ...73-e559-4be8-8af6-ab5fa22fb0df.html.liquid | 63 ++ .../Front/learning_path.html.liquid | 57 ++ .../Front/learning_paths.html.liquid | 16 + .../Front/styles.css.liquid | 662 ++++++++++++++++++ .../Front/training_events.html.liquid | 21 + .../Front/unsubscribe.html.liquid | 30 + .../_enrolled_courses_index.html.liquid | 40 ++ .../_my_courses_filter.html.liquid | 154 ++++ .../Talkspace_1099/dashboard.html.liquid | 18 +- Scripts/Jupyter/app_usage.ipynb | 409 +++++++++++ Scripts/Jupyter/cust_arr_usage.ipynb | 0 Scripts/Jupyter/sketch_tests.ipynb | 254 ++----- 45 files changed, 3834 insertions(+), 187 deletions(-) create mode 100644 Custom_Templates/customer_templates/Front/_cards_course.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_cards_course_old.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_cards_learning_path.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_cards_learning_path_homepage.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_cards_learning_path_vertical.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_carousel_instructors.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_catalog_filter.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_catalog_filtter_courses.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_course_description.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_course_desktop_view.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_course_mobile_view.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_course_outline.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_course_progress_and_cta.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_courses_catalog.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_footer.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_head.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_header.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_homepage_courses_carousel.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_learning_path_course.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_learning_path_desktop_view.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_learning_path_progress_and_cta.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_learning_paths_homepage.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_progress_circle.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_sub_navigation.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_training_events_zero_state.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/_widget_course_progress.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/catalog.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/course.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/courses.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/dashboard.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/homepage.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/learning-path-0e9846a6-4427-44a0-b49e-70ba3616ec7f.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/learning-path-41690773-e559-4be8-8af6-ab5fa22fb0df.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/learning_path.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/learning_paths.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/styles.css.liquid create mode 100644 Custom_Templates/customer_templates/Front/training_events.html.liquid create mode 100644 Custom_Templates/customer_templates/Front/unsubscribe.html.liquid create mode 100644 Custom_Templates/customer_templates/Talkspace_1099/_enrolled_courses_index.html.liquid create mode 100644 Custom_Templates/customer_templates/Talkspace_1099/_my_courses_filter.html.liquid create mode 100644 Scripts/Jupyter/app_usage.ipynb create mode 100644 Scripts/Jupyter/cust_arr_usage.ipynb diff --git a/Custom_Templates/customer_templates/.DS_Store b/Custom_Templates/customer_templates/.DS_Store index 9268ffb484c80acb1ff53358c45f66eb0040c805..5eb57d3bd2a090fb2bb1e302749de5815e0ebf7c 100644 GIT binary patch delta 162 zcmZoEXepTB&)BmuV7EM@{bnA8W~O>p1~-NxhJ1!RhLW6g!{Frn+yVv!K$6YPcX3I| t$xi}Ga&TIO&iVG~h$E1Vq9TQWih>Mu8#ebTm2qrt(XQm&T&u#)3;<#HDK`KB delta 52 zcmZoEXepTB&)BgsV7EM@^=2N0W~R;j%B37E3=9mslO3c)C$E=g-K-@2lw~u!!8ex8 IwW{pQ0J%61zW@LL diff --git a/Custom_Templates/customer_templates/Front/_cards_course.html.liquid b/Custom_Templates/customer_templates/Front/_cards_course.html.liquid new file mode 100644 index 00000000..0e02eb47 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_cards_course.html.liquid @@ -0,0 +1,48 @@ +
+
+ {{ course.name }} +
+
+
+ {% if course.progress == 0 %} + {% t shared.progress, count: course.progress %} + {% elsif course.progress > 0 and course.progress < 100 %} + IN PROGRESS + {% else %} + Completed + {% endif %} +
+ {% if course.properties.duration != blank %} +
+ + {{course.properties.duration}} +
+ {% endif %} +
+ {% capture course_path %}{% route course, id: course.id %}{% endcapture %} + +

+ {{ course.name }} +

+
+
+ {{course.short_description}} +
+ +
+
+ + {% for category in course.categories %} + {{category.name}} + {% endfor %} +
diff --git a/Custom_Templates/customer_templates/Front/_cards_course_old.html.liquid b/Custom_Templates/customer_templates/Front/_cards_course_old.html.liquid new file mode 100644 index 00000000..bd4b4c63 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_cards_course_old.html.liquid @@ -0,0 +1,210 @@ + +
+
+ {% if course.ribbon %} +
+ {{ course.ribbon }} +
+ {% endif %} +
+ {{ course.name }} +
+
+

+ {{ course.name }} +

+
+ {% if course.properties.duration != blank %} + {{course.properties.duration}} + {% endif %} +
+ +
+ +
+
+
+
+

{{ course.name }}

+
+ {% if course.properties.duration != blank %} +
{{course.properties.duration}}
+ {% endif %} +
+
+
{% if course.short_description != blank %} {{course.short_description}} {%endif%}
+
+
+
+ {% capture course_path %}{% route course, id: course.id %}{% endcapture %} + {% if course.has_to_restart? %} + {% include "course_version_outdated_popup", path: course_path %} + {% endif %} + +
+
+ +
+ {% for category in course.categories %} + {{category.name}} + {% endfor %} +
+ + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/_cards_learning_path.html.liquid b/Custom_Templates/customer_templates/Front/_cards_learning_path.html.liquid new file mode 100644 index 00000000..3c858068 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_cards_learning_path.html.liquid @@ -0,0 +1,70 @@ + + +{% if learning_path.enrolled? %} + {% assign lp_courses_count = 0 | times: 1 %} + {% assign sum_of_progress = 0.0 | times: 1 %} + {% for item in learning_path.items %} + {% if item.course? %} + {% assign lp_courses_count = lp_courses_count | plus: 1 %} + {% assign sum_of_progress = sum_of_progress | plus: item.progress %} + {% endif %} + {% endfor %} + {% if lp_courses_count == 0 %} + {% assign lp_progress = 0 %} + {% else %} + {% assign lp_progress = sum_of_progress | divided_by: lp_courses_count | round %} + {% endif %} +{% else %} + {% assign lp_progress = 0 %} +{% endif %} + + +
+
+
+
+ {{ learning_path.name }} +
+ +
+
+

+ {{ learning_path.name }} +

+ +
+ {{ learning_path.description }} +
+ + +
+
+
+
+
\ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/_cards_learning_path_homepage.html.liquid b/Custom_Templates/customer_templates/Front/_cards_learning_path_homepage.html.liquid new file mode 100644 index 00000000..08903247 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_cards_learning_path_homepage.html.liquid @@ -0,0 +1,43 @@ +
+ +

+ {{ learning_path.name }} +

+ {{ learning_path.name }} +
+
+ + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/_cards_learning_path_vertical.html.liquid b/Custom_Templates/customer_templates/Front/_cards_learning_path_vertical.html.liquid new file mode 100644 index 00000000..d4b6fb6f --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_cards_learning_path_vertical.html.liquid @@ -0,0 +1,63 @@ + +{% assign lp_set_front_for_my_company_desc = "This learning path is for account admins who are responsible for setting up your company's Front account." %} +{% assign lp_front_for_daily_work_desc = "This learning path is for Front users who will be using Front for their daily work and team collaboration." %} +{% assign lp_make_smarter_decisions_with_front_analytics_desc = "This learning path is for users who want to leverage Front Analytics to help them make more intelligent and insightful business decisions."%} + +
+
+ {{ learning_path.name }} +
+
{% t shared.learning_path.title %}
+

+ {% if learning_path.name == "Make smarter decisions with Front analytics" %} + Front Analytics + {%else%} + {{ learning_path.name }} + {%endif%} +

+
+ {% if learning_path.name == "Set up Front for my company" %} + {{lp_set_front_for_my_company_desc}} + {% elsif learning_path.name == "Front for my daily work" %} + {{lp_front_for_daily_work_desc}} + {% elsif learning_path.name == "Make smarter decisions with Front analytics" %} + {{lp_make_smarter_decisions_with_front_analytics_desc}} + {% endif %} +
+ +
+
+
diff --git a/Custom_Templates/customer_templates/Front/_carousel_instructors.html.liquid b/Custom_Templates/customer_templates/Front/_carousel_instructors.html.liquid new file mode 100644 index 00000000..74a498eb --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_carousel_instructors.html.liquid @@ -0,0 +1,82 @@ +{% assign used_instructor_names = "" %} + + + + + + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/_catalog_filter.html.liquid b/Custom_Templates/customer_templates/Front/_catalog_filter.html.liquid new file mode 100644 index 00000000..64b0355b --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_catalog_filter.html.liquid @@ -0,0 +1,112 @@ +{% assign diff_1 = 0 | times: 1 %} +{% assign diff_2 = 0 | times: 1 %} +{% assign diff_3 = 0 | times: 1 %} + +{% assign time_1 = 0 | times: 1 %} +{% assign time_2 = 0 | times: 1 %} +{% assign time_3 = 0 | times: 1 %} +{% assign time_4 = 0 | times: 1 %} +{% assign time_5 = 0 | times: 1 %} + +{% assign co_categories = '' | split: '' %} +{% for co in courses.in_catalog %} + + {% for cat in co.categories %} + {% assign cat_name = cat.name | split: '!@#$%^&*()' %} + {% assign co_categories = co_categories | concat: cat_name %} + {% endfor %} + + {% case co.properties.difficulty %} + {% when "Beginner" %} + {% assign diff_1 = diff_1 | plus: 1 %} + {% when "Advanced" %} + {% assign diff_2 = diff_2 | plus: 1 %} + {% when "Expert" %} + {% assign diff_3 = diff_3 | plus: 1 %} + {% endcase %} + + {% if co.properties.course_time < 10 %} + {% assign time_1 = time_1 | plus: 1 %} + {% elsif co.properties.course_time < 30 %} + {% assign time_2 = time_2 | plus: 1 %} + {% elsif co.properties.course_time < 60 %} + {% assign time_3 = time_3 | plus: 1 %} + {% elsif co.properties.course_time < 120 %} + {% assign time_4 = time_4 | plus: 1 %} + {% else %} + {% assign time_5 = time_5 | plus: 1 %} + {% endif %} + +{% endfor %} +{% assign co_unique_categories = co_categories | uniq | sort %} + + + + +
+
+
+ CATEGORY +
+
+ All +
+ {% for cat in co_unique_categories %} + {% assign number_of_courses = co_categories | split: cat %} + {% assign number_of_courses = number_of_courses.size | minus: 1 %} +
+ {{ cat }} ({{ number_of_courses }}) +
+ {% endfor %} +
+
+ + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/_catalog_filtter_courses.html.liquid b/Custom_Templates/customer_templates/Front/_catalog_filtter_courses.html.liquid new file mode 100644 index 00000000..dd76f632 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_catalog_filtter_courses.html.liquid @@ -0,0 +1,210 @@ +
+
+ Filters +
+
+

+ Plan +

+
+ Starter +
+
+ Growth +
+
+ Scale +
+
+ Premier +
+
+ Trial +
+

+ Difficulty +

+
+ Beginner +
+
+ Intermediate +
+

+ Duration +

+
+ <10 min +
+
+ 15-30 min +
+
+
+ + + + + + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/_course_description.html.liquid b/Custom_Templates/customer_templates/Front/_course_description.html.liquid new file mode 100644 index 00000000..269f9216 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_course_description.html.liquid @@ -0,0 +1,6 @@ +

+ {% t .header, key: current_school.course_vocabulary %} +

+
+ {{ course.full_description }} +
diff --git a/Custom_Templates/customer_templates/Front/_course_desktop_view.html.liquid b/Custom_Templates/customer_templates/Front/_course_desktop_view.html.liquid new file mode 100644 index 00000000..05788764 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_course_desktop_view.html.liquid @@ -0,0 +1,33 @@ +
+
+
+ {{ course.name }} +
+ {% include "course_description" %} + + {% comment %} {% if course.categories.any? %} +
+ {% include "course_categories" %} +
+ {% endif %} {% endcomment %} + + {% if course.instructors.any? %} +
+ {% include "course_instructors" %} +
+ {% endif %} +
+ +
+
+
+
+ {% include "course_progress_and_cta" %} +
+ {% include "course_outline" %} +
+
\ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/_course_mobile_view.html.liquid b/Custom_Templates/customer_templates/Front/_course_mobile_view.html.liquid new file mode 100644 index 00000000..18fff28a --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_course_mobile_view.html.liquid @@ -0,0 +1,54 @@ +
+ + {{ course.name }} + +
+ {% include "course_description" %} +
+
+ +
+ {% include "course_progress_and_cta" %} +
+ +
+ {% include "course_outline" %} +
+ +{% comment %} {% if course.progress == 0 %} +
+ {% include "course_description" %} +
+
+ {% include "course_outline" %} +
+{% else %} +
+ {% include "course_outline" %} +
+
+ {% include "course_description" %} +
+{% endif %} {% endcomment %} + +{% comment %} {% if course.categories.any? %} +
+ {% include "course_categories" %} +
+{% endif %} {% endcomment %} + +{% if course.instructors.any? %} +
+ {% include "course_instructors" %} +
+{% endif %} + +{% if course.events.any? %} +
+ {% include "course_events" %} +
+{% endif %} diff --git a/Custom_Templates/customer_templates/Front/_course_outline.html.liquid b/Custom_Templates/customer_templates/Front/_course_outline.html.liquid new file mode 100644 index 00000000..493c0278 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_course_outline.html.liquid @@ -0,0 +1,39 @@ +
+
+ {% t .header, key: current_school.course_vocabulary %} +
+
+
    + {% for section in course.sections %} +
  1. +
    + {{ section.name }} +
    +
      + {% for activity in section.activities %} + +
    1. + {% if activity.completed? %} + + {% if activity.locked? %} + {% include "course_activity_locked" %} + {% else %} + {% include "course_activity_unlocked", class: "np-course-outline-content-activity-link-completed" %} + {% endif %} +
      + {% else %} + + {% if activity.locked? %} + {% include "course_activity_locked" %} + {% else %} + {% include "course_activity_unlocked", class: "np-course-outline-content-activity-link" %} + {% endif %} + {% endif %} +
    2. + {% endfor %} +
    +
  2. + {% endfor %} +
+
+
diff --git a/Custom_Templates/customer_templates/Front/_course_progress_and_cta.html.liquid b/Custom_Templates/customer_templates/Front/_course_progress_and_cta.html.liquid new file mode 100644 index 00000000..802844a8 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_course_progress_and_cta.html.liquid @@ -0,0 +1,51 @@ +
+
+ {% if course.progress == 0 %} + {% t shared.progress, count: course.progress %} + {% elsif course.progress > 0 and course.progress < 100 %} + {{course.progress}}% + {% else %} + COMPLETED + {% endif %} + +
+ +
+
+
+
+ +
+ +{% if course.learner_can_retake? %} +
+ {% form_authenticity_token %} + +
+{% else %} + + {% 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 %} + +{% endif %} + diff --git a/Custom_Templates/customer_templates/Front/_courses_catalog.html.liquid b/Custom_Templates/customer_templates/Front/_courses_catalog.html.liquid new file mode 100644 index 00000000..037a8c51 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_courses_catalog.html.liquid @@ -0,0 +1,16 @@ +{% if courses.in_catalog.any? %} +
+ {% for course in courses.in_catalog %} +
+ {% include "cards_course" with course %} +
+ {% endfor %} +
+{% else %} + {% capture message %} + {% t shared.zero_state.courses.catalog, + key: current_school.course_vocabulary + %} + {% endcapture %} + {% include "courses_zero_state", message: message %} +{% endif %} diff --git a/Custom_Templates/customer_templates/Front/_footer.html.liquid b/Custom_Templates/customer_templates/Front/_footer.html.liquid new file mode 100644 index 00000000..d9347231 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_footer.html.liquid @@ -0,0 +1,124 @@ + + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/_head.html.liquid b/Custom_Templates/customer_templates/Front/_head.html.liquid new file mode 100644 index 00000000..9b83eec7 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_head.html.liquid @@ -0,0 +1,11 @@ +{% styles default %} +{% styles colors %} +{% styles custom %} + + + + + + + + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/_header.html.liquid b/Custom_Templates/customer_templates/Front/_header.html.liquid new file mode 100644 index 00000000..779a29c2 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_header.html.liquid @@ -0,0 +1,289 @@ +
+
+ {% if current_school.logo_url %} +
+ {% if current_person.signed_in? %} + + + {% endif %} +
+
+

+ + {{ current_school.name }} + +

+
{% include "sub_navigation" %}
+
+ {% else %} + + {{ current_school.name }} + + {% endif %} + + + + + {% if current_person.signed_in? %} +
+ +
+ + +
+ {% comment %} {% endcomment %} +
+ {% else %} + {% comment %}
+ +
+
+ +{% include "messages" %} + + + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/_homepage_courses_carousel.html.liquid b/Custom_Templates/customer_templates/Front/_homepage_courses_carousel.html.liquid new file mode 100644 index 00000000..2b0fe1ee --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_homepage_courses_carousel.html.liquid @@ -0,0 +1,51 @@ +{% if courses.enrolled.any? %} + + {% else %} + {% capture message %} + {% t shared.zero_state.courses.index, + key: current_school.course_vocabulary + %} + {% endcapture %} + {% include "courses_zero_state", message: message %} + {% endif %} + + + + + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/_learning_path_course.html.liquid b/Custom_Templates/customer_templates/Front/_learning_path_course.html.liquid new file mode 100644 index 00000000..5616ede2 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_learning_path_course.html.liquid @@ -0,0 +1,74 @@ +{% if learning_path.enrolled? and course.unlocked? %} +
+ +
+ {{ course.name }} +
+
+
+
+
+ {% if course.progress == 0 %} + {% t shared.progress, count: course.progress %} + {% elsif course.progress > 0 and course.progress < 100 %} + {{course.progress}}% + {% else %} + COMPLETED + {% endif %} + +
+ {% assign time = courses.enrolled | where: "id", course.id %} + + {% if time.first.properties.duration != blank %} +
+ + {{time.first.properties.duration}} +
+ {% endif %} +
+
+ {{ course.name }} +
+
+ {% t shared.view %} course + +
+
+ {% if course.optional? %} +
+ {% t shared.optional %} +
+ {% endif %} +
+
+{% else %} +
+
+ {{ course.name }} +
+
+
+
+ {{ course.name }} +
+ +
+ {% if course.optional? %} +
+ {% t shared.optional %} +
+ {% endif %} +
+
+{% endif %} diff --git a/Custom_Templates/customer_templates/Front/_learning_path_desktop_view.html.liquid b/Custom_Templates/customer_templates/Front/_learning_path_desktop_view.html.liquid new file mode 100644 index 00000000..c20784a5 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_learning_path_desktop_view.html.liquid @@ -0,0 +1,27 @@ +
+
+
+ {{ learning_path.name }} +
+ {% include "learning_path_description" %} + {% include "learning_path_instructors" %} +
+
+
+
+
+ {% include "learning_path_progress_and_cta" %} +
+ {% include "learning_path_outline" %} +
+
+ + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/_learning_path_progress_and_cta.html.liquid b/Custom_Templates/customer_templates/Front/_learning_path_progress_and_cta.html.liquid new file mode 100644 index 00000000..d9e3402b --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_learning_path_progress_and_cta.html.liquid @@ -0,0 +1,60 @@ +{% if learning_path.enrolled? %} + {% assign lp_courses_count = 0 | times: 1 %} + {% assign sum_of_progress = 0.0 | times: 1 %} + {% for item in learning_path.items %} + {% if item.course? %} + {% assign lp_courses_count = lp_courses_count | plus: 1 %} + {% assign sum_of_progress = sum_of_progress | plus: item.progress %} + {% endif %} + {% endfor %} + {% if lp_courses_count == 0 %} + {% assign lp_progress = 0 %} + {% else %} + {% assign lp_progress = sum_of_progress | divided_by: lp_courses_count | round %} + {% endif %} +{% else %} + {% assign lp_progress = 0 %} +{% endif %} +
+
+ {% if lp_progress == 0 %} + {% t shared.progress, count: lp_progress %} + {% elsif lp_progress > 0 and lp_progress < 100 %} + {{lp_progress}}% + {% else %} + COMPLETED + {% endif %} +
+
+
+
+
+
+ + + + {% if learning_path.enrolled? == false %} + {% t shared.enroll %} + {% elsif learning_path.started? == false %} + {% t shared.learning_path.start %} + {% elsif learning_path.completed? %} + {% t shared.learning_path.view %} + {% else %} + {% t shared.continue %} + {% endif %} + diff --git a/Custom_Templates/customer_templates/Front/_learning_paths_homepage.html.liquid b/Custom_Templates/customer_templates/Front/_learning_paths_homepage.html.liquid new file mode 100644 index 00000000..9153a224 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_learning_paths_homepage.html.liquid @@ -0,0 +1,28 @@ +
+ {% if items.any? %} + {% for learning_path in items %} + {% include "cards_learning_path_homepage" with learning_path %} + {% endfor %} + {% else %} +
+
+ {% t .empty %} +
+ {% t .empty %} +
+ {% endif %} +
+ + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/_progress_circle.html.liquid b/Custom_Templates/customer_templates/Front/_progress_circle.html.liquid new file mode 100644 index 00000000..90ecf1ad --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_progress_circle.html.liquid @@ -0,0 +1,79 @@ +
+ + + + {{count}} + +

+ {{name}} +

+
+ + + + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/_sub_navigation.html.liquid b/Custom_Templates/customer_templates/Front/_sub_navigation.html.liquid new file mode 100644 index 00000000..2e8c8b67 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_sub_navigation.html.liquid @@ -0,0 +1,34 @@ + diff --git a/Custom_Templates/customer_templates/Front/_training_events_zero_state.html.liquid b/Custom_Templates/customer_templates/Front/_training_events_zero_state.html.liquid new file mode 100644 index 00000000..58760523 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_training_events_zero_state.html.liquid @@ -0,0 +1,30 @@ +
+ + + + +
+ {% comment %} {% t .empty %} {% endcomment %} + We’re currently working on our live training event calendar — check back soon to register for upcoming trainings +
+
+ + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/_widget_course_progress.html.liquid b/Custom_Templates/customer_templates/Front/_widget_course_progress.html.liquid new file mode 100644 index 00000000..fa44d205 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/_widget_course_progress.html.liquid @@ -0,0 +1,73 @@ +
+
+
+ {% if courses.enrolled.any? %} + {% assign countComplete = 0 %} + {% assign countInProgress = 0 %} + {% assign countNotStarted = 0 %} + {% assign countTotal = 0 | times: 1.0 %} + {% for course in courses.enrolled %} + {% assign countTotal = countTotal | plus: 1 %} + {% if course.progress == 100 %} + {% assign countComplete = countComplete | plus: 1 %} + {% endif %} + {% if course.progress > 0 and course.progress < 100 %} + {% assign countInProgress = countInProgress | plus: 1 %} + {% endif %} + {% if course.progress == 0 %} + {% assign countNotStarted = countNotStarted | plus: 1 %} + {% endif %} + {% endfor %} +
    +
  • + {% + include "progress_circle", + name:'Completed' , + count: countComplete , + total: countTotal, + size: "120", + stroke_color: "rgba(43, 178, 76, 1)", + stroke_color_bg: "rgba(255, 255, 255, 0.15)" + %} +
  • +
  • + {% + include "progress_circle", + name:'In Progress' , + count: countInProgress , + total: countTotal, + size: "120", + stroke_color: "rgba(43, 178, 76, 1)", + stroke_color_bg: "rgba(255, 255, 255, 0.15)" + %} +
  • +
+ {% else %} + {% capture message %} + {% t shared.zero_state.courses.index, + key: current_school.course_vocabulary + %} + {% endcapture %} + {% include "courses_zero_state", message: message %} + {% endif %} +
+
+
+ + + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/catalog.html.liquid b/Custom_Templates/customer_templates/Front/catalog.html.liquid new file mode 100644 index 00000000..0c8656e9 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/catalog.html.liquid @@ -0,0 +1,28 @@ +{% include "header" %} +{% include "course_version_outdated_alert", courses: courses.in_catalog %} + +
+
+ {% include "sub_navigation" %} +
+
All Courses
+
+ Enroll in individual courses through the course catalog +
+
+
+ {%include "catalog_filtter_courses"%} +
+ +
+
+ + {%include "courses_catalog"%} + +
+
+
+ + +
+{% include "footer" %} \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/course.html.liquid b/Custom_Templates/customer_templates/Front/course.html.liquid new file mode 100644 index 00000000..d4e99fff --- /dev/null +++ b/Custom_Templates/customer_templates/Front/course.html.liquid @@ -0,0 +1,87 @@ +{% include "header" %} +
+
+
+
+

{{course.name}}

+
{{ current_school.course_vocabulary }}
+
+
+
+
+
+
+ {% include "course_desktop_view" %} +
+
+ {% include "course_mobile_view" %} +
+
+{% include "footer" %} + + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/courses.html.liquid b/Custom_Templates/customer_templates/Front/courses.html.liquid new file mode 100644 index 00000000..4893bf86 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/courses.html.liquid @@ -0,0 +1,13 @@ +{% include "header" %} +{% include "course_version_outdated_alert", courses: courses.enrolled %} +
+
+ {% include "sub_navigation" %} +
+
+ {% t shared.course_vocabulary.plural, key: current_school.course_vocabulary %} +
+
{% t .headline, key: current_school.course_vocabulary %}
+ {% include "courses_index", class: "col-xs-12 col-sm-6 col-lg-4 np-stretch-content" %} +
+{% include "footer" %} diff --git a/Custom_Templates/customer_templates/Front/dashboard.html.liquid b/Custom_Templates/customer_templates/Front/dashboard.html.liquid new file mode 100644 index 00000000..2b67943f --- /dev/null +++ b/Custom_Templates/customer_templates/Front/dashboard.html.liquid @@ -0,0 +1,54 @@ +{% include "header" %} +{% include "course_version_outdated_alert", courses: courses.enrolled %} +
+
+ {% include "sub_navigation" %} +
+
+
Hi {{current_person.first_name}}!
+
Keep up the good work! Here's what is relevant to you right now.
+
+
+
+ {% if features.learning_paths? %} +
+ {% t shared.learning_paths %} +
+ {% include "learning_paths_index", items: learning_paths.enrolled %} + {% endif %} +
+ {% if features.training_events? %} +
+
+ Course Progress +
+ {% include "widget_course_progress" %} +
+ {% endif %} +
+ {% comment %}
+ Upcoming events +
+ {% include "training_events_index" %} {% endcomment %} +
+ Courses +
+ {% include "homepage_courses_carousel"%} +
+
+
+ Meet your instructors +
+ {% + include "carousel_instructors", + %} +
+
+
+{% include "footer" %} + + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/homepage.html.liquid b/Custom_Templates/customer_templates/Front/homepage.html.liquid new file mode 100644 index 00000000..af8b693e --- /dev/null +++ b/Custom_Templates/customer_templates/Front/homepage.html.liquid @@ -0,0 +1,135 @@ +{% include "header" %} +{% include "course_version_outdated_alert", courses: courses.featured %} +
+
+
+
+ {{ homepage.headline }} +
+
+ {{ homepage.subheadline }} +
+
+
+
+ {% include "sub_navigation" %} +
+ +
+{% include "footer" %} + + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/learning-path-0e9846a6-4427-44a0-b49e-70ba3616ec7f.html.liquid b/Custom_Templates/customer_templates/Front/learning-path-0e9846a6-4427-44a0-b49e-70ba3616ec7f.html.liquid new file mode 100644 index 00000000..bd99fbba --- /dev/null +++ b/Custom_Templates/customer_templates/Front/learning-path-0e9846a6-4427-44a0-b49e-70ba3616ec7f.html.liquid @@ -0,0 +1,63 @@ +{% comment %} skip-auth {% endcomment %} +{% include "header" %} + +{% for learning_path in learning_paths.available %} + {% if learning_path.id == "0e9846a6-4427-44a0-b49e-70ba3616ec7f" %} +
+
+
+
+

{{learning_path.name}}

+
{% t shared.learning_path.title %}
+
+
+
+
+
+
+ {% include "learning_path_desktop_view" %} +
+
+ {% include "learning_path_mobile_view" %} +
+
+ {% endif %} +{% endfor %} + +{% include "footer" %} + + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/learning-path-41690773-e559-4be8-8af6-ab5fa22fb0df.html.liquid b/Custom_Templates/customer_templates/Front/learning-path-41690773-e559-4be8-8af6-ab5fa22fb0df.html.liquid new file mode 100644 index 00000000..ee9990c4 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/learning-path-41690773-e559-4be8-8af6-ab5fa22fb0df.html.liquid @@ -0,0 +1,63 @@ +{% comment %} skip-auth {% endcomment %} +{% include "header" %} + +{% for learning_path in learning_paths.available %} + {% if learning_path.id == "41690773-e559-4be8-8af6-ab5fa22fb0df" %} +
+
+
+
+

{{learning_path.name}}

+
{% t shared.learning_path.title %}
+
+
+
+
+
+
+ {% include "learning_path_desktop_view" %} +
+
+ {% include "learning_path_mobile_view" %} +
+
+ {% endif %} +{% endfor %} + +{% include "footer" %} + + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/learning_path.html.liquid b/Custom_Templates/customer_templates/Front/learning_path.html.liquid new file mode 100644 index 00000000..186bd45c --- /dev/null +++ b/Custom_Templates/customer_templates/Front/learning_path.html.liquid @@ -0,0 +1,57 @@ +{% comment %} skip-auth {% endcomment %} +{% include "header" %} +
+
+
+
+

{{learning_path.name}}

+
{% t shared.learning_path.title %}
+
+
+
+
+
+
+ {% include "learning_path_desktop_view" %} +
+
+ {% include "learning_path_mobile_view" %} +
+
+{% include "footer" %} + + \ No newline at end of file diff --git a/Custom_Templates/customer_templates/Front/learning_paths.html.liquid b/Custom_Templates/customer_templates/Front/learning_paths.html.liquid new file mode 100644 index 00000000..f103a5d3 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/learning_paths.html.liquid @@ -0,0 +1,16 @@ +{% include "header" %} +
+
+ {% include "sub_navigation" %} +
+
+
+ {% t shared.learning_paths %} +
+
+ {% t .subtitle %} +
+ {% include "learning_paths_index", items: learning_paths.available %} +
+
+{% include "footer" %} diff --git a/Custom_Templates/customer_templates/Front/styles.css.liquid b/Custom_Templates/customer_templates/Front/styles.css.liquid new file mode 100644 index 00000000..cf1f6bbb --- /dev/null +++ b/Custom_Templates/customer_templates/Front/styles.css.liquid @@ -0,0 +1,662 @@ + /* + 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 }} +*/ + +/*Fonts*/ + +@font-face { + font-family: "Roobert"; + src: url("https://s3.amazonaws.com/static.northpass.com/Front+Academy/front+fonts/Roobert-Brand-Bold.otf"); + font-weight: bold; +} +@font-face { + font-family: "Roobert"; + src: url("https://s3.amazonaws.com/static.northpass.com/Front+Academy/front+fonts/Roobert-Brand-Heavy.otf"); + font-weight: 900; +} +@font-face { + font-family: "Roobert"; + src: url("https://s3.amazonaws.com/static.northpass.com/Front+Academy/front+fonts/Roobert-Brand-Light.otf"); + font-weight: 300; +} +@font-face { + font-family: "Roobert"; + src: url("https://s3.amazonaws.com/static.northpass.com/Front+Academy/front+fonts/Roobert-Brand-Medium.otf"); + font-weight: 500; +} +@font-face { + font-family: "Roobert"; + src: url("https://s3.amazonaws.com/static.northpass.com/Front+Academy/front+fonts/Roobert-Brand-Regular.otf"); + font-weight: 400; +} +@font-face { + font-family: "Roobert"; + src: url("https://s3.amazonaws.com/static.northpass.com/Front+Academy/front+fonts/Roobert-Brand-SemiBold.otf"); + font-weight: 600; +} + +body { + font-family: "Roobert", "Roboto", sans-serif; + background-color:#fff; +} + +h1, h2, h3, h4, h5, a { + text-decoration: none; + color: #001B38; + margin: 0; + padding: 0; +} +div { + color: #001B38; +} +h1 { + font-size: 2.5rem; +} +h3 { + font-size: 1.5rem; + font-weight: 400; +} + +.fw-regular { font-weight: 400;} +.fw-semibold { font-weight: 600;} +.fw-bold { font-weight: 700;} +.gray { color:#808080; } +.np-alert {display:none;} + + +/* TYPOGRAPHY STYLES */ +.header-1 { + font-size: 38px; + line-height: 110%; + font-weight: 600; + margin-bottom: 32px; + letter-spacing: -0.01em; +} + +.header-2 { + font-size: 36px; + line-height: 118%; + font-weight: 600; + margin-bottom: 32px; + margin-top: 0; + letter-spacing: -0.01em; +} + +.header-3 { + font-size: 28px; + line-height: 118%; + font-weight: 600; + letter-spacing: -0.01em; + margin-bottom: 32px; + margin-top: 0; +} + +.header-5 { + font-size: 20px; + line-height: 130%; +} + +.eyebrow-lg { + font-weight: 600; + font-size: 16px; + line-height: 125%; + color:#001B38; +} + +.eyebrow-sm { + font-weight: 600; + font-size: 12px; + line-height: 125%; + color:#001B38; +} + +.paragraph-1 { + font-size: 24px; + line-height: 130%; +} + +.paragraph-2, +.paragraph-2 p { + font-size: 16px; + line-height: 160%; + color:#001B38!important; +} + +.fa-check-circle { + color:#2D8058; + margin-right:6px; +} + +@media (min-width:768px) { + .header-1 { + font-size: 60px; + margin-bottom: 40px; + } + + .header-2 { + font-size: 49px; + } + + .header-3 { + font-size: 32px; + margin-bottom: 60px; + } + + .np-card-padding {padding: 30px;} + .np-subpage-container {padding-left:16px; padding-right:16px;} +} + +/* Global */ + +.np-dashboard, .np-learning-paths, .catalog, .np-training-events, .np-main { + padding-top: 140px; +} +.np-button { + border-radius: 50px; + padding: 13px 24px; + font-size: 16px; + line-height:normal; + font-weight: 400; + height:auto; +} +.np-footer-logo-image { + opacity: 1; + filter: none; +} +.row .np-card { + padding: 0px 0px 64px; +} +.np-dashboard-resources-title { + font-size: 1.25rem; + text-transform: none; + font-weight: 400; +} +.np-card-container { + border-radius: 10px; + box-shadow: 0px 0px 20px rgba(0, 27, 56, 0.1); + overflow:hidden; +} +.np-dashboard-resources-container { + border-radius: 30px; + border: none; +} +.np-card { + padding: 0 0.5rem; +} + +.dashboard-section-instructors { + margin-top: 32px; +} + +.np-dashboard, .np-learning-paths, .np-training-events { + background: #fff; +} +.catalog-course-wrapper { + margin-bottom: 2rem; + padding: 0 8px; +} + +.slick-arrow { + display: none !important; +} +.np-dashboard-resources-title, .np-resource-subtitle { + color: #001B38; + text-align:left; + padding: 0; +} +.np-zero-state-text { + margin-bottom: 0px; +} +.extra-space { + margin-top: 1rem; +} +.np-catalog-courses { + margin-top: 0; +} + +#isPasted { + background: none !important; +} +.color-white { + color: #fff; +} +.lp-card-desktop { + height: unset; +} +.np-homepage-featured { + margin-top: 0; + padding: 0 16px; +} +.np-homepage.np-main { + margin-bottom: 0; + padding-bottom: 64px; + padding-top:0; +} +.progress-color-darker { + color: #001B38; +} +.instructor-info { + display: flex; + flex-direction: column; + justify-content: center; + } + +.np-catalog-courses { + margin-bottom: 5rem; +} +.np-optional-ribbon { + display: none; + color: #001B38; + background-color: #FDECB3; +} +.catalog-filter { + align-items: center; + display: flex; + flex-direction: column; +} +@media only screen and (max-width: 1030px) { + .catalog-filter { + width: 100%; + } + .filter-container { + width: 100% !important; + } + .course-card { + width: 100%;; + } + } +@media only screen and (min-width: 1050px) { + .hidden-desktop-custom { + display: none; + } +} +@media only screen and (max-width: 768px) { + .np-header-mobile-menu-nav { + position: inherit; + } + .np-dashboard, .np-learning-paths, .catalog, .np-training-events, .np-main { + padding-top: 50px; + } + .np-sub-navigation-content-item-link { + margin: 0 0.3rem; + font-size: 15px !important; + } + .np-catalog-courses { + width: 100%; + } + .catalog-course-wrapper { + display: flex; + } + .course-card { + margin: 0 !important; + } + .filter-container { + margin-bottom: 1rem; + } + } + + + /* Course Cards & vertical learning path cards */ + .np-card.np-card-learning-path-vertical, + .np-card.np-card-course { + padding-bottom:32px; + height:100%; + } + + .np-card.np-card-learning-path-vertical .course-card-image, + .np-card.np-card-course .course-card-image { + max-width:100%; + } + + .np-card.np-card-course .eyebrow-lg.gray { + color:#808080; + } + + .np-card.np-card-course .np-card-header-type > span { + background: #E3E3E3; + border-radius: 6px; + padding: 4px 12px; + } + + .np-card.np-card-course .fa-check-circle { + color:#2D8058; + margin-right:6px; + } + + .np-card.np-card-course .course-duration { + color:#808080; + } + + .np-card.np-card-course .course-duration .fa-clock { + margin-right:4px; + } + + .np-card.np-card-learning-path-vertical .paragraph-2, + .np-card.np-card-course .paragraph-2 { + flex:1; + } + + .card-info-wrapper { + display:flex; + justify-content: space-between; + align-items: center; + margin-bottom: 8px; + } + + .np-card.np-card-learning-path-vertical a .fa-long-arrow-right, + .np-card.np-card-course a .fa-long-arrow-right, + .np-card.just-browsing-card a .fa-long-arrow-right { + margin-left: 6px; + } + + /* Learning Path Cards */ + + .np-card-learning-path .np-card-content-footer-lp { + display: flex; + justify-content: space-between; + align-items: center; + margin-top: 32px; + } + + .np-card-learning-path .lp-progress { + margin-right:30px; + flex:1; + } + + .np-card-learning-path .eyebrow-lg { + color:#001B38; + text-transform: uppercase; + letter-spacing: 0.08em; + margin-bottom: 16px; + } + + .np-card-learning-path .eyebrow-lg.gray { + color:#808080; + } + + .np-card-learning-path .fa-check-circle { + color:#2D8058; + margin-right:6px; + } + + .np-card-learning-path .np-card-progress-bar { + background-color:#001B38; + } + + .np-card-learning-path .np-card-progress-bar-container, + .np-card-learning-path .np-card-progress-bar { + height:8px; + } + + @media (min-width:768px) { + + .np-learning-path { + min-height: 200px; + } + + .np-learning-path .np-card-content { + justify-content: space-between; + padding-top:30px; + } + + .np-card-learning-path .lp-image-wrapper { + width: 33%; + min-width: 33%; + position: relative; + overflow: hidden; + } + + .np-card-learning-path .np-learning-path-image { + min-width: 100%; + min-height: 100%; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + } + + .np-card-learning-path .np-card-content-footer-lp { + margin-top: 36px; + } + } + + /* CAROUSEL STYLING */ +div.tns-outer { + position: relative; + padding-right: 20px!important; + padding-left: 20px!important; +} + +.tns-controls { + position: absolute; + z-index: 1111; + top: 32%; + left: 0; + width: 100%; + justify-content: space-between; + display: flex; +} + +.tns-nav { + justify-content: center; + display: flex; + flex-wrap: wrap; +} + +.tns-nav button { + cursor: pointer; + background: transparent; + border: 1px solid #001b38; + margin: 0 8px 10px; + border-radius: 50%; + padding: 0; + width: 10px; + height: 10px; + } + + .tns-nav button.tns-nav-active { + background-color:#001b38; + } + + .tns-controls button { + width: 50px; + position: relative; + background: transparent; + border: none; + } + + .tns-controls button[data-controls='prev'] { + left: -14px; + } + + .tns-controls button[data-controls='next'] { + right: -14px; + } + + .tns-controls .arrow-left, + .tns-controls .arrow-right { + color: #808080; + font-size: 3rem; + display: flex; + justify-content: center; + align-items: center; +} + +.courses-carousel { + height: auto; + display: flex; + align-items: stretch; +} + +.courses-carousel .np-card { + padding: 0 16px 32px; +} + +/* COVER PAGE STYLES (COURSE & LEARNING PATH) */ + +.np-header:not(.active) { + background-color:transparent!important; +} + +.cover-page-hero { + padding:100px 16px 50px; + background: linear-gradient(180deg, rgba(255, 255, 255, 0) 30.25%, #FFFFFF 100%), radial-gradient(90.83% 165.04% at 100% 29.31%, #FFFADB 5.03%, #E0FEE7 96.72%); +} + +.cover-page-hero.course-hero { + background: linear-gradient(180deg, rgba(255, 255, 255, 0) 30.25%, #FFFFFF 100%), radial-gradient(90.83% 165.04% at 100% 29.31%, #FFFADB 5.03%, #E0FEE7 96.72%); +} + +.cover-page-hero.learning-path-hero { + background: linear-gradient(180deg, rgba(255, 255, 255, 0) 30.25%, #FFFFFF 100%), radial-gradient(90.83% 165.04% at 100% 29.31%, #FFDEEB 0%, #FFFADB 100%) +} + +.cover-page-hero .np-page-container { + margin-top:0; + margin-bottom:0; +} + +.course-vocab { + text-transform: uppercase; +} + +.cover-page.np-main.np-page-container { + padding-top:0; + margin-top:0; +} + +.cover-page .np-card-heading { + letter-spacing: 0.08em; + text-transform: uppercase; + font-weight: 600; + font-size: 16px; + line-height: 125%; +} + +.np-content-instructors-content-item { + align-items: center; +} + +.cover-page .np-top-cta { + background: #F5F5F5; + margin: 24px 6px; + border-radius: 0px; + padding: 18px; + display: flex; + justify-content: space-between; +} + +.cover-page .np-top-cta-progress-content { + margin-right: 16px; + width: 50%; + min-width: 50%; +} + +.cover-page .np-card-progress-bar, +.cover-page .np-progress-bar-container { + height:8px; +} + +.cover-page .np-top-cta-progress-text { + font-weight: 600; + font-size: 16px; + line-height: 125%; + margin-top:0; +} + +.cover-page .np-top-cta-progress-text.gray { + color:#808080; +} + +.cover-page .np-card-progress-bar { + background-color: #001B38; +} + +.np-content-instructors-content-name { + font-weight: 600; + font-size: 16px; + line-height: 24px; + color: #001B38; + } + + .np-content-instructors-content-info { + font-size: 16px; + line-height: 160%; + color: #001B38; + } + + .np-learning-path-outline-inactive-item { + border: none; + display: flex; + align-items: unset; + } + + .np-learning-path-outline-inactive-item .np-learning-path-outline-course-image {width:100%;} + + +@media (min-width:768px) { + .cover-page-hero { + padding-top:180px; + } + + .cover-page .np-card-text { + font-size: 17px; + line-height: 150%; + } + + .cover-page .np-top-cta-progress-content { + width: 75%; + min-width: 75%; + } + + .cover-page .np-top-cta { + background: #F5F5F5; + margin: 0 0 32px; + padding: 30px; + } + + .cover-page .np-progress-bar-container { + margin-top:16px; + } +} + +body .np-card-text p { + font-size: 17px !important; + line-height: 150% !important; + color: #001B38 !important; + font-family: "Roobert" !important; +} + +body #isPasted { + font-size: 17px !important; + line-height: 150% !important; + color: #001B38 !important; + font-family: "Roobert" !important; +} +body .np-card-text span { + font-size: 17px !important; + line-height: 150% !important; + color: #001B38 !important; + font-family: "Roobert" !important; +} + +.np-powered-by { + display: none !important; +} +.np-learning-path-outline-content { + width: 100%; +} + +@media (max-width:1050px) { + .hidden-mobile-custom{ + display: none; + } +} diff --git a/Custom_Templates/customer_templates/Front/training_events.html.liquid b/Custom_Templates/customer_templates/Front/training_events.html.liquid new file mode 100644 index 00000000..5876be34 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/training_events.html.liquid @@ -0,0 +1,21 @@ +{% include "header" %} +
+
+ {% include "sub_navigation" %} +
+
+
+
+ {% t .title %} +
+
+ Register for live training events to maximize your learning +
+
+ {% comment %}
+ {% include "training_events_filter" %} +
{% endcomment %} +
+ {% include "training_events_index" %} +
+{% include "footer" %} diff --git a/Custom_Templates/customer_templates/Front/unsubscribe.html.liquid b/Custom_Templates/customer_templates/Front/unsubscribe.html.liquid new file mode 100644 index 00000000..73e7f1a9 --- /dev/null +++ b/Custom_Templates/customer_templates/Front/unsubscribe.html.liquid @@ -0,0 +1,30 @@ +{% include "header" %} +
+
+ {% if token %} + +
+ You have successfully unsubscribed from all communications from Front Academy. +
+
+ {% t .resubscribe_text %} +
+
+ {% form_authenticity_token %} + + +
+ {% else %} + +
+ {% t .resubscribed_text %} +
+ {% endif %} +
+
+{% include "footer" %} diff --git a/Custom_Templates/customer_templates/Talkspace_1099/_enrolled_courses_index.html.liquid b/Custom_Templates/customer_templates/Talkspace_1099/_enrolled_courses_index.html.liquid new file mode 100644 index 00000000..d5402359 --- /dev/null +++ b/Custom_Templates/customer_templates/Talkspace_1099/_enrolled_courses_index.html.liquid @@ -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 %} + +
+ {% 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 -%} + +
+ {% include "cards_course" with course %} +
+ {% endif %} + {% endfor %} +
+{% else %} + {% include "courses_zero_state", message: "Yikes! You don’t have any Enrolled Courses." %} +{% endif %} diff --git a/Custom_Templates/customer_templates/Talkspace_1099/_my_courses_filter.html.liquid b/Custom_Templates/customer_templates/Talkspace_1099/_my_courses_filter.html.liquid new file mode 100644 index 00000000..48a3bc7b --- /dev/null +++ b/Custom_Templates/customer_templates/Talkspace_1099/_my_courses_filter.html.liquid @@ -0,0 +1,154 @@ + + + + + diff --git a/Custom_Templates/customer_templates/Talkspace_1099/dashboard.html.liquid b/Custom_Templates/customer_templates/Talkspace_1099/dashboard.html.liquid index 58d5b42c..cb1afee1 100644 --- a/Custom_Templates/customer_templates/Talkspace_1099/dashboard.html.liquid +++ b/Custom_Templates/customer_templates/Talkspace_1099/dashboard.html.liquid @@ -12,16 +12,17 @@ {% assign persongroup = current_person.groups.last.name | split: "-" %} {% endif %}

Hi {{current_person.first_name}}! 👋 {% if current_person.groups.size > 0 %} {{ persongroup | slice: 1 }} {% endif %}

-

Please complete all your 2023 Compliance Courses.

+

Please complete all your 2023 Compliance Courses.

+

Click the drop down box below to view courses that are in progress or + complete.

-
-
+ {% include "my_courses_filter" %}
-
+
{% comment %}{% if features.learning_paths? %}
{% t shared.learning_paths %} @@ -31,7 +32,8 @@
{% t shared.course_vocabulary.plural, key: current_school.course_vocabulary %}
{% endcomment %} - {% include "courses_index", class: "col-xs-12 col-sm-6 np-stretch-content" %} + {%- 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" %}
{% comment %}{% if features.training_events? %}
@@ -44,3 +46,9 @@
{% include "footer" %} + + diff --git a/Scripts/Jupyter/app_usage.ipynb b/Scripts/Jupyter/app_usage.ipynb new file mode 100644 index 00000000..c8f0f0bf --- /dev/null +++ b/Scripts/Jupyter/app_usage.ipynb @@ -0,0 +1,409 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd \n", + "import numpy as np \n", + "import seaborn as sns \n", + "import matplotlib.pylab as plt \n", + "import sketch\n", + "plt.style.use('ggplot')" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [], + "source": [ + "pages = pd.read_csv(\"/Users/normrasmussen/Downloads/app_usage.csv\", index_col=0, header=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PathMar 13 - Apr 11
School Name
Vivvix University for Ad Intel/courses25
Vivvix University for Ad Intel/previews16
Vivvix University for Ad Intel/account_links11
Vivvix University for Ad Intel/analytics8
Vivvix University for Ad Intel/settings/general/edit7
Vivvix University for Ad Intel/apps/integrations4
Vivvix University for Ad Intel/accounts/general/edit4
Vivvix University for Ad Intel/people3
Vivvix University for Ad Intel/settings/authentication3
Vivvix University for Ad Intel/styling/general/edit2
\n", + "
" + ], + "text/plain": [ + " Path Mar 13 - Apr 11\n", + "School Name \n", + " Vivvix University for Ad Intel /courses 25\n", + " Vivvix University for Ad Intel /previews 16\n", + " Vivvix University for Ad Intel /account_links 11\n", + " Vivvix University for Ad Intel /analytics 8\n", + " Vivvix University for Ad Intel /settings/general/edit 7\n", + " Vivvix University for Ad Intel /apps/integrations 4\n", + " Vivvix University for Ad Intel /accounts/general/edit 4\n", + " Vivvix University for Ad Intel /people 3\n", + " Vivvix University for Ad Intel /settings/authentication 3\n", + " Vivvix University for Ad Intel /styling/general/edit 2" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pages.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Total Views
\n", + "
" + ], + "text/plain": [ + "Empty DataFrame\n", + "Columns: [Total Views]\n", + "Index: []" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pages_sum = pd.DataFrame(columns=['Total Views'])\n", + "pages_sum.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Total Views
School Name
Vivvix University for Ad Intel110
'@properties Academy322
4 Pillars Academy112
AIIM+528
ASAPP University153
\n", + "
" + ], + "text/plain": [ + " Total Views\n", + "School Name \n", + " Vivvix University for Ad Intel 110\n", + "'@properties Academy 322\n", + "4 Pillars Academy 112\n", + "AIIM+ 528\n", + "ASAPP University 153" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pages_sum['Total Views'] = pages.groupby(by='School Name')['Mar 13 - Apr 11'].sum()\n", + "pages_sum.head(5)" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Total Views
School Name
Vivvix for Ad Intel110
'@properties322
4 Pillars112
AIIM+528
ASAPP153
| AgencyBloc3373
Académie Évolupharma253
Access11
ActiveLearner1907
Ad Intel2
\n", + "
" + ], + "text/plain": [ + " Total Views\n", + "School Name \n", + " Vivvix for Ad Intel 110\n", + "'@properties 322\n", + "4 Pillars 112\n", + "AIIM+ 528\n", + "ASAPP 153\n", + " | AgencyBloc 3373\n", + "Académie Évolupharma 253\n", + "Access 11\n", + "ActiveLearner 1907\n", + "Ad Intel 2" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "to_remove = ['Academy', 'academy', 'University', 'university', 'school', 'School', 'Sandbox', 'Knowledge Base']\n", + "for item in pages_sum.itertuples(index=True):\n", + " for word in to_remove:\n", + " if word in item[0]:\n", + " less = item[0].replace(word, '')\n", + " pages_sum.rename(index={item[0]:less}, inplace=True)\n", + "\n", + "pages_sum.head(10)\n", + " # if any(element in item[0] for element in to_remove):\n", + " # print(item[0])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "jupyter", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.1" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Scripts/Jupyter/cust_arr_usage.ipynb b/Scripts/Jupyter/cust_arr_usage.ipynb new file mode 100644 index 00000000..e69de29b diff --git a/Scripts/Jupyter/sketch_tests.ipynb b/Scripts/Jupyter/sketch_tests.ipynb index 707ff829..e9ea0bb5 100644 --- a/Scripts/Jupyter/sketch_tests.ipynb +++ b/Scripts/Jupyter/sketch_tests.ipynb @@ -54,17 +54,15 @@ " \n", " \n", " \n", - " Unnamed: 0\n", - " Usage Month\n", - " Unnamed: 2\n", - " 2020-05\n", - " 2020-06\n", - " 2020-07\n", - " 2020-08\n", - " 2020-09\n", - " 2020-10\n", - " 2020-11\n", - " ...\n", + " OrgID\n", + " Organization\n", + " Churn Date\n", + " 2022-01\n", + " 2022-02\n", + " 2022-03\n", + " 2022-04\n", + " 2022-05\n", + " 2022-06\n", " 2022-07\n", " 2022-08\n", " 2022-09\n", @@ -80,118 +78,89 @@ " \n", " \n", " 0\n", - " Billing ID\n", - " Organization\n", - " Churn Date\n", - " Active Learner Count\n", - " Active Learner Count\n", - " Active Learner Count\n", - " Active Learner Count\n", - " Active Learner Count\n", - " Active Learner Count\n", - " Active Learner Count\n", - " ...\n", - " Active Learner Count\n", - " Active Learner Count\n", - " Active Learner Count\n", - " Active Learner Count\n", - " Active Learner Count\n", - " Active Learner Count\n", - " Active Learner Count\n", - " Active Learner Count\n", - " Active Learner Count\n", - " Active Learner Count\n", - " \n", - " \n", - " 1\n", " 30867753\n", " Aquent\n", " 2023-04\n", - " 165\n", - " 111\n", - " 19\n", - " 14\n", - " 13\n", - " 14\n", - " 20\n", - " ...\n", + " 58\n", + " 38\n", + " 50\n", + " 50\n", + " 39\n", + " 36\n", " 46\n", " 46\n", - " 43\n", - " 27\n", - " 24\n", + " 43.0\n", + " 27.0\n", + " 24.0\n", " 26\n", " 22\n", - " 8\n", - " 10\n", - " 2\n", + " 8.0\n", + " 10.0\n", + " 2.0\n", + " \n", + " \n", + " 1\n", + " 33375202\n", + " BioLife Solutions, Inc.\n", + " 2023-04\n", + " 11\n", + " 7\n", + " 4\n", + " 11\n", + " 4\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", " \n", " \n", " 2\n", - " 47167388\n", - " Artsy\n", - " 2023-01\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " ...\n", - " 4\n", - " 3\n", - " 4\n", - " NaN\n", - " 10\n", - " 9\n", - " NaN\n", + " 30867495\n", + " ZyXel Communications Inc\n", + " 2023-04\n", " 1\n", + " 1\n", + " 2\n", + " 1\n", + " 2\n", + " 4\n", + " 2\n", + " 2\n", + " 1.0\n", " NaN\n", " NaN\n", + " NaN\n", + " NaN\n", + " 1.0\n", + " 1.0\n", + " NaN\n", " \n", " \n", "\n", - "

3 rows × 39 columns

\n", "
" ], "text/plain": [ - " Unnamed: 0 Usage Month Unnamed: 2 2020-05 \n", - "0 Billing ID Organization Churn Date Active Learner Count \\\n", - "1 30867753 Aquent 2023-04 165 \n", - "2 47167388 Artsy 2023-01 NaN \n", + " OrgID Organization Churn Date 2022-01 2022-02 2022-03 \n", + "0 30867753 Aquent 2023-04 58 38 50 \\\n", + "1 33375202 BioLife Solutions, Inc. 2023-04 11 7 4 \n", + "2 30867495 ZyXel Communications Inc 2023-04 1 1 2 \n", "\n", - " 2020-06 2020-07 2020-08 \n", - "0 Active Learner Count Active Learner Count Active Learner Count \\\n", - "1 111 19 14 \n", - "2 NaN NaN NaN \n", + " 2022-04 2022-05 2022-06 2022-07 2022-08 2022-09 2022-10 2022-11 2022-12 \n", + "0 50 39 36 46 46 43.0 27.0 24.0 26 \\\n", + "1 11 4 NaN NaN NaN NaN NaN NaN NaN \n", + "2 1 2 4 2 2 1.0 NaN NaN NaN \n", "\n", - " 2020-09 2020-10 2020-11 ... \n", - "0 Active Learner Count Active Learner Count Active Learner Count ... \\\n", - "1 13 14 20 ... \n", - "2 NaN NaN NaN ... \n", - "\n", - " 2022-07 2022-08 2022-09 \n", - "0 Active Learner Count Active Learner Count Active Learner Count \\\n", - "1 46 46 43 \n", - "2 4 3 4 \n", - "\n", - " 2022-10 2022-11 2022-12 \n", - "0 Active Learner Count Active Learner Count Active Learner Count \\\n", - "1 27 24 26 \n", - "2 NaN 10 9 \n", - "\n", - " 2023-01 2023-02 2023-03 \n", - "0 Active Learner Count Active Learner Count Active Learner Count \\\n", - "1 22 8 10 \n", - "2 NaN 1 NaN \n", - "\n", - " 2023-04 \n", - "0 Active Learner Count \n", - "1 2 \n", - "2 NaN \n", - "\n", - "[3 rows x 39 columns]" + " 2023-01 2023-02 2023-03 2023-04 \n", + "0 22 8.0 10.0 2.0 \n", + "1 NaN NaN NaN NaN \n", + "2 NaN 1.0 1.0 NaN " ] }, "execution_count": 3, @@ -205,7 +174,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "id": "7a091590-9fc4-43fe-9188-53798e7e2e51", "metadata": { "tags": [] @@ -227,85 +196,6 @@ "cust_data = pd.read_csv(\"/Users/normrasmussen/Downloads/churned_analysis.csv\")" ] }, - { - "cell_type": "code", - "execution_count": 11, - "id": "65710689-a42a-41cf-983c-c1332af26b43", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "
\n",
-       "# Freeze the top two rows\n",
-       "cust_data.iloc[:2, :].style.set_properties(**{'background-color': 'lightblue', 'color': 'black', 'border-color': 'white'})\n",
-       "
\n", - " \n", - "
" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "cust_data.sketch.howto(\"Freeze the top two rows\")" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "39c664df-fb79-4d14-8212-8b67e2e4c0dd", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "
\n",
-       "# Get the list of columns\n",
-       "cols = list(cust_data.columns)\n",
-       "\n",
-       "# Get the index of the Churn Date column\n",
-       "churn_date_index = cols.index('Churn Date')\n",
-       "\n",
-       "# Get the value of the Churn Date column for each row\n",
-       "churn_dates = cust_data['Churn Date'].tolist()\n",
-       "\n",
-       "# Iterate through each row in the dataframe\n",
-       "for i, row in cust_data.iterrows():\n",
-       "    # Get the value of the Churn Date column for this row\n",
-       "    churn_date = churn_dates[i]\n",
-       "\n",
-       "    # Get the index of the column with the same month/year as the Churn Date column\n",
-       "    col_index = cols.index(churn_date)\n",
-       "\n",
-       "    # Reorganize the columns so that the last column is the one with the same month/year as the Churn Date column\n",
-       "    cust_data = cust_data[cols[:churn_date_index] + cols[col_index:] + cols[churn_date_index:col_index]]\n",
-       "
\n", - " \n", - "
" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "cust_data.sketch.howto(\"Reorganize each organization so that the last column month/year matches the value in the Churn Date column\")" - ] - }, { "cell_type": "code", "execution_count": 13,