Artera Internal templates. Notes for the same.

This commit is contained in:
Norm Rasmussen
2023-06-01 16:54:12 -04:00
parent 04ab65043f
commit d48f951d6c
28 changed files with 1765 additions and 37 deletions

Binary file not shown.

View File

@ -0,0 +1,33 @@
{% capture course_path %}{% route course, id: course.id %}{% endcapture %}
<div class="course-card-container" onclick="location.href='{{ course_path }}'">
<div class="course-card">
<a href="{{ course_path }}" class="course-image">
<img
height="1024"
width="386"
alt="{{ course.name }}"
src="{{ course.image_url }}"
>
</a>
<p class="course-categories-container row">
{% if course.categories %}
{% for course_category in course.categories %}
<a href="{{ course_path }}" class="course-category">
{{ course_category.name }}
</a>
{% endfor %}
{% endif %}
</p>
<h6 class="course-name">
<a href="{{ course_path }}">
{{ course.name }}
</a>
</h6>
</div>
</div>
<style>
.course-card {
background-color: #9271f3;
}
</style>

View File

@ -0,0 +1,117 @@
<div class="catalog-filters">
<div class="catalog-filter-dropdown-container">
<button class="catalog-filter-dropdown np-button">All Courses</button>
<div class="catalog-filter-dropdown-content">
<span class="catalog-filter-item">All Courses</span>
{% for category in categories.in_catalog %}
<span class="catalog-filter-item">{{ category.name }}</span>
{% endfor %}
</div>
</div>
</div>
<script>
window.addEventListener('DOMContentLoaded', (event) => {
document.querySelectorAll(".catalog-filter-item").forEach((item) => {
item.addEventListener("click", (clickEvent) => {
filterCourses(clickEvent.target)
})
});
});
function filterCourses(category) {
if (prepareCategoryName(category) == "all courses") {
showAllCourses()
changeFilterButtonName(category)
} else {
filterByCategory(category)
changeFilterButtonName(category)
}
}
function showAllCourses() {
document.querySelectorAll(".course-card-container").forEach((item) => {
item.parentNode.style.removeProperty('display');
})
}
function filterByCategory(category) {
document.querySelectorAll(".course-card-container").forEach((item) => {
var categories = Array.from(item.querySelectorAll(".course-category")).map(courseCategory => prepareCategoryName(courseCategory));
if (!categories.includes(prepareCategoryName(category))) {
item.parentNode.style.display = "none";
} else {
item.parentNode.style.removeProperty('display');
}
})
}
function prepareCategoryName(category) {
return category.innerHTML.trim().replace(/&nbsp;/g, '').toLowerCase()
}
function changeFilterButtonName(newName) {
document.querySelector(".catalog-filter-dropdown").innerHTML = prepareButtonName(newName.innerHTML);
}
function prepareButtonName(buttonName) {
var words = buttonName.split(" ");
for (let i = 0; i < words.length; i++) {
words[i] = words[i][0].toUpperCase() + words[i].substr(1);
}
return words.join(" ");
}
</script>
<style>
.catalog-filters {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 10px 4%;
color: #737373;
font-weight: 600;
letter-spacing: .56px;
line-height: 1.71;
transition: .2s;
}
.catalog-filter-dropdown-container {
position: relative;
display: inline-block;
}
.catalog-filter-dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
.catalog-filter-item {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
cursor: pointer;
}
.catalog-filter-item:hover {background-color: #f1f1f1}
.catalog-filter-dropdown-container:hover .catalog-filter-dropdown-content {
display: block;
}
@media (min-width: 768px) {
.catalog-filters {
flex-direction: row;
justify-content: left;
}
}
</style>

View File

@ -0,0 +1,42 @@
{% if courses.enrolled.any? %}
{% assign completed_courses = courses.enrolled | map: "completed?" %}
{% assign any_completed = false %}
{% for completed_course in completed_courses %}
{% if completed_course %}
{% assign any_completed = true %}
{% endif %}
{% endfor %}
{% if any_completed %}
{% assign any_course = false %}
<div class="row row-with-thumbnails">
{% for course in courses.enrolled %}
{% if course.completed? %}
{% 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 %}
<div class="{{ class }}">
{% include "cards_course" with course %}
</div>
{% assign any_course = true %}
{% endunless %}
{% endif %}
{% endfor %}
</div>
{% unless any_course %}
{% include "courses_zero_state", message: "Yikes! You dont have any Completed Courses." %}
{% endunless %}
{% else %}
{% include "courses_zero_state", message: "Yikes! You dont have any Completed Courses." %}
{% endif %}
{% else %}
{% include "courses_zero_state", message: "Yikes! You dont have any Completed Courses." %}
{% endif %}

View File

@ -0,0 +1,34 @@
<div class="np-learning-paths-resources">
{% if items.any? %}
{% assign completed_learning_paths = items | map: "completed?" %}
{% assign any_completed = false %}
{% for completed_learning_path in completed_learning_paths %}
{% if completed_learning_path %}
{% assign any_completed = true %}
{% endif %}
{% endfor %}
{% if any_completed %}
{% for learning_path in items %}
{% if learning_path.completed? %}
{% include "cards_learning_path" with learning_path %}
{% endif %}
{% endfor %}
{% else %}
<div class="np-learning-paths-resources-container">
<div class="np-zero-state-text">
Bummer! You don't have any Completed Learning Paths.
</div>
<img class="np-zero-state-learning-paths" alt="{% t .empty %}" />
</div>
{% endif %}
{% else %}
<div class="np-learning-paths-resources-container">
<div class="np-zero-state-text">
Bummer! You don't have any Completed Learning Paths.
</div>
<img class="np-zero-state-learning-paths" alt="{% t .empty %}" />
</div>
{% endif %}
</div>

View File

@ -0,0 +1,28 @@
{% if courses.in_catalog.any? %}
<div class="np-catalog-courses row row-with-thumbnails">
{% for course in courses.in_catalog %}
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
{% include "cards_course" with course %}
</div>
{% endfor %}
</div>
{% else %}
{% capture message %}
{% t shared.zero_state.courses.catalog,
key: current_school.course_vocabulary
%}
{% endcapture %}
{% include "courses_zero_state", message: message %}
{% endif %}
<style>
.np-stretch-content:nth-child(n+2) {
margin-top: 24px;
}
@media (min-width: 768px) {
.np-stretch-content {
margin-top: 24px;
}
}
</style>

View File

@ -0,0 +1,42 @@
{% 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 %}
{% if any_not_in_progress %}
{% assign any_course = false %}
<div class="row row-with-thumbnails">
{% for course in courses.enrolled %}
{% 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 %}
<div class="{{ class }}">
{% include "cards_course" with course %}
</div>
{% assign any_course = true %}
{% endunless %}
{% endif %}
{% endfor %}
</div>
{% unless any_course %}
{% include "courses_zero_state", message: "Yikes! You dont have any Enrolled Courses." %}
{% endunless %}
{% else %}
{% include "courses_zero_state", message: "Yikes! You dont have any Enrolled Courses." %}
{% endif %}
{% else %}
{% include "courses_zero_state", message: "Yikes! You dont have any Enrolled Courses." %}
{% endif %}

View File

@ -0,0 +1,35 @@
<div class="np-learning-paths-resources">
{% if items.any? %}
{% assign in_progress_learning_paths = items | map: "progress" %}
{% assign any_not_in_progress = false %}
{% for in_progress_learning_path in in_progress_learning_paths %}
{% if in_progress_learning_path == 0 %}
{% assign any_not_in_progress = true %}
{% endif %}
{% endfor %}
{% if any_not_in_progress %}
{% for learning_path in items %}
{% if learning_path.progress == 0 %}
{% include "cards_learning_path" with learning_path %}
{% endif %}
{% endfor %}
{% else %}
<div class="np-learning-paths-resources-container">
<div class="np-zero-state-text">
Bummer! You do not have any Enrolled Learning Paths.
</div>
<img class="np-zero-state-learning-paths" alt="{% t .empty %}" />
</div>
{% endif %}
{% else %}
<div class="np-learning-paths-resources-container">
<div class="np-zero-state-text">
Bummer! You do not have any Enrolled Learning Paths.
</div>
<img class="np-zero-state-learning-paths" alt="{% t .empty %}" />
</div>
{% endif %}
</div>

View File

@ -0,0 +1,206 @@
<footer class="np-footer">
<div class="np-footer-top">
{% if current_school.logo_url %}
<h2 class="np-footer-logo">
<a href="{% route home %}">
<img
alt="{{ current_school.name }}"
class="np-footer-logo-image"
src="{{ current_school.logo_url }}"
/>
</a>
</h2>
{% else %}
<div class="np-school-name np-header-font-color">
{{ current_school.name }}
</div>
{% endif %}
<nav class="np-footer-social-links">
<p class="artera-description">
Artera (WELL Health®) is a SaaS digital health leader in patient communications and the 2021 and 2022 Best in KLAS winner in Patient Outreach.
</p>
{% if website_footer.show_social_media_links? %}
<ul class="np-footer-social-links-list">
{% for social_media_link in website_footer.social_media_links %}
<li class="np-footer-social-links-item">
<a
class="np-footer-social-links-link"
href="{{ social_media_link.link }}"
target="_blank" title="{{ social_media_link.name }}"
>
<i class="np-footer-social-links-icon
fab fa-{{ social_media_link.name }}"
></i>
</a>
</li>
{% endfor %}
</ul>
{% endif %}
</nav>
</div>
<div class="np-footer-bottom">
{% if website_footer.show_navigation_links? %}
<div class="np-footer-navigation">
<p class="links-header">Navigation</p>
<ul class="np-footer-navigation-list">
{% for website_navigation in navigations.footer_navigations %}
{% if website_navigation.name == "Dashboard" or website_navigation.name == "Home" or website_navigation.name == "Learning Paths" %}
{% comment %}
<li class="np-footer-navigation-item">
<a
class="np-footer-navigation-link"
href="{{ website_navigation.path }}"
{% if website_navigation.external? %} target="_blank" {% endif %}
>
My Courses
</a>
</li>
{% endcomment %}
{% else %}
<li class="np-footer-navigation-item">
<a
class="np-footer-navigation-link"
href="{{ website_navigation.path }}"
{% if website_navigation.external? %} target="_blank" {% endif %}
>
{{ website_navigation.name }}
</a>
</li>
{% endif %}
{% endfor %}
</ul>
</div>
{% endif %}
{% if website_footer.show_customer_service_email? and
website_footer.school_customer_service_email
%}
<div class="np-footer-support">
<div class="np-footer-support-item np-footer-support-help">
{% t .need_help %}
</div>
<a
class="np-footer-support-item np-footer-support-link"
href="mailto:{{ website_footer.school_customer_service_email }}"
>
{{ website_footer.school_customer_service_email }}
</a>
</div>
{% endif %}
</div>
</footer>
<style>
.np-footer {
border-top: 1px solid #f5f2ff;
margin-top: 30px
}
.np-footer-social-links-link, .np-footer-social-links-link-icon {
color: #000;
}
.np-footer-logo-image {
filter: none;
opacity: 1;
}
.np-footer-navigation-link {
padding: 0;
margin: 0;
margin-bottom: 10px;
}
.np-footer-navigation-link, .artera-description, .np-footer-support-item {
color: #737373;
}
.artera-description {
font-family: Poppins,sans-serif;
font-weight: 400;
font-size: 14px;
line-height: 24px;
letter-spacing: .56px;
text-align: left;
}
.np-footer-top {
flex-direction: column;
align-items: start;
padding-left: 20px;
}
.np-footer-bottom {
flex-direction: row;
padding-left: 20px;
padding-right: 20px;
align-items: baseline;
justify-content: space-between;
}
.np-footer-social-links-item:first-of-type {
padding-left: 0;
}
.links-header, .np-footer-support-help {
color: #000;
font-family: Poppins,sans-serif;
font-weight: 600;
font-size: 14px;
line-height: 24px;
letter-spacing: .56px;
text-align: left;
margin: 0;
margin-bottom: 10px;
}
.np-footer-navigation-list {
flex-direction: column;
align-items: flex-start;
}
@media (min-width: 768px) {
.artera-description {
width: 35%;
}
.np-footer-navigation {
margin-right: 107px;
}
.np-footer-support-help {
margin-bottom: 14px;
}
.np-footer-support {
flex-direction: column;
align-items: start;
margin-right: 0;
}
.np-footer-navigation-item {
padding: 10px 10px 10px 0;
text-align: left;
}
.np-footer-social-links-list {
padding-left: 0;
}
.np-footer-bottom, .np-footer-top {
flex-direction: column;
width: 50%;
}
.np-footer-top, .np-footer-bottom {
padding-left: 0;
}
.np-footer-bottom {
align-items: flex-end;
}
}
</style>

View File

@ -0,0 +1,26 @@
{% styles default %}
{% styles colors %}
{% styles custom %}
<script>
(function(apiKey){
(function(p,e,n,d,o){var v,w,x,y,z;o=p[d]=p[d]||{};o._q=o._q||[];
v=['initialize','identify','updateOptions','pageLoad','track'];for(w=0,x=v.length;w<x;++w)(function(m){
o[m]=o[m]||function(){o._q[m===v[0]?'unshift':'push']([m].concat([].slice.call(arguments,0)));};})(v[w]);
y=e.createElement(n);y.async=!0;y.src='https://cdn.pendo.io/agent/static/'+apiKey+'/pendo.js';
z=e.getElementsByTagName(n)[0];z.parentNode.insertBefore(y,z);})(window,document,'script','pendo');
})('a59ee367-b60f-4801-7452-0331dce168e1');
// Call this whenever information about your visitors becomes available
// Please use Strings, Numbers, or Bools for value types.
{% if current_person.signed_in? %}
pendo.initialize({
visitor: {
id: '{{current_person.id}}',
email: '{{current_person.email}}',
first_name: '{{current_person.first_name}}',
last_name: '{{current_person.last_name}}',
}
});
{% endif %}
</script>

View File

@ -0,0 +1,252 @@
<header class="np-header np-header-color">
<div class="np-header-content">
<div class="np-hidden-desktop np-header-mobile-menu-nav">
{% if current_person.signed_in? %}
<button
data-toggle-class="np-hidden"
class="np-header-mobile-menu-nav-button fal fa-times np-hidden np-header-font-color"
data-toggle-target=".np-header-mobile-avatar-menu,
.np-header-mobile-menu-content, .np-main, .np-footer"
></button>
<button
data-test="open-mobile-menu"
data-toggle-class="np-hidden"
class="np-header-mobile-menu-nav-button np-header-mobile-avatar-menu"
data-toggle-target=".fa-times, .np-header-mobile-menu-content, .np-main, .np-footer"
>
<img
alt="{{ current_person.name }}"
class="np-header-avatar-image"
src="{{ current_person.avatar_url }}"
/>
</button>
{% endif %}
</div>
{% if current_school.logo_url %}
<div class="np-hidden-mobile logo-and-sub-nav">
<h1 class="np-header-logo">
<a href="{% route home %}">
<img
alt="{{ current_school.name }}"
class="np-header-logo-image"
src="{{ current_school.logo_url }}"
/>
</a>
</h1>
{% include "sub_navigation" %}
</div>
<h1 class="np-hidden-desktop np-header-logo">
<a href="{% route home %}">
<img
alt="{{ current_school.name }}"
class="np-header-logo-image"
src="{{ current_school.logo_url }}"
/>
</a>
</h1>
{% else %}
<a href="{% route home %}" class="np-school-name np-header-font-color">
{{ current_school.name }}
</a>
{% endif %}
<div class="np-hidden-mobile np-header-desktop-nav">
<ul class="np-header-desktop-nav-list">
{% for website_navigation in navigations.header_navigations_external %}
<li class= "np-header-desktop-nav-item">
<a
href="{{ website_navigation.path }}"
class="np-header-desktop-nav-link np-header-font-color"
target="_blank"
>
{{ website_navigation.name }}
</a>
</li>
{% endfor %}
</ul>
</div>
{% if current_person.signed_in? %}
<div class="np-hidden-mobile np-header-search np-header-search-expanded">
<form action="{% route search %}" method="get" data-test="desktop-search">
<input
aria-label="{% t .search %}"
class="np-header-search-input np-header-font-background-color"
type="text"
name="q"
placeholder="{% t .search %}"
/>
<i class="np-header-search-icon far fa-search"></i>
</form>
</div>
<div class="np-hidden-mobile np-header-avatar">
<button
class="np-header-avatar-button"
data-test="open-desktop-menu"
data-toggle-class-on-target="np-hidden"
data-toggle-target=".np-header-avatar-tooltip"
data-toggle-outside
>
<img
alt="{{ current_person.name }}"
class="np-header-avatar-image"
src="{{ current_person.avatar_url }}"
>
</button>
<div class="np-header-avatar-tooltip np-hidden" role="tooltip">
<span class="np-header-avatar-tooltip-arrow-up"></span>
<div class="np-header-avatar-tooltip-learner">
<div class="np-header-avatar-tooltip-learner-name">
{{ current_person.name }}
</div>
<div class="np-header-avatar-tooltip-learner-email">
{{ current_person.email }}
</div>
</div>
<nav class="np-header-avatar-tooltip-navigation">
{% unless current_school.sso_active? %}
<a
class="np-header-avatar-tooltip-navigation-link"
href="{% route account %}"
>
{% t .profile_settings %}
</a>
{% endunless %}
<a
class="np-header-avatar-tooltip-navigation-link np-danger"
href="{% route logout %}"
>
{% t .sign_out %}
</a>
</nav>
</div>
</div>
{% else %}
<a
class="np-header-sign-in np-header-desktop-nav-link np-header-font-color"
aria-label="{% t shared.sign_in %}"
href="{% route login %}"
>
{% t shared.sign_in %}
</div>
{% endif %}
</div>
{% include 'my_courses_filter' %}
</header>
<div class="np-hidden-desktop">
<div class="np-header-mobile-menu-content np-hidden">
{% if current_person.signed_in? %}
<img
alt="{{ current_person.name }}"
class="np-header-mobile-menu-content-avatar"
src="{{ current_person.avatar_url }}"
/>
<div class="np-header-mobile-menu-content-name">
{{ current_person.name }}
</div>
{% endif %}
<div class="np-header-mobile-menu-content-nav">
<form
class="np-header-search"
data-test="mobile-search"
method="get"
action="{% route search %}"
>
<input
aria-label="{% t .search %}"
class="np-header-search-input"
type="text"
name="q"
placeholder="{% t .search %}"
/>
<i class="np-header-search-icon far fa-search"></i>
</form>
{% for website_navigation in navigations.header_navigations %}
{% if website_navigation.name == "Dashboard" %}
<a
href="{{ website_navigation.path }}"
class="np-header-mobile-menu-content-button"
{% if website_navigation.external? %} target="_blank" {% endif %}
>
My Courses
</a>
{% else %}
<a
href="{{ website_navigation.path }}"
class="np-header-mobile-menu-content-button"
{% if website_navigation.external? %} target="_blank" {% endif %}
>
{{ website_navigation.name }}
</a>
{% endif %}
{% endfor %}
<a
href="/app/catalog"
class="np-header-mobile-menu-content-button"
>
Catalog
</a>
<div class="np-header-mobile-menu-content-line"></div>
{% unless current_school.sso_active? %}
<a
class="np-header-mobile-menu-content-button"
href="{% route account %}"
>
{% t .profile_settings %}
</a>
{% endunless %}
<a
class="np-header-mobile-menu-content-button np-danger"
href="{% route logout %}"
>
{% t .sign_out %}
</a>
</div>
</div>
</div>
{% include "messages" %}
<style>
.np-header {
flex-direction: column;
position: fixed;
}
.np-header-logo {
justify-content: flex-start;
}
@media (min-width: 768px) {
.np-header-logo {
justify-content: center;
}
.np-header-content {
padding: 0 4%;
}
.np-header {
padding: 0;
align-items: normal;
}
.np-header-search-input {
background-color: transparent;
}
.logo-and-sub-nav {
display: flex;
}
.np-header-search-icon {
color: #000;
}
}
</style>

View File

@ -0,0 +1,47 @@
<header class="np-box-header np-header-color">
<a class="np-box-header-link" href="{% route home %}">
{% if current_school.logo_url %}
<img
alt="{{ current_school.name }}"
src="{{ current_school.logo_url }}"
class="np-box-header-logo"
/>
{% else %}
<span class="np-school-name np-header-font-color">
{{ current_school.name }}
</span>
{% endif %}
</a>
</header>
{% include "messages" %}
<script>
setTimeout(function(){
if (window.location.pathname == "/auth/auth_url_email/login") {
document.getElementsByClassName("np-input-label")[2].innerHTML = "Work Email Address";
if (document.getElementsByClassName("np-alert-wrapper").length != 0) {
document.getElementsByClassName("np-alert-wrapper")[0].innerHTML = "Please complete the following information to access Artera";
}
};
}, 500);
</script>
<script>
(function(apiKey){
(function(p,e,n,d,o){var v,w,x,y,z;o=p[d]=p[d]||{};o._q=o._q||[];
v=['initialize','identify','updateOptions','pageLoad','track'];for(w=0,x=v.length;w<x;++w)(function(m){
o[m]=o[m]||function(){o._q[m===v[0]?'unshift':'push']([m].concat([].slice.call(arguments,0)));};})(v[w]);
y=e.createElement(n);y.async=!0;y.src='https://cdn.pendo.io/agent/static/'+apiKey+'/pendo.js';
z=e.getElementsByTagName(n)[0];z.parentNode.insertBefore(y,z);})(window,document,'script','pendo');
{% if current_person.signed_in? %}
pendo.initialize({
visitor: {
email: current_person.email,
firstName: current_person.first_name,
lastName: current_person.last_name,
}
});
{% endif %}
})('a59ee367-b60f-4801-7452-0331dce168e1');
</script>

View File

@ -0,0 +1,51 @@
{% if courses.enrolled.any? %}
{% assign started_courses = courses.enrolled | map: "started?" %}
{% assign in_progress_courses = courses.enrolled | map: "progress" %}
{% assign learning_path_courses = learning_paths.enrolled | map: 'items'%}
{% assign any_started = false %}
{% assign any_in_progress = false %}
{% for started_course in started_courses %}
{% if started_course == true %}
{% assign any_started = true %}
{% endif %}
{% endfor %}
{% for in_progress_course in in_progress_courses %}
{% if in_progress_course > 0 and in_progress_course < 100 %}
{% assign any_in_progress = true %}
{% endif %}
{% endfor %}
{% if any_started and any_in_progress %}
{% assign any_course = false %}
<div class="row row-with-thumbnails">
{% for course in courses.enrolled %}
{% if course.progress > 0 and course.progress < 100 %}
{% 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 %}
<div class="{{ class }}">
{% include "cards_course" with course %}
</div>
{% assign any_course = true %}
{% endunless %}
{% endif %}
{% endfor %}
</div>
{% unless any_course %}
{% include "courses_zero_state", message: "Yikes! You dont have any In Progress Courses." %}
{% endunless %}
{% else %}
{% include "courses_zero_state", message: "Yikes! You dont have any In Progress Courses." %}
{% endif %}
{% else %}
{% include "courses_zero_state", message: "Yikes! You dont have any In Progress Courses." %}
{% endif %}

View File

@ -0,0 +1,42 @@
<div class="np-learning-paths-resources">
{% if items.any? %}
{% assign started_learning_paths = items | map: "started?" %}
{% assign in_progress_learning_paths = items | map: "progress" %}
{% assign any_started = false %}
{% assign any_in_progress = false %}
{% for started_learning_path in started_learning_paths %}
{% if started_learning_path == true %}
{% assign any_started = true %}
{% endif %}
{% endfor %}
{% for in_progress_learning_path in in_progress_learning_paths %}
{% if in_progress_learning_path > 0 and in_progress_learning_path < 100 %}
{% assign any_in_progress = true %}
{% endif %}
{% endfor %}
{% if any_started and any_in_progress %}
{% for learning_path in items %}
{% if learning_path.progress > 0 and learning_path.progress < 100 %}
{% include "cards_learning_path" with learning_path %}
{% endif %}
{% endfor %}
{% else %}
<div class="np-learning-paths-resources-container">
<div class="np-zero-state-text">
Bummer! You don't have any In Progress Learning Paths.
</div>
<img class="np-zero-state-learning-paths" alt="{% t .empty %}" />
</div>
{% endif %}
{% else %}
<div class="np-learning-paths-resources-container">
<div class="np-zero-state-text">
Bummer! You don't have any In Progress Learning Paths.
</div>
<img class="np-zero-state-learning-paths" alt="{% t .empty %}" />
</div>
{% endif %}
</div>

View File

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

View File

@ -0,0 +1,46 @@
<div class="np-hidden-mobile np-sub-navigation-content" style="display: none">
{% for link in navigations.sub_navigation %}
{% if link.label == "Dashboard" %}
<div class="np-sub-navigation-content-item {{ link.active_class }}">
<a class="np-sub-navigation-content-item-link" href="{{ link.url }}">
My Courses
</a>
</div>
{% elsif link.label == "Home" %}
<div class="np-sub-navigation-content-item" style="display:none;">
</div>
{% else %}
<div class="np-sub-navigation-content-item {{ link.active_class }}">
<a class="np-sub-navigation-content-item-link" href="{{ link.url }}">
{{ link.label }}
</a>
</div>
{% endif %}
{% endfor %}
</div>
<style>
.np-sub-navigation-content-item-active .np-sub-navigation-content-item-link {
color: #ff0036;
}
.np-sub-navigation-content-item-link {
color: #000;
font-weight: 600;
}
@media (min-width: 768px) {
.np-sub-navigation-content {
align-items: center;
margin-left: 40px;
}
.np-sub-navigation-content-item-link {
justify-content: center;
}
}
</style>
<script>
document.querySelector(".logo-and-sub-nav > .np-sub-navigation-content").style.removeProperty("display");
</script>

View File

@ -0,0 +1,11 @@
<div class="np-training-session-cta">
<div class="np-training-session-cta-buttons">
<form
action="{{training_session.session_url}}"
>
<button type="submit" class="np-top-button np-button np-button-big">
{% t .register %}
</button>
</form>
</div>
</div>

View File

@ -0,0 +1,72 @@
<script src="https://fast.wistia.net/assets/external/E-v1.js" async></script>
{%comment%} <script src="//fast.wistia.com/embed/medias/s3lqfi0zn7.jsonp" async></script>
<script src="//fast.wistia.com/assets/external/E-v1.js" async></script>{%endcomment%}
<main class="np-box-container np-open-access">
<div class="np-box">
{% include "header_minimal" %}
<div class="np-box-content-container">
<form class="np-form np-box-content" action="{{ form.url }}" method="get" novalidate>
{% form_authenticity_token %}
<div class="np-form-headline">
{% t shared.welcome_to_school, school_name: current_school.name %}
</div>
<div class="np-form-subheadline">
Check out the video below for a quick tour of Artera Academy.<br>Then, enter your first name, last name, and your work email address below to get started.
</div>
{%comment%}<div class="intro-video wistia_embed videoFoam=true playbar=false volumeControl=false smallPlayButton=false settingsControl=false autoPlay=true wistia_async_fl9lthnnox" style="width: 100%; height: auto; margin-bottom: 20px;">&nbsp;</div>{%endcomment%}
<div class="wistia_responsive_padding" style="padding:56.25% 0 0 0;position:relative;">
<div class="wistia_responsive_wrapper" style="height:100%;left:0;position:absolute;top:0;width:100%;">
<iframe src="https://fast.wistia.net/embed/iframe/fl9lthnnox?seo=false&videoFoam=true" title="LearnWELL Intro Video" allow="autoplay; fullscreen" allowtransparency="true" frameborder="0" scrolling="no" class="wistia_embed" name="wistia_embed" msallowfullscreen width="100%" height="100%"></iframe>
</div>
</div>
<br>
<div class="np-form-field">
<label class="np-input-label" for="learner_first_name">
{% t shared.first_name %}
</label>
<input
class="np-input"
autofocus="autofocus"
type="text"
name="first_name"
id="learner_first_name"
value="{{ form.first_name }}"
/>
</div>
<div class="np-form-field">
<label class="np-input-label" for="learner_last_name">
{% t shared.last_name %}
</label>
<input
class="np-input"
type="text"
name="last_name"
id="learner_last_name"
value="{{ form.last_name }}"
/>
</div>
<div class="np-form-field">
<label class="np-input-label" for="learner_email">
{% t shared.email_address %}
</label>
<input
class="np-input"
type="text"
name="email"
id="learner_email"
value="{{ form.email }}"
/>
</div>
<input
type="submit"
name="commit"
value="{% t shared.enter %}"
class="np-button np-button-big np-form-action"
/>
</form>
</div>
</div>
</main>

View File

@ -0,0 +1,26 @@
{% include "header" %}
<main class="np-main np-catalog np-subpage-container np-max-width">
{% include "course_version_outdated_alert", courses: courses.in_catalog %}
<div class="np-catalog-header-wrapper">
<div class="np-catalog-header">
<div>
<div class="np-resource-title">{{ catalog.headline }}</div>
<div class="np-resource-subtitle">{{ catalog.subheadline }}</div>
</div>
{% include 'catalog_filters' %}
</div>
{% capture label %}{% t shared.filters.by_category %}{% endcapture %}
</div>
{% include "courses_catalog" %}
</main>
{% include "footer" %}
<style>
@media (min-width: 768px) {
.np-catalog-header {
flex-direction: row;
justify-content: space-between;
width: 100%;
}
}
</style>

View File

@ -0,0 +1,18 @@
{% include "header" %}
<main class="np-main np-max-width np-page-container">
<div class="np-hidden-mobile" id="course-desktop">
{% include "course_desktop_view" %}
</div>
<div class="np-hidden-desktop" id="course-mobile">
{% include "course_mobile_view" %}
</div>
</main>
{% include "footer" %}
<style>
@media (min-width: 768px) {
.np-page-container {
margin: 0 auto 6.25rem;
}
}
</style>

View File

@ -0,0 +1,65 @@
{% include "header" %}
{% include "sub_navigation" %}
{% assign courses_classes = "" %}
{% if features.training_events? %}
{% assign courses_classes = "col-xs-12 col-sm-6 np-stretch-content" %}
{% else %}
{% assign courses_classes = "col-xs-12 col-sm-4 np-stretch-content" %}
{% endif %}
<main class="np-main np-dashboard np-subpage-container np-max-width">
{% include "course_version_outdated_alert", courses: courses.enrolled %}
<div class="row np-flex-center">
<div class="col-xs-12 {% if features.training_events? %} col-sm-8 {% endif %}">
<div class="courses-container" id="in-progress-courses">
<div class="np-dashboard-resources-title">
In progress courses
</div>
{% include "in_progress_courses_index", class: courses_classes %}
</div>
<div class="courses-container" id="not-started-courses">
<div class="np-dashboard-resources-title">
Enrolled Courses
</div>
{% include "enrolled_courses_index", class: courses_classes %}
</div>
<div class="courses-container" id="completed-courses">
<div class="np-dashboard-resources-title">
Completed Courses
</div>
{% include "completed_courses_index", class: courses_classes %}
</div>
</div>
</div>
</main>
{% include "footer" %}
<script>
window.addEventListener('DOMContentLoaded', (event) => {
document.querySelector('.my-courses-filters').style.removeProperty('display');
})
</script>
<style>
.np-dashboard {
padding-top: 183px;
}
.np-stretch-content:nth-child(n+2) {
margin-top: 24px;
}
@media (min-width: 768px) {
.np-stretch-content {
margin-top: 24px;
}
.np-dashboard-resources-title {
margin: 20px 0 20px;
}
}
}
</style>

