Notes for Larson Texts/Big ideas, added the ghost notes templates. Updated luminate's templates
This commit is contained in:
BIN
Custom_Templates/customer_templates/.DS_Store
vendored
BIN
Custom_Templates/customer_templates/.DS_Store
vendored
Binary file not shown.
@ -0,0 +1,27 @@
|
||||
{% 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 %}
|
||||
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
|
||||
{% include "cards_course" with course %}
|
||||
</div>
|
||||
{% 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 %}
|
||||
@ -0,0 +1,26 @@
|
||||
{% if courses.enrolled.any? %}
|
||||
<div class="row row-with-thumbnails">
|
||||
{% for course in courses.enrolled %}
|
||||
{% 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="{{ class }}">
|
||||
{% include "cards_course" with course %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div class="{{ class }}">
|
||||
{% include "cards_course" with course %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endunless %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
{% capture message %}
|
||||
{% t shared.zero_state.courses.index,
|
||||
key: current_school.course_vocabulary
|
||||
%}
|
||||
{% endcapture %}
|
||||
{% include "courses_zero_state", message: message %}
|
||||
{% endif %}
|
||||
@ -1,5 +1,5 @@
|
||||
{% if result.type == "course" %}
|
||||
<div class="np-card np-search-result">
|
||||
<div class="np-card np-search-result" data-id="{{result.course.id}}">
|
||||
<div class="np-card-container">
|
||||
<div class="np-card-content">
|
||||
<img
|
||||
@ -1,15 +1,13 @@
|
||||
<nav class="np-sub-navigation np-hidden-mobile">
|
||||
<div class="np-sub-navigation-content">
|
||||
{% for link in navigations.sub_navigation %}
|
||||
{% unless link.label == "Events" %}
|
||||
<div class="np-sub-navigation-content-item {{ link.active_class }}">
|
||||
<a class="np-sub-navigation-content-item-link" href="{{ link.url }}">
|
||||
<i class="{{ link.icon }} np-button-color np-sub-navigation-content-item-icon"></i>
|
||||
{{ link.label }}
|
||||
</a>
|
||||
<div class="np-sub-navigation-content-item-bar np-button-background-color"></div>
|
||||
</div>
|
||||
{% endunless %}
|
||||
<div class="np-sub-navigation-content-item {{ link.active_class }}">
|
||||
<a class="np-sub-navigation-content-item-link" href="{{ link.url }}">
|
||||
<i class="{{ link.icon }} np-button-color np-sub-navigation-content-item-icon"></i>
|
||||
{{ link.label }}
|
||||
</a>
|
||||
<div class="np-sub-navigation-content-item-bar np-button-background-color"></div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<div class="np-sub-navigation-content-item articles-link">
|
||||
<a class="np-sub-navigation-content-item-link" href="/app/articles">
|
||||
@ -3,7 +3,7 @@
|
||||
{% include "sub_navigation" %}
|
||||
<main class="np-main np-dashboard np-subpage-container np-max-width">
|
||||
<div class="row np-flex-center">
|
||||
<div class="col-xs-12">
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
{% if features.learning_paths? %}
|
||||
<div class="np-dashboard-resources-title">
|
||||
{% t shared.learning_paths %}
|
||||
@ -13,16 +13,16 @@
|
||||
<div class="np-dashboard-resources-title">
|
||||
{% t shared.course_vocabulary.plural, key: current_school.course_vocabulary %}
|
||||
</div>
|
||||
{% include "courses_index", class: "col-xs-12 col-sm-6 col-md-4 np-stretch-content" %}
|
||||
{% include "courses_index", class: "col-xs-12 col-sm-6 np-stretch-content" %}
|
||||
</div>
|
||||
{% comment %} {% if features.training_events? %}
|
||||
{% 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 %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
@ -20,6 +20,15 @@
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
|
||||
{% if current_person.properties.hide_api_certification_exam_course == true %}
|
||||
<style>
|
||||
.np-search-result[data-id='6cc26c57-34db-4b8e-a38b-ad321ce18add'],
|
||||
.np-search-result[data-id='ac4fbf2e-ed8f-404d-b995-f0ef73481466'] {
|
||||
display:none;
|
||||
}
|
||||
</style>
|
||||
{% endif %}
|
||||
|
||||
<style>
|
||||
.np-sub-navigation-content {
|
||||
margin-bottom:12px;
|
||||
@ -1,10 +1,26 @@
|
||||
{% 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 %}
|
||||
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
|
||||
{% include "cards_course" with course %}
|
||||
</div>
|
||||
{% 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>
|
||||
@ -15,4 +31,4 @@
|
||||
%}
|
||||
{% endcapture %}
|
||||
{% include "courses_zero_state", message: message %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
@ -2,9 +2,26 @@
|
||||
<div class="row row-with-thumbnails">
|
||||
{% for course in courses.enrolled %}
|
||||
{% unless course.properties.is_article_course %}
|
||||
<div class="{{ class }}">
|
||||
{% include "cards_course" with course %}
|
||||
</div>
|
||||
{% 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="{{ class }}">
|
||||
{% 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="{{ class }}">
|
||||
{% include "cards_course" with course %}
|
||||
</div>
|
||||
{% endunless %}
|
||||
{% else %}
|
||||
<div class="{{ class }}">
|
||||
{% include "cards_course" with course %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
{% endunless %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
@ -1,35 +1,37 @@
|
||||
{% if result.type == "course" %}
|
||||
<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>
|
||||
{% unless result.course.id == "fdc8acdc-0b7c-4064-a52b-1955379d411b" or result.course.id == "b3225a47-448d-4988-962a-18d37d6616d0" %}
|
||||
<div class="np-card np-search-result" data-id="{{result.course.id}}">
|
||||
<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.course.short_description}}</div>
|
||||
|
||||
</div>
|
||||
<div class="np-search-result-snippet">{{result.course.short_description}}</div>
|
||||
<div class="category-pills">
|
||||
{% for course in catalog_courses %}
|
||||
{% if course.id == result.course.id %}
|
||||
{% for cat in course.categories %}
|
||||
{% assign cat_name = cat.name | upcase %}
|
||||
{% unless cat_name == "FEATURED" or cat_name == "ARTICLES" %}
|
||||
<div class="cat-item">{{cat.name}}</div>
|
||||
{% endunless %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="category-pills">
|
||||
{% for course in catalog_courses %}
|
||||
{% if course.id == result.course.id %}
|
||||
{% for cat in course.categories %}
|
||||
{% assign cat_name = cat.name | upcase %}
|
||||
{% unless cat_name == "FEATURED" or cat_name == "ARTICLES" %}
|
||||
<div class="cat-item">{{cat.name}}</div>
|
||||
{% endunless %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endunless %}
|
||||
{% endif %}
|
||||
@ -1,15 +1,13 @@
|
||||
<nav class="np-sub-navigation np-hidden-mobile">
|
||||
<div class="np-sub-navigation-content">
|
||||
{% for link in navigations.sub_navigation %}
|
||||
{% unless link.label == "Events" %}
|
||||
<div class="np-sub-navigation-content-item {{ link.active_class }}">
|
||||
<a class="np-sub-navigation-content-item-link" href="{{ link.url }}">
|
||||
<i class="{{ link.icon }} np-button-color np-sub-navigation-content-item-icon"></i>
|
||||
{{ link.label }}
|
||||
</a>
|
||||
<div class="np-sub-navigation-content-item-bar np-button-background-color"></div>
|
||||
</div>
|
||||
{% endunless %}
|
||||
<div class="np-sub-navigation-content-item {{ link.active_class }}">
|
||||
<a class="np-sub-navigation-content-item-link" href="{{ link.url }}">
|
||||
<i class="{{ link.icon }} np-button-color np-sub-navigation-content-item-icon"></i>
|
||||
{{ link.label }}
|
||||
</a>
|
||||
<div class="np-sub-navigation-content-item-bar np-button-background-color"></div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<div class="np-sub-navigation-content-item articles-link">
|
||||
<a class="np-sub-navigation-content-item-link" href="/app/articles">
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
{% include "sub_navigation" %}
|
||||
<main class="np-main np-dashboard np-subpage-container np-max-width">
|
||||
<div class="row np-flex-center">
|
||||
<div class="col-xs-12">
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
{% if features.learning_paths? %}
|
||||
<div class="np-dashboard-resources-title">
|
||||
{% t shared.learning_paths %}
|
||||
@ -13,16 +13,16 @@
|
||||
<div class="np-dashboard-resources-title">
|
||||
{% t shared.course_vocabulary.plural, key: current_school.course_vocabulary %}
|
||||
</div>
|
||||
{% include "courses_index", class: "col-xs-12 col-sm-6 col-md-4 np-stretch-content" %}
|
||||
{% include "courses_index", class: "col-xs-12 col-sm-6 np-stretch-content" %}
|
||||
</div>
|
||||
{% comment %} {% if features.training_events? %}
|
||||
{% 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 %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
@ -2,29 +2,68 @@
|
||||
function showPopup() {
|
||||
setTimeout(function() {
|
||||
document.querySelector(".popup-trigger").click()
|
||||
console.log("showing popup")
|
||||
}, 500)
|
||||
}
|
||||
|
||||
function showSurveyPopup() {
|
||||
setTimeout(function() {
|
||||
document.querySelector(".survey-popup-trigger").click()
|
||||
}, 500)
|
||||
}
|
||||
|
||||
function formatDate(date) {
|
||||
const month = (date.getMonth() + 1).toString().padStart(2, '0');
|
||||
const day = date.getDate().toString().padStart(2, '0');
|
||||
const year = date.getFullYear();
|
||||
|
||||
return `${month}/${day}/${year}`;
|
||||
}
|
||||
|
||||
function RerunWorkato() {
|
||||
console.log("re-running workflow")
|
||||
const today = new Date();
|
||||
const formattedDate = formatDate(today);
|
||||
const data = { person_uuid: '{{current_person.id}}', date: formattedDate }
|
||||
|
||||
const data = { learner_uuid: '{{current_person.id}}' }
|
||||
let webhookUrl
|
||||
if (schoolID == "804edb32-c300-42f3-82b7-e5d55fcbc2a6") {
|
||||
webhookUrl = "https://webhooks.workato.com/webhooks/rest/bd1a1eb7-7e79-4208-a1db-8e9c7440bcc9/user-interacted-with-popup"
|
||||
} else if (schoolID == "10183441-2254-4b1e-a9f7-9549ca773257") { // live school
|
||||
|
||||
/* fetch('https://webhooks.workato.com/webhooks/rest/db050d27-4343-413c-82a3-e63c634f52f9/user-clicks-modal-option', {
|
||||
method: 'post',
|
||||
body: JSON.stringify(data)
|
||||
}).then(function(response) {
|
||||
return response.json();
|
||||
}).then(function(data) {
|
||||
console.log(res)
|
||||
}).catch(error => {
|
||||
console.log(error)
|
||||
});*/
|
||||
}
|
||||
|
||||
if (webhookUrl) {
|
||||
fetch(webhookUrl, {
|
||||
method: 'post',
|
||||
body: JSON.stringify(data)
|
||||
}).then(function(response) {
|
||||
return response.json();
|
||||
}).then(function(data) {
|
||||
console.log(res)
|
||||
}).catch(error => {
|
||||
console.log(error)
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
{% assign catalog_courses = courses.in_catalog %}
|
||||
|
||||
{% assign survey_courses = "" %}
|
||||
{% assign survey_course_completed = false %}
|
||||
{% if current_school.id == "10183441-2254-4b1e-a9f7-9549ca773257" %}
|
||||
{% comment %} LIVE SCHOOL {% endcomment %}
|
||||
{% assign survey_course = catalog_courses | where: "id", "b3225a47-448d-4988-962a-18d37d6616d0" %}
|
||||
{% elsif current_school.id == "804edb32-c300-42f3-82b7-e5d55fcbc2a6" %}
|
||||
{% comment %} SANDBOX SCHOOL {% endcomment %}
|
||||
{% assign survey_course = catalog_courses | where: "id", "fdc8acdc-0b7c-4064-a52b-1955379d411b" %}
|
||||
{% endif %}
|
||||
|
||||
{% for course in survey_course %}
|
||||
{% if course.progress == 100 %}
|
||||
{% assign survey_course_completed = true %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% include "header" %}
|
||||
<main class="np-main np-homepage">
|
||||
<div class="np-homepage-hero">
|
||||
@ -37,31 +76,17 @@
|
||||
<div class="np-homepage-subheadline">
|
||||
{{ homepage.subheadline }}
|
||||
</div>
|
||||
<form
|
||||
class="np-header-search np-hero-search"
|
||||
data-test="mobile-search"
|
||||
method="get"
|
||||
action="{% route search %}"
|
||||
>
|
||||
<input
|
||||
aria-label="What are you looking for?"
|
||||
class="hero-search-input"
|
||||
type="text"
|
||||
name="q"
|
||||
placeholder="What are you looking for?"
|
||||
/>
|
||||
<form class="np-header-search np-hero-search" data-test="mobile-search" method="get" action="{% route search %}">
|
||||
<input aria-label="What are you looking for?" class="hero-search-input" type="text" name="q" placeholder="What are you looking for?" />
|
||||
<i class="np-header-search-icon hero-search-icon far fa-search"></i>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<img class="np-homepage-hero-image"
|
||||
src="{{ homepage.artwork_url }}"
|
||||
alt="{{ homepage.headline }}"
|
||||
/>
|
||||
<img class="np-homepage-hero-image" src="{{ homepage.artwork_url }}" alt="{{ homepage.headline }}" />
|
||||
</div>
|
||||
</div>
|
||||
{% include "sub_navigation" %}
|
||||
|
||||
|
||||
{% include "homepage_featured", items: catalog_courses %}
|
||||
|
||||
<div class="np-max-width np-homepage-row-wrapper">
|
||||
@ -80,11 +105,11 @@
|
||||
<div class="col-xs-12 col-md-4">
|
||||
{% include "cards_learning_path_progress" %}
|
||||
</div>
|
||||
|
||||
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
|
||||
{% if lps_in_progress > 0 %}
|
||||
<div class="see-more-wrapper">
|
||||
<a href="/app/dashboard" style="margin-top:24px;">See more</a>
|
||||
@ -99,10 +124,10 @@
|
||||
<img class="np-zero-state-learning-paths" alt="" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% comment %} {% if features.training_events? %}
|
||||
@ -128,7 +153,7 @@
|
||||
</div>
|
||||
|
||||
{% include "homepage_ongoing_training", items: catalog_courses %}
|
||||
|
||||
|
||||
{% include "homepage_topics" %}
|
||||
<button
|
||||
type="button"
|
||||
@ -139,6 +164,16 @@
|
||||
data-toggle-modal>
|
||||
Click
|
||||
</button>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
class="survey-popup-trigger"
|
||||
data-toggle-class-on-target
|
||||
data-toggle-target="#surveyPopup"
|
||||
data-toggle-escape
|
||||
data-toggle-modal>
|
||||
Click
|
||||
</button>
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
|
||||
@ -154,7 +189,38 @@
|
||||
<div class="modal-headline">Welcome to Luminate Academy, {{ current_person.first_name }}! We noticed it is your first time here. Can we help you get familiar with the academy?</div>
|
||||
<div class="modal-links">
|
||||
<a href="javascript:setPopupSeenProperty('/app/dashboard')" class="secondary" data-toggle-trigger-off>No thanks! I can figure it out.</a>
|
||||
<a href="javascript:setPopupSeenProperty('/app')" data-redirect="/app">Sure! Show me around.</a>
|
||||
|
||||
{% if current_school.id == "10183441-2254-4b1e-a9f7-9549ca773257" %}
|
||||
{% comment %} LIVE SCHOOL {% endcomment %}
|
||||
<a href="javascript:setPopupSeenProperty('/app')" data-redirect="/app">Sure! Show me around.</a>
|
||||
{% elsif current_school.id == "804edb32-c300-42f3-82b7-e5d55fcbc2a6" %}
|
||||
{% comment %} SANDBOX SCHOOL {% endcomment %}
|
||||
<a href="javascript:setPopupSeenProperty('https://luminatesandbox.northpass.com/c/0e61b8e5ced6f6093816fed850226ac828853eaf')" data-redirect="/app">Sure! Show me around.</a>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="survey-popup"
|
||||
id="surveyPopup"
|
||||
role="dialog"
|
||||
aria-labelledby="dialogTitle"
|
||||
aria-describedby="dialogContent"
|
||||
aria-hidden="true">
|
||||
<section class="survey-popup-container">
|
||||
<div id="dialogContent" class="survey-popup-content">
|
||||
<div class="modal-headline">Please take a moment to tell us more about you!</div>
|
||||
<div class="modal-links">
|
||||
{% if current_school.id == "10183441-2254-4b1e-a9f7-9549ca773257" %}
|
||||
{% comment %} LIVE SCHOOL {% endcomment %}
|
||||
{% comment %} <a href="javascript:setPopupSeenProperty('/app')" data-redirect="/app">Sure! Show me around.</a> {% endcomment %}
|
||||
{% elsif current_school.id == "804edb32-c300-42f3-82b7-e5d55fcbc2a6" %}
|
||||
{% comment %} SANDBOX SCHOOL {% endcomment %}
|
||||
<a href="javascript:setSurveyPopupSeen('/app/courses/fdc8acdc-0b7c-4064-a52b-1955379d411b')">Go!</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@ -162,35 +228,35 @@
|
||||
|
||||
{% if current_person.signed_in? %}
|
||||
{% unless current_person.email contains "+preview" %}
|
||||
<script>
|
||||
window.addEventListener("load", function() {
|
||||
const firstTimePopupProperty = {{current_person.properties.first_time_user_popup_seen}}
|
||||
if (firstTimePopupProperty == false) {
|
||||
console.log('property is false, check local storage')
|
||||
if (localStorage.getItem('modal_clicked') != null) {
|
||||
console.log("rerun workflow to set property")
|
||||
RerunWorkato()
|
||||
} else {
|
||||
showPopup()
|
||||
}
|
||||
} else if (firstTimePopupProperty == true) {
|
||||
console.log("property is set, deleting local storage, don't initialize modal")
|
||||
localStorage.removeItem("modal_clicked")
|
||||
{% if current_person.properties.first_time_user_popup_seen == false %}
|
||||
<script>
|
||||
console.log('property is false, check local storage')
|
||||
if (localStorage.getItem('modal_clicked') != null) {
|
||||
console.log("rerun workflow to set property")
|
||||
RerunWorkato()
|
||||
} else {
|
||||
console.log('custom prop doesnt yet exist')
|
||||
if (localStorage.getItem('modal_clicked') != null) {
|
||||
console.log("rerun workflow to set property")
|
||||
RerunWorkato()
|
||||
} else {
|
||||
showPopup()
|
||||
}
|
||||
showPopup()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</script>
|
||||
{% elsif current_person.properties.first_time_user_popup_seen == true %}
|
||||
<script>
|
||||
console.log("property is set, deleting local storage, don't initialize first modal")
|
||||
localStorage.removeItem("modal_clicked")
|
||||
</script>
|
||||
{% else %}
|
||||
<script>
|
||||
console.log('custom prop doesnt yet exist')
|
||||
if (localStorage.getItem('modal_clicked') != null) {
|
||||
console.log("rerun workflow to set property")
|
||||
RerunWorkato()
|
||||
} else {
|
||||
showPopup()
|
||||
}
|
||||
</script>
|
||||
{% endif %}
|
||||
{% endunless %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
<script>
|
||||
if (window.location.pathname == "/app") {
|
||||
document.querySelector(".np-sub-navigation").classList.add("homepage-nav")
|
||||
@ -217,6 +283,37 @@
|
||||
stickySubNav.classList.remove('fixed');
|
||||
}
|
||||
};
|
||||
|
||||
const firstPopupSeen = {{current_person.properties.first_time_user_popup_seen}}
|
||||
|
||||
if (firstPopupSeen == true) {
|
||||
var popupSeenDate = new Date("{{current_person.properties.first_popup_date}}");
|
||||
var popupSeenSeconds = popupSeenDate.getTime() / 1000;
|
||||
|
||||
var currentDate = new Date();
|
||||
var currentDateSeconds = currentDate.getTime() / 1000;
|
||||
|
||||
if (currentDateSeconds > (popupSeenSeconds + 1209600) && currentDateSeconds) {
|
||||
console.log("more than 2 weeks after first popup")
|
||||
|
||||
const surveyCourseCompleted = {{survey_course_completed}}
|
||||
|
||||
if (surveyCourseCompleted == false) {
|
||||
if (localStorage.getItem("survey_modal_clicked") == null) {
|
||||
showSurveyPopup()
|
||||
} else {
|
||||
const lastClickedDateSeconds = new Date(localStorage.getItem("survey_modal_clicked")).getTime() / 1000
|
||||
if (currentDateSeconds > (lastClickedDateSeconds + 1209600) && currentDateSeconds) {
|
||||
showSurveyPopup()
|
||||
} else {
|
||||
console.log(`dont show survey popup again until 2 weeks after ${localStorage.getItem("survey_modal_clicked")} or course completed`)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
localStorage.removeItem("survey_modal_clicked");
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
function findOffset(element) {
|
||||
@ -254,33 +351,60 @@
|
||||
console.log("percent: ", percent)
|
||||
setProgress(percent, circle)
|
||||
}
|
||||
|
||||
|
||||
function setProgress(percent, circle) {
|
||||
const offset = circumference - percent * circumference;
|
||||
circle.style.strokeDashoffset = offset;
|
||||
}
|
||||
|
||||
})
|
||||
})
|
||||
|
||||
function setPopupSeenProperty(redirectUrl) {
|
||||
localStorage.setItem("modal_clicked", true);
|
||||
const today = new Date();
|
||||
const formattedDate = formatDate(today);
|
||||
const data = { person_uuid: '{{current_person.id}}', date: formattedDate }
|
||||
|
||||
const data = { learner_uuid: '{{current_person.id}}' }
|
||||
const schoolID = '{{current_school.id}}'
|
||||
let webhookUrl
|
||||
if (schoolID == "804edb32-c300-42f3-82b7-e5d55fcbc2a6") {
|
||||
webhookUrl = "https://webhooks.workato.com/webhooks/rest/bd1a1eb7-7e79-4208-a1db-8e9c7440bcc9/user-interacted-with-popup"
|
||||
} else if (schoolID == "10183441-2254-4b1e-a9f7-9549ca773257") { // live school
|
||||
|
||||
window.location.href = redirectUrl;
|
||||
}
|
||||
|
||||
/*fetch('https://webhooks.workato.com/webhooks/rest/db050d27-4343-413c-82a3-e63c634f52f9/user-clicks-modal-option', {
|
||||
method: 'post',
|
||||
body: JSON.stringify(data)
|
||||
}).then(function(response) {
|
||||
return response.json();
|
||||
}).then(function(data) {
|
||||
console.log(res)
|
||||
if (webhookUrl) {
|
||||
fetch(webhookUrl, {
|
||||
method: 'post',
|
||||
body: JSON.stringify(data)
|
||||
}).then(function(response) {
|
||||
return response.json();
|
||||
}).then(function(data) {
|
||||
console.log(res)
|
||||
setTimeout(function() {
|
||||
window.location.href = redirectUrl;
|
||||
}, 250)
|
||||
|
||||
}).catch(error => {
|
||||
console.log(error)
|
||||
setTimeout(function() {
|
||||
window.location.href = redirectUrl;
|
||||
}, 250)
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
function setSurveyPopupSeen(redirectUrl) {
|
||||
const today = new Date();
|
||||
const formattedDate = formatDate(today);
|
||||
localStorage.setItem("survey_modal_clicked", formattedDate);
|
||||
|
||||
setTimeout(function() {
|
||||
window.location.href = redirectUrl;
|
||||
}).catch(error => {
|
||||
console.log(error)
|
||||
window.location.href = redirectUrl;
|
||||
});*/
|
||||
}, 250)
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -357,6 +481,12 @@
|
||||
height:100%;
|
||||
}
|
||||
|
||||
.popup-trigger,
|
||||
.survey-popup-trigger {
|
||||
visibility:hidden;
|
||||
opacity:0;
|
||||
}
|
||||
|
||||
@media (min-width:768px) {
|
||||
.np-homepage-hero-container {
|
||||
display:flex;
|
||||
|
||||
@ -20,6 +20,14 @@
|
||||
</main>
|
||||
{% include "footer" %}
|
||||
|
||||
{% if current_person.properties.hide_api_certification_exam_course == true %}
|
||||
<style>
|
||||
.np-search-result[data-id='6cc26c57-34db-4b8e-a38b-ad321ce18add'] {
|
||||
display:none;
|
||||
}
|
||||
</style>
|
||||
{% endif %}
|
||||
|
||||
<style>
|
||||
.np-sub-navigation-content {
|
||||
margin-bottom:12px;
|
||||
|
||||
@ -515,7 +515,8 @@ a.np-card {
|
||||
}
|
||||
|
||||
/* MODAL POPUP */
|
||||
.first-time-user-popup {
|
||||
.first-time-user-popup,
|
||||
.survey-popup {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
@ -530,13 +531,15 @@ a.np-card {
|
||||
pointer-events: none;
|
||||
transition: 0.25s ease-out;
|
||||
}
|
||||
.first-time-user-popup.is-active {
|
||||
.first-time-user-popup.is-active,
|
||||
.survey-popup.is-active {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
.first-time-user-popup-container {
|
||||
.first-time-user-popup-container,
|
||||
.survey-popup-container {
|
||||
width: 100%;
|
||||
max-width: 600px;
|
||||
margin: auto;
|
||||
@ -546,7 +549,8 @@ a.np-card {
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.first-time-user-popup.is-active .first-time-user-popup-container {
|
||||
.first-time-user-popup.is-active .first-time-user-popup-container,
|
||||
.survey-popup.is-active .survey-popup-cotnainer {
|
||||
transform: translateY(0) scale(1);
|
||||
}
|
||||
|
||||
@ -560,6 +564,7 @@ a.np-card {
|
||||
|
||||
.modal-links {
|
||||
display: flex;
|
||||
justify-content:center;s
|
||||
}
|
||||
|
||||
.modal-links a {
|
||||
@ -592,12 +597,19 @@ a.np-card {
|
||||
color: #13014a;
|
||||
}
|
||||
|
||||
.first-time-user-popup-content {
|
||||
.first-time-user-popup-content,
|
||||
.survey-popup-content {
|
||||
padding: 32px 16px;
|
||||
}
|
||||
|
||||
.survey-popup-content,
|
||||
.modal-survey {
|
||||
height:100%;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.first-time-user-popup-content {
|
||||
.first-time-user-popup-content,
|
||||
.survey-popup-content {
|
||||
padding: 32px;
|
||||
}
|
||||
|
||||
|
||||
@ -1,18 +0,0 @@
|
||||
{% 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 %}
|
||||
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
|
||||
{% include "cards_course" with course %}
|
||||
</div>
|
||||
{% 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 %}
|
||||
@ -1,18 +0,0 @@
|
||||
{% if courses.enrolled.any? %}
|
||||
<div class="row row-with-thumbnails">
|
||||
{% for course in courses.enrolled %}
|
||||
{% unless course.properties.is_article_course %}
|
||||
<div class="{{ class }}">
|
||||
{% include "cards_course" with course %}
|
||||
</div>
|
||||
{% endunless %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
{% capture message %}
|
||||
{% t shared.zero_state.courses.index,
|
||||
key: current_school.course_vocabulary
|
||||
%}
|
||||
{% endcapture %}
|
||||
{% include "courses_zero_state", message: message %}
|
||||
{% endif %}
|
||||
@ -1,43 +0,0 @@
|
||||
{% if learning_path.enrolled? %}
|
||||
<div class="np-top-cta-progress-content">
|
||||
<div class="np-top-cta-progress-title np-text-title">
|
||||
{% t .progress %}
|
||||
</div>
|
||||
<div class="np-progress-bar-container">
|
||||
<div
|
||||
style="width: {{ learning_path.progress }}%"
|
||||
class="np-button-background-color np-card-progress-bar">
|
||||
</div>
|
||||
</div>
|
||||
<div class="np-top-cta-progress-text
|
||||
{% if learning_path.completed? %} np-color-success {% else %} np-button-color {% endif %}
|
||||
">
|
||||
{% t shared.progress, count: learning_path.progress %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<a
|
||||
class="np-top-button np-button-font-color np-button np-button-big"
|
||||
{% if learning_path.enrolled? %}
|
||||
{% if learning_path.current_item.course? %}
|
||||
|
||||
href="{% route learning_path_course, id: learning_path.current_item.id, learning_path_id: learning_path.id %}"
|
||||
{% elsif learning_path.current_item.training_event? %}
|
||||
href="{% route training_session, id: learning_path.current_item.id %}"
|
||||
{% endif %}
|
||||
{% else %}
|
||||
href="{% route learning_path_enrollment, code: learning_path.enrollment_code %}"
|
||||
{% endif %}
|
||||
>
|
||||
|
||||
{% if learning_path.enrolled? == false %}
|
||||
{% t shared.enroll %}
|
||||
{% elsif learning_path.started? == false %}
|
||||
{% t shared.learning_path.start %}
|
||||
{% elsif learning_path.completed? %}
|
||||
{% t shared.learning_path.view %}
|
||||
{% else %}
|
||||
{% t shared.continue %}
|
||||
{% endif %}
|
||||
</a>
|
||||
25
Customer_Notes/BigIdeas/08.24.23_Technical_Discussion.norg
Normal file
25
Customer_Notes/BigIdeas/08.24.23_Technical_Discussion.norg
Normal file
@ -0,0 +1,25 @@
|
||||
* Technical Discussion regarding Access
|
||||
** Attendees:
|
||||
- Sophia
|
||||
- Chris Toothman
|
||||
- Seth Green - Video Content / Moving pictures on a screen
|
||||
- Mary Rose - Art Director for Creative Department/Art Design team
|
||||
- Courtney Nagle - VP of Teacher Learning and Research - New to team
|
||||
-- For this project, spearheading content/course development - pedagogy and content
|
||||
** Goal:
|
||||
To better understand how we can make learners/teachers better and easier access to the academy. To increase usage by
|
||||
delivering faster and easier access. Better access should make these accounts sticker and lead to better retention
|
||||
and less churn. We will also want to discuss design items to make Northpass more like Big Ideas apps.
|
||||
** Discussion:
|
||||
- Can Chris' team embed Northpass?
|
||||
- Seth and Mary Rose will be working on designs and deliver us the figma files
|
||||
- They will start using the catalog soon for Reuben and CS engagement
|
||||
- There will be a PD landing page or other landing pages
|
||||
- Sophia said there are a ton of different goals and many use-cases are using Northpass
|
||||
- Sophia needs to be the organizer/ring leader to keep the academy organized.
|
||||
- First time Sophia heard about a timeline/launch in October.
|
||||
- Jason's main goal is to increase Northpass usage.
|
||||
- This creative team of Seth and Mary is pretty new.
|
||||
-- They were in the same office building that was contracted to do design work
|
||||
-- That contractor was then acquired.
|
||||
|
||||
11
Customer_Notes/Pipedrive/08.24.23-Internal_Sync.norg
Normal file
11
Customer_Notes/Pipedrive/08.24.23-Internal_Sync.norg
Normal file
@ -0,0 +1,11 @@
|
||||
* Internal Sync regarding Roadmap and feature requests
|
||||
** Attendees: Rob, Allyson, Joris, Kat
|
||||
- Email localization will be difficult
|
||||
- Certification localization will be possible and the structure is there. But the locale isn't sent.
|
||||
-- Rob to test
|
||||
- We should deliver a list of what we have done, can do, and can't do
|
||||
- This list should also include how our integration with Gainsight will help them
|
||||
- Joris happy to join a technical call with Pipedrive
|
||||
- Norm to schedule call with Pipedrive for next week
|
||||
- Is this a 1 sprint worth of work for the team? Q1 2024 delivery date?
|
||||
- Rob and Joris to gauge if this will have impact on larger strategic initiative.
|
||||
17
Customer_Notes/Skuid/08.24.23.norg
Normal file
17
Customer_Notes/Skuid/08.24.23.norg
Normal file
@ -0,0 +1,17 @@
|
||||
* Skuid Certification Marketing
|
||||
- No marketing team right now - all let go
|
||||
- Anna is on Product Growth team but they aren't a marketing team
|
||||
- I showed Anna the SCA and to use these people that started the practice exam but not taken the real exame
|
||||
- Google Analytics views might be helpful - who has clicked the Regsiter button but not paid.
|
||||
- Can Anna get this information in a Skuid dashboard? She will see.
|
||||
- In Hubspot she may see who is interesting - Anna to explore.
|
||||
- Goal is to have a clear path for when leadership says "we need to sell more certifications"
|
||||
- Do Anna's boss have a goal for # of certs sold per quarter? No.
|
||||
- Anna hasn't had time to think much about strategy and long-term options.
|
||||
- Anna and Sarah accepted that they will be on the Customer Education advisory board.
|
||||
- Confirmed Renewal is happening.
|
||||
- What is Sarah's role? She is the Director of CS and Support.
|
||||
- They use product board to connect customer feature requests to existing accounts
|
||||
- She has some people that are both in the employee and customer academy and wants to sync up their progress and
|
||||
courses.
|
||||
- FEAT: Mark as complete button. Bonus: mark as 50% complete.
|
||||
@ -1 +0,0 @@
|
||||
This is a test
|
||||
@ -1,10 +0,0 @@
|
||||
* Heading one
|
||||
** Heading two
|
||||
- (-) Task 1
|
||||
- ( ) Task 2
|
||||
- (-) Section Tasks
|
||||
--- ( ) Section1 Tasks
|
||||
--- (x) Section 2 Tasks
|
||||
|
||||
*** Another Meeting
|
||||
|
||||
@ -1,5 +0,0 @@
|
||||
# Customer Notes
|
||||
|
||||
---- Liste item
|
||||
----- LIst 2
|
||||
|
||||
45
Customer_Notes/ghost_notes_template.norg
Normal file
45
Customer_Notes/ghost_notes_template.norg
Normal file
@ -0,0 +1,45 @@
|
||||
* INTERNAL STAKEHOLDER NOTE
|
||||
** Instructions:
|
||||
- THIS FIRST PART IS JUST YOUR NOTE TO OUR INTERNAL STAKEHOLDER (but you'll send both the internal and external part in the whole email) i.e. Steve, Easton, myself) This is your opportunity to fill them in about any details that can make their conversation be successful.
|
||||
|
||||
@code markdown
|
||||
Hi {{exec}},
|
||||
|
||||
Below is a note for you to send to check in with an exec at Account Name. This outreach is because we've had limited engagement with this exec.
|
||||
|
||||
- Customer Name: ABC Company
|
||||
- ARR: $32,000
|
||||
- Renewal: 11/3/23
|
||||
- Contact Title/Name: Jessica Rabbit - Chief Learning Officer
|
||||
- This account recently launched their academy and is really excited about all that they can do with CE. They've even requested another instance.
|
||||
- They've shared some frustrations that we don't have silent publishing
|
||||
- Their renewal is coming up on November 3rd and we want to establish ATL Exec Sponsorship
|
||||
- They were just acquired by Company XYZ and we want to ensure there's no risk to the renewal
|
||||
- Jessica was just promoted to Chief Learning Officer in June
|
||||
@end
|
||||
|
||||
* EXTERNAL EMAIL TO SEND FROM EXEC
|
||||
** Instructions:
|
||||
- The CSM will fill out everything for the exec. All the exec should have to do is copy and paste the body into their
|
||||
email and send it to the contact you've provided.
|
||||
|
||||
@code markdown
|
||||
To: [CONTACT EMAIL] <-- Fill this in for the Exec
|
||||
Subject: Gainsight | {AccountName}: Exec Check-in <-- Fill this in for the Exec
|
||||
|
||||
Hey [CONTACT FIRST NAME], <-- Fill this in for the Exec
|
||||
|
||||
Thanks for being an awesome Northpass customer - we love serving [Company Name] and being part of your customer education journey.
|
||||
|
||||
[CSM Name] is having a blast working with you and is excited about the evolution of your learning program.
|
||||
|
||||
As the former founder and CEO of Northpass, and now Gainsight's new SVP of Strategy for Customer Education, I'm keen to hear your feedback on our product and services and would love to know more about your vision for your learning program as you plan for the future.
|
||||
|
||||
That said, I'd love to meet you! Can we find 30 minutes for a Zoom over the next few weeks? Feel free to propose a time. Or, use this link to my calendar to book a time directly.
|
||||
|
||||
I am looking forward to it!
|
||||
|
||||
Take care and best,
|
||||
|
||||
{{ exec }}
|
||||
@end
|
||||
@ -5,8 +5,10 @@
|
||||
** Skuid:
|
||||
- {:Skuid/Data Discussion - 08.10.2023:}
|
||||
- {:Skuid/Data2 - 08.11.2023:}
|
||||
- {:Skuid/08.24.23:}
|
||||
** Pipedrive:
|
||||
- {:Pipedrive/Slack Message to team 8.10.23:}
|
||||
- {:Pipedrive/08.24.23-Internal_Sync:}
|
||||
** Wild Health:
|
||||
- {:Wild_Health/Friday Sync - 08.11.23:}
|
||||
- {:Wild_Health/08.22.23:}
|
||||
@ -17,6 +19,7 @@
|
||||
- {:William_Sonoma/08.22.23_Implementation:}
|
||||
** Big Ideas
|
||||
- {:BigIdeas/Quiz_feedback:}
|
||||
- {:BigIdeas/08.24.23_Technical_Discussion:}
|
||||
** Zenjob
|
||||
- {:Zenjob/08.23.23:}
|
||||
** Walmart Spark
|
||||
|
||||
19
Customer_Notes/journal/2023/08/24.norg
Normal file
19
Customer_Notes/journal/2023/08/24.norg
Normal file
@ -0,0 +1,19 @@
|
||||
* Place main Topic Here - Company Name
|
||||
** Attendees
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* Topics
|
||||
** Topic 1
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* Action Items:
|
||||
TODO:
|
||||
TODO:
|
||||
TODO:
|
||||
|
||||
18
Customer_Notes/journal/template.norg
Normal file
18
Customer_Notes/journal/template.norg
Normal file
@ -0,0 +1,18 @@
|
||||
* Place main Topic Here - Company Name
|
||||
** Attendees
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* Topics
|
||||
** Topic 1
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
|
||||
* Action Items:
|
||||
TODO:
|
||||
TODO:
|
||||
TODO:
|
||||
26
Scripts/antho_domains.py
Normal file
26
Scripts/antho_domains.py
Normal file
@ -0,0 +1,26 @@
|
||||
import csv
|
||||
import pandas as pd
|
||||
|
||||
|
||||
def grab_vals():
|
||||
file = "/Users/normrasmussen/Downloads/antho_domains.csv"
|
||||
final_array = []
|
||||
with open(file, 'r') as file:
|
||||
reader = csv.reader(file)
|
||||
for row in reader:
|
||||
for item in row:
|
||||
if item != '':
|
||||
final_array.append(item)
|
||||
|
||||
print(len(final_array))
|
||||
final_list = list(set(final_array))
|
||||
print(len(final_list))
|
||||
|
||||
final = ["@"+domain for domain in final_list]
|
||||
# print(final)
|
||||
filecsv = pd.DataFrame(final)
|
||||
filecsv.to_csv("/Users/normrasmussen/Downloads/final_domains.csv")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
grab_vals()
|
||||
8
ghost_and_notes.norg
Normal file
8
ghost_and_notes.norg
Normal file
@ -0,0 +1,8 @@
|
||||
* INTERNAL STAKEHOLDER NOTE
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
* EXTERNAL EMAIL TO SEND FROM EXEC
|
||||
Reference in New Issue
Block a user