Notes for Larson Texts/Big ideas, added the ghost notes templates. Updated luminate's templates

This commit is contained in:
Norm Rasmussen
2023-08-24 17:06:08 -04:00
parent 63c33b5f17
commit 332b99d3ec
57 changed files with 560 additions and 253 deletions

Binary file not shown.

View File

@ -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 %}

View File

@ -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 %}

View File

@ -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

View File

@ -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">

View File

@ -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" %}

View File

@ -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;

View File

@ -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 %}

View File

@ -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>

View File

@ -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 %}

View File

@ -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">

View File

@ -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" %}

View File

@ -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;

View File

@ -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;

View File

@ -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;
}

View File

@ -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 %}

View File

@ -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 %}

View File

@ -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>

View 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.

View 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.

View 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.

View File

@ -1 +0,0 @@
This is a test

View File

@ -1,10 +0,0 @@
* Heading one
** Heading two
- (-) Task 1
- ( ) Task 2
- (-) Section Tasks
--- ( ) Section1 Tasks
--- (x) Section 2 Tasks
*** Another Meeting

View File

@ -1,5 +0,0 @@
# Customer Notes
---- Liste item
----- LIst 2

View 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

View File

@ -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

View File

@ -0,0 +1,19 @@
* Place main Topic Here - Company Name
** Attendees
-
-
-
-
* Topics
** Topic 1
-
-
-
-
* Action Items:
TODO:
TODO:
TODO:

View 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
View 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
View File

@ -0,0 +1,8 @@
* INTERNAL STAKEHOLDER NOTE
* EXTERNAL EMAIL TO SEND FROM EXEC

View File

13
test.md
View File

@ -1,13 +0,0 @@
This is a line
More lines
def function(){
line1
line2
line3
line4
}