removed projects & added kitman

This commit is contained in:
Norm Rasmussen
2022-07-13 16:19:30 -04:00
parent 7134825deb
commit 19c8e1974c
191 changed files with 4496 additions and 225737 deletions

View File

@ -31,6 +31,7 @@ Catalyst for CS with client
# Interview with Matt # Interview with Matt
Works at Proliant Works at Proliant
The software "leaves a lot to be desired" The software "leaves a lot to be desired"
Doesn't have good developers and it goes offline a few hours each day Doesn't have good developers and it goes offline a few hours each day
@ -66,3 +67,42 @@ After that would contact Service Support Specialist, or his manager
## Questions for me? ## Questions for me?
One question - what would I say is the biggest challenge? - Punching above our weight class One question - what would I say is the biggest challenge? - Punching above our weight class
# Interview with Egypt
Meeting at 4:30pm on 7/12/2022
Showed up on time
Opened with "I love that you have a sense of humor" and aligned
Brought up her mother who taught her how to be better and help more people
Ambitious, so went for the best hospital in NJ
Was in control of success or failure of nurse candidates
"It all comes down to the patient experience"
Job was to make sure nothing fell through the cracks for the patients
Now works in corporate and has a steady in-office job
Accountability is so important, would apologize for the issue
Ask if they have submitted tickets, if anything has already been done
Actionable goals for the client
Fall back on the team
** Needs some training on self-resources, google **
Would troubleshoot in the manual
Check scope of practice
Was thinking about going to law school
She loves helping, which is why she went to healthcare
Thinks she is a great facilitator and thrives in the background
Found her niche in healthcare
Good at communicating
Wants more control of the customer experience
## Questions for Me
Wants to know about the software - what tiers do we have available?
What sorts of fires do we put out?
How many clients do you manage?
How have you or what have you learned is the best approach for when a client comes up for renewal?
Curious to know about work life balance - am I satisfied?
Looking back at the time on Northpass, what would have I told new hire me?

View File

@ -1,12 +1,12 @@
# GENERAL TODO # GENERAL TODO
- Allyson Meeting: - Allyson Meeting:
- [ ] Salesforce contact? - [X] Salesforce contact?
- [ ] Salesforce Workato Workaround - [ ] Salesforce Workato Workaround
- [ ] Question to Sales for handoff - [X] Question to Sales for handoff
- [ ] - [ ]
Ask Eric to connect the main AGriwebb NP school to SFDC sandbox? - [X] Ask Eric to connect the main AGriwebb NP school to SFDC sandbox?
Blacklane needs an old SFDC version Blacklane needs an old SFDC version
What are critical for launch? What is not? What are critical for launch? What is not?
@ -57,8 +57,6 @@ Registrations will be a link that Melinda will manager
# Crayon # Crayon
As of tonight As of tonight
Crayon.co/Academy will no longer have a form Crayon.co/Academy will no longer have a form
Crayon.co/Academy/Activator-Course - Form to course url Crayon.co/Academy/Activator-Course - Form to course url
@ -84,6 +82,8 @@ Send Conor how to find MCA and show only empty attempts
Conor off July 5-8 Conor off July 5-8
Conor off this Friday Conor off this Friday
November Launch of Last Course - Conor's goal
## Meeting with Sheila regarding Analytics and Hubspot ## Meeting with Sheila regarding Analytics and Hubspot
- [ ] Pull single course analysis with all versions lumped into one - [ ] Pull single course analysis with all versions lumped into one
- [ ] Can we pull all versions with date range? - [ ] Can we pull all versions with date range?
@ -138,12 +138,8 @@ Charles was the best salesperson they ever had, CPO thought he was the best
Iorad was a decision factor Iorad was a decision factor
They need it for at least this year They need it for at least this year
# Heading 1
## Headinger 2 # Unknown Notes
## Heading 3
1
2
3
Pilot Courses: we are working on multiple pilots for training courses on a broad spectrum of topics. As an example, we've started building out a 'PowerBI & Data Insights Introductory course' in our Northpass environment already Pilot Courses: we are working on multiple pilots for training courses on a broad spectrum of topics. As an example, we've started building out a 'PowerBI & Data Insights Introductory course' in our Northpass environment already
@ -277,14 +273,18 @@ Educator - Teachers looking for PD requirements
# Blacklane # Blacklane
## Whos Who ## Whos Who
- Calum: Content, User journeys - Calum: Content, User journeys
- Colin: Might be the same (has covid 7/5) - Colin: Might be the same (has covid 7/5)
## Tasks ## Tasks
[ ] - Create Flow Chart of Roles, Courses, NP Definitions etc - [X] Create Flow Chart of Roles, Courses, NP Definitions etc
[ ] - Lay out one course per role since we can't hide activities - [X] Lay out one course per role since we can't hide activities
[ ] - Check with SE if we can hide activities based on role - [X] Check with SE if we can hide activities based on role
- [ ] Create flow chart of how to create courses
- [ ] Annotated version of diagram - remove details
- [ ] Go through Master Course and look for holes
## Integrations: ## Integrations:
@ -373,14 +373,13 @@ The rest comes from Experts - experts in certain fields (time management, podcas
[ ] - Find examples of search within the page only [ ] - Find examples of search within the page only
[ ] - Submit ticket with Figma files for design changes [ ] - Submit ticket with Figma files for design changes
[ ] - Activities in a course is a step in a how-to [ ] - Activities in a course is a step in a how-to
[ ] -
# SPS Commerce # SPS Commerce
## Todo Lists ## Todo Lists
- [ ] Check in on workflows in a few weeks - [X] Check in on workflows in a few weeks
- [ ] Connect Kayla and KJ for Analytics sync - [X] Connect Kayla and KJ for Analytics sync
# Agriwebb # Agriwebb
@ -533,3 +532,53 @@ Back fill badges
- [ ] Send ticket for font changes - [ ] Send ticket for font changes
# Talkspace
7/12/2022
500 errors tickets from people
Test out the new learning paths from Ummey's email and check that they work
August 1st goal of completeing the new courses
Especially the Cultural Competency course
Internal service errors keep happening
As early as last week
We need options for outside of the learning path
Learning Paths - two other schools are not having learning paths errors
Molly needs help with: anyone who is not at 100% (for CA and non-CA) Compliance July and CA July the LP on dashboard needs to be removed. This way they don't get assigned a new one and then take the old one.
- [ ] Pull analytic and bulk remove the LP from those people
Can a learner self-select their role? Separate comms for each group?
Comms each group are necessary
They shouldn't need to switch groups once in this
Pre registrations
# Mark43
We need Northapss to be able to parse the group id information in the JWT
"We want Northpass to be able to support parsing a custom claim containing the Northpass group ID from the JWT used in SSO-based authentication. Mark43 (perhaps the TSE team) would be responsible for ensuring that new & existing SSO identity provider configurations (e.g., Azure AD) contain a custom property with the appropriate Northpass group ID for that customer."
"We would need to have a separate method for customers who have no external identity provider configured (i.e., customers who authenticate with Northpass via their Mark43 application credentials). We currently have no automated way to link these users (whole departments, really) to a given Northpass group automatically"
They don't want to do user management
Previous company, LMS admin would talk to each person in the academy
Michelle can't do that.
Currently, she post's links on help center and then people sign up for the university on their own
If we used token-based authentication, how do we keep out competitors?
What happens with empty values (no identity provider) users and token based auth?
If non-value users are allowed in, how do we keep out competitors?
* OAuth 2.0 would work best for passing groups and IDs
* We built out an Okta integration, it uses our default SAML
* Okta provides group provisioning
* Generically availble with anyone who uses OAuth 2.0
* For non-external IPs, there needs to be a single identity provider, such as Mark43
* Charlie Question: Is there a centralized place where all the information lives? With minor dev resources, we could set up API calls to constantly update their Northpass people and accounts
* Whenever something is changed in their system, auto updated (i.e. someone changes departments)

Binary file not shown.

View File

@ -0,0 +1,56 @@
<div class="np-card {{ card_classes }}">
<div class="np-card-container">
<div class="card__image" style="background-image: url({{ course.image_url }})">
{% if course.ribbon and course.ribbon.size > 0 %}
<div class="np-card-ribbon">
{{ course.ribbon }}
</div>
{% endif %}
</div>
<div class="np-card-content np-card-content-vertical np-card-padding">
<h3 class="np-card-content-title">
{{ course.name }}
</h3>
{% if course.instructor_names and course.instructor_names.size > 0 %}
<div class="np-card-content-subtitle">
{{ course.instructor_names }}
</div>
{% endif %}
{% if course.short_description and course.short_description.size > 0 %}
<div class="np-card-content-description">
{{ course.short_description | split: " --- " | last }}
</div>
{% endif %}
<div class="np-card-content-footer">
{% capture course_path %}{% route course, id: course.id %}{% endcapture %}
{% if course.name == "Developer Coding Challenge Mission" %}
<a class ="np-button np-button-wide" href="https://stripedemo.northpass.com/courses/e805c2c2-9be1-46b9-9a1f-7c26a99a8e22/activities/7886cee7-904f-435f-9c9d-f966b3536aae">
{% t shared.view %}
</a>
{% elsif course.name == "MCQ Exam Sign up" %}
<a class = "np-button np-button-wide" href=https://stripedemo.northpass.com/courses/fa2b4ce1-8e59-4ba8-b2ea-8f20d101daa2/activities/4ba10994-8512-4245-adeb-d30bf8d1c98f">
{% t shared.view %}
</a>
{% else %}
<a class="np-button np-button-wide" href="{{ course_path }}">
{% t shared.view %}
</a>
{% endif %}
{% if course.enrolled? %}
{% if course.has_to_restart? %}
{% include "course_version_outdated_popup", path: course_path %}
{% endif %}
<div class="np-card-content-progress np-button-color">
{% if course.completed? %}
Complete
{% elsif course.started? == false %}
Enrolled
{% else %}
{{ course.progress }}% Complete
{% endif %}
</div>
{% endif %}
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,61 @@
<div class="np-card card--horizontal {{ card_classes }}">
<div class="np-card-container">
<div class="card__image" style="background-image: url({{ learning_path.image_url }})">
<div class="np-card-ribbon np-hidden-mobile">
<i class="fa fa-book-open" aria-hidden="true"></i>
{{ learning_path.items.count }} Tutorial{% if learning_path.items.count > 1%}s{% endif %}
</div>
</div>
<div class="np-card-text-wrapper">
<div class="np-card-content np-card-padding np-card-content-vertical">
<h3 class="np-card-content-title">
{{ learning_path.name }}
</h3>
{% if learning_path.has_instructors? %}
<div class="np-card-content-subtitle">
{{ learning_path.instructor_names }}
</div>
{% endif %}
<div class="np-card-ribbon np-hidden-desktop">
<i class="fa fa-book-open" aria-hidden="true"></i>
{{ learning_path.items.count }} Tutorial{% if learning_path.items.count > 1%}s{% endif %}
</div>
{% comment %} Currently hiding the description {% endcomment %}
{% comment %}
{% if learning_path.description and learning_path.description.size > 0 %}
<div class="np-hidden-mobile np-card-content-description">
{{ learning_path.description }}
</div>
{% endif %}
{% endcomment %}
<div class="np-card-content-footer">
<a class="np-button" href="{% route learning_path, id: learning_path.id %}">
<span class="np-hidden-desktop">View</span>
<span class="np-hidden-mobile">View Path</span>
</a>
{% if learning_path.enrolled? %}
<div class="np-card-content-progress
np-button-color">
{% if learning_path.completed? %}
Complete
{% elsif learning_path.started? == false %}
Enrolled
{% else %}
{{ learning_path.progress }}% Complete
{% endif %}
</div>
{% endif %}
</div>
</div>
</div>
</div>
<div class="np-card-stack">
<div class="np-card-stack-level-1"></div>
<div class="np-card-stack-level-2"></div>
</div>
</div>

View File

@ -0,0 +1,59 @@
<div class="np-card card--training-event {{ card_classes }}">
<div class="np-card-container">
<div class="np-card-content np-card-padding np-card-content-vertical">
<h3 class="np-card-content-title">
{{ training_event.title }}
</h3>
<div class="np-card-content-subtitle">
{% case training_event.event_type %}
{% when "online" %}
Online Event
{% when "in_person" %}
In-Person Event
{% endcase %}
</div>
{% if training_event.description and training_event.description.size > 0 %}
<div class="np-card-content-description">
{{ training_event.description | strip }}
</div>
{% endif %}
<div class="np-card-training-session-date">
{% comment %} Fallback to the first session {% endcomment %}
{% assign session_to_display = training_event.sessions | first %}
{% comment %} Check for an enrolled session and preferrably display that {% endcomment %}
{% assign enrolled_sessions = training_event.sessions | where: "registered?", true %}
{% if enrolled_sessions and enrolled_sessions.size > 0 %}
{% assign session_to_display = enrolled_sessions | first %}
{% endif %}
{% include "training_session_date", training_session: session_to_display %}
{% if training_event.sessions and training_event.sessions.size > 1 %}
<div class="session-date__other-info-container">
<div class="session-date__other-info-wrapper">
<i class="np-card-training-sessions-icon far fa-calendar-star" aria-hidden="true"></i>
<span class="np-card-training-sessions-label">
{{ training_event.sessions.size | minus: 1 }}
{% if training_event.sessions.size == 2 %}
Other Session
{% else %}
Other Sessions
{% endif %}
</span>
</div>
</div>
{% endif %}
</div>
<div class="np-card-content-footer">
<a
class="np-button np-button-wide"
href="{% route training_session, id: session_to_display.id %}"
>
{% t shared.view %} Event
</a>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,4 @@
<span class="np-course-outline-content-activity-title">
{{ activity.title }}
</span>

View File

@ -0,0 +1,9 @@
<a
href="{% route activity_viewer,
id: activity.id,
course_id: params.course_id,
learning_path_id: params.learning_path_id
%}" class="{{ activity_classes }}"
>
{{ activity.title }}
</a>

View File

@ -0,0 +1,27 @@
{% if course.learner_can_retake? %}
<form action="{% route course_retake, id: course.id %}" method="POST">
{% form_authenticity_token %}
<button type="submit" class="np-top-button np-button-font-color np-button np-button-big">
Restart Course
</button>
</form>
{% else %}
<a
class="np-top-button np-button-font-color np-button np-button-big"
{% if course.enrolled? %}
href="{% route course_viewer, course_id: course.id, learning_path_id: params.learning_path_id %}"
{% else %}
href="{% route course_enrollment, code: course.enrollment_code %}"
{% endif %}
>
{% if course.enrolled? == false %}
Enroll in Course
{% elsif course.started? == false %}
Start Course
{% elsif course.completed? %}
View Course
{% else %}
Continue Course
{% endif %}
</a>
{% endif %}

View File

@ -0,0 +1,6 @@
<h3 class="np-card-heading">
About This Tutorial
</h3>
<div class="np-card-text">
{{ course.full_description }}
</div>

View File