View File

@ -0,0 +1,191 @@
{% include "header" %}
<main class="np-main np-homepage">
{% include "course_version_outdated_alert", courses: courses.featured %}
<div class="np-homepage-hero">
<img class="np-homepage-hero-image"
src="{{ homepage.artwork_url }}"
alt="{{ homepage.headline }}"
/>
<div class="np-homepage-hero-content">
<div class="np-homepage-headline np-header-font-color">
{{ homepage.headline }}
</div>
<div class="np-homepage-subheadline np-header-font-color">
{{ homepage.subheadline }}
</div>
<a class="np-homepage-hero-cta np-button" href="{% route catalog %}">
{% t .discover %}
</a>
</div>
</div>
{% include "sub_navigation" %}
<div class="np-homepage-featured np-max-width">
<div class="np-homepage-featured-text">
<div class="np-homepage-headline">
{{ homepage.featured_courses_headline }}
</div>
<div class="np-homepage-subheadline">
{{ homepage.featured_courses_subheadline }}
</div>
</div>
{% if courses.featured.any? %}
<div class="np-homepage-featured-courses">
{% for course in courses.featured %}
<div class="np-stretch-content">
{% include "cards_course" with course %}
</div>
{% endfor %}
</div>
{% else %}
<div class="np-homepage-featured-empty">
<div class="np-zero-state-text">
{% t .empty, key: current_school.course_vocabulary %}
</div>
<img
class="np-zero-state-courses"
alt="{% t .empty, key: current_school.course_vocabulary %}"
/>
</div>
{% endif %}
</div>
</main>
{% include "footer" %}
<style>
/*
.np-homepage-hero-content {
position: static;
text-align: left;
}
.np-homepage-hero {
flex-direction: row-reverse;
}
.np-homepage-hero-cta.np-button {
border-radius: 30px;
padding: 18px;
}
.np-homepage-hero-image {
max-width: 50%;
height: auto;
max-height: max-content;
}*/
.np-main {
padding: 123px 0 0;
}
.np-stretch-content:nth-child(n+2) {
margin-top: 24px;
}
.np-homepage-featured-courses {
margin: 0;
}
.tns-outer {
position: relative;
}
#tns1-mw {
min-height: 500px;
}
.tns-controls {
position: absolute;
z-index: 100;
top: 50%;
transform: translate(0,-50%);
width: 100%;
display: flex;
justify-content: space-between;
}
.tns-controls > * {
border: none;
letter-spacing: 0.01em !important;
line-height: 0;
touch-action: manipulation;
user-select: none;
-webkit-tap-highlight-color: transparent;
-webkit-font-smoothing: antialiased;
text-size-adjust: 100%;
--polaris-version-number: "4.27.0";
--polaris-animation-skeleton-shimmer: polaris-SkeletonShimmerAnimation;
--toast-translate-y-out: 15rem;
--toast-translate-y-in: 0;
--global-ribbon-height: 0px;
--p-text-subdued: #6d7175;
--p-card-shadow: 0 0.2rem 0.4rem #dfe3e8;
--top-bar-background: #00848e;
--top-bar-background-lighter: #1d9ba4;
--top-bar-color: #f9fafb;
--p-frame-offset: 0px;
font-family: -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI,
Roboto, Helvetica Neue, sans-serif;
cursor: pointer;
box-sizing: border-box;
fill: #292824;
vertical-align: middle;
width: 30px;
height: 30px;
border-radius: 50%;
background: #fff;
box-shadow: 0 0 1px rgba(66, 71, 76, 0.45), 0 2px 1px rgba(0, 0, 0, 0.05);
}
@media (min-width: 768px) {
.np-main {
padding: 123px 0 0;
}
.course-card {
height: auto;
}
.np-homepage-hero-cta.np-button {
border-radius: 30px;
padding: 32px;
}
.np-homepage-hero .np-homepage-headline {
font-size: 5rem;
}
.np-homepage-hero .np-homepage-subheadline {
font-weight: 800;
font-size: 18px;
line-height: 2em;
letter-spacing: .72px;
text-align: left;
}
.np-stretch-content {
margin-top: 24px;
}
}
</style>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.4/tiny-slider.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.2/min/tiny-slider.js"></script>
<script type="module">
var slider = tns({
container: '.np-homepage-featured-courses',
items: 1,
nav: false,
controlsText: ['<i class="fas fa-chevron-left"></i>', '<i class="fas fa-chevron-right"></i>'],
responsive: {
768: {
items: 2
},
1200: {
items: 3
}
}
});
</script>
<script>
window.location.href = '/app/dashboard'
</script>

