File indexing completed on 2026-06-26 08:40:26
0001 {% load static %}
0002 <!DOCTYPE html>
0003 <html lang="en">
0004 <head>
0005 <meta charset="UTF-8">
0006 <meta name="viewport" content="width=device-width, initial-scale=1.0">
0007 <title>{% block title %}ePIC Production Monitor{% endblock %}</title>
0008 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
0009 <link rel="stylesheet" href="{% static 'css/style.css' %}">
0010 <link rel="stylesheet" href="{% static 'css/state-colors.css' %}">
0011 <style>
0012 nav { display: flex; align-items: center; gap: .8em; padding: .5em 1em; background: #222; position: sticky; top: 0; z-index: 1030; }
0013 .nav-spacer { flex: 1 1 auto; }
0014 .nav-auth { display: flex; gap: 1em; align-items: center; }
0015 nav a, .dropbtn { color: #ADD8E6; text-decoration: none; }
0016 nav a:hover { text-decoration: underline; }
0017 nav a.nav-active, .dropbtn.nav-active {
0018 text-shadow: 0 0 .65px currentColor, 0 0 .65px currentColor;
0019 }
0020
0021 .dropbtn { background: inherit; padding: 0; font-size: inherit; border: none; cursor: pointer; }
0022 .dropdown { position: relative; display: inline-block; margin-right: .35em; }
0023 .dropdown-content {
0024 display: none; position: absolute; background: #f9f9f9;
0025 min-width: 180px; box-shadow: 0 8px 16px rgba(0,0,0,.2); z-index: 1;
0026 }
0027 .dropdown-content a { color: #000; padding: 10px 14px; display: block; }
0028 .dropdown-content a.nav-active { background-color: #e9ecef; }
0029 .dropdown-content a:hover { background: #f1f1f1; }
0030 .dropdown:hover .dropdown-content { display: block; }
0031 #mode-label {
0032 border-right: 1px solid rgba(255,255,255,.2);
0033 color: #fff;
0034 font-weight: 700;
0035 margin-right: 4px;
0036 padding-right: 12px;
0037 }
0038 .nav-label {
0039 color: #fff;
0040 font-weight: 700;
0041 }
0042 .nav-panda-label {
0043 margin-left: 1.5em;
0044 }
0045
0046 /* PCS canonical Edit button — filled dark green, matches swf-monitor. */
0047 .btn.btn-dark-green {
0048 background-color: #166534; border-color: #166534; color: #fff;
0049 }
0050 .btn.btn-dark-green:hover, .btn.btn-dark-green:focus {
0051 background-color: #14532d; border-color: #14532d; color: #fff;
0052 }
0053 .btn.btn-dark-green:disabled, .btn.btn-dark-green.disabled {
0054 background-color: #6c757d; border-color: #6c757d; color: #e9ecef;
0055 }
0056 </style>
0057 {% block extra_head %}{% endblock %}
0058 </head>
0059 <body>
0060 {% with url_name=request.resolver_match.url_name|default:'' %}
0061 <nav>
0062 <div class="dropdown" id="mode-flipper">
0063 <button class="dropbtn" id="mode-label">epicprod</button>
0064 <div class="dropdown-content">
0065 <a href="{% url 'monitor_app:prod_home' %}">epicprod - ePIC Production</a>
0066 </div>
0067 </div>
0068
0069 <a href="{% url 'monitor_app:questionnaires_list' %}" class="{% if 'questionnaire' in url_name %}nav-active{% endif %}">Requests</a>
0070
0071 <div class="dropdown">
0072 <button class="dropbtn{% if url_name|slice:':4' == 'pcs_' and url_name != 'pcs_catalog' %} nav-active{% endif %}">PCS</button>
0073 <div class="dropdown-content">
0074 <a href="{% url 'monitor_app:pcs_hub' %}" class="{% if url_name == 'pcs_hub' %}nav-active{% endif %}">PCS Hub</a>
0075 <a href="{% url 'monitor_app:pcs_categories_list' %}" class="{% if url_name == 'pcs_categories_list' %}nav-active{% endif %}">Physics Categories</a>
0076 <a href="{% url 'monitor_app:pcs_tag_compose' tag_type='p' %}">Physics Tags</a>
0077 <a href="{% url 'monitor_app:pcs_tag_compose' tag_type='e' %}">EvGen Tags</a>
0078 <a href="{% url 'monitor_app:pcs_tag_compose' tag_type='s' %}">Simu Tags</a>
0079 <a href="{% url 'monitor_app:pcs_tag_compose' tag_type='r' %}">Reco Tags</a>
0080 <a href="{% url 'monitor_app:pcs_tag_compose' tag_type='k' %}">Background Tags</a>
0081 <a href="{% url 'monitor_app:pcs_datasets_compose' %}" class="{% if url_name == 'pcs_datasets_compose' %}nav-active{% endif %}">Datasets</a>
0082 <a href="{% url 'monitor_app:pcs_prod_configs_compose' %}" class="{% if url_name == 'pcs_prod_configs_compose' %}nav-active{% endif %}">Prod Configs</a>
0083 <a href="{% url 'monitor_app:pcs_task_compose' %}?tab=tasks" class="{% if url_name == 'pcs_task_compose' %}nav-active{% endif %}">Prod Tasks</a>
0084 </div>
0085 </div>
0086
0087 <a href="{% url 'monitor_app:pcs_catalog' %}" class="{% if url_name == 'pcs_catalog' %}nav-active{% endif %}">Campaigns</a>
0088 <strong class="nav-label nav-panda-label">PanDA</strong>
0089 <a href="{% url 'monitor_app:panda_activity' %}" class="{% if url_name == 'panda_activity' %}nav-active{% endif %}">Activity</a>
0090 <a href="{% url 'monitor_app:panda_tasks_list' %}" class="{% if 'panda_task' in url_name %}nav-active{% endif %}">Tasks</a>
0091 <a href="{% url 'monitor_app:panda_jobs_list' %}" class="{% if 'panda_job' in url_name %}nav-active{% endif %}">Jobs</a>
0092 <a href="{% url 'monitor_app:panda_errors_list' %}" class="{% if 'panda_errors' in url_name %}nav-active{% endif %}">Errors</a>
0093 <a href="{% url 'monitor_app:panda_diagnostics_list' %}" class="{% if 'panda_diagnostics' in url_name %}nav-active{% endif %}">Diagnostics</a>
0094 <a href="{% url 'monitor_app:epic_queues_list' %}" class="{% if 'epic_queue' in url_name %}nav-active{% endif %}">Queues</a>
0095
0096 <span class="nav-spacer"></span>
0097 <a href="{% url 'monitor_app:about' %}">About</a>
0098 {% include 'monitor_app/_nav_auth.html' %}
0099 </nav>
0100 {% endwith %}
0101 <main>
0102 {% block content %}{% endblock %}
0103 </main>
0104 </body>
0105 </html>