@ -0,0 +1,26 @@
<h3 class="np-card-heading">
{% t .header %}
</h3>
{% for event in course.events %}
<div class="np-course-events-content-item">
<div class="np-course-events-content-date">
<div class="np-course-events-content-month">
{{ event.sessions.first.abbreviated_month }}
</div>
<div class="np-course-events-content-day">
{{ event.sessions.first.day }}
</div>
</div>
<div class="np-course-events-content-details">
<div class="np-course-events-content-name">
{{ event.title }}
</div>
<div class="np-course-events-content-type np-text-light">
{% t shared.event_types, key: event.event_type %}
</div>
<div class="np-course-events-content-time">
{{ event.sessions.first.time_period | replace: "AM", "am" | replace: "PM", "pm" | replace: "-", "–" }} {{ event.sessions.first.time_zone }}
</div>
</div>
</div>
{% endfor %}

View File

@ -0,0 +1,6 @@
<div class="np-top-title">
{{ course.name }}
</div>
<div>
{% include "course_cta_button" %}
</div>

View File

@ -0,0 +1,26 @@
<h3 class="np-card-heading">
Instructors
</h3>
<div class="instructors-list__container">
{% for instructor in course.instructors %}
<div class="np-content-instructors-content-item">
<img
src="{{ instructor.avatar_url }}"
class="np-content-instructors-content-image"
alt="{{ instructor.name }}"
/>
<div class="np-content-instructors-content-description">
<div class="np-content-instructors-content-name">
{{ instructor.name }}
</div>
{% if instructor.title and instructor.title.size > 0 %}
<div class="np-content-instructors-content-info">
{{ instructor.title }}
</div>
{% endif %}
</div>
</div>
{% endfor %}
</div>

View File

@ -0,0 +1,57 @@
<div class="np-course-outline np-card-content-divider">
<h3 class="np-card-heading">
Outline
</h3>
<div class="np-course-outline-content">
<ol class="np-course-outline-content-section">
{% for section in course.sections %}
<li class="np-course-outline-content-section-list">
<div class="np-course-outline-content-section-name np-text-title-bold np-text-title-bold">
{{ section.name }}
</div>
<ol class="np-course-outline-content-activity">
{% for activity in section.activities %}
<li class="np-course-outline-content-activity-list">
<i
class="fas np-course-outline-content-activity-icon
{% if activity.completed? %}
fa-check-circle np-progress-color
{% else %}
fa-circle
{% endif %}"
{% if activity.completed? %}
aria-label="Chapter Complete"
{% else %}
aria-hidden="true"
{% endif %}
>
</i>
{% comment %} If the activity is locked show a locked icon and then a text title {% endcomment %}
{% if activity.locked? %}
<i
class="far fa-lock-alt np-course-outline-content-activity-icon-locked"
aria-label="Chapter Locked"
></i>
{% include "course_activity_locked" %}
{% comment %} If the user is not enrolled in the course show a text title {% endcomment %}
{% elsif course.enrolled? == false %}
{% include "course_activity_locked" %}
{% comment %} Otherwise include a link {% endcomment %}
{% else %}
{% include "course_activity_unlocked", activity_classes: "np-course-outline-content-activity-link-completed" %}
{% endif %}
<div class="np-course-outline-content-activity-list-bar
{% if activity.completed? %} np-progress-background-color {% endif %}"></div>
</li>
{% endfor %}
</ol>
</li>
{% endfor %}
</ol>
</div>
</div>

View File

@ -0,0 +1,23 @@
<div class="np-top-cta">
<div class="np-hidden-mobile">
{% include "course_cta_button" %}
</div>
<div class="np-top-cta-progress-content">
<div class="np-top-cta-progress-title np-text-title">
Progress
</div>
<div class="np-progress-bar-container">
<div
style="width: {{ course.progress }}%"
class="np-progress-background-color np-card-progress-bar">
</div>
</div>
<div class="np-top-cta-progress-text">
{{ course.progress }}% Complete
</div>
</div>
</div>
<div class="np-hidden-desktop">
{% include "course_cta_button" %}
</div>

View File

@ -0,0 +1,49 @@
<div class="np-course-version-outdated-popup np-popup">
<div class="np-popup-positioner">
<i
class="np-course-version-outdated-popup-trigger fas fa-exclamation-circle"
data-toggle-class-on-target="np-popup-tooltip--visible"
data-toggle-target-parent=".np-popup-tooltip"
data-toggle-outside
aria-label="New Version Available"
tabindex="0"
></i>
<div
class="np-popup-tooltip"
role="tooltip"
aria-hidden="true"
>
<header class="np-popup-header">
<i class="np-popup-header-icon fas fa-exclamation-circle" aria-hidden="true"></i>
<h3 class="np-popup-header-title">
{% t .title %}
</h3>
</header>
<div class="np-popup-body">
<h4>
{% capture header_text %}
{% t .body.header %}
{% endcapture %}
{{ header_text | replace: "course", "tutorial" }}
</h4>
<p>
{% capture body_text %}
{% t .body.content %}
{% endcapture %}
{{ body_text | replace: "course", "tutorial" }}
</p>
<a
class="np-popup-body-button"
href="{{ path }}"
>
{% capture button_text %}
{% t .body.button %}
{% endcapture %}
{{ button_text | replace: "Course", "Tutorial" }}
</a>
</div>
<div class="np-popup-tail"></div>
</div>
</div>
</div>

View File

@ -0,0 +1,15 @@
{% if courses.enrolled and courses.enrolled.any? %}
<div class="blocks-layout">
{% for course in courses.enrolled %}
{% include "cards_course", course: course, card_classes: card_classes %}
{% endfor %}
</div>
{% else %}
{% capture message %}
{% t shared.zero_state.courses.index,
key: current_school.course_vocabulary
%}
{% endcapture %}
{% assign message = message | replace: "Courses", "tutorials" %}
{% include "courses_zero_state", message: message, filters_applied: false %}
{% endif %}

View File

@ -0,0 +1,20 @@
{% if courses.enrolled and courses.enrolled.any? %}
<div class="blocks-layout">
{% for course in courses.enrolled %}
{% for category in course.categories %}
{% if category.name == 'Partner Certification' %}
{% include "cards_course", course: course, card_classes: card_classes %}
{% endif %}
{% endfor %}
{% endfor %}
</div>
{% else %}
{% capture message %}
{% t shared.zero_state.courses.index,
key: current_school.course_vocabulary
%}
{% endcapture %}
{% assign message = message | replace: "Courses", "tutorials" %}
{% include "courses_zero_state", message: message, filters_applied: false %}
{% endif %}

View File

@ -0,0 +1,155 @@
{% comment %} Initialize Variables {% endcomment %}
{% assign show_learning_paths_section = false %}
{% assign show_events_section = false %}
{% assign learning_path_section_classes = "" %}
{% assign event_section_classes = "" %}
{% assign learning_path_card_classes = "col-md-6" %}
{% assign event_card_classes = "col-x-sm-6 col-sm-6 col-md-4 col-lg-3" %}
{% comment %} Determine if learning paths are enabled and the user is enrolled in at least one learning path {% endcomment %}
{% if features.learning_paths? and learning_paths.enrolled and learning_paths.enrolled.any? %}
{% assign show_learning_paths_section = true %}
{% endif %}
{% comment %} Determine if events are enabled and the user is registsered for at least one event {% endcomment %}
{% if features.training_events? and training_events.enrolled and training_events.enrolled.any? %}
{% assign show_events_section = true %}
{% endif %}
{% comment %} Determine whether special classes need to be added to non course sections and the cards within {% endcomment %}
{% if show_learning_paths_section %}
{% assign learning_path_section_classes = "col-md-6" %}
{%comment%}{% assign learning_path_section_classes = "col-md-8 col-lg-6" %}{%endcomment%}
{% assign learning_path_card_classes = "" %}
{% endif %}
{%if show_events_section%}
{% assign event_section_classes = "col-md-3" %}
{%comment%}{% assign event_section_classes = "col-md-4 col-lg-6" %}{%endcomment%}
{% assign event_card_classes = "col-x-sm-12" %}
{%comment%}{% assign event_card_classes = "col-x-sm-6 col-sm-6 col-md-12 col-lg-6" %}{%endcomment%}
{%endif%}
<main class="np-main np-dashboard np-subpage-container">
<div class="blocks-layout">
{% comment %} Show the first featured course as a banner {% endcomment %}
{% if courses.featured and courses.featured.any? %}
<div>
{% include "banner_course", course: courses.featured.first, button_text: "Get Started" %}
</div>
{% endif %}
{% comment %} Show this section if either the event section or learning path section has content {% endcomment %}
{% if show_learning_paths_section or show_events_section %}
<div class="blocks-layout">
{% if show_learning_paths_section %}
<div class="{{ learning_path_section_classes }}">
<h2 class="np-dashboard-resources-title">
Learning Paths
</h2>
{% include "learning_paths_index", items: learning_paths.enrolled, card_classes: learning_path_card_classes %}
</div>
{% endif %}
{% if show_events_section %}
<div class="{{ event_section_classes }}">
<h2 class="np-dashboard-resources-title">
Upcoming Events
</h2>
{% include "training_events_dashboard", card_classes: event_card_classes %}
</div>
{% endif %}
{%comment%} This is a test section for understanding blocks-layout and the formatting required to render an additional 'achievements' section {%endcomment%}
{% if show_events_section %}
<div class="{{ event_section_classes }}">
<h2 class="np-dashboard-resources-title" style="width: 265px">
Recent Achievements
</h2>
{% include "widget_achievements", card_classes: event_card_classes %}
</div>
{% endif %}
</div>
{% endif %}
<div>
<h2 class="np-dashboard-resources-title">
My Courses
</h2>
{% if courses.enrolled and courses.enrolled.any? %}
{% comment %} Sort enrolled courses by progress {% endcomment %}
{% assign enrolled_courses_sorted = courses.enrolled | sort_natural: "short_description" | reverse | sort_natural: "progress" | reverse %}
{% comment %} Divide courses by progress/completion state {% endcomment %}
{% assign courses_completed = enrolled_courses_sorted | where: "completed?", true %}
{% assign courses_in_progress = enrolled_courses_sorted | where: "completed?", false | where: "started?", true %}
{% assign courses_enrolled = enrolled_courses_sorted | where: "started?", false %}
{% comment %} In Progress & Enrolled courses {% endcomment %}
{% if courses_in_progress.size > 0 or courses_enrolled.size > 0 %}
<h3 class="dashboard-layout__subtitle">
Courses In Progress
</h3>
<div class="blocks-layout">
{% comment %} In Progress courses {% endcomment %}
{% if courses_in_progress.size > 0 %}
{% for course in courses_in_progress %}
{% for category in course.categories %}
{% if category.name == 'Partner Training'%}
{% include "cards_course", course: course, card_classes: "col-x-sm-6 col-sm-6 col-md-4 col-lg-3" %}
{% endif %}
{% endfor %}
{% endfor %}
{% endif %}
{% comment %} Enrolled courses {% endcomment %}
{% if courses_enrolled.size > 0 %}
{% for course in courses_enrolled %}
{% for category in course.categories %}
{% if category.name == 'Partner Training'%}
{% include "cards_course", course: course, card_classes: "col-x-sm-6 col-sm-6 col-md-4 col-lg-3" %}
{% endif %}
{% endfor %}
{% endfor %}
{% endif %}
</div>
{% endif %}
{% comment %} Completed courses {% endcomment %}
{% if courses_completed.size > 0 %}
<h3 class="dashboard-layout__subtitle">
Completed Courses
</h3>
<div class="blocks-layout">
{% for course in courses_completed %}
{% for category in course.categories %}
{% if category.name == 'Partner Training'%}
{% include "cards_course", course: course, card_classes: "col-x-sm-6 col-sm-6 col-md-4 col-lg-3" %}
{% endif %}
{% endfor %}
{% endfor %}
</div>
{% endif %}
{% else %}
{% capture message %}
{% t shared.zero_state.courses.index,
key: current_school.course_vocabulary
%}
{% endcapture %}
{% assign message = message | replace: "Courses", "tutorials" %}
{% include "courses_zero_state", message: message, filters_applied: false %}
{% endif %}
</div>
</div>
</div>
</main>
{% include "footer" %}

View File

@ -0,0 +1,9 @@
<div class="np-dashboard-resources-container">
<div class="np-zero-state-text">
<p>{{ message }}</p>
{% if filters_applied %}
<button class="np-button np-button-wide js-clear-filter-button js-filter-type__all">Clear All Filters</button>
{% endif %}
</div>
<img class="np-zero-state-courses" alt="{{ message }}" />
</div>

View File