View File

@ -0,0 +1,135 @@
/*
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 }}
*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
html *:not(i) {
font-family: 'Poppins', sans-serif !important;
}
body, .np-main {
background: #fff;
}
.np-main {
padding-top: 123px;
}
@media screen and (min-width: 768px) {
.np-main {
padding-top: 123px;
}
}
.np-alert {
margin: 20px 0;
}
/* Course Cards */
.course-card {
cursor: pointer;
background-color: #f5f2ff;
border-radius: 30px;
box-shadow: none;
padding: 24px 24px 44px;
transition: .2s;
width: 100%;
margin: 20px 0;
}
.course-card:hover, .course-card:focus {
box-shadow: 10px 10px 20px 0 rgb(62 51 102 / 20%);
}
.course-card-container {
display: flex;
width: 100%;
}
.course-card-container > * {
transition: .2s;
}
.course-image {
border-radius: 15px;
display: block;
margin-bottom: 16px;
overflow: hidden;
padding-top: 72%;
position: relative;
width: 100%;
}
.course-image img {
bottom: 0;
height: 100%;
left: 0;
object-fit: cover;
position: absolute;
right: 0;
top: 0;
width: 100%;
max-width: 100%;
}
.course-categories-container {
font-size: 10px;
font-weight: 500;
margin: 0;
min-height: 25.5px;
}
.course-name {
font-weight: 500;
letter-spacing: 1px;
line-height: normal;
margin: 20px 0 0;
font-size: 18px;
min-height: 60px
}
.course-name a {
text-decoration: none;
color: #000;
}
.course-category {
background-color: #ffe7e1;
color: #ff7676;
border-radius: 4px;
font-weight: 500;
margin-right: 8px;
padding: 4px 8px;
text-transform: uppercase;
transition: .2s;
text-decoration: none;
margin-bottom: 6px;
}
@media (min-width: 768px) {
.course-card {
padding: 24px 24px 35px;
}
.course-card-container {
padding: 0 12px;
}
.course-image {
padding-top: 66%;
}
.course-name {
font-size: 20px;
}
}

