DataSnipper internal templates had to be separated out. Fixed the Anthology script for group coursesgit status It's working
This commit is contained in:
BIN
Custom_Templates/customer_templates/.DS_Store
vendored
BIN
Custom_Templates/customer_templates/.DS_Store
vendored
Binary file not shown.
@ -67,4 +67,4 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
<a class="card category-card" href="/app/learning_paths?category={{category.name}}&category=Deep Dive: Core">
|
<a class="card category-card" href="/app/learning_paths?category={{category.name}}&category=Deep Dive: Core">
|
||||||
<div class="core-category-wrapper">
|
<div class="core-category-wrapper">
|
||||||
<div class="card-category card-category-core">
|
<div class="card-category card-category-core">
|
||||||
<img class="badge-card-image card-category-image-core"
|
<img class="badge-card-image card-category-image-core"
|
||||||
{% if category.name == 'Warehouse Operations: Core' %}
|
{% if category.name == 'Warehouse Operations: Core' %}
|
||||||
src="{{category_images[4]}}" alt=""
|
src="{{category_images[4]}}" alt=""
|
||||||
{% elsif category.name == 'Admin: Core' %}
|
{% elsif category.name == 'Admin: Core' %}
|
||||||
|
|||||||
@ -0,0 +1,23 @@
|
|||||||
|
{% capture settings_path %}{% route account %}{% endcapture %}
|
||||||
|
{% capture transcript_path %}{% route transcript %}{% endcapture %}
|
||||||
|
|
||||||
|
{% if current_person.signed_in? %}
|
||||||
|
{% unless current_school.sso_active? %}
|
||||||
|
<nav class="np-tabs np-account-tabs">
|
||||||
|
<div class="np-tabs-content">
|
||||||
|
<div class="np-tab{% if page.path == settings_path %} np-tab-active{% endif %}">
|
||||||
|
<a class="np-tab-link" href="{{ settings_path}}">
|
||||||
|
{% t .profile_settings %}
|
||||||
|
</a>
|
||||||
|
<div class="np-tab-indicator np-button-background-color"></div>
|
||||||
|
</div>
|
||||||
|
<div class="np-tab{% if page.path == transcript_path %} np-tab-active{% endif %}">
|
||||||
|
<a class="np-tab-link" href="{{ transcript_path }}">
|
||||||
|
{% t .transcript %}
|
||||||
|
</a>
|
||||||
|
<div class="np-tab-indicator np-button-background-color"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
{% endunless %}
|
||||||
|
{% endif %}
|
||||||
@ -0,0 +1,34 @@
|
|||||||
|
<div class="np-card">
|
||||||
|
<div class="np-card-container">
|
||||||
|
{% if course.ribbon %}
|
||||||
|
<div class="np-card-ribbon">
|
||||||
|
{{ course.ribbon }}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<img
|
||||||
|
class="np-card-image"
|
||||||
|
alt="{{ course.name }}"
|
||||||
|
src="{{ course.image_url }}"
|
||||||
|
>
|
||||||
|
<div class="np-card-content np-card-content-vertical np-card-padding">
|
||||||
|
<h3 class="np-card-content-title">
|
||||||
|
{{ course.name }}
|
||||||
|
</h3>
|
||||||
|
<div class="np-card-content-subtitle">
|
||||||
|
{{ course.instructor_names }}
|
||||||
|
</div>
|
||||||
|
<div class="np-card-content-footer">
|
||||||
|
<div class="np-card-content-progress np-button-color">
|
||||||
|
{% t shared.progress, count: course.progress %}
|
||||||
|
</div>
|
||||||
|
{% capture course_path %}{% route course, id: course.id %}{% endcapture %}
|
||||||
|
{% if course.has_to_restart? %}
|
||||||
|
{% include "course_version_outdated_popup", path: course_path %}
|
||||||
|
{% endif %}
|
||||||
|
<a class="np-button np-button-wide" href="{{ course_path }}">
|
||||||
|
{% t shared.view %}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@ -0,0 +1,53 @@
|
|||||||
|
<div class="np-card np-card-training-event">
|
||||||
|
<div class="np-card-container">
|
||||||
|
<div class="np-card-content-training-event">
|
||||||
|
<h3 class="np-card-content-title">
|
||||||
|
{{ training_event.title }}
|
||||||
|
</h3>
|
||||||
|
<div class="np-card-content-subtitle">
|
||||||
|
<i class="far {{ training_event.event_type_icon }} np-training-session-icon"></i>
|
||||||
|
{% t shared.event_types, key: training_event.event_type %}
|
||||||
|
<span class="np-card-training-sessions-separator">•</span>
|
||||||
|
<i class="np-card-training-sessions-icon far fa-calendar-star"></i>
|
||||||
|
<span class="np-card-training-sessions-label">
|
||||||
|
{% t .sessions, count: training_event.sessions.size %}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="np-card-training-session">
|
||||||
|
<span class="np-card-content-label">
|
||||||
|
{% t .next_session %} -
|
||||||
|
<span class="{{ training_event.sessions.first.status.type}}">
|
||||||
|
{{ training_event.sessions.first.status.label}}
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
<div class="np-card-training-session-date">
|
||||||
|
<div class="np-button-background-color np-card-training-session-date-bar"></div>
|
||||||
|
<div class="np-card-training-session-date-label">
|
||||||
|
<div class="np-card-training-session-date-day">
|
||||||
|
{{ training_event.sessions.first.day }}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div class="np-card-training-session-date-month">
|
||||||
|
{{ training_event.sessions.first.month }}
|
||||||
|
</div>
|
||||||
|
<div class="np-card-training-session-date-year">
|
||||||
|
{{ training_event.sessions.first.year }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="np-card-content np-card-content-vertical np-card-content-training-event">
|
||||||
|
<div class="np-card-training-sessions">
|
||||||
|
|
||||||
|
<a
|
||||||
|
class="np-button np-button-wide"
|
||||||
|
href="{% route training_session, id: training_event.sessions.first.id %}"
|
||||||
|
>
|
||||||
|
{% t shared.view %}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
<div class="np-card-container">
|
||||||
|
<div class="np-resource-header np-course-header np-card-padding-large">
|
||||||
|
{% include "course_header" %}
|
||||||
|
</div>
|
||||||
|
<div class="np-divider"></div>
|
||||||
|
<div class="row np-course-content np-card-padding-dynamic">
|
||||||
|
<div class="col-xs-12 col-sm-6">
|
||||||
|
<img
|
||||||
|
src="{{ course.image_url }}"
|
||||||
|
class="np-top-image np-top-image-spacing"
|
||||||
|
alt="{{ course.name }}"
|
||||||
|
/>
|
||||||
|
{% include "course_description" %}
|
||||||
|
|
||||||
|
{% if course.categories.any? %}
|
||||||
|
<div class="np-card-content-divider">
|
||||||
|
{% include "course_categories" %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if course.instructors.any? %}
|
||||||
|
<div class="np-card-content-divider">
|
||||||
|
{% include "course_instructors" %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if course.events.any? %}
|
||||||
|
<div class="np-card-content-divider">
|
||||||
|
{% include "course_events" %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
<div class="np-grid-spacing col-xs-12 col-sm-6">
|
||||||
|
<div class="np-top-cta">
|
||||||
|
{% include "course_progress_and_cta" %}
|
||||||
|
</div>
|
||||||
|
{% include "course_outline" %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
<div class="np-top-vocabulary np-text-title np-text-muted">
|
||||||
|
{{ current_school.course_vocabulary }}
|
||||||
|
<i class="far fa-graduation-cap np-button-color np-learning-path-icon np-hidden-mobile">
|
||||||
|
</i>
|
||||||
|
</div>
|
||||||
|
<div class="np-top-title">
|
||||||
|
<a href="{% route home %}" class="np-back-button" aria-label="{% t shared.go_back %}">
|
||||||
|
<i class="far fa-arrow-left np-hidden-mobile np-icon-back"></i>
|
||||||
|
</a>
|
||||||
|
{{ course.name }}
|
||||||
|
</div>
|
||||||
|
<img
|
||||||
|
src="{{ course.image_url }}"
|
||||||
|
class="np-top-image np-hidden-desktop"
|
||||||
|
alt="{{ course.name }}"
|
||||||
|
/>
|
||||||
@ -0,0 +1,46 @@
|
|||||||
|
<div class="np-top-cta-progress-content">
|
||||||
|
<div class="np-top-cta-progress-title np-text-title">
|
||||||
|
{% t .header %}
|
||||||
|
</div>
|
||||||
|
<div class="np-progress-bar-container">
|
||||||
|
<div
|
||||||
|
style="width: {{ course.progress }}%"
|
||||||
|
class="np-button-background-color np-card-progress-bar">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="np-top-cta-progress-text
|
||||||
|
{% if course.completed? %} np-color-success {% else %} np-button-color {% endif %}
|
||||||
|
">
|
||||||
|
{% t shared.progress, count: course.progress %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% 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">
|
||||||
|
{% t .retake, key: current_school.course_vocabulary %}
|
||||||
|
</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 %}
|
||||||
|
{% t shared.enroll %}
|
||||||
|
{% elsif course.started? == false %}
|
||||||
|
{% t shared.course.start, key: current_school.course_vocabulary %}
|
||||||
|
{% elsif course.completed? %}
|
||||||
|
{% t shared.course.view, key: current_school.course_vocabulary %}
|
||||||
|
{% else %}
|
||||||
|
{% t shared.continue %}
|
||||||
|
{% endif %}
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
{% if courses.in_catalog.any? %}
|
||||||
|
<div class="np-catalog-courses row row-with-thumbnails">
|
||||||
|
{% for course in courses.in_catalog %}
|
||||||
|
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
|
||||||
|
{% include "cards_course" with course %}
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
{% capture message %}
|
||||||
|
{% t shared.zero_state.courses.catalog,
|
||||||
|
key: current_school.course_vocabulary
|
||||||
|
%}
|
||||||
|
{% endcapture %}
|
||||||
|
{% include "courses_zero_state", message: message %}
|
||||||
|
{% endif %}
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
{% if courses.enrolled.any? %}
|
||||||
|
<div class="row row-with-thumbnails">
|
||||||
|
{% for course in courses.enrolled %}
|
||||||
|
<div class="{{ class }}">
|
||||||
|
{% include "cards_course" with course %}
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
{% capture message %}
|
||||||
|
{% t shared.zero_state.courses.index,
|
||||||
|
key: current_school.course_vocabulary
|
||||||
|
%}
|
||||||
|
{% endcapture %}
|
||||||
|
{% include "courses_zero_state", message: message %}
|
||||||
|
{% endif %}
|
||||||
@ -0,0 +1,78 @@
|
|||||||
|
<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 }}"
|
||||||
|
></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>
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{% styles default %}
|
||||||
|
{% styles colors %}
|
||||||
|
{% styles custom %}
|
||||||
@ -0,0 +1,196 @@
|
|||||||
|
<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">
|
||||||
|
{% for website_navigation in navigations.header_navigations_external %}
|
||||||
|
<li class= "np-header-desktop-nav-item">
|
||||||
|
<a
|
||||||
|
href="{{ website_navigation.path }}"
|
||||||
|
class="np-header-desktop-nav-link np-header-font-color"
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
{{ website_navigation.name }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% if current_person.signed_in? %}
|
||||||
|
<div class="np-hidden-mobile np-header-search np-header-search-expanded">
|
||||||
|
<form action="{% route search %}" method="get" data-test="desktop-search">
|
||||||
|
<input
|
||||||
|
aria-label="{% t .search %}"
|
||||||
|
class="np-header-search-input np-header-font-background-color"
|
||||||
|
type="text"
|
||||||
|
name="q"
|
||||||
|
placeholder="{% t .search %}"
|
||||||
|
/>
|
||||||
|
<i class="np-header-search-icon far fa-search"></i>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="np-hidden-mobile np-header-avatar">
|
||||||
|
<button
|
||||||
|
class="np-header-avatar-button"
|
||||||
|
data-test="open-desktop-menu"
|
||||||
|
data-toggle-class-on-target="np-hidden"
|
||||||
|
data-toggle-target=".np-header-avatar-tooltip"
|
||||||
|
data-toggle-outside
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
alt="{{ current_person.name }}"
|
||||||
|
class="np-header-avatar-image"
|
||||||
|
src="{{ current_person.avatar_url }}"
|
||||||
|
>
|
||||||
|
</button>
|
||||||
|
<div class="np-header-avatar-tooltip np-hidden" role="tooltip">
|
||||||
|
<span class="np-header-avatar-tooltip-arrow-up"></span>
|
||||||
|
<div class="np-header-avatar-tooltip-learner">
|
||||||
|
<div class="np-header-avatar-tooltip-learner-name">
|
||||||
|
{{ current_person.name }}
|
||||||
|
</div>
|
||||||
|
<div class="np-header-avatar-tooltip-learner-email">
|
||||||
|
{{ current_person.email }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<nav class="np-header-avatar-tooltip-navigation">
|
||||||
|
{% unless current_school.sso_active? %}
|
||||||
|
<a
|
||||||
|
class="np-header-avatar-tooltip-navigation-link"
|
||||||
|
href="{% route account %}"
|
||||||
|
>
|
||||||
|
{% t .profile_settings %}
|
||||||
|
</a>
|
||||||
|
{% endunless %}
|
||||||
|
{% if current_person.signed_in? %}
|
||||||
|
<a
|
||||||
|
class="np-header-avatar-tooltip-navigation-link"
|
||||||
|
href="{% route transcript %}"
|
||||||
|
>
|
||||||
|
{% t .transcript %}
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
<a
|
||||||
|
class="np-header-avatar-tooltip-navigation-link np-danger"
|
||||||
|
href="{% route logout %}"
|
||||||
|
>
|
||||||
|
{% t .sign_out %}
|
||||||
|
</a>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
<a
|
||||||
|
class="np-header-sign-in np-header-desktop-nav-link np-header-font-color"
|
||||||
|
aria-label="{% t shared.sign_in %}"
|
||||||
|
href="{% route login %}"
|
||||||
|
>
|
||||||
|
{% t shared.sign_in %}
|
||||||
|
</a>
|
||||||
|
{% 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"></i>
|
||||||
|
</form>
|
||||||
|
{% for website_navigation in navigations.header_navigations %}
|
||||||
|
<a
|
||||||
|
href="{{ website_navigation.path }}"
|
||||||
|
class="np-header-mobile-menu-content-button"
|
||||||
|
{% if website_navigation.external? %} target="_blank" {% endif %}
|
||||||
|
>
|
||||||
|
{{ website_navigation.name }}
|
||||||
|
</a>
|
||||||
|
{% 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 %}
|
||||||
|
{% if current_person.signed_in? %}
|
||||||
|
<a
|
||||||
|
class="np-header-mobile-menu-content-button"
|
||||||
|
href="{% route transcript %}"
|
||||||
|
>
|
||||||
|
{% t .transcript %}
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
<a
|
||||||
|
class="np-header-mobile-menu-content-button np-danger"
|
||||||
|
href="{% route logout %}"
|
||||||
|
>
|
||||||
|
{% t .sign_out %}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% include "messages" %}
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
<nav class="np-sub-navigation">
|
||||||
|
<div class="np-sub-navigation-content">
|
||||||
|
{% for link in navigations.sub_navigation %}
|
||||||
|
{% if link.label == 'Home' %}
|
||||||
|
<div class="np-sub-navigation-content-item np-sub-navigation-content-item-inactive" style="visibility: hidden;"></div>
|
||||||
|
{% else %}
|
||||||
|
<div class="np-sub-navigation-content-item {{ link.active_class }}">
|
||||||
|
<a class="np-sub-navigation-content-item-link" href="{{ link.url }}">
|
||||||
|
<i class="{{ link.icon }} np-button-color np-sub-navigation-content-item-icon"></i>
|
||||||
|
{% if link.label == 'Dashboard' %}
|
||||||
|
Your Dashboard
|
||||||
|
{% elsif link.label == 'Events' %}
|
||||||
|
Your Events
|
||||||
|
{% else %}
|
||||||
|
{{ link.label }}
|
||||||
|
{% endif %}
|
||||||
|
</a>
|
||||||
|
<div class="np-sub-navigation-content-item-bar np-button-background-color"></div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
<div class="np-dashboard-resources">
|
||||||
|
{% if training_events.available.any? %}
|
||||||
|
<div class="row row-with-thumbnails">
|
||||||
|
{% for training_event in training_events.available %}
|
||||||
|
<div class="col-xs-12 col-sm-6 col-lg-4 np-stretch-content">
|
||||||
|
{% include "cards_training_event" with training_event %}
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
{% include "training_events_zero_state" %}
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
@ -0,0 +1,35 @@
|
|||||||
|
<div class="np-training-session-cta">
|
||||||
|
<div class="np-training-session-cta-buttons">
|
||||||
|
<form
|
||||||
|
action="{{ training_session.cta.url }}"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
|
{% form_authenticity_token %}
|
||||||
|
|
||||||
|
{% if training_session.show_calendar_links? %}
|
||||||
|
{% include "training_session_calendars" %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if training_session.cta.undo? %}
|
||||||
|
<input type="hidden" name="_method" value="delete" />
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if training_session.cta.label %}
|
||||||
|
<button
|
||||||
|
type="submit"
|
||||||
|
class="
|
||||||
|
np-top-button
|
||||||
|
np-button
|
||||||
|
np-button-big
|
||||||
|
|
||||||
|
{% if training_session.show_calendar_links? %}
|
||||||
|
np-button-secondary
|
||||||
|
{% endif %}
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ training_session.cta.label }}
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
<div class="np-card-training-session-date">
|
||||||
|
<div class="np-button-background-color np-card-training-session-date-bar"></div>
|
||||||
|
<div class="np-card-training-session-date-label">
|
||||||
|
<div class="np-card-training-session-date-day">
|
||||||
|
{{ training_session.day }}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<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>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@ -0,0 +1,43 @@
|
|||||||
|
<div class="np-resource-header np-resource-header-card np-card-padding-large">
|
||||||
|
{% include "training_session_header" %}
|
||||||
|
</div>
|
||||||
|
<div class="row np-training-session-row">
|
||||||
|
<div class="col-xs-12 col-sm-8">
|
||||||
|
<div class="np-card-container">
|
||||||
|
<div class="np-card-padding-large">
|
||||||
|
<div>
|
||||||
|
{% include "training_session_status" %}
|
||||||
|
{% include "training_session_date" %}
|
||||||
|
</div>
|
||||||
|
<div class="np-training-session-details">
|
||||||
|
{% include "training_session_details" %}
|
||||||
|
{% include "training_session_cta" %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="np-card-content-divider"></div>
|
||||||
|
<div class="np-card-padding-large">
|
||||||
|
{% include "training_session_description" %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-4 np-grid-spacing">
|
||||||
|
<div class="np-training-session-container">
|
||||||
|
<div class="np-training-session-sessions-title">
|
||||||
|
{% t shared.more_sessions %}
|
||||||
|
</div>
|
||||||
|
{% if 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>
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
<div class="np-training-session-info">
|
||||||
|
|
||||||
|
<div class="np-training-session-time">
|
||||||
|
<i class="fal fa-clock np-button-color np-training-session-icon"></i>
|
||||||
|
<time>{{ training_session.time_period }} {{ training_session.time_zone }}</time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% if training_session.approved? and training_session.location %}
|
||||||
|
<div class="np-training-session-location">
|
||||||
|
<i class="fal fa-map-marker-alt np-button-color np-training-session-icon"></i>
|
||||||
|
{{ training_session.location }}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if training_session.approved? and training_session.session_url %}
|
||||||
|
<div class="np-training-session-location">
|
||||||
|
<i class="fal fa-map-marker-alt np-button-color np-training-session-icon"></i>
|
||||||
|
<a href="{{ training_session.session_url }}" class="np-button-color" target="_blank" >
|
||||||
|
{{ training_session.session_url }}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
<div class="np-top-vocabulary np-text-title">
|
||||||
|
{% t shared.event_types, key: training_event.event_type %}
|
||||||
|
<i class="fal {{ training_event.event_type_icon }} np-button-color np-training-session-icon"></i>
|
||||||
|
</div>
|
||||||
|
<div class="np-top-title">
|
||||||
|
<a href="{% route home %}" class="np-back-button" aria-label="{% t shared.go_back %}">
|
||||||
|
<i class="far fa-arrow-left np-hidden-mobile np-icon-back"></i>
|
||||||
|
</a>
|
||||||
|
{{ training_event.title }}
|
||||||
|
</div>
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
<div class="np-training-session-view">
|
||||||
|
<div class="np-training-session-view-header">
|
||||||
|
{% include "training_session_header" %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="np-card-container np-training-session-view-details np-card-padding np-card-spacing">
|
||||||
|
{% include "training_session_status" %}
|
||||||
|
{% include "training_session_date" %}
|
||||||
|
{% include "training_session_details" %}
|
||||||
|
<div class="np-card-padding-large">
|
||||||
|
{% include "training_session_cta" %}
|
||||||
|
</div>
|
||||||
|
{% include "training_session_description" %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% if training_event.sessions.size > 1 %}
|
||||||
|
<div class="np-card-spacing">
|
||||||
|
<div class="np-training-session-container">
|
||||||
|
<div class="np-training-session-sessions-title">
|
||||||
|
{% t shared.more_sessions %}
|
||||||
|
</div>
|
||||||
|
{% include "training_session_more_sessions" %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
</div>
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
<div class="np-training-session-cta-note np-training-session-tile-badge np-training-session-tile-badge-{{ training_session.status.type }}">
|
||||||
|
{% if training_session.approved? %}
|
||||||
|
<i class="far fa-check np-training-session-icon"></i>
|
||||||
|
{% endif %}
|
||||||
|
{{ training_session.status.label }}
|
||||||
|
</div>
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
{% if current_session.id != session.id %}
|
||||||
|
<a
|
||||||
|
class="np-training-session-tile"
|
||||||
|
href="{% route training_session, id: session.id %}"
|
||||||
|
>
|
||||||
|
<div class="np-training-session-tile-header">
|
||||||
|
<i class="far fa-calendar-star np-training-session-tile-icon"></i>
|
||||||
|
<div class="np-training-session-tile-badge np-training-session-tile-badge-{{ session.status.type }}">
|
||||||
|
{{ session.status.label }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="np-training-session-tile-content">
|
||||||
|
<div>
|
||||||
|
<div class="np-training-session-tile-date">
|
||||||
|
{{ session.month }} {{ session.day }}, {{ session.year }}
|
||||||
|
</div>
|
||||||
|
<div class="np-training-session-tile-time">
|
||||||
|
{{ session.time_period }} {{ session.time_zone }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<i class="fas fa-arrow-right np-training-session-tile-chevron"></i>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
{% include "header" %}
|
||||||
|
{% include "account_tabs" %}
|
||||||
|
|
||||||
|
<main class="np-main np-subpage-container np-account">
|
||||||
|
<div class="np-hidden-desktop">
|
||||||
|
{% include "account_mobile_view", form: form %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="np-hidden-mobile np-flex np-flex-center">
|
||||||
|
{% include "account_desktop_view", form: form %}
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
{% include "footer" %}
|
||||||
|
|
||||||
@ -0,0 +1,59 @@
|
|||||||
|
<main class="np-box-container np-open-access">
|
||||||
|
<div class="np-box">
|
||||||
|
{% include "header_minimal" %}
|
||||||
|
<div class="np-box-content-container">
|
||||||
|
<form class="np-form np-box-content" action="{{ form.url }}" method="get" novalidate>
|
||||||
|
{% form_authenticity_token %}
|
||||||
|
<div class="np-form-headline">
|
||||||
|
{% t shared.welcome_to_school, school_name: current_school.name %}
|
||||||
|
</div>
|
||||||
|
<div class="np-form-subheadline">
|
||||||
|
{% t .headline, key: current_school.course_vocabulary %}
|
||||||
|
</div>
|
||||||
|
<div class="np-form-field">
|
||||||
|
<label class="np-input-label" for="learner_first_name">
|
||||||
|
{% t shared.first_name %}
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
class="np-input"
|
||||||
|
autofocus="autofocus"
|
||||||
|
type="text"
|
||||||
|
name="first_name"
|
||||||
|
id="learner_first_name"
|
||||||
|
value="{{ form.first_name }}"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="np-form-field">
|
||||||
|
<label class="np-input-label" for="learner_last_name">
|
||||||
|
{% t shared.last_name %}
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
class="np-input"
|
||||||
|
type="text"
|
||||||
|
name="last_name"
|
||||||
|
id="learner_last_name"
|
||||||
|
value="{{ form.last_name }}"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="np-form-field">
|
||||||
|
<label class="np-input-label" for="learner_email">
|
||||||
|
{% t shared.email_address %}
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
class="np-input"
|
||||||
|
type="text"
|
||||||
|
name="email"
|
||||||
|
id="learner_email"
|
||||||
|
value="{{ form.email }}"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<input
|
||||||
|
type="submit"
|
||||||
|
name="commit"
|
||||||
|
value="{% t shared.enter %}"
|
||||||
|
class="np-button np-button-big np-form-action"
|
||||||
|
/>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
{% include "header" %}
|
||||||
|
{% include "course_version_outdated_alert", courses: courses.in_catalog %}
|
||||||
|
{% include "sub_navigation" %}
|
||||||
|
<main class="np-main np-catalog np-subpage-container np-max-width">
|
||||||
|
<div class="np-catalog-header-wrapper">
|
||||||
|
<div class="np-catalog-header">
|
||||||
|
<div class="np-resource-title">{{ catalog.headline }}</div>
|
||||||
|
<div class="np-resource-subtitle">{{ catalog.subheadline }}</div>
|
||||||
|
</div>
|
||||||
|
{% capture label %}{% t shared.filters.by_category %}{% endcapture %}
|
||||||
|
|
||||||
|
{% if courses.in_catalog.any? %}
|
||||||
|
{%
|
||||||
|
include "filter_dropdown",
|
||||||
|
filters: courses.filters,
|
||||||
|
key: "category_uuid",
|
||||||
|
label: label
|
||||||
|
%}
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
{% include "courses_catalog" %}
|
||||||
|
</main>
|
||||||
|
{% include "footer" %}
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
{% include "header" %}
|
||||||
|
<main class="np-main np-max-width np-page-container">
|
||||||
|
<div class="np-hidden-mobile" id="course-desktop">
|
||||||
|
{% include "course_desktop_view" %}
|
||||||
|
</div>
|
||||||
|
<div class="np-hidden-desktop" id="course-mobile">
|
||||||
|
{% include "course_mobile_view" %}
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
{% include "footer" %}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
{% include "header" %}
|
||||||
|
{% include "course_version_outdated_alert", courses: courses.enrolled %}
|
||||||
|
{% include "sub_navigation" %}
|
||||||
|
<main class="np-main np-courses np-subpage-container np-max-width">
|
||||||
|
<div class="np-resource-title">
|
||||||
|
{% t shared.course_vocabulary.plural, key: current_school.course_vocabulary %}
|
||||||
|
</div>
|
||||||
|
<div class="np-resource-subtitle">{% t .headline, key: current_school.course_vocabulary %}</div>
|
||||||
|
{% include "courses_index", class: "col-xs-12 col-sm-6 col-lg-4 np-stretch-content" %}
|
||||||
|
</main>
|
||||||
|
{% include "footer" %}
|
||||||
@ -0,0 +1,43 @@
|
|||||||
|
{% include "header" %}
|
||||||
|
{% include "course_version_outdated_alert", courses: courses.enrolled %}
|
||||||
|
<div class="np-homepage-hero">
|
||||||
|
<img class="np-homepage-hero-image"
|
||||||
|
src="{{ homepage.artwork_url }}"
|
||||||
|
alt="{{ homepage.headline }}"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
{% include "sub_navigation" %}
|
||||||
|
<main class="np-main np-dashboard np-subpage-container np-max-width">
|
||||||
|
<div class="row np-flex-center">
|
||||||
|
<div class="col-xs-12 col-sm-8">
|
||||||
|
<div class="np-resource-title">
|
||||||
|
Welcome, {{ current_person.first_name }}! 👋
|
||||||
|
</div>
|
||||||
|
<div class="np-resource-subtitle">
|
||||||
|
Welcome to your personalized learning dashboard! Here, you'll discover all the courses and learning paths assigned to you. Additionally, you'll see an overview of upcoming workshops you've signed up for.
|
||||||
|
</div>
|
||||||
|
<div class="np-dashboard-resources-title">
|
||||||
|
Your Courses
|
||||||
|
{% comment %} {% t shared.course_vocabulary.plural, key: current_school.course_vocabulary %} {% endcomment %}
|
||||||
|
</div>
|
||||||
|
{% include "courses_index", class: "col-xs-12 col-sm-6 np-stretch-content" %}
|
||||||
|
{% if features.learning_paths? %}
|
||||||
|
<div class="np-dashboard-resources-title">
|
||||||
|
Your Learning Paths
|
||||||
|
{% comment %} {% t shared.learning_paths %} {% endcomment %}
|
||||||
|
</div>
|
||||||
|
{% include "learning_paths_index", items: learning_paths.enrolled %}
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
{% if features.training_events? %}
|
||||||
|
<div class="np-grid-spacing col-xs-12 col-sm-4">
|
||||||
|
<div class="np-dashboard-resources-title">
|
||||||
|
Upcoming Workshops
|
||||||
|
{% comment %} {% t .upcoming_events %} {% endcomment %}
|
||||||
|
</div>
|
||||||
|
{% include "training_events_dashboard" %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
{% include "footer" %}
|
||||||
@ -0,0 +1,58 @@
|
|||||||
|
<script>
|
||||||
|
window.location.replace('/app/dashboard')
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{% comment %}
|
||||||
|
{% include "header" %}
|
||||||
|
{% include "course_version_outdated_alert", courses: courses.featured %}
|
||||||
|
<main class="np-main np-homepage">
|
||||||
|
<div class="np-homepage-hero">
|
||||||
|
<img class="np-homepage-hero-image"
|
||||||
|
src="{{ homepage.artwork_url }}"
|
||||||
|
alt="{{ homepage.headline }}"
|
||||||
|
/>
|
||||||
|
<div class="np-homepage-hero-content">
|
||||||
|
<div class="np-homepage-headline np-header-font-color">
|
||||||
|
{{ homepage.headline }}
|
||||||
|
</div>
|
||||||
|
<div class="np-homepage-subheadline np-header-font-color">
|
||||||
|
{{ homepage.subheadline }}
|
||||||
|
</div>
|
||||||
|
<a class="np-homepage-hero-cta np-button" href="{% route catalog %}">
|
||||||
|
{% t .discover %}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% include "sub_navigation" %}
|
||||||
|
<div class="np-homepage-featured np-max-width">
|
||||||
|
<div class="np-homepage-featured-text">
|
||||||
|
<div class="np-homepage-headline">
|
||||||
|
{{ homepage.featured_courses_headline }}
|
||||||
|
</div>
|
||||||
|
<div class="np-homepage-subheadline">
|
||||||
|
{{ homepage.featured_courses_subheadline }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% if courses.featured.any? %}
|
||||||
|
<div class="np-homepage-featured-courses row">
|
||||||
|
{% for course in courses.featured %}
|
||||||
|
<div class="col-xs-12 col-md-6 col-lg-4 np-stretch-content">
|
||||||
|
{% include "cards_course" with course %}
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
<div class="np-homepage-featured-empty">
|
||||||
|
<div class="np-zero-state-text">
|
||||||
|
{% t .empty, key: current_school.course_vocabulary %}
|
||||||
|
</div>
|
||||||
|
<img
|
||||||
|
class="np-zero-state-courses"
|
||||||
|
alt="{% t .empty, key: current_school.course_vocabulary %}"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
{% include "footer" %}
|
||||||
|
{% endcomment %}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
{% include "header" %}
|
||||||
|
{% include "sub_navigation" %}
|
||||||
|
<main class="np-main np-learning-paths np-subpage-container np-max-width">
|
||||||
|
<div class="np-learning-paths-main">
|
||||||
|
<div class="np-resource-title">
|
||||||
|
{% t shared.learning_paths %}
|
||||||
|
</div>
|
||||||
|
<div class="np-resource-subtitle">
|
||||||
|
Explore DataSnippers Learning Paths: A collection of courses to better understand certain concepts or topics. Browse through them and enroll in the paths you're interested in.
|
||||||
|
{% comment %} {% t .subtitle %} {% endcomment %}
|
||||||
|
</div>
|
||||||
|
{% include "learning_paths_index", items: learning_paths.available %}
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
{% include "footer" %}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user