@ -0,0 +1,81 @@
{% comment %}
<footer class="np-footer">
<div class="np-footer-top">
{% if website_footer.show_navigation_links? %}
<div class="np-footer-navigation">
<ul class="np-footer-navigation-list">
{% for website_navigation in navigations.footer_navigations %}
<li class="np-footer-navigation-item">
<a
class="np-footer-navigation-link np-button-color"
href="{{ website_navigation.path }}"
{% if website_navigation.external? %} target="_blank" {% endif %}
>
{{ website_navigation.name }}
</a>
</li>
{% endfor %}
</ul>
</div>
{% endif %}
{% 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 %}
</div>
<div class="np-footer-bottom">
<nav class="np-footer-social-links">
{% if website_footer.show_social_media_links? %}
<ul class="np-footer-social-links-list">
{% for social_media_link in website_footer.social_media_links %}
<li class="np-footer-social-links-item">
<a
class="np-footer-social-links-link np-button-color"
href="{{ social_media_link.link }}"
target="_blank" title="{{ social_media_link.name }}"
>
<i class="np-footer-social-links-icon
np-button-color
fab fa-{{ social_media_link.name }}"
aria-label="{{ social_media_linke.name }}"
></i>
</a>
</li>
{% endfor %}
</ul>
{% endif %}
</nav>
{% 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>
<div class="np-footer-support-item np-footer-support-email">
{% t .email %}
</div>
<a
class="np-footer-support-item np-footer-support-link np-button-color"
href="mailto:{{ website_footer.school_customer_service_email }}"
>
{{ website_footer.school_customer_service_email }}
</a>
</div>
{% endif %}
</div>
</footer>
{% endcomment %}

View File

@ -0,0 +1,8 @@
{% styles default %}
{% styles colors %}
{% styles custom %}
{% comment %} Install Lato {% endcomment %}
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;0,900;1,400;1,700;1,900&display=swap" rel="stylesheet">

View File

@ -0,0 +1,204 @@
<header class="np-header np-header-color">
<div class="np-header-content">
<div class="np-hidden-desktop np-header-mobile-menu-nav">
{% if current_person.signed_in? %}
<button
data-toggle-class="np-hidden"
class="np-header-mobile-menu-nav-button fal fa-times np-hidden np-header-font-color"
data-toggle-target=".np-header-mobile-avatar-menu,
.np-header-mobile-menu-content, .np-main, .np-footer"
></button>
<button
data-test="open-mobile-menu"
data-toggle-class="np-hidden"
class="np-header-mobile-menu-nav-button np-header-mobile-avatar-menu"
data-toggle-target=".fa-times, .np-header-mobile-menu-content, .np-main, .np-footer"
>
<img
alt="{{ current_person.name }}"
class="np-header-avatar-image"
src="{{ current_person.avatar_url }}"
/>
</button>
{% endif %}
</div>
{% if current_school.logo_url %}
<h1 class="np-header-logo">
<a href="{% route home %}">
<img
alt="{{ current_school.name }}"
class="np-header-logo-image"
src="{{ current_school.logo_url }}"
/>
</a>
</h1>
{% else %}
<a href="{% route home %}" class="np-school-name np-header-font-color">
{{ current_school.name }}
</a>
{% endif %}
<div class="np-hidden-mobile np-header-desktop-nav">
<ul class="np-header-desktop-nav-list">
{% comment %} Partner Training {% endcomment %}
{% assign navigation_my_training = navigations.sub_navigation | where: "label", "partner-training" | first %}
{% include "header_desktop_menu_item", label: "Partner Training", url: '/app/partner-training', external: false %}
{% comment %} All Courses {% endcomment %}
{% include "header_desktop_menu_item", label: 'Courses', url: '/app/courses', external: false %}
{% comment %} Learning Paths {% endcomment %}
{% assign navigation_guides = navigations.sub_navigation | where: "label", "Learning Paths" | first %}
{% include "header_desktop_menu_item", label: "Learning Paths", url: navigation_guides.url, external: false %}
{% comment %} Events {% endcomment %}
{% assign navigation_events = navigations.sub_navigation | where: "label", "Events" | first %}
{% include "header_desktop_menu_item", label: navigation_events.label, url: navigation_events.url, external: false %}
{% for website_navigation in navigations.header_navigations_external %}
{% include "header_desktop_menu_item", label: website_navigation.name, url: website_navigation.path, external: true %}
{% 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" aria-label="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"
href="{% route login %}"
>
{% t shared.sign_in %}
</div>
{% endif %}
</div>
</header>
<div class="np-hidden-desktop">
<div class="np-header-mobile-menu-content np-hidden">
{% if current_person.signed_in? %}
<img
alt="{{ current_person.name }}"
class="np-header-mobile-menu-content-avatar"
src="{{ current_person.avatar_url }}"
/>
<div class="np-header-mobile-menu-content-name">
{{ current_person.name }}
</div>
{% endif %}
<div class="np-header-mobile-menu-content-nav">
<form
class="np-header-search"
data-test="mobile-search"
method="get"
action="{% route search %}"
>
<input
aria-label="{% t .search %}"
class="np-header-search-input"
type="text"
name="q"
placeholder="{% t .search %}"
/>
<i class="np-header-search-icon far fa-search" aria-label="search"></i>
</form>
{% comment %} Home {% endcomment %}
{% assign mobile_navigation_home = navigations.header_navigations | where: "name", "Home" | first %}
{% include "header_mobile_menu_item", label: mobile_navigation_home.name, url: mobile_navigation_home.path, external: false %}
{% comment %} Dashboard {% endcomment %}
{% assign mobile_navigation_my_training = navigations.header_navigations | where: "name", "Dashboard" | first %}
{% include "header_mobile_menu_item", label: "Dashboard", url: mobile_navigation_my_training.path, external: false %}
{% comment %} All Courses {% endcomment %}
{% include "header_mobile_menu_item", label: "Tutorials", url: "/app/courses", external: false %}
{% comment %} Learning Paths {% endcomment %}
{% assign mobile_navigation_guides = navigations.header_navigations | where: "name", "Learning Paths" | first %}
{% include "header_mobile_menu_item", label: "Learning Paths", url: mobile_navigation_guides.path, external: false %}
{% comment %} Events {% endcomment %}
{% assign mobile_navigation_events = navigations.header_navigations | where: "name", "Events" | first %}
{% include "header_mobile_menu_item", label: mobile_navigation_events.name, url: mobile_navigation_events.path, external: false %}
{% comment %} External Links {% endcomment %}
{% assign mobile_navigation_external = navigations.header_navigations | where: "external?", true %}
{% for website_navigation in mobile_navigation_external %}
{% include "header_mobile_menu_item", label: website_navigation.name, url: website_navigation.path, external: true %}
{% endfor %}
<div class="np-header-mobile-menu-content-line"></div>
{% unless current_school.sso_active? %}
<a
class="np-header-mobile-menu-content-button"
href="{% route account %}"
>
{% t .profile_settings %}
</a>
{% endunless %}
<a
class="np-header-mobile-menu-content-button np-danger"
href="{% route logout %}"
>
{% t .sign_out %}
</a>
</div>
</div>
</div>
{% include "messages" %}

View File

@ -0,0 +1,32 @@
<li class="np-header-desktop-nav-item">
<a
href="{{ url }}"
class="np-header-desktop-nav-link np-header-font-color
{% if url contains current_page_orgin %}
is-active white-text
{% else %}
white-text
{% endif %}
"
{% if external %}target="_blank"{% endif %}
>
{% if label %}{{ label }} {% endif %}
</a>
</li>
<style>
.white-text{
color: white
}
.black-text{
color: black
}
.black-text:hover{
color: white;
}
.white-text:hover{
color: black;
}
</style>

View File

@ -0,0 +1,8 @@
<a
href="{{ url }}"
class="np-header-mobile-menu-content-button"
{% if external %} target="_blank" {% endif %}
style="color: white"
>
{{ label }}
</a>

View File

@ -0,0 +1,63 @@
{% comment %} Determine if the item should be a link or not {% endcomment %}
{% if learning_path.enrolled? and course.unlocked? %}
{% assign element_type = "a" %}
{% else %}
{% assign element_type = "div" %}
{% endif %}
<div>
<{{ element_type }}
class="np-learning-path-outline-item np-card card--horizontal"
{% if element_type == "a" %}
href="{% route learning_path_course, learning_path_id: learning_path.id, id: course.id %}"
{% endif %}
>
<div class="np-card-container">
<div class="card__image" style="background-image: url({{ item.image }})">
{% if course.optional? %}
<div class="np-card-ribbon">
Optional
</div>
{% endif %}
</div>
<div class="np-card-content np-learning-path-outline-content np-card-padding">
<div class="card__step-counter"></div>
<h3 class="np-card-content-title">
{{ course.name }}
</h3>
{% if course.instructors and course.instructors.size > 0 %}
<div class="np-card-content-subtitle">
{{ course.instructors }}
</div>
{% endif %}
<div class="np-card-content-footer">
<div class="np-card-content-progress">
{% if course.completed? %}
Complete
{% elsif course.progress > 0 %}
{{ course.progress }}% Complete
{% endif %}
</div>
</div>
</div>
{% comment %} Use a different icon based on the state of the learning path and course {% endcomment %}
{% if course.completed? %}
<div class="outline-card__icon-container outline-card__icon-complete">
<i class="fas fa-check np-learning-path-outline-icon" aria-label="Tutorial Completed"></i>
</div>
{% elsif element_type == "div" %}
<div class="outline-card__icon-container outline-card__icon-locked">
<i class="fas fa-lock np-learning-path-outline-icon" aria-label="Tutorial Locked"></i>
</div>
{% else %}
<div class="outline-card__icon-container outline-card__icon-link">
<i class="fas fa-chevron-right np-learning-path-outline-icon" aria-label="Start Tutorial"></i>
</div>
{% endif %}
</div>
</{{ element_type }}>
</div>

View File

@ -0,0 +1,22 @@
<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 %}
Enroll in Learning Path
{% elsif learning_path.started? == false %}
Start Learning Path
{% elsif learning_path.completed? %}
View Learning Path
{% else %}
Continue Learning Path
{% endif %}
</a>

View File

@ -0,0 +1,6 @@
<h3 class="np-card-heading">
About This Guide
</h3>
<div class="np-card-text">
{{ learning_path.description }}
</div>

View File

@ -0,0 +1,27 @@
<h3 class="np-card-heading">
Instructors
</h3>
<div class="np-content-instructors-content row">
{% for instructor in learning_path.instructors %}
<div class="np-content-instructors-content-item">
<img
src="{{ instructor.avatar_url }}"
class="np-content-instructors-content-image"
alt="{{ instructor.name }}"
>
<div class="np-content-instructors-content-description">
<div class="np-content-instructors-content-name">
{{ instructor.name }}
</div>
{% assign instructor_title_size = instructor.title | size %}
{% if instructor.title and instructor.title.size > 0 %}
<div class="np-content-instructors-content-info">
{{ instructor.title }}
</div>
{% endif %}
</div>
</div>
{% endfor %}
</div>

View File

@ -0,0 +1,9 @@
<div class="np-learning-path-outline blocks-layout">
{% for item in learning_path.items %}
{% if item.course? %}
{% include "learning_path_course", course: item %}
{% elsif item.training_event? %}
{% include "learning_path_training_session", training_session: item %}
{% endif %}
{% endfor %}
</div>

View File

@ -0,0 +1,23 @@
<div class="np-top-cta">
<div class="np-hidden-mobile">
{% include "learning_path_cta_button" %}
</div>
<div class="np-top-cta-progress-content">
<div class="np-top-cta-progress-title np-text-title">
Progress
</div>
<div class="np-progress-bar-container">
<div
style="width: {{ learning_path.progress }}%"
class="np-progress-background-color np-card-progress-bar">
</div>
</div>
<div class="np-top-cta-progress-text">
{{ learning_path.progress }}% Complete
</div>
</div>
</div>
<div class="np-hidden-desktop">
{% include "learning_path_cta_button" %}
</div>

View File

@ -0,0 +1,57 @@
{% if learning_path.enrolled? and training_session.unlocked? %}
<div class="np-learning-path-outline-bar np-hidden-mobile"style='display: none;'></div>
<div class="np-card">
<a
class="np-learning-path-outline-item np-card-container"
href="{% route training_session, id: training_session.id %}"
>
<div class="np-card-content np-card-padding">
<div class="np-events-content-date np-button-background-color">
<div class="np-events-content-month">
{{ training_session.month }}
</div>
<div class="np-events-content-day">
{{ training_session.day }}
</div>
</div>
<div class="np-learning-path-outline-content">
<div class="np-learning-path-outline-name np-top-title">{{ training_session.name }}</div>
<div class="np-learning-path-outline-caption">{{ training_session.instructors }}</div>
<div class="np-events-content-time np-learning-path-outline-time np-button-color">
{{ training_session.time }} {{ training_session.time_zone }}
</div>
</div>
<i class="fas fa-chevron-right np-learning-path-outline-icon" aria-hidden="true"></i>
{% if training_session.optional? %}
<div class="np-optional-ribbon">
{% t shared.optional %}
</div>
{% endif %}
</div>
</a>
</div>
{% else %}
<div class="np-card">
<div class="np-learning-path-outline-item np-card-container np-learning-path-outline-inactive-item">
<div class="np-card-content np-card-padding">
<div class="np-events-content-date np-button-background-color">
<div class="np-events-content-month">
{{ training_session.month }}
</div>
<div class="np-events-content-day">
{{ training_session.day }}
</div>
</div>
<div class="np-learning-path-outline-content">
<div class="np-learning-path-outline-name np-top-title">{{ training_session.name }}</div>
<div class="np-learning-path-outline-caption">{{ training_session.caption }}</div>
</div>
{% if training_session.optional? %}
<div class="np-optional-ribbon">
{% t shared.optional %}
</div>
{% endif %}
</div>
</div>
</div>
{% endif %}

View File

@ -0,0 +1,17 @@
{% if items and items.any? %}
<div class="blocks-layout">
{% for learning_path in items %}
{% include "cards_learning_path" with learning_path %}
{% endfor %}
</div>
{% else %}
<div class="np-learning-paths-resources-container">
<div class="np-zero-state-text">
{% capture empty_state_text %}
{% t .empty %}
{% endcapture %}
{{ empty_state_text | replace: "Learning Paths", "guides" }}
</div>
<img class="np-zero-state-learning-paths" alt="{% t .empty %}" />
</div>
{% endif %}

View File

@ -0,0 +1,11 @@
<nav class="np-sub-navigation">
<div class="np-sub-navigation-content">
{% comment %} . {% include "sub_navigation_item", label: "All Courses", icon: "fa fa-book-open", url: '/app/courses' %} {% endcomment %}
{% include "sub_navigation_item", label: "Partner Training", icon: "fa fa-tasks", url: "/app/partner-training" %}
{% if current_person.properties.partner_training_cert == true %}
{% include "sub_navigation_item", label: "Partner Certifications", icon: "fa fa-desktop", url: "/app/partner-certs" %}
{% else %}
{% include "sub_navigation_item", label: "Partner Certifications", icon: "fa-solid fas fa-exclamation", url: "" %}
{% endif %}
</div>
</nav>

View File

@ -0,0 +1,21 @@
<div class="np-sub-navigation-content-item
{% if url contains current_page %}
np-sub-navigation-content-item-active
{% else %}
np-sub-navigation-content-item-inactive
{% endif %}
">
<a class="np-sub-navigation-content-item-link subnav-item" href="{{ url }}">
<i class="{{ icon }} np-button-color np-sub-navigation-content-item-icon" aria-hidden="true"></i>
<div class="oa-sub-navigation-content-item-label">
{{ label }}
</div>
</a>
<div class="np-sub-navigation-content-item-bar np-button-background-color"></div>
</div>
<style>
.subnav-item:hover{
color: #ba37d6
}
</style>

View File

@ -0,0 +1,5 @@
<div class="blocks-layout">
{% for training_event in training_events.enrolled %}
{% include "cards_training_event", training_event: training_event, card_classes: card_classes %}
{% endfor %}
</div>

View File

@ -0,0 +1,11 @@
<div>
{% if training_events.available and training_events.available.any? %}
<div class="blocks-layout">
{% for training_event in training_events.available %}
{% include "cards_training_event", training_event: training_event, card_classes: "col-x-sm-6 col-sm-6 col-md-4" %}
{% endfor %}
</div>
{% else %}
{% include "training_events_zero_state" %}
{% endif %}
</div>

View File

@ -0,0 +1,43 @@
<div class="dropdown dropdown-calendar">
<button
class="np-button np-button-big dropdown-calendar-button"
data-toggle-class="is-open"
data-toggle-escape
data-toggle-outside
data-toggle-target-next
type="button"
>
{% t .add_to_calendar %}
<i class="fas fa-chevron-down dropdown-calendar-button-chevron" aria-hidden="true"></i>
</button>
<ul class="dropdown-calendar-menu">
<li class="dropdown-calendar-item">
<a
class="dropdown-calendar-item-element np-button-background-color-on-hover np-button-font-color-on-hover"
href="{{ training_session.google_calendar_url }}"
target="_blank"
>
{% t .google_calendar %}
</a>
</li>
<li class="dropdown-calendar-item">
<a
class="dropdown-calendar-item-element np-button-background-color-on-hover np-button-font-color-on-hover"
href="{{ training_session.outlook_calendar_url }}"
target="_blank"
>
{% t .outlook_calendar %}
</a>
</li>
<li class="dropdown-calendar-item">
<a
class="dropdown-calendar-item-element np-button-background-color-on-hover np-button-font-color-on-hover"
href="{{ training_session.ical_calendar_url }}"
target="_blank"
>
{% t .ical_calendar %}
</a>
</li>
</ul>
</div>

View File

@ -0,0 +1,31 @@
<div class="np-training-session-cta">
<div class="np-training-session-cta-buttons">
<form
action="{% route training_session_registration, id: training_session.id %}"
method="post"
>
{% form_authenticity_token %}
{% if training_session.internal? and training_session.approved? %}
{% if features.training_events_google_calendar? %}
{% include "training_session_calendars" %}
<button type="submit" class="np-button np-button-big np-button-secondary">
{% t .unregister %}
</button>
{% else %}
<button type="submit" class="np-button-font-color np-button np-button-big">
{% t .unregister %}
</button>
{% endif %}
<input type="hidden" name="_method" value="delete" />
{% endif %}
{% if training_session.not_registered? %}
<button type="submit" class="np-top-button np-button np-button-big">
{% t .register %}
</button>
{% endif %}
</form>
</div>
</div>

View File

@ -0,0 +1,12 @@
<div class="np-card-training-session-date-bar"></div>
<div class="np-card-training-session-date-day">
{{ training_session.day }}
</div>
<div class="card__month-year-container">
<div class="np-card-training-session-date-month">
{{ training_session.month }}
</div>
<div class="np-card-training-session-date-year">
{{ training_session.year }}
</div>
</div>

View File

@ -0,0 +1,73 @@
{% include "header", current_page_orgin: "training_events" %}
<main class="np-main np-page-container np-training-session">
<div class="blocks-layout">
<div class="col-md-8">
<div class="np-card">
<div class="np-card-container details-card__card-container">
<div class="np-resource-header details-card__header np-card-padding-dynamic">
<div class="np-top-title">
{{ training_event.title }}
</div>
<div class="np-top-vocabulary">
{% case training_event.event_type %}
{% when "online" %}
<i class="fa fa-laptop np-training-session-icon" aria-hidden="true"></i>
Online Event
{% when "in_person" %}
<i class="fa fa-users-class np-training-session-icon" aria-hidden="true"></i>
In-Person Event
{% endcase %}
</div>
</div>
<div class="np-divider"></div>
<div class="np-card-padding-dynamic details-card__card-content">
{% if training_event.description and training_event.description.size > 0 %}
{% include "training_session_description" %}
{% endif %}
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="blocks-layout">
<div class="np-card col-sm-6 col-md-12">
<div class="np-card-container">
<div class="np-card-content np-card-content-vertical np-card-padding">
{% include "training_session_details" %}
{% include "training_session_cta" %}
</div>
</div>
</div>
<div class="col-sm-6 col-md-12">
<div class="np-training-session-sessions-title">
{% t shared.more_sessions %}
</div>
{% if training_event.sessions and training_event.sessions.size > 1 %}
{% include "training_session_more_sessions" %}
{% else %}
<div class="np-training-session-zero-state">
<img
alt="{% t .empty %}"
class="np-zero-state-training-sessions"
/>
<div class="np-training-session-zero-state-text">
{% t .empty %}
</div>
</div>
{% endif %}
</div>
</div>
</div>
</div>
</main>
{% include "footer" %}

View File

@ -0,0 +1,60 @@
<div class="np-card-training-session-date">
{% include "training_session_date", training_session: training_session %}
{% if training_session.approved? %}
<div class="session-date__other-info-container np-training-session-cta-note np-alert-success">
<div class="session-date__other-info-wrapper">
<i class="far fa-check np-training-session-icon" aria-hidden="true"></i>
<span>You're registered!</span>
</div>
</div>
{% elsif training_session.pending? %}
<div class="session-date__other-info np-training-session-cta-note np-alert-error">
<div class="session-date__other-info-wrapper">
<span>Pending – waiting approval</span>
</div>
</div>
{% elsif training_session.denied? %}
<div class="session-date__other-info np-training-session-cta-note np-alert-error">
<div class="session-date__other-info-wrapper">
<span>Denied – contact your academy admin</span>
</div>
</div>
{% elsif training_session.too_late? %}
<div class="session-date__other-info np-training-session-cta-note np-alert-error">
<div class="session-date__other-info-wrapper">
<span>Too late – meeting started</span>
</div>
</div>
{% elsif training_session.no_seats? %}
<div class="session-date__other-info np-training-session-cta-note np-alert-error">
<div class="session-date__other-info-wrapper">
<span>No seats available</span>
</div>
</div>
{% endif %}
</div>
<div class="training-session__details">
<div class="np-training-session-time">
<i class="fa fa-clock np-training-session-icon" aria-label="Event Time"></i>
{{ training_session.time_period | replace: "AM", "am" | replace: "PM", "pm" | replace: "-", "–" }} {{ training_session.time_zone }}
</div>
<div class="np-training-session-location">
{% if training_session.location %}
<i class="fa fa-map-marker-alt np-training-session-icon" aria-label="Event Location"></i>
{{ training_session.location }}
{% elsif training_session.session_url %}
<i class="fa fa-globe np-training-session-icon" aria-label="Event URL"></i>
<a href="https://{{ training_session.session_url }}" class="np-button-color" target="_blank" >
{{ training_session.session_url }}
</a>
{% endif %}
</div>
{% if training_session.instructor and training_session.instructor.size > 0 %}
<div>
<i class="fa fa-chalkboard-teacher np-training-session-icon" aria-label="Instructor"></i>
{{ training_session.instructor }}
</div>
{% endif %}
</div>

View File

@ -0,0 +1,137 @@
{% comment %}
For this widget to work you must import Slick CSS and JS
{% endcomment %}
<div class="np-card card--training-event col-x-sm-12 col-sm-12 col-md-12 col-lg-12">
<div class="np-card">
<div class="np-card-container np-dashboard-border" style="max-width: 300px;">
{% if courses.enrolled.any? %}
<div class="np-card-content-achievements">
<div class="achivements-carousel">
{% for course in courses.enrolled %}
{% if course.name == "Partner Training Fundamentals 1" %}
{% if course.progress == 100 %}
<div>
<div class="np-card-content-title col-12">
{{ course.name }}
</div>
<div class="col-12">
<img class="np-achievement-icon" src="{{ course.properties.course_badge }}" />
</div>
</div>
{% endif %}
{% endif %}
{% endfor %}
</div>
<a href="#" class="np-view-all-achievements">View All</a>
{% else %}
{% capture message %}
{% t shared.zero_state.courses.index,
key: current_school.course_vocabulary
%}
{% endcapture %}
{% include "courses_zero_state", message: message %}
{% endif %}
</div>
</div>
</div>
</div>
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function() {
$('.achivements-carousel').slick({
slidesToShow: 1,
slidesToScroll: 1,
dots: false,
infinite: true,
autoplay: false,
autoplaySpeed: 5000,
cssEase: 'linear',
prevArrow: '<i class="fal fa-chevron-left"></i>',
nextArrow: '<i class="fal fa-chevron-right"></i>',
responsive: [{
breakpoint: 991,
settings: {
dots: false
}
}]
})
});
</script>
<style>
.np-card-content-achievements .np-card-content-title {
font-size: 0.937rem;
color:#fff;
text-align:center;
font-weight:500;
}
.np-achievement-icon {
color: #bec2c6;
margin:14px auto 26px;
width:130px;
}
.np-card-content-achievements .slick-slider {
width:100%;
max-width: 375px;
margin: auto;
}
.np-view-all-achievements {
color:#635bff;
font-size:0.75rem;
text-transform:uppercase;
text-align:center;
text-decoration:none;
margin-bottom:1.5rem;
}
.np-card-content-achievements {
justify-content: center;
display: flex;
flex-direction: column;
padding: 2rem 2rem .5rem;
}
.achievements-total-points-display {
color:#635bff;
font-size:0.812rem;
text-transform:uppercase;
text-align:center;
margin-bottom:1.5rem;
font-weight:bold;
}
.achievements-total-points {
font-size:10px;
color:#fff;
padding:3px 5px;
display:inline-block;
border-radius:2px;
}
.slick-arrow {
color: rgba(255, 255, 255, 0.5);
opacity: 0.5;
font-size: 1.5rem;
position: absolute;
height: 100%;
top: 50%;
cursor:pointer;
}
.slick-arrow.fa-chevron-left { left:0 }
.slick-arrow.fa-chevron-right { right:0; }
@media (min-width:1024px) {
.np-card-content-achievements .slick-slider {
max-width: none;
margin: 0;
}
}
.achivements-carousel { text-align: -webkit-center; }
</style>

View File

@ -0,0 +1,47 @@
{% include "header", current_page_orgin: "catalog" %}
<main class="np-main np-page-container page--course-overview">
{% comment %} Get the full size background image by removing the modifier from the URL {% endcomment %}
{% assign course_image_full_size = course.image_url | replace: '/resize=width:820,height:500,fit:crop/', '/' %}
<div class="page-background-image" style="background-image: url({{ course_image_full_size }})"></div>
<div class="np-card">
<div class="np-card-container">
<div class="np-resource-header details-card__header np-card-padding-dynamic">
{% include "course_header" %}
</div>
<div class="np-divider"></div>
<div class="details-card__card-content np-card-padding-dynamic">
{% if course.full_description and course.full_description.size > 0 %}
{% include "course_description" %}
{% endif %}
<div class="cta__container">
{% if course.enrolled? and course.started? %}
{% include "course_progress_and_cta" %}
{% else %}
{% include "course_cta_button" %}
{% endif %}
</div>
{% if course.instructors and course.instructors.any? %}
<div class="np-card-content-divider">
{% include "course_instructors" %}
</div>
{% endif %}
{% include "course_outline" %}
{% if course.events and course.events.any? %}
<div class="np-card-content-divider">
{% include "course_events" %}
</div>
{% endif %}
{% include "course_cta_button" %}
</div>
</div>
</div>
</main>
{% include "footer" %}

View File

@ -0,0 +1,17 @@
{% include "header", current_page_orgin: "courses" %}
{% include "sub_navigation", current_page: "/app/courses" %}
<main class="np-main np-courses np-subpage-container">
<h1 class="np-resource-title">
All Courses
</h1>
<div class="np-resource-subtitle">
{% capture subtitle_text %}
{%comment%}{% t .headline, key: current_school.course_vocabulary %}{%endcomment%}
These are all courses you are enrolled in
{% endcapture %}
{{ subtitle_text | replace: "Courses", "tutorials" }}
</div>
<br>
{% include "courses_index", card_classes: "col-xs-12 col-sm-6 col-lg-4 np-stretch-content" %}
</main>
{% include "footer" %}

View File

@ -0,0 +1,101 @@
<script>
window.location.href = '/app/partner-training'
</script>
{%comment%}
{% assign show_learning_paths_section = false %}
{% assign show_events_section = false %}
{% assign learning_path_section_classes = "" %}
{% assign event_section_classes = "" %}
{% assign learning_path_card_classes = "col-md-6" %}
{% assign event_card_classes = "col-x-sm-6 col-sm-6 col-md-4 col-lg-3" %}
{% if features.learning_paths? and learning_paths.enrolled and learning_paths.enrolled.any? %}
{% assign show_learning_paths_section = true %}
{% endif %}
{% if features.training_events? and training_events.enrolled and training_events.enrolled.any? %}
{% assign show_events_section = true %}
{% endif %}
{% if show_learning_paths_section %}
{% assign learning_path_section_classes = "col-md-8 col-lg-6" %}
{% assign learning_path_card_classes = "" %}
{% endif %}
{%if show_events_section%}
{% assign event_section_classes = "col-md-4 col-lg-6" %}
{% assign event_card_classes = "col-x-sm-6 col-sm-6 col-md-12 col-lg-6" %}
{%endif%}
{% include "header", current_page_orgin: "dashboard" %}
<main class="np-main np-dashboard np-subpage-container">
<div class="page__header-wrapper">
<h1 class="np-resource-title">My Dashboard</h1>
</div>
<div class="page__primary-content">
<div class="blocks-layout">
{% if courses.featured and courses.featured.any? %}
<div>
{% include "banner_course", course: courses.featured.first, button_text: "Get Started" %}
</div>
{% endif %}
{% if show_learning_paths_section or show_events_section %}
<div class="blocks-layout">
{% if show_learning_paths_section %}
<div class="{{ learning_path_section_classes }}">
<h2 class="np-dashboard-resources-title">
Learning Paths
</h2>
{% include "learning_paths_index", items: learning_paths.enrolled, card_classes: learning_path_card_classes %}
</div>
{% endif %}
{% if show_events_section %}
<div class="{{ event_section_classes }}">
<h2 class="np-dashboard-resources-title">
Upcoming Events
</h2>
{% include "training_events_dashboard", card_classes: event_card_classes %}
</div>
{% endif %}
</div>
{% endif %}
<div>
<h2 class="np-dashboard-resources-title">
My Courses
</h2>
{% if courses.enrolled and courses.enrolled.any? %}
<div class="blocks-layout">
{% for course in courses.enrolled %}
{% for category in course.categories %}
{% if category.name == 'Partner Training' %}
{% include "cards_course", course: course, card_classes: card_classes %}
{% endif %}
{% endfor %}
{% endfor %}
</div>
{% else %}
{% capture message %}
{% t shared.zero_state.courses.index,
key: current_school.course_vocabulary
%}
{% endcapture %}
{% assign message = message | replace: "Courses", "tutorials" %}
{% include "courses_zero_state", message: message, filters_applied: false %}
{% endif %}
</div>
</div>
</div>
</main>
{% include "footer" %}{%endcomment%}

View File