View File

@ -0,0 +1,33 @@
{% include "header" %}
{% include "sub_navigation" %}
<main class="np-main np-training-events np-subpage-container np-max-width">
<div class="row">
<div class="iframe_div">
<iframe
style= "border: 3px solid #B2D7C7;"
width="100%" height="500"
src=
"https://calendar.google.com/calendar/u/0/embed?height=800&wkst=1&bgcolor=%23ecf0f9&ctz=America/Los_Angeles&showTabs=1&mode=AGENDA&title=WELL+Customer+Training+Workshops&showCalendars=1&showNav=1&showTitle=0&showDate=1&showPrint=1&src=Y184ZXM5aGp2Y2g4YnJnZTU2b3VsZXY0NGgzc0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t&color=%23B39DDB"
title="Artera Public Calendar"
>
</iframe>
</div>
</main>
{% include "footer" %}
<style>
.row {
justify-content: center;
padding-top: 55px;
}
.iframe_div {
display: block;
overflow: hidden;
width: 75%;
height: 500px;
border-radius: 12px;
transform: translateZ(0px);
border: 3px solid #9E7DFF;
}
</style>

View File

@ -92,7 +92,6 @@ Each box is the same height.
Emily due April 19th. Will then be on parental leave.
## 05/02/2023
### Scheduled Report Request
@ -103,3 +102,22 @@ to access the reports.
DONE: Custom Report for completions of "Self Service Analytics" Course.
Other items: redoing the design of the internal LMS.
## 06/01/2023
### Internal Instance Redesign
They don't need ILTs for the internal.
Match the external Artera LMS - as close to 1:1 as possible.
Notes on what to and not to change:
* My Courses - remove events embed, center all cards and make courses 3 across.
* Course cards - They will not be using short description, make cards smaller.
* Sub nav - Remove LP & Events
* Homepage - no homepage, My courses is the homepage
No official release, just move over when ready.
Should be completed once Jackie returns from PTO.
Anytime after the week of July 3rd. Jackie is back on July 11th.
Jackie is OUT as of 22nd.

