datatracker/ietf/templates/base.html
Nicolas Giard aa9490faf6
feat(ui): new dynamic agenda view (#4086)
* feat: agenda page in vue (wip)

* feat: scroll to agenda day

* fix: vue 3 composition api + eslint settings

* fix: agenda day scroll match indicator

* fix: convert vite deps to yarn

* fix: missing lodash + legacy build step

* fix: agenda - move calendar into drawer

* fix: improve agenda filter UI

* fix: download ics + move agenda into own component

* feat: use fullcalendar for agenda calendar view (wip)

* feat: add events to agenda calendar

* feat: agenda filter UI improvements

* feat: agenda add to calendar dropdown

* feat: agenda calendar filter + timezone + event coloring

* feat: agenda calendar color improvements

* chore: exclude dist-neue from git

* feat: agenda calendar event modal

* fix: rebuild yarn deps

* chore: add run migration task to vscode

* fix: agenda buttons display flag

* feat: agenda event modal component

* feat: show calendar event quick info on hover

* fix: clear calendar quick info on timezone change

* feat: agenda list view improvements

* feat: agenda list row coloring

* feat: agenda list note

* feat: agenda list icons for office hours + hackathon

* fix: agenda top links

* refactor: use pinia as store for agenda components

* feat: agenda jump to now

* fix: agenda mobile improvements

* feat: agenda search

* feat: agenda search improvements

* feat: agenda event recordings buttons for post-meeting

* fix: agenda switch to meeting timezone on load

* feat: agenda pre & live session buttons

* fix: remove agenda utc + personalize links in top menu

* feat: add pre-vue loading state on page load

* feat: filter from agenda picker mode

* fix: agenda UI improvements

* fix: django-vite non-dev mode

* chore: update yarn dependencies for vue + vite

* feat: agenda settings panel + UI improvements

* feat: agenda settings colors + import/export feature

* feat: agenda color assignments + responsive UI improvements

* feat: agenda realtime red line + debug datetime offset

* feat: agenda add aria labels for settings

* feat: add new agenda path + pages/menu

* fix: bring base/menu.html up to main

* fix: agenda various fixes

* test: add new agenda item to meetings menu for item count

* chore: restore devcontainer extensions list

* fix: agenda UI improvements + montserrat default font

* feat: agenda bolder text + hide event icons options

* feat: agenda warning badge

* fix: agenda various UI improvements + intersectionObserver fix

* feat: agenda floorplan page + various UI improvements

* feat: agenda floor plan pin

* feat: view floor plan room from agenda

* feat: agenda floor plan mobile optimization

* feat: adjust calendar options + default calendar view in settings

* feat: agenda persist picked events + change base font only on new agenda page

* feat: agenda mobile view optimizations

* fix: add .vite to cached volumes

* fix: mobile view for filters, calendar, settings panels

* test: upgrade cypress existing tests to work on bs5 + update dependencies

* fix: use named url patterns to avoid hardcoded URLs. Add rudimentary test coverage for the neue views.

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-07-13 16:20:23 -05:00

165 lines
8.7 KiB
HTML

{# Copyright The IETF Trust 2015-2022, All Rights Reserved #}
<!DOCTYPE html>
{% load analytical %}
{% load ietf_filters static %}
{% load origin %}
{% origin %}
{% load django_bootstrap5 %}
{% load django_vite %}
<html lang="en">
<head>
{% analytical_head_top %}
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>
{% block title %}No title{% endblock %}
</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
{% comment Halloween %}
<link href='https://fonts.googleapis.com/css?family=IM+Fell+English+SC|IM+Fell+DW+Pica:400,400italic|Nova+Mono|IM+Fell+English:400,400italic&subset=latin-ext,latin' rel='stylesheet'>
{% 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=Montserrat:wght@300..700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="{% static 'ietf/css/ietf.css' %}">
<link rel="stylesheet" href="{% static 'ietf/css/select2.css' %}">
<style>
{% block morecss %}{% endblock %}
</style>
{% vite_hmr_client %}
{% block pagehead %}{% endblock %}
{% include "base/icons.html" %}
<script src="{% static 'ietf/js/ietf.js' %}"></script>
{% analytical_head_bottom %}
</head>
<body {% block bodyAttrs %}{% endblock %} class="position-relative"
data-group-menu-data-url="{% url 'ietf.group.views.group_menu_data' %}">
{% analytical_body_top %}
<a class="visually-hidden visually-hidden-focusable" href="#content">Skip to main content</a>
<nav class="navbar navbar-expand-lg {% if server_mode and server_mode != "production" %} navbar-light bg-warning {% else %} navbar-dark bg-secondary {% endif %} {% if navbar_mode %} {{ navbar_mode }} {% else %} fixed-top {% endif %}">
<div class="container-fluid">
<a class="navbar-brand" href="/">
<img alt="IETF Logo" class="me-1"
src="{% static 'ietf/images/ietf-logo-nor.svg' %}">
Datatracker
{% if server_mode and server_mode != "production" %}Dev Mode{% endif %}
</a>
<div class="collapse navbar-collapse" id="navbar-collapse">
<ul class="nav navbar-nav">
{% include "base/menu.html" with flavor="top" %}
</ul>
</div>
{% if not user.is_authenticated %}
<a class="d-none d-sm-block mx-5 btn {% if server_mode and server_mode == "production" %} btn-warning {% else %} btn-info {% endif %}"
rel="nofollow"
href="{% url 'ietf.ietfauth.views.login' %}?next={{ request.get_full_path|removesuffix:'accounts/logout/'|urlencode }}">
Sign
in
</a>
{% endif %}
<div class="d-flex d-none d-lg-block">
<label aria-label="Document search">
<input class="form-control select2-field"
id="navbar-doc-search"
data-ajax--url="{% url 'ietf.doc.views_search.ajax_select2_search_docs' model_name='docalias' doc_type='draft' %}"
type="text"
data-placeholder="Document search">
</label>
</div>
<button class="navbar-toggler"
type="button"
data-bs-toggle="collapse"
data-bs-target="#navbar-collapse"
aria-controls="navbar-collapse"
aria-expanded="false"
aria-label="Toggle navigation">
<i class="navbar-toggler-icon"></i>
</button>
</div>
</nav>
{% block precontent %}{% endblock %}
<div class="pt-3 container-fluid">
<div class="row">
{% if request.COOKIES.left_menu == "on" and not hide_menu %}
<div class="d-none d-md-block bg-light py-3 leftmenu small">
<ul class="nav nav-pills flex-column">
{% include "base/menu.html" with flavor="left" %}
</ul>
</div>
{% endif %}
<div class="col mx-lg-3 ietf-auto-nav" id="content">
<noscript>
<div class="alert alert-danger alert-ignore my-3">
<b>Javascript disabled?</b> Like other modern websites, the IETF Datatracker relies on Javascript.
Please enable Javascript for full functionality.
</div>
</noscript>
{% for message in messages %}
<div class="alert {% if message.level_tag %} alert-{% if message.level_tag == 'error' %}danger{% else %}{{ message.level_tag }}{% endif %} {% endif %} {% if message.extra_tags %} {{ message.extra_tags }}{% endif %} alert-dismissable fade show">
<button type="button"
class="btn-close float-end"
data-bs-dismiss="alert"
aria-label="Close"></button>
{{ message.message }}
</div>
{% endfor %}
{% block content %}{{ content|safe }}{% endblock %}
{% block content_end %}{% endblock %}
</div>
</div>
</div>
{% block footer %}
<footer class="col-md-12 col-sm-12 bg-white text-center position-sticky">
<hr class="mx-3">
<a href="https://www.ietf.org/" class="p-3">IETF</a>
<a href="https://www.ietf.org/iesg/" class="p-3">IESG</a>
<a href="https://www.iab.org/" class="p-3">IAB</a>
<a href="https://www.irtf.org/" class="p-3">IRTF</a>
<a href="https://www.ietf.org/llc/" class="p-3 text-nowrap">IETF LLC</a>
<a href="https://trustee.ietf.org/" class="p-3 text-nowrap">IETF Trust</a>
<a href="https://www.rfc-editor.org/" class="p-3 text-nowrap">RFC Editor</a>
<a href="https://www.iana.org/" class="p-3">IANA</a>
<a href="https://www.ietf.org/privacy-statement/" class="p-3 text-nowrap">Privacy Statement</a>
<div class="small text-muted py-3">
{% if version_num %}
<a class="mx-2" href="/release/about">About IETF Datatracker</a>
<span class="mx-2">
{% if server_mode and server_mode == "production" %}
<a href="https://github.com/ietf-tools/datatracker/releases/tag/{{version_num}}">
{% endif %}
Version {{ version_num }}{% if patch %}{{patch}}{% endif %}
{% if branch %}({{ branch }} - {{ git_hash|slice:":7" }}){% endif %}
{% if server_mode and server_mode == "production" %}
</a>
{% endif %}
</span>
{% endif %}
<span class="mx-2 text-danger">
<i class="bi bi-bug"></i>
Report a bug:
<a class="text-reset" href="https://github.com/ietf-tools/datatracker/issues/new/choose">GitHub</a>
{% if bugreport_email %}
<a class="text-reset" href="mailto:{{ bugreport_email }}">Email</a>
{% endif %}
</span>
{% if server_mode and server_mode != "production" %}
<br>
{% if python_version %}Python {{ python_version }}{% endif %}
{% if django_version %}Django {{ django_version }}{% endif %}
<br>
{% include "debug.html" %}
{% endif %}
</div>
</footer>
{% endblock %}
{% block js %}
{% endblock %}
<script src="{% static 'ietf/js/select2.js' %}"></script>
<script>
$('#navbar-doc-search').on('select2:select', function (e) {
window.location.href = e.params.data.url;
});
</script>
{% analytical_body_bottom %}
</body>
</html>