@ -0,0 +1,182 @@
{% include "header", current_page_orgin: "false" %}
<main class="np-main np-homepage">
<div class="np-homepage-hero" style="background: transparent">
<div class="np-homepage-hero-content">
<div class="np-homepage-headline np-header-font-color" style="color: #fff">
{{ homepage.headline }}
</div>
{% assign role = current_person.properties.role %}
{% case role %}
{% when 'developer', 'architect' %}
<div class="np-homepage-subheadline np-header-font-color">
<span>Hi {{ current_person.first_name }}, how is the weather in {{ current_person.properties.location }}?</span>
<br>
<span>Here is the training you are eligible for in your role as {{ current_person.properties.role }}.</span>
</div>
{% else %}
<div class="np-homepage-subheadline np-header-font-color">
<span>Hi {{ current_person.first_name }}, how is the weather in Warrington, England?</span>
<br>
<span>Here is the training you are eligible for in your role as
<div class="dropdown">
<button class="dropbtn">Select Role â–Ľ </button>
<div class="dropdown-content">
<a href="#">Developer</a>
<a href="#">Architect</a>
<a href="#">Partner</a>
</div>
</div>
</span>
</div>
{% endcase %}
</div>
</div>
{% comment %} <svg class="homepage-waves__wave-1-container" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 150">
<path class="homepage-waves__wave-1 is-animation" d="M5984.23,101c-58.92-1.53-60.5-94.9-141.4-95.37-82.28-.48-87.5,94.18-169.31,92.18-60.28-1.48-80.93-94.31-149.31-92.66-67.51,1.64-83.1,87.24-155.81,86.28-49.22-.65-72-77.4-122.79-82.61-72.21-7.41-72.5,80.57-156.29,79.42-66.63-.92-68.81-87.51-123.81-85C4900.7,6.11,4893.8,95,4827.92,93.55c-51.81-1.16-71.73-83.71-114.42-86.1-72.39-4.06-85.27,88.17-160,89.29C4482.8,97.81,4484.4-.95,4432.57,0,4371.39,1.14,4356.11,93,4294,96.74c-60.14,3.67-78-94.36-142.33-94.61C4083,1.87,4077.21,104.19,4000,104.19c-50.91,0-68.57-98.87-121.86-98.87-59.83,0-80.93,104.18-157.22,102.05-60.56-1.68-68-101-142.92-101-60.32,0-69.95,101.3-156,100.61-46.95-.38-60-97-124.6-99.78C3224.62,4.08,3232.62,101,3148,107.37c-64,4.83-79.69-96.59-138.61-99.24-57.56-2.58-83.72,90.74-153.49,89.68-54.53-.83-79.4-95.2-142.33-94.61-63.24.59-85.42,94.22-156.28,93.54C2492.62,96.13,2493,11,2427,8.26c-77.22-3.19-61.83,95.8-153.5,94.86-52.48-.53-83-97.84-131.16-101C2077.9-2.09,2054,102.8,1984.23,101c-58.92-1.53-60.5-94.9-141.4-95.37-82.28-.48-87.5,94.18-169.31,92.18-60.28-1.48-80.93-94.31-149.31-92.66-67.51,1.64-83.1,87.24-155.81,86.28-49.22-.65-72-77.4-122.79-82.61-72.21-7.41-72.5,80.57-156.29,79.42-66.63-.92-68.81-87.51-123.81-85C900.7,6.11,893.8,95,827.92,93.55,776.11,92.39,756.19,9.84,713.5,7.45c-72.39-4.06-85.27,88.17-160,89.29C482.8,97.81,484.4-.95,432.57,0,371.39,1.14,356.11,93,294,96.74c-60.14,3.67-78-94.36-142.33-94.61C83,1.87,77.21,104.19,0,104.19V150H6000V99.52A65.85,65.85,0,0,1,5984.23,101Z"/>
</svg>{% endcomment %}
<div class="page-section homepage-navigation__section np-max-width">
<nav class="homepage-navigation__wrapper blocks-layout">
<div class="homepage-navigation__item-container">
<a class="homepage-navigation__item" href="/app/partner-training">
<div class="homepage-navigation__title">Partner Training</div>
<img class="animation-pe homepage-navigation__animation" src="https://s3.amazonaws.com/static.northpass.com/stripe/stripe_training_badge.png" alt="">
</a>
</div>
{% if current_person.properties.partner_training_cert == false %}
<div class="homepage-navigation__item-container">
<a class="homepage-navigation__item">
<div class="homepage-navigation__title" style="filter:grayscale(1)" >Partner Certifications</div>
<img class="animation-pe homepage-navigation__animation" src="https://s3.amazonaws.com/static.northpass.com/stripe/stripe_achievement_icon.png" alt="" style="filter:grayscale(1)">
</a>
</div>
{% else %}
<div class="homepage-navigation__item-container">
<a class="homepage-navigation__item" href="/app/partner-certs">
<div class="homepage-navigation__title">Partner Certifications</div>
<img class="animation-pe homepage-navigation__animation" src="https://s3.amazonaws.com/static.northpass.com/stripe/stripe_achievement_icon.png" alt="">
</a>
</div>
{% endif %}
</nav>
</div >
</div>
{% if courses.featured and courses.featured.any? %}
<div class="np-homepage-featured page-section np-max-width">
{% comment %} Show featured section text if either headline or subheadline are defined {% endcomment %}
{% if homepage.featured_courses_headline and homepage.featured_courses_headline.size > 0 %}
{% assign has_featured_headline = true %}
{% else %}
{% assign has_featured_headline = false %}
{% endif %}
{% if homepage.featured_courses_subheadline and homepage.featured_courses_subheadline.size > 0 %}
{% assign has_featured_subheadline = true %}
{% else %}
{% assign has_featured_subheadline = false %}
{% endif %}
{% if has_featured_headline or has_featured_subheadline %}
<div class="np-homepage-featured-text">
{% if homepage.featured_courses_headline and homepage.featured_courses_headline.size > 0 %}
<div class="np-homepage-headline">
{{ homepage.featured_courses_headline }}
</div>
{% endif %}
{% if homepage.featured_courses_subheadline and homepage.featured_courses_subheadline.size > 0 %}
<div class="np-homepage-subheadline">
{{ homepage.featured_courses_subheadline }}
</div>
{% endif %}
</div>
{% endif %}
<div class="blocks-layout">
{% comment %} Add different classes dependant on the number of featured courses. {% endcomment %}
{% assign card_classes = "card--horizontal np-stretch-content" %}
{% case courses.featured.size %}
{% when 3 %}
{% assign card_classes = card_classes | append: " col-lg-4" %}
{% when 2 %}
{% assign card_classes = card_classes | append: " col-md-6" %}
{% endcase %}
{% for course in courses.featured %}
{% include "cards_course", course: course, card_classes: card_classes %}
{% endfor %}
</div>
</div>
{% endif %}
{% comment %}
<svg class="homepage-waves__wave-2-container" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 150">
<path class="homepage-waves__wave-2 is-animation" d="M7818.66,2.13C7737.85-2.09,7707.9,102.8,7620.41,101c-73.85-1.53-75.84-94.9-177.26-95.37C7340,5.15,7333.46,99.81,7230.91,97.81c-75.58-1.48-101.46-94.31-187.18-92.66-84.64,1.64-104.18,87.24-195.33,86.28-61.7-.65-90.28-77.4-153.94-82.61-90.53-7.41-90.89,80.57-195.92,79.42-83.53-.92-86.27-87.51-155.22-85-81.25,2.91-89.9,91.83-172.48,90.35-65-1.16-89.93-83.71-143.44-86.1a115.28,115.28,0,0,0-27.4,1.9v.13c-67.84,13.2-89.79,86.4-173.18,87.4-88.63,1.06-86.63-97.7-151.61-96.74-76.69,1.13-95.84,93-173.76,96.74-75.39,3.67-97.77-94.36-178.43-94.61-86.08-.27-93.29,102.05-190.09,102.05-63.82,0-86-98.86-152.77-98.86-75,0-95,105.17-190.66,103-75.92-1.69-68-100-160-97-57.86,1.89-77.69,84.57-164,85-78.21.39-82-86-152-88-86.37-2.45-79.66,93.56-174.12,96.75-80.42,2.71-68.16-99-183.61-96.86C3879,9.81,3839.6,101,3762.7,101c-72.94,0-78.26-96.73-169.23-94.61-75.58,1.77-115.21,103-179.46,99.92C3355.25,103.49,3345.2,6,3266.65,7.22c-91.31,1.4-81.21,93.78-187.34,100.15-80.24,4.83-99.9-96.59-173.76-99.24-72.17-2.58-105,90.74-192.42,89.68C2644.77,97,2613.59,2.61,2534.7,3.2c-79.28.59-107.08,94.22-195.92,93.54-81-.61-80.6-85.76-163.26-88.48-96.8-3.19-77.51,95.8-192.42,94.86-65.79-.53-104.08-97.84-164.44-101C1737.85-2.09,1707.9,102.8,1620.41,101c-73.85-1.53-75.84-94.9-177.26-95.37C1340,5.15,1333.46,99.81,1230.91,97.81c-75.58-1.48-101.46-94.31-187.18-92.66C959.09,6.79,939.55,92.39,848.4,91.43,786.7,90.78,758.12,14,694.46,8.82c-90.53-7.41-90.89,80.57-195.92,79.42C415,87.32,412.27.73,343.32,3.2,262.07,6.11,253.42,95,170.84,93.55c-65-1.16-89.93-83.71-143.44-86.1A115.28,115.28,0,0,0,0,9.35V150H8000V102.47c-5.3.46-10.91.7-16.9.65C7917.31,102.59,7879,5.28,7818.66,2.13Z"/>
</svg>
<svg class="homepage-waves__wave-3-container" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 150">
<path class="homepage-waves__wave-3 is-animation" d="M7682.34,88.24c-107.48-.92-111-87.51-199.73-85C7378.07,6.11,7366.94,95,7260.68,93.55,7177.1,92.39,7145,9.84,7076.12,7.45,6959.34,3.39,6938.56,95.62,6818,96.74,6704,97.81,6706.56-.95,6623,0,6524.28,1.14,6499.63,93,6399.37,96.74c-97,3.67-125.8-94.36-229.58-94.61-83.25-.2-109.17,57.55-169.79,86.25-20,9.49-43.86,15.81-74.8,15.81-82.12,0-110.6-98.87-196.57-98.87-96.5,0-130.55,104.18-253.6,102.05C5377.34,105.69,5354.78,8.61,5231,9c-76,.24-124,96-227.95,98.37-103.33,2.36-128.55-96.59-223.59-99.24-92.85-2.58-135,90.74-247.59,89.68-88-.83-128.08-95.2-229.58-94.61-102,.59-137.79,94.22-252.09,93.54C3945.93,96.13,3946.48,11,3840.12,8.26c-124.54-3.19-99.73,95.8-247.59,94.86-84.65-.53-133.91-97.84-211.57-101C3277-2.09,3238.43,102.8,3125.86,101c-95-1.53-97.58-94.9-228.08-95.37-132.71-.48-141.14,94.18-273.1,92.18-97.24-1.48-130.55-94.31-240.85-92.66-108.9,1.64-134,87.24-251.33,86.28-79.39-.65-116.16-77.4-198.07-82.61C1818,1.41,1817.49,89.39,1682.34,88.24c-107.48-.92-111-87.51-199.73-85C1378.07,6.11,1366.94,95,1260.68,93.55,1177.1,92.39,1145,9.84,1076.12,7.45,959.34,3.39,938.56,95.62,818,96.74,704,97.81,706.56-.95,623,0,524.28,1.14,499.63,93,399.37,96.74c-97,3.67-125.8-94.36-229.58-94.61C86.54,1.93,60.62,59.68,0,88.38V150H8000V29.78c-19.27-10.91-40.27-19.35-65.57-21C7818,1.41,7817.49,89.39,7682.34,88.24Z"/>
</svg>{% endcomment %}
</main>
{% include "footer" %}
<style>
.np-header {
background: transparent;
}
main {
background: linear-gradient(145deg, #635bff, #b10bdf, #f52558, #48d4ff, #f9b45e);
background-size: 400% 350%;
animation: gradient 15s ease-in-out infinite;
height: 75vh;
margin-top: -100px;
padding-top: 100px;
}
@keyframes gradient {
0% {
background-position: 0% 79%;
}
50% {
background-position: 100% 22%;
}
100% {
background-position: 0% 79%;
}
}
.dropbtn {
background-color: transparent;
color: #1B2759;
border: black;
}
/* The container <div> - needed to position the dropdown content */
.dropdown {
position: relative;
display: inline-block;
}
/* Dropdown Content (Hidden by Default) */
.dropdown-content {
display: none;
position: absolute;
background-color: #635bff60;
min-width: 100%;
box-shadow: 0px 8px 8px 0px rgba(0,0,0,0.2);
z-index: 1;
}
/* Links inside the dropdown */
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
/* Change color of dropdown links on hover */
.dropdown-content a:hover {background-color: #635bff60;}
/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {display: block;}
/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {background-color: #635bff60;}
</style>

View File

@ -0,0 +1,58 @@
{% include "header", current_page_orgin: "learning_paths" %}
<main class="np-main np-page-container page--learning-path-overview">
{% comment %} Get the full size background image by removing the modifier from the URL {% endcomment %}
{% assign learning_path_image_full_size = learning_path.image_url | replace: '/resize=width:820,height:500,fit:crop/', '/' %}
<div class="page-background-image" style="background-image: url({{ learning_path_image_full_size }})"></div>
<div class="blocks-layout">
<div class="col-md-6">
<div class="np-card">
<div class="details-card__card-container np-card-container">
<div class="np-resource-header details-card__header np-card-padding-dynamic">
<div class="np-top-title">
{{ learning_path.name }}
</div>
<div class="np-hidden-desktop">
{% include "learning_path_cta_button" %}
</div>
</div>
<div class="np-divider"></div>
<div class="details-card__card-content np-card-padding-dynamic">
{% if learning_path.description and learning_path.description.size > 0 %}
{% include "learning_path_description" %}
{% endif %}
<div class="cta__container np-hidden-mobile">
{% include "learning_path_cta_button" %}
</div>
{% if learning_path.instructors and learning_path.instructors.any? %}
<div class="np-card-content-divider">
{% include "learning_path_instructors" %}
</div>
{% endif %}
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="cta__container cta--outline">
{% if learning_path.enrolled? and learning_path.started? %}
{% include "learning_path_progress_and_cta" %}
{% else %}
{% include "learning_path_cta_button" %}
{% endif %}
</div>
{% include "learning_path_outline" %}
</div>
</div>
</main>
{% include "footer" %}

View File

@ -0,0 +1,23 @@
{% include "header", current_page_orgin: "learning_paths" %}
<main class="np-main np-learning-paths np-subpage-container">
<div class="page__header-wrapper">
<h1 class="np-resource-title">
Browse Learning Paths
</h1>
{% comment %} Capture subtitle text so it can be modified {% endcomment %}
{% capture subtitle_text %}
{% t .subtitle %}
{% endcapture %}
{% if subtitle_text and subtitle_text.size > 0 %}
<div class="np-resource-subtitle">
{{ subtitle_text | replace: "courses", "tutorials" }}
</div>
{% endif %}
</div>
{% include "learning_paths_index", items: learning_paths.available, card_classes: "col-md-6" %}
</main>
{% include "footer" %}

View File

@ -0,0 +1,17 @@
{% include "header", current_page_orgin: "courses" %}
{% include "sub_navigation", current_page: "/app/partner-certs" %}
<main class="np-main np-courses np-subpage-container">
<h1 class="np-resource-title">
Partner Certification Courses
</h1>
<div class="np-resource-subtitle">
{% capture subtitle_text %}
{%comment%}{% t .headline, key: current_school.course_vocabulary %}{%endcomment%}
Hey there, {{ current_person.first_name }}! Are you ready to move onto your Partner Challenge Missions? Let's go!
{% endcapture %}
{{ subtitle_text | replace: "Courses", "tutorials" }}
</div>
<br>
{% include "courses_partnercerts_index", card_classes: "col-xs-12 col-sm-6 col-lg-4 np-stretch-content" %}
</main>
{% include "footer" %}

View File

@ -0,0 +1,17 @@
{% include "header", current_page_orgin: "partner-training" %}
{% include "sub_navigation", current_page: "/app/partner-training" %}
<main class="np-main np-courses np-subpage-container" >
<h1 class="np-resource-title">
Partner Training Courses
</h1>
<div class="np-resource-subtitle">
{% capture subtitle_text %}
{%comment%}{% t .headline, key: current_school.course_vocabulary %}{%endcomment%}
Hey there, {{ current_person.first_name }}! Welcome to your partner training center! Complete at least one of the courses to complete your certification.
{% endcapture %}
{{ subtitle_text | replace: "Courses", "tutorials" }}
</div>
<br>
{% include "courses_partnertraining_index", card_classes: "col-xs-12 col-sm-6 col-lg-4 np-stretch-content" %}
</main>
{% include "footer" %}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
{% include "header", current_page_orgin: "training_events" %}
<main class="np-main np-training-events np-subpage-container">
<div class="page__header-wrapper">
<h1 class="np-resource-title">
{% t .title %}
</h1>
<div class="np-resource-subtitle">
{% t .subtitle %}
</div>
</div>
{% include "training_events_index" %}
</main>
{% include "footer" %}

View File

@ -0,0 +1 @@
{% include "training_session_desktop_view" %}

View File

@ -1,157 +0,0 @@
{% include "header" %}
{% include "course_version_outdated_alert", courses: courses.featured %}
<main class="np-main np-homepage">
{% comment %}<div class="np-homepage-hero" >{% endcomment %}
<div class="np-homepage-hero" style="background: #34abe2; ">
<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>
</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" style='opacity: 50%'>
{{ homepage.featured_courses_subheadline }}
</div>
</div>
{% assign course_order = course.properties.course_order | sort "course_order" %}
<div class="np-homepage-featured-courses row">
{% for course in course_order %}
<div class="col-xs-12 col-sm-8 col-md-12" style="margin:auto;">
{% include "cards_featured_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>
{% comment %}{% include "section_popular_topics" %}{% endcomment %}
{% comment %}{% include "section_tips_tricks" %}{% endcomment %}
{% comment %}{% include "section_faqs" %}{% endcomment %}
</main>
{% include "footer" %}
<style>
@media screen and (min-width: 420px) {
.np-homepage-hero-content {
padding-bottom: 5rem;
}
}
</style>
{% comment %}<style>
@media screen and (min-width: 350px) {
.np-homepage-hero {
height: 14rem;
}
}
@media screen and (min-width: 450px) {
.np-homepage-hero {
height: 11rem;
}
}
@media screen and (min-width: 768px) {
.np-homepage-hero {
height: 9rem;
}
.np-homepage-featured-text {
padding: 0 4rem 2rem;
}
.np-homepage-hero-image {
height: auto;
/* min-height: 350px; */
}
.np-homepage-hero-content {
padding: 5rem 4rem 2.25rem;
bottom: 0;
}
.np-homepage-hero-cta,
.np-button.np-homepage-hero-cta {
margin-top: 2.25rem;
height: 50px;
}
.np-homepage-hero .np-homepage-headline {
font-size: 36px;
line-height: 45px;
}
.np-homepage-hero .np-homepage-subheadline {
font-size: 18px;
line-height: 24px;
}
.np-button {
font-size: 0.875rem;
height: 40px;
}
.np-topics-list {
margin: 0 4.5%;
}
.np-topics-list .np-button-secondary {
margin: 6px;
flex: 0 1 calc(33.33% - 12px);
height: 52px;
}
}
@media screen and (min-width: 992px) {
.np-homepage-hero-content {
bottom: auto;
}
.np-homepage-hero .np-homepage-headline {
font-size: 40px;
line-height: 15px;
}
.np-homepage-hero .np-homepage-subheadline {
font-size: 20px;
line-height: 30px;
}
.np-topics-list .np-button-secondary {
flex: 0 1 calc(25% - 12px);
}
.np-homepage-featured {
margin-top: 6.25rem;
}
}
@media screen and (min-width: 1200px) {
.np-topics-list .np-button-secondary {
flex: 0 1 calc(20% - 12px);
}
.np-homepage-hero {
height: 7rem;
}
}
</style>{% endcomment %}
<script>
$(".np-sub-navigation-content-item-link:contains('Home')").parent().addClass("np-sub-navigation-content-item-active")
</script>

BIN
TaskTree/.DS_Store vendored

Binary file not shown.

View File

@ -1,14 +0,0 @@
public class Accounts
{
public string? AccountName { get; set; }
public bool RecentContact { get; set; }
public IEnumerable<Accounts> Tasks { get; set; }
public List<Accounts> account = new();
}
public class Tasks
{
public string? TaskName { get; set; } = "Example";
public bool IsComplete { get; set; } = false;
public List<Tasks> task = new();
}

View File

@ -1,12 +0,0 @@
<Router AppAssembly="@typeof(App).Assembly">
<Found Context="routeData">
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
<FocusOnNavigate RouteData="@routeData" Selector="h1" />
</Found>
<NotFound>
<PageTitle>Not found</PageTitle>
<LayoutView Layout="@typeof(MainLayout)">
<p role="alert">Sorry, there's nothing at this address.</p>
</LayoutView>
</NotFound>
</Router>

View File

@ -1,12 +0,0 @@
namespace TaskTree.Data;
public class WeatherForecast
{
public DateTime Date { get; set; }
public int TemperatureC { get; set; }
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
public string? Summary { get; set; }
}

View File

@ -1,19 +0,0 @@
namespace TaskTree.Data;
public class WeatherForecastService
{
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
public Task<WeatherForecast[]> GetForecastAsync(DateTime startDate)
{
return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = startDate.AddDays(index),
TemperatureC = Random.Shared.Next(-20, 55),
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
}).ToArray());
}
}

View File

@ -1,92 +0,0 @@
@page "/"
@using Blazorise.TreeView
<PageTitle>Accounts</PageTitle>
<body>
<div class="box-wrapper">
<div id="left-column">
<h3>Accounts</h3>
<TreeView
Nodes="Accounts"
GetChildNodes="@(accounts => accounts.Tasks)"
HasChildNodes="@(accounts => accounts.Children?.Any() == true)"
@bind-SelectedNode="selectedNode"
@bind-ExpandedNodes="ExpandedNodes" >
<NodeContent>@context.Text</NodeContent>
</TreeView>
<input placeholder = "Add Account" @bind="newAccount" />
<button>New Account</button>
<ul>
@foreach ( var account in accounts)
{
<li>@account.AccountName</li>
}
</ul>
</div>
<div class="middle-column">
<h3>Tasks</h3>
<h1> Complete: (@task.Count(task => !task.IsComplete)) </h1>
<input placeholder = "Add Task" @bind="newTask" />
<button>New Task</button>
<ul>
@foreach (var item in task)
{
<li>
<input type="checkbox" @bing="task.IsComplete" />
<input @bind="task.TaskName" />
</li>
}
</ul>
</div>
<div id="right-column">
Task Notes
</div>
</div>
</body>
@code {
public partial class Accounts {
private List<Accounts> account = new List<Accounts>();
account.Add(new Accounts {AccountName = "Hubspot"});
private string? newAccount;
private string? AccountName { get; set;};
}
private List<Tasks> task = new List<Tasks>();
account.Add(new Tasks {TaskName = "Call By Today"});
private string? newTask { get; set;};
private void AddAccount()
{
if (!string.IsNullOrWhiteSpace(newAccount))
{
account.Add(new Accounts { AccountName = newAccount });
newAccount = string.Empty;
}
}
private void AddTask()
{
if (!string.IsNullOrWhiteSpace(newTask))
{
task.Add(new Tasks { TaskName = newTask });
newTask = string.Empty;
}
}
IEnumerable<Accounts> Tasks = new[]
{
new Accounts {
AccountName = "Hubspot"
Tasks = new[]
{
new Tasks {
TaskName = "Call Today"
},
}
},
};
//IList<Accounts> ExpandedNodes = new List<Tasks>();
//Accounts selectedNode;
}

View File

@ -1,18 +0,0 @@
@page "/counter"
<PageTitle>Counter</PageTitle>
<h1>Counter</h1>
<p role="status">Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
@code {
private int currentCount = 0;
private void IncrementCount()
{
currentCount++;
}
}

View File

@ -1,42 +0,0 @@
@page
@model TaskTree.Pages.ErrorModel
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>Error</title>
<link href="~/css/bootstrap/bootstrap.min.css" rel="stylesheet" />
<link href="~/css/site.css" rel="stylesheet" asp-append-version="true" />
</head>
<body>
<div class="main">
<div class="content px-4">
<h1 class="text-danger">Error.</h1>
<h2 class="text-danger">An error occurred while processing your request.</h2>
@if (Model.ShowRequestId)
{
<p>
<strong>Request ID:</strong> <code>@Model.RequestId</code>
</p>
}
<h3>Development Mode</h3>
<p>
Swapping to the <strong>Development</strong> environment displays detailed information about the error that occurred.
</p>
<p>
<strong>The Development environment shouldn't be enabled for deployed applications.</strong>
It can result in displaying sensitive information from exceptions to end users.
For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
and restarting the app.
</p>
</div>
</div>
</body>
</html>

View File

@ -1,26 +0,0 @@
using System.Diagnostics;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace TaskTree.Pages;
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
[IgnoreAntiforgeryToken]
public class ErrorModel : PageModel
{
public string? RequestId { get; set; }
public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
private readonly ILogger<ErrorModel> _logger;
public ErrorModel(ILogger<ErrorModel> logger)
{
_logger = logger;
}
public void OnGet()
{
RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
}
}

View File

@ -1,48 +0,0 @@
@page "/fetchdata"
<PageTitle>Weather forecast</PageTitle>
@using TaskTree.Data
@inject WeatherForecastService ForecastService
<h1>Weather forecast</h1>
<p>This component demonstrates fetching data from a service.</p>
@if (forecasts == null)
{
<p><em>Loading...</em></p>
}
else
{
<table class="table">
<thead>
<tr>
<th>Date</th>
<th>Temp. (C)</th>
<th>Temp. (F)</th>
<th>Summary</th>
</tr>
</thead>
<tbody>
@foreach (var forecast in forecasts)
{
<tr>
<td>@forecast.Date.ToShortDateString()</td>
<td>@forecast.TemperatureC</td>
<td>@forecast.TemperatureF</td>
<td>@forecast.Summary</td>
</tr>
}
</tbody>
</table>
}
@code {
private WeatherForecast[]? forecasts;
protected override async Task OnInitializedAsync()
{
forecasts = await ForecastService.GetForecastAsync(DateTime.Now);
}
}

View File

@ -1,9 +0,0 @@
@page "/"
@namespace TaskTree.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@{
Layout = "_Layout";
}
<component type="typeof(App)" render-mode="ServerPrerendered" />
<link href="_content/Blazorise.TreeView/blazorise.treeview.css" rel="stylesheet" />

View File

@ -1,32 +0,0 @@
@using Microsoft.AspNetCore.Components.Web
@namespace TaskTree.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<base href="~/" />
<link rel="stylesheet" href="css/bootstrap/bootstrap.min.css" />
<link href="css/site.css" rel="stylesheet" />
<link href="TaskTree.styles.css" rel="stylesheet" />
<component type="typeof(HeadOutlet)" render-mode="ServerPrerendered" />
</head>
<body>
@RenderBody()
<div id="blazor-error-ui">
<environment include="Staging,Production">
An error has occurred. This application may no longer respond until reloaded.
</environment>
<environment include="Development">
An unhandled exception has occurred. See browser dev tools for details.
</environment>
<a href="" class="reload">Reload</a>
<a class="dismiss">đź—™</a>
</div>
<script src="_framework/blazor.server.js"></script>
</body>
</html>

View File

@ -1,28 +0,0 @@
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Web;
using TaskTree.Data;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
builder.Services.AddServerSideBlazor();
builder.Services.AddSingleton<WeatherForecastService>();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
}
app.UseStaticFiles();
app.UseRouting();
app.MapBlazorHub();
app.MapFallbackToPage("/_Host");
app.Run();

View File

@ -1,28 +0,0 @@
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:14606",
"sslPort": 0
}
},
"profiles": {
"TaskTree": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "http://localhost:5089",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

View File

@ -1,19 +0,0 @@
@inherits LayoutComponentBase
<PageTitle>TaskTree</PageTitle>
<div class="page">
<div class="sidebar">
<NavMenu />
</div>
<main>
<div class="top-row px-4">
<a href="https://docs.microsoft.com/aspnet/" target="_blank">About</a>
</div>
<article class="content px-4">
@Body
</article>
</main>
</div>

View File

@ -1,70 +0,0 @@
.page {
position: relative;
display: flex;
flex-direction: column;
}
main {
flex: 1;
}
.sidebar {
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}
.top-row {
background-color: #f7f7f7;
border-bottom: 1px solid #d6d5d5;
justify-content: flex-end;
height: 3.5rem;
display: flex;
align-items: center;
}
.top-row ::deep a, .top-row .btn-link {
white-space: nowrap;
margin-left: 1.5rem;
}
.top-row a:first-child {
overflow: hidden;
text-overflow: ellipsis;
}
@media (max-width: 640.98px) {
.top-row:not(.auth) {
display: none;
}
.top-row.auth {
justify-content: space-between;
}
.top-row a, .top-row .btn-link {
margin-left: 0;
}
}
@media (min-width: 641px) {
.page {
flex-direction: row;
}
.sidebar {
width: 250px;
height: 100vh;
position: sticky;
top: 0;
}
.top-row {
position: sticky;
top: 0;
z-index: 1;
}
.top-row, article {
padding-left: 2rem !important;
padding-right: 1.5rem !important;
}
}

View File

@ -1,39 +0,0 @@
<div class="top-row ps-3 navbar navbar-dark">
<div class="container-fluid">
<a class="navbar-brand" href="">TaskTree</a>
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</div>
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
<nav class="flex-column">
<div class="nav-item px-3">
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
<span class="oi oi-home" aria-hidden="true"></span> Home
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="counter">
<span class="oi oi-plus" aria-hidden="true"></span> Counter
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="fetchdata">
<span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
</NavLink>
</div>
</nav>
</div>
@code {
private bool collapseNavMenu = true;
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
private void ToggleNavMenu()
{
collapseNavMenu = !collapseNavMenu;
}
}

View File

@ -1,62 +0,0 @@
.navbar-toggler {
background-color: rgba(255, 255, 255, 0.1);
}
.top-row {
height: 3.5rem;
background-color: rgba(0,0,0,0.4);
}
.navbar-brand {
font-size: 1.1rem;
}
.oi {
width: 2rem;
font-size: 1.1rem;
vertical-align: text-top;
top: -2px;
}
.nav-item {
font-size: 0.9rem;
padding-bottom: 0.5rem;
}
.nav-item:first-of-type {
padding-top: 1rem;
}
.nav-item:last-of-type {
padding-bottom: 1rem;
}
.nav-item ::deep a {
color: #d7d7d7;
border-radius: 4px;
height: 3rem;
display: flex;
align-items: center;
line-height: 3rem;
}
.nav-item ::deep a.active {
background-color: rgba(255,255,255,0.25);
color: white;
}
.nav-item ::deep a:hover {
background-color: rgba(255,255,255,0.1);
color: white;
}
@media (min-width: 641px) {
.navbar-toggler {
display: none;
}
.collapse {
/* Never collapse the sidebar for wide screens */
display: block;
}
}

View File

@ -1,16 +0,0 @@
<div class="alert alert-secondary mt-4">
<span class="oi oi-pencil me-2" aria-hidden="true"></span>
<strong>@Title</strong>
<span class="text-nowrap">
Please take our
<a target="_blank" class="font-weight-bold link-dark" href="https://go.microsoft.com/fwlink/?linkid=2149017">brief survey</a>
</span>
and tell us what you think.
</div>
@code {
// Demonstrates how a parent component can supply parameters
[Parameter]
public string? Title { get; set; }
}

View File

@ -1,13 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Blazorise.TreeView" Version="1.0.5" />
</ItemGroup>
</Project>

View File

@ -1,11 +0,0 @@
@using System.Net.Http
@using Microsoft.AspNetCore.Authorization
@using Microsoft.AspNetCore.Components.Authorization
@using Microsoft.AspNetCore.Components.Forms
@using Microsoft.AspNetCore.Components.Routing
@using Microsoft.AspNetCore.Components.Web
@using Microsoft.AspNetCore.Components.Web.Virtualization
@using Microsoft.JSInterop
@using TaskTree
@using TaskTree.Shared
@using Blazorise.TreeView

View File

@ -1,9 +0,0 @@
{
"DetailedErrors": true,
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View File

@ -1,9 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}

View File

@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")]

View File

@ -1,22 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("TaskTree")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("TaskTree")]
[assembly: System.Reflection.AssemblyTitleAttribute("TaskTree")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@ -1 +0,0 @@
81cd5455c273af21d541d8decaceebb4c78a70a5

View File

@ -1,60 +0,0 @@
is_global = true
build_property.TargetFramework = net6.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb = true
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = TaskTree
build_property.RootNamespace = TaskTree
build_property.ProjectDir = /Users/normrasmussen/Documents/Northpass/TaskTree/
build_property.RazorLangVersion = 6.0
build_property.SupportLocalizedComponentNames =
build_property.GenerateRazorMetadataSourceChecksumAttributes =
build_property.MSBuildProjectDirectory = /Users/normrasmussen/Documents/Northpass/TaskTree
build_property._RazorSourceGeneratorDebug =
[/Users/normrasmussen/Documents/Northpass/TaskTree/App.razor]
build_metadata.AdditionalFiles.TargetPath = QXBwLnJhem9y
build_metadata.AdditionalFiles.CssScope =
[/Users/normrasmussen/Documents/Northpass/TaskTree/Pages/Accounts.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXMvQWNjb3VudHMucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
[/Users/normrasmussen/Documents/Northpass/TaskTree/Pages/Counter.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXMvQ291bnRlci5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
[/Users/normrasmussen/Documents/Northpass/TaskTree/Pages/FetchData.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXMvRmV0Y2hEYXRhLnJhem9y
build_metadata.AdditionalFiles.CssScope =
[/Users/normrasmussen/Documents/Northpass/TaskTree/Shared/SurveyPrompt.razor]
build_metadata.AdditionalFiles.TargetPath = U2hhcmVkL1N1cnZleVByb21wdC5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
[/Users/normrasmussen/Documents/Northpass/TaskTree/_Imports.razor]
build_metadata.AdditionalFiles.TargetPath = X0ltcG9ydHMucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
[/Users/normrasmussen/Documents/Northpass/TaskTree/Shared/MainLayout.razor]
build_metadata.AdditionalFiles.TargetPath = U2hhcmVkL01haW5MYXlvdXQucmF6b3I=
build_metadata.AdditionalFiles.CssScope = b-tei3al3gpd
[/Users/normrasmussen/Documents/Northpass/TaskTree/Shared/NavMenu.razor]
build_metadata.AdditionalFiles.TargetPath = U2hhcmVkL05hdk1lbnUucmF6b3I=
build_metadata.AdditionalFiles.CssScope = b-eli7iebgv3
[/Users/normrasmussen/Documents/Northpass/TaskTree/Pages/Error.cshtml]
build_metadata.AdditionalFiles.TargetPath = UGFnZXMvRXJyb3IuY3NodG1s
build_metadata.AdditionalFiles.CssScope =
[/Users/normrasmussen/Documents/Northpass/TaskTree/Pages/_Host.cshtml]
build_metadata.AdditionalFiles.TargetPath = UGFnZXMvX0hvc3QuY3NodG1s
build_metadata.AdditionalFiles.CssScope =
[/Users/normrasmussen/Documents/Northpass/TaskTree/Pages/_Layout.cshtml]
build_metadata.AdditionalFiles.TargetPath = UGFnZXMvX0xheW91dC5jc2h0bWw=
build_metadata.AdditionalFiles.CssScope =

View File

@ -1,17 +0,0 @@
// <auto-generated/>
global using global::Microsoft.AspNetCore.Builder;
global using global::Microsoft.AspNetCore.Hosting;
global using global::Microsoft.AspNetCore.Http;
global using global::Microsoft.AspNetCore.Routing;
global using global::Microsoft.Extensions.Configuration;
global using global::Microsoft.Extensions.DependencyInjection;
global using global::Microsoft.Extensions.Hosting;
global using global::Microsoft.Extensions.Logging;
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Net.Http.Json;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@ -1 +0,0 @@
5860763757f4f08c7ebdea1b3a94a18109f17861

View File

@ -1,17 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ProvideApplicationPartFactoryAttribute("Microsoft.AspNetCore.Mvc.ApplicationParts.ConsolidatedAssemblyApplicationPartFact" +
"ory, Microsoft.AspNetCore.Mvc.Razor")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@ -1 +0,0 @@
ceade44d8774b40bea2f24540c3eb81484be3865

View File

@ -1,8 +0,0 @@
/Users/normrasmussen/Documents/Northpass/TaskTree/obj/Debug/net6.0/TaskTree.csproj.AssemblyReference.cache
/Users/normrasmussen/Documents/Northpass/TaskTree/obj/Debug/net6.0/TaskTree.GeneratedMSBuildEditorConfig.editorconfig
/Users/normrasmussen/Documents/Northpass/TaskTree/obj/Debug/net6.0/TaskTree.AssemblyInfoInputs.cache
/Users/normrasmussen/Documents/Northpass/TaskTree/obj/Debug/net6.0/TaskTree.AssemblyInfo.cs
/Users/normrasmussen/Documents/Northpass/TaskTree/obj/Debug/net6.0/TaskTree.csproj.CoreCompileInputs.cache
/Users/normrasmussen/Documents/Northpass/TaskTree/obj/Debug/net6.0/TaskTree.MvcApplicationPartsAssemblyInfo.cache
/Users/normrasmussen/Documents/Northpass/TaskTree/obj/Debug/net6.0/TaskTree.RazorAssemblyInfo.cache
/Users/normrasmussen/Documents/Northpass/TaskTree/obj/Debug/net6.0/TaskTree.RazorAssemblyInfo.cs

File diff suppressed because it is too large Load Diff

View File

@ -1,69 +0,0 @@
{
"format": 1,
"restore": {
"/Users/normrasmussen/Documents/Northpass/TaskTree/TaskTree.csproj": {}
},
"projects": {
"/Users/normrasmussen/Documents/Northpass/TaskTree/TaskTree.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/Users/normrasmussen/Documents/Northpass/TaskTree/TaskTree.csproj",
"projectName": "TaskTree",
"projectPath": "/Users/normrasmussen/Documents/Northpass/TaskTree/TaskTree.csproj",
"packagesPath": "/Users/normrasmussen/.nuget/packages/",
"outputPath": "/Users/normrasmussen/Documents/Northpass/TaskTree/obj/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/Users/normrasmussen/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"dependencies": {
"Blazorise.TreeView": {
"target": "Package",
"version": "[1.0.5, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.AspNetCore.App": {
"privateAssets": "none"
},
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/6.0.300/RuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/Users/normrasmussen/.nuget/packages/</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/Users/normrasmussen/.nuget/packages/</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.2.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="/Users/normrasmussen/.nuget/packages/" />
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)blazorise/1.0.5/buildTransitive/Blazorise.props" Condition="Exists('$(NuGetPackageRoot)blazorise/1.0.5/buildTransitive/Blazorise.props')" />
<Import Project="$(NuGetPackageRoot)blazorise.treeview/1.0.5/buildTransitive/Blazorise.TreeView.props" Condition="Exists('$(NuGetPackageRoot)blazorise.treeview/1.0.5/buildTransitive/Blazorise.TreeView.props')" />
</ImportGroup>
</Project>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.aspnetcore.components.analyzers/6.0.0/buildTransitive/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.aspnetcore.components.analyzers/6.0.0/buildTransitive/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets')" />
</ImportGroup>
</Project>

View File

@ -1,672 +0,0 @@
{
"version": 3,
"targets": {
"net6.0": {
"Blazorise/1.0.5": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Components": "6.0.0",
"Microsoft.AspNetCore.Components.Web": "6.0.0",
"Microsoft.Extensions.Logging.Abstractions": "6.0.1"
},
"compile": {
"lib/net6.0/Blazorise.dll": {}
},
"runtime": {
"lib/net6.0/Blazorise.dll": {}
},
"build": {
"buildTransitive/Blazorise.props": {}
},
"buildMultiTargeting": {
"buildMultiTargeting/Blazorise.props": {}
}
},
"Blazorise.TreeView/1.0.5": {
"type": "package",
"dependencies": {
"Blazorise": "1.0.5",
"Microsoft.AspNetCore.Components": "6.0.0",
"Microsoft.AspNetCore.Components.Web": "6.0.0",
"Microsoft.Extensions.Logging.Abstractions": "6.0.1"
},
"compile": {
"lib/net6.0/Blazorise.TreeView.dll": {}
},
"runtime": {
"lib/net6.0/Blazorise.TreeView.dll": {}
},
"build": {
"buildTransitive/Blazorise.TreeView.props": {}
},
"buildMultiTargeting": {
"buildMultiTargeting/Blazorise.TreeView.props": {}
}
},
"Microsoft.AspNetCore.Authorization/6.0.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Metadata": "6.0.0",
"Microsoft.Extensions.Logging.Abstractions": "6.0.0",
"Microsoft.Extensions.Options": "6.0.0"
},
"compile": {
"lib/net6.0/Microsoft.AspNetCore.Authorization.dll": {}
},
"runtime": {
"lib/net6.0/Microsoft.AspNetCore.Authorization.dll": {}
}
},
"Microsoft.AspNetCore.Components/6.0.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Authorization": "6.0.0",
"Microsoft.AspNetCore.Components.Analyzers": "6.0.0"
},
"compile": {
"lib/net6.0/Microsoft.AspNetCore.Components.dll": {}
},
"runtime": {
"lib/net6.0/Microsoft.AspNetCore.Components.dll": {}
}
},
"Microsoft.AspNetCore.Components.Analyzers/6.0.0": {
"type": "package",
"build": {
"buildTransitive/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets": {}
}
},
"Microsoft.AspNetCore.Components.Forms/6.0.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Components": "6.0.0"
},
"compile": {
"lib/net6.0/Microsoft.AspNetCore.Components.Forms.dll": {}
},
"runtime": {
"lib/net6.0/Microsoft.AspNetCore.Components.Forms.dll": {}
}
},
"Microsoft.AspNetCore.Components.Web/6.0.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Components": "6.0.0",
"Microsoft.AspNetCore.Components.Forms": "6.0.0",
"Microsoft.Extensions.DependencyInjection": "6.0.0",
"Microsoft.JSInterop": "6.0.0",
"System.IO.Pipelines": "6.0.0"
},
"compile": {
"lib/net6.0/Microsoft.AspNetCore.Components.Web.dll": {}
},
"runtime": {
"lib/net6.0/Microsoft.AspNetCore.Components.Web.dll": {}
}
},
"Microsoft.AspNetCore.Metadata/6.0.0": {
"type": "package",
"compile": {
"lib/net6.0/Microsoft.AspNetCore.Metadata.dll": {}
},
"runtime": {
"lib/net6.0/Microsoft.AspNetCore.Metadata.dll": {}
}
},
"Microsoft.Extensions.DependencyInjection/6.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
},
"compile": {
"lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": {}
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": {}
},
"build": {
"buildTransitive/netcoreapp3.1/_._": {}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": {
"type": "package",
"compile": {
"lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {}
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {}
},
"build": {
"buildTransitive/netcoreapp3.1/_._": {}
}
},
"Microsoft.Extensions.Logging.Abstractions/6.0.1": {
"type": "package",
"compile": {
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": {}
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": {}
},
"build": {
"buildTransitive/netcoreapp3.1/_._": {}
}
},
"Microsoft.Extensions.Options/6.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
"Microsoft.Extensions.Primitives": "6.0.0"
},
"compile": {
"lib/netstandard2.1/Microsoft.Extensions.Options.dll": {}
},
"runtime": {
"lib/netstandard2.1/Microsoft.Extensions.Options.dll": {}
}
},
"Microsoft.Extensions.Primitives/6.0.0": {
"type": "package",
"dependencies": {
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
},
"compile": {
"lib/net6.0/Microsoft.Extensions.Primitives.dll": {}
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.Primitives.dll": {}
},
"build": {
"buildTransitive/netcoreapp3.1/_._": {}
}
},
"Microsoft.JSInterop/6.0.0": {
"type": "package",
"compile": {
"lib/net6.0/Microsoft.JSInterop.dll": {}
},
"runtime": {
"lib/net6.0/Microsoft.JSInterop.dll": {}
}
},
"System.IO.Pipelines/6.0.0": {
"type": "package",
"compile": {
"lib/net6.0/System.IO.Pipelines.dll": {}
},
"runtime": {
"lib/net6.0/System.IO.Pipelines.dll": {}
},
"build": {
"buildTransitive/netcoreapp3.1/_._": {}
}
},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
"type": "package",
"compile": {
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {}
},
"runtime": {
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {}
},
"build": {
"buildTransitive/netcoreapp3.1/_._": {}
}
}
}
},
"libraries": {
"Blazorise/1.0.5": {
"sha512": "3OjmejkIRFpWrJ8lMiPsGWey5i1x0ul60gIbGCPZElDdGhWMQh0LaGuA9AKKMDKoB5EawW+wE1hxvvTeqpXBPA==",
"type": "package",
"path": "blazorise/1.0.5",
"files": [
".nupkg.metadata",
".signature.p7s",
"Blazorise.png",
"LICENSE.md",
"blazorise.1.0.5.nupkg.sha512",
"blazorise.nuspec",
"build/Blazorise.props",
"build/Microsoft.AspNetCore.StaticWebAssets.props",
"buildMultiTargeting/Blazorise.props",
"buildTransitive/Blazorise.props",
"lib/net6.0/Blazorise.dll",
"lib/net6.0/Blazorise.xml",
"staticwebassets/blazorise.css",
"staticwebassets/breakpoint.js",
"staticwebassets/button.js",
"staticwebassets/closable.js",
"staticwebassets/colorPicker.js",
"staticwebassets/datePicker.js",
"staticwebassets/dragDrop.js",
"staticwebassets/dropdown.js",
"staticwebassets/fileEdit.js",
"staticwebassets/inputMask.js",
"staticwebassets/io.js",
"staticwebassets/memoEdit.js",
"staticwebassets/numericPicker.js",
"staticwebassets/observer.js",
"staticwebassets/popper.js",
"staticwebassets/select.js",
"staticwebassets/table.js",
"staticwebassets/textEdit.js",
"staticwebassets/theme.js",
"staticwebassets/timePicker.js",
"staticwebassets/tooltip.js",
"staticwebassets/utilities.js",
"staticwebassets/validators/DateTimeMaskValidator.js",
"staticwebassets/validators/NoValidator.js",
"staticwebassets/validators/NumericMaskValidator.js",
"staticwebassets/validators/RegExMaskValidator.js",
"staticwebassets/vendors/Behave.js",
"staticwebassets/vendors/Pickr.js",
"staticwebassets/vendors/autoNumeric.js",
"staticwebassets/vendors/flatpickr.js",
"staticwebassets/vendors/inputmask.js"
]
},
"Blazorise.TreeView/1.0.5": {
"sha512": "vp5x5IjIS7uljjEU9zx781Fzq06i32Da/yjaRCQYQcH0XWTPAJg9FjHahs5/GgvoGxdZlGFkS7OORnRAzpmhFg==",
"type": "package",
"path": "blazorise.treeview/1.0.5",
"files": [
".nupkg.metadata",
".signature.p7s",
"Blazorise.png",
"LICENSE.md",
"blazorise.treeview.1.0.5.nupkg.sha512",
"blazorise.treeview.nuspec",
"build/Blazorise.TreeView.props",
"build/Microsoft.AspNetCore.StaticWebAssets.props",
"buildMultiTargeting/Blazorise.TreeView.props",
"buildTransitive/Blazorise.TreeView.props",
"lib/net6.0/Blazorise.TreeView.dll",
"lib/net6.0/Blazorise.TreeView.xml",
"staticwebassets/blazorise.treeview.css"
]
},
"Microsoft.AspNetCore.Authorization/6.0.0": {
"sha512": "HPEhmNwINXzGVWirzmvVxx5/GkoaQJC7vKNIbhOUTzgnRHEf2zO6S2s4lMw3TPFWBGcAlfn6Ta0cVB9f15QC8w==",
"type": "package",
"path": "microsoft.aspnetcore.authorization/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.AspNetCore.Authorization.dll",
"lib/net461/Microsoft.AspNetCore.Authorization.xml",
"lib/net6.0/Microsoft.AspNetCore.Authorization.dll",
"lib/net6.0/Microsoft.AspNetCore.Authorization.xml",
"lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll",
"lib/netstandard2.0/Microsoft.AspNetCore.Authorization.xml",
"microsoft.aspnetcore.authorization.6.0.0.nupkg.sha512",
"microsoft.aspnetcore.authorization.nuspec"
]
},
"Microsoft.AspNetCore.Components/6.0.0": {
"sha512": "ETks/RMYyiC91P89jL9XNEwTeYlpyzt2+Z584v70h+B9//BO0cc68gAlhz3E0v/9h4NqCSHbTlopvMvj0qxnEg==",
"type": "package",
"path": "microsoft.aspnetcore.components/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.txt",
"lib/net6.0/Microsoft.AspNetCore.Components.dll",
"lib/net6.0/Microsoft.AspNetCore.Components.xml",
"microsoft.aspnetcore.components.6.0.0.nupkg.sha512",
"microsoft.aspnetcore.components.nuspec"
]
},
"Microsoft.AspNetCore.Components.Analyzers/6.0.0": {
"sha512": "2cpebhhUAJXYgvrePJNXzhJfM5u6MAIuu4Nho6LEjQliMtAQ6NcdtYxkezoFxqTrgT1fZR0CSYAxp7k41q6PVQ==",
"type": "package",
"path": "microsoft.aspnetcore.components.analyzers/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.txt",
"analyzers/dotnet/cs/Microsoft.AspNetCore.Components.Analyzers.dll",
"build/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets",
"buildTransitive/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets",
"microsoft.aspnetcore.components.analyzers.6.0.0.nupkg.sha512",
"microsoft.aspnetcore.components.analyzers.nuspec"
]
},
"Microsoft.AspNetCore.Components.Forms/6.0.0": {
"sha512": "POjep/9qy79PD/q/5Gai7Xsg6Oybmo10+bVsCkoTrfu1kAO8dWgbQgJWH8I/VMfOPZY/dPgfo+BitqEriWMuKQ==",
"type": "package",
"path": "microsoft.aspnetcore.components.forms/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.txt",
"lib/net6.0/Microsoft.AspNetCore.Components.Forms.dll",
"lib/net6.0/Microsoft.AspNetCore.Components.Forms.xml",
"microsoft.aspnetcore.components.forms.6.0.0.nupkg.sha512",
"microsoft.aspnetcore.components.forms.nuspec"
]
},
"Microsoft.AspNetCore.Components.Web/6.0.0": {
"sha512": "EvTZEhXCqcIxEs01ScF0ts/CyMOzXQIFfcgwTeLae7dQV7WnPEFhqrlD+1l78lA/h+Uer1RvaRbkAScGE/0tyQ==",
"type": "package",
"path": "microsoft.aspnetcore.components.web/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.txt",
"lib/net6.0/Microsoft.AspNetCore.Components.Web.dll",
"lib/net6.0/Microsoft.AspNetCore.Components.Web.xml",
"microsoft.aspnetcore.components.web.6.0.0.nupkg.sha512",
"microsoft.aspnetcore.components.web.nuspec"
]
},
"Microsoft.AspNetCore.Metadata/6.0.0": {
"sha512": "giBCvjANLIOqC+DJ84zCkCQnE4ebRTrgVyBe5e0gG3/F8GYzdqSSdtMSAvbOkBQsf0F8dySBPSM59vX6ksOeQg==",
"type": "package",
"path": "microsoft.aspnetcore.metadata/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.AspNetCore.Metadata.dll",
"lib/net461/Microsoft.AspNetCore.Metadata.xml",
"lib/net6.0/Microsoft.AspNetCore.Metadata.dll",
"lib/net6.0/Microsoft.AspNetCore.Metadata.xml",
"lib/netstandard2.0/Microsoft.AspNetCore.Metadata.dll",
"lib/netstandard2.0/Microsoft.AspNetCore.Metadata.xml",
"microsoft.aspnetcore.metadata.6.0.0.nupkg.sha512",
"microsoft.aspnetcore.metadata.nuspec"
]
},
"Microsoft.Extensions.DependencyInjection/6.0.0": {
"sha512": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==",
"type": "package",
"path": "microsoft.extensions.dependencyinjection/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets",
"buildTransitive/netcoreapp3.1/_._",
"lib/net461/Microsoft.Extensions.DependencyInjection.dll",
"lib/net461/Microsoft.Extensions.DependencyInjection.xml",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.dll",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml",
"microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512",
"microsoft.extensions.dependencyinjection.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": {
"sha512": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==",
"type": "package",
"path": "microsoft.extensions.dependencyinjection.abstractions/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
"buildTransitive/netcoreapp3.1/_._",
"lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512",
"microsoft.extensions.dependencyinjection.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Logging.Abstractions/6.0.1": {
"sha512": "dzB2Cgg+JmrouhjkcQGzSFjjvpwlq353i8oBQO2GWNjCXSzhbtBRUf28HSauWe7eib3wYOdb3tItdjRwAdwCSg==",
"type": "package",
"path": "microsoft.extensions.logging.abstractions/6.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll",
"analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll",
"analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
"build/Microsoft.Extensions.Logging.Abstractions.targets",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets",
"buildTransitive/netcoreapp3.1/_._",
"lib/net461/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/net461/Microsoft.Extensions.Logging.Abstractions.xml",
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml",
"microsoft.extensions.logging.abstractions.6.0.1.nupkg.sha512",
"microsoft.extensions.logging.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Options/6.0.0": {
"sha512": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==",
"type": "package",
"path": "microsoft.extensions.options/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.Extensions.Options.dll",
"lib/net461/Microsoft.Extensions.Options.xml",
"lib/netstandard2.0/Microsoft.Extensions.Options.dll",
"lib/netstandard2.0/Microsoft.Extensions.Options.xml",
"lib/netstandard2.1/Microsoft.Extensions.Options.dll",
"lib/netstandard2.1/Microsoft.Extensions.Options.xml",
"microsoft.extensions.options.6.0.0.nupkg.sha512",
"microsoft.extensions.options.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Primitives/6.0.0": {
"sha512": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==",
"type": "package",
"path": "microsoft.extensions.primitives/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets",
"buildTransitive/netcoreapp3.1/_._",
"lib/net461/Microsoft.Extensions.Primitives.dll",
"lib/net461/Microsoft.Extensions.Primitives.xml",
"lib/net6.0/Microsoft.Extensions.Primitives.dll",
"lib/net6.0/Microsoft.Extensions.Primitives.xml",
"lib/netcoreapp3.1/Microsoft.Extensions.Primitives.dll",
"lib/netcoreapp3.1/Microsoft.Extensions.Primitives.xml",
"lib/netstandard2.0/Microsoft.Extensions.Primitives.dll",
"lib/netstandard2.0/Microsoft.Extensions.Primitives.xml",
"microsoft.extensions.primitives.6.0.0.nupkg.sha512",
"microsoft.extensions.primitives.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.JSInterop/6.0.0": {
"sha512": "M7NyTgOY0vhozRtppvxUDJblgPWBUg6ioJ2vpaKpXVYILB0No8Vrv4HPis+ig5BzaOWd3PR9D3oTovYKGBt3mw==",
"type": "package",
"path": "microsoft.jsinterop/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net6.0/Microsoft.JSInterop.dll",
"lib/net6.0/Microsoft.JSInterop.xml",
"microsoft.jsinterop.6.0.0.nupkg.sha512",
"microsoft.jsinterop.nuspec"
]
},
"System.IO.Pipelines/6.0.0": {
"sha512": "mXX66shZ4xLlI3vNLaJ0lt8OIZdmXTvIqXRdQX5HLVGSkLhINLsVhyZuX2UdRFnOGkqnwmMUs40pIIQ7mna4+A==",
"type": "package",
"path": "system.io.pipelines/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/netcoreapp2.0/System.IO.Pipelines.targets",
"buildTransitive/netcoreapp3.1/_._",
"lib/net461/System.IO.Pipelines.dll",
"lib/net461/System.IO.Pipelines.xml",
"lib/net6.0/System.IO.Pipelines.dll",
"lib/net6.0/System.IO.Pipelines.xml",
"lib/netcoreapp3.1/System.IO.Pipelines.dll",
"lib/netcoreapp3.1/System.IO.Pipelines.xml",
"lib/netstandard2.0/System.IO.Pipelines.dll",
"lib/netstandard2.0/System.IO.Pipelines.xml",
"system.io.pipelines.6.0.0.nupkg.sha512",
"system.io.pipelines.nuspec",
"useSharedDesignerContext.txt"
]
},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
"sha512": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
"type": "package",
"path": "system.runtime.compilerservices.unsafe/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets",
"buildTransitive/netcoreapp3.1/_._",
"lib/net461/System.Runtime.CompilerServices.Unsafe.dll",
"lib/net461/System.Runtime.CompilerServices.Unsafe.xml",
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll",
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml",
"lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll",
"lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml",
"lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll",
"lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml",
"system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
"system.runtime.compilerservices.unsafe.nuspec",
"useSharedDesignerContext.txt"
]
}
},
"projectFileDependencyGroups": {
"net6.0": [
"Blazorise.TreeView >= 1.0.5"
]
},
"packageFolders": {
"/Users/normrasmussen/.nuget/packages/": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/Users/normrasmussen/Documents/Northpass/TaskTree/TaskTree.csproj",
"projectName": "TaskTree",
"projectPath": "/Users/normrasmussen/Documents/Northpass/TaskTree/TaskTree.csproj",
"packagesPath": "/Users/normrasmussen/.nuget/packages/",
"outputPath": "/Users/normrasmussen/Documents/Northpass/TaskTree/obj/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/Users/normrasmussen/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"dependencies": {
"Blazorise.TreeView": {
"target": "Package",
"version": "[1.0.5, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.AspNetCore.App": {
"privateAssets": "none"
},
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/6.0.300/RuntimeIdentifierGraph.json"
}
}
}
}

View File

@ -1,25 +0,0 @@
{
"version": 2,
"dgSpecHash": "2e5jHxcNLlrW2R7Wue/rN/LfYOK2r4jP/mUBQJ04ycQCrKdtusPMPmZjbZw+mX+Pn1BgczNw3T/eZiGRjc2ckg==",
"success": true,
"projectFilePath": "/Users/normrasmussen/Documents/Northpass/TaskTree/TaskTree.csproj",
"expectedPackageFiles": [
"/Users/normrasmussen/.nuget/packages/blazorise/1.0.5/blazorise.1.0.5.nupkg.sha512",
"/Users/normrasmussen/.nuget/packages/blazorise.treeview/1.0.5/blazorise.treeview.1.0.5.nupkg.sha512",
"/Users/normrasmussen/.nuget/packages/microsoft.aspnetcore.authorization/6.0.0/microsoft.aspnetcore.authorization.6.0.0.nupkg.sha512",
"/Users/normrasmussen/.nuget/packages/microsoft.aspnetcore.components/6.0.0/microsoft.aspnetcore.components.6.0.0.nupkg.sha512",
"/Users/normrasmussen/.nuget/packages/microsoft.aspnetcore.components.analyzers/6.0.0/microsoft.aspnetcore.components.analyzers.6.0.0.nupkg.sha512",
"/Users/normrasmussen/.nuget/packages/microsoft.aspnetcore.components.forms/6.0.0/microsoft.aspnetcore.components.forms.6.0.0.nupkg.sha512",
"/Users/normrasmussen/.nuget/packages/microsoft.aspnetcore.components.web/6.0.0/microsoft.aspnetcore.components.web.6.0.0.nupkg.sha512",
"/Users/normrasmussen/.nuget/packages/microsoft.aspnetcore.metadata/6.0.0/microsoft.aspnetcore.metadata.6.0.0.nupkg.sha512",
"/Users/normrasmussen/.nuget/packages/microsoft.extensions.dependencyinjection/6.0.0/microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512",
"/Users/normrasmussen/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/6.0.0/microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512",
"/Users/normrasmussen/.nuget/packages/microsoft.extensions.logging.abstractions/6.0.1/microsoft.extensions.logging.abstractions.6.0.1.nupkg.sha512",
"/Users/normrasmussen/.nuget/packages/microsoft.extensions.options/6.0.0/microsoft.extensions.options.6.0.0.nupkg.sha512",
"/Users/normrasmussen/.nuget/packages/microsoft.extensions.primitives/6.0.0/microsoft.extensions.primitives.6.0.0.nupkg.sha512",
"/Users/normrasmussen/.nuget/packages/microsoft.jsinterop/6.0.0/microsoft.jsinterop.6.0.0.nupkg.sha512",
"/Users/normrasmussen/.nuget/packages/system.io.pipelines/6.0.0/system.io.pipelines.6.0.0.nupkg.sha512",
"/Users/normrasmussen/.nuget/packages/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
],
"logs": []
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,86 +0,0 @@
SIL OPEN FONT LICENSE Version 1.1
Copyright (c) 2014 Waybury
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View File

@ -1,21 +0,0 @@
The MIT License (MIT)
Copyright (c) 2014 Waybury
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

Some files were not shown because too many files have changed in this diff Show More