View File

@ -0,0 +1,27 @@
"Gaucho and M restaurants";""
"Mass Subs Holdings LLC";"Jersey Mike's"
"Top Shelf Restaurants LLC dba Jersey Mike's";"Jersey Mike's"
"Rick Stein";""
"Maman";""
"Creative Food Group";""
"JM Washington Inc.Dba Jersey Mike's";"Jersey Mike's"
"ITICO";""
"Mass Subs Holdings LLC";"Jersey Mike's"
"Holland Park Restaurant Limited";""
"Rick Stein";""
"LC of SA | DHC of SA | Firehouse of SA";"Dave's Hot Chicken"
"Hawaiian Bros Island Grill";""
"YOTEL";""
"Caprice Restaurants";""
"Rick Stein";""
"Maman";""
"DRS Food | Sharma Domino's";""
"Bar Lab Holdings LLC";""
"TopShelfLifestyles, LLC";"Jersey Mike's"
"Pasture Restaurant Ltd";""
"Rick Stein";""
"Newstay Manchester Trading Limited";""
"Freeland Group Restaurants (HQ)";""
"SKYNET GP5";""
"Creative Food Group";""
"Rick Stein";""
1 Gaucho and M restaurants
2 Mass Subs Holdings LLC Jersey Mike's
3 Top Shelf Restaurants LLC dba Jersey Mike's Jersey Mike's
4 Rick Stein
5 Maman
6 Creative Food Group
7 JM Washington Inc.Dba Jersey Mike's Jersey Mike's
8 ITICO
9 Mass Subs Holdings LLC Jersey Mike's
10 Holland Park Restaurant Limited
11 Rick Stein
12 LC of SA | DHC of SA | Firehouse of SA Dave's Hot Chicken
13 Hawaiian Bros Island Grill
14 YOTEL
15 Caprice Restaurants
16 Rick Stein
17 Maman
18 DRS Food | Sharma Domino's
19 Bar Lab Holdings LLC
20 TopShelfLifestyles, LLC Jersey Mike's
21 Pasture Restaurant Ltd
22 Rick Stein
23 Newstay Manchester Trading Limited
24 Freeland Group Restaurants (HQ)
25 SKYNET GP5
26 Creative Food Group
27 Rick Stein

View File

@ -1,3 +1,18 @@
/* Hello, Tracy! Welcome to the Harri script!
Please save this script in a specific folder. That folder should be: ~/Documents/Harri/
Please save the file you get from Chris in that same folder!
Here's how you run it. Now that this file is open in VS Code, you're almost there!
1. Click "Terminal" at the top of your screen and click "New Terminal" (or use Control+Shift+`)
2. A little window will show up at the bottom of your screen. Make sure "Terminal" is highlighted.
3. Go to line 100 and make sure the path is the same where your files are saved (Documents/Harri). Make sure the date is accurate.
4. Click on this new terminal window and make sure you can type. Please copy and paste the following command:
" node ~/Documents/Harri/harri_csv.js", tap Enter.
5. If all goes well, you should see the script "working" by showing emails and uuids in the terminal.
*/
const fs = require("fs");
const { parse } = require("csv-parse");
const axios = require('axios');
@ -84,4 +99,4 @@ function csvReader(someArray, filePath) {
})
}
csvReader(array, "/Users/normrasmussen/Downloads/Harri Activation Report - 2023.05.31.csv")
csvReader(array, "~/Documents/Harri/Harri Activation Report - 2023.05.31.csv")

35
Y
View File

@ -1,35 +0,0 @@
session_name: Northpass
windows:
- focus: 'true'
layout: c0fe,181x64,0,0,1
options: {}
panes:
- focus: 'true'
shell_command: Python
start_directory: /Users/normrasmussen/Documents/Work
window_name: notes
- layout: c0ff,181x64,0,0,2
options: {}
panes:
- focus: 'true'
shell_command: zsh
start_directory: /Users/normrasmussen/Documents/Work/Custom_Templates/customer_templates
window_name: templates
- layout: fc38,181x64,0,0[181x47,0,0,3,181x16,0,48,4]
options: {}
panes:
- focus: 'true'
shell_command:
- cd /Users/normrasmussen/Documents/Work/Scripts
- zsh
- shell_command:
- cd /Users/normrasmussen/Documents/Work/Scripts/API_Tests
- zsh
window_name: scripts
- layout: c102,181x64,0,0,5
options: {}
panes:
- focus: 'true'
shell_command: zsh
start_directory: /Users/normrasmussen/.dotfiles/nvim/.config/nvim
window_name: dots