This is an automated email from the ASF dual-hosted git repository.

sbp pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tooling-trusted-releases.git


The following commit(s) were added to refs/heads/main by this push:
     new 35fcfa3  Remove the sidebar
35fcfa3 is described below

commit 35fcfa343cf7c81ef4a4ad12db5fd94a84cb4e32
Author: Sean B. Palmer <[email protected]>
AuthorDate: Tue Dec 9 15:36:57 2025 +0000

    Remove the sidebar
---
 atr/static/css/atr.css              | 149 +---------------------
 atr/templates/includes/sidebar.html | 238 ------------------------------------
 atr/templates/layouts/base.html     |   2 -
 playwright/test.py                  |   8 +-
 4 files changed, 8 insertions(+), 389 deletions(-)

diff --git a/atr/static/css/atr.css b/atr/static/css/atr.css
index 67486bc..e80ceb6 100644
--- a/atr/static/css/atr.css
+++ b/atr/static/css/atr.css
@@ -38,7 +38,7 @@ body {
 }
 
 .bg-info-light {
-    background-color: #e3f7fc !important;
+    background-color: #f8f8f8 !important;
 }
 
 .dropdown-menu {
@@ -52,6 +52,10 @@ body {
     width: 8px;                  /* Chrome/Edge */
 }
 
+nav.navbar {
+    padding: 0.5rem 2rem;
+}
+
 html {
     scroll-padding-top: 80px;
 }
@@ -319,7 +323,6 @@ span.warning {
 .content {
     flex: 1;
     display: flex;
-    margin-left: 250px;
 }
 
 .main-container {
@@ -330,82 +333,7 @@ span.warning {
 
 .main-content {
     flex: 1;
-    padding: 2rem;
-}
-
-aside.sidebar nav i.bi {
-    color: #555555;
-}
-
-aside.sidebar nav a {
-    text-decoration: none;
-}
-
-aside.sidebar nav a:hover {
-    text-decoration: underline;
-}
-
-.sidebar {
-    position: fixed;
-    left: 0;
-    top: 72px;
-    bottom: 0;
-    height: calc(100vh - 72px); /* ensures the sidebar fills the space below 
the top bar */
-    overflow-y: auto;           /* enables vertical scrolling */
-    z-index: 101;
-    width: 250px;
-    background-color: #e3f7fc !important;
-    border-right: 1px solid #d1d2d3;
-    padding: 1rem;
-}
-
-.sidebar .user-section {
-    margin-bottom: 1.5rem;
-    text-align: center;
-    border-top: 1px solid #d1d2d3;
-    border-bottom: 1px solid #d1d2d3;
-    padding: 0.75rem 0;
-}
-
-.sidebar hr {
-    border: none;
-    border-top: 1px solid #999999;
-    margin: 1.5rem auto;
-    width: 62%;
-    height: 0;
-}
-
-.sidebar nav {
-    margin-top: 1.5rem;
-    margin-left: 0.5rem;
-}
-
-.sidebar nav ul {
-    list-style: none;
-    padding-left: 0;
-}
-
-.sidebar nav li {
-    margin-bottom: 0.3333rem;
-}
-
-.hamburger {
-    display: none;
-    background: none;
-    border: none;
-    cursor: pointer;
-    padding: 0;
-    padding-top: 20px;
-    z-index: 100;
-}
-
-.hamburger span {
-    display: block;
-    width: 25px;
-    height: 3px;
-    background-color: #333333;
-    margin: 5px 0;
-    transition: 0.3s;
+    padding: 1rem 3rem;
 }
 
 .nav-toggle {
@@ -419,71 +347,6 @@ aside.sidebar nav a:hover {
     }
 }
 
-@media (width <= 768px) {
-    .hamburger {
-        display: block;
-        position: fixed;
-        top: 72px;
-        padding-left: 2rem;
-        transition: 0.3s;
-    }
-
-    .hamburger::before {
-        content: "";
-        position: absolute;
-        width: 26px;          /* size of the square */
-        height: 32px;
-        bottom: 0;            /* anchor to bottom */
-        right: 0;             /* anchor to right */
-        background: #e3f7fc !important;
-        border-radius: 4px;   /* rounded square */
-        box-shadow: 0 2px 2px rgb(0 0 0 / 20%);
-        z-index: -1;          /* places it behind the icon */
-    }
-
-    .sidebar {
-        position: fixed;
-        left: -250px;
-        top: 72px;
-        bottom: 0;
-        height: calc(100vh - 72px); /* ensures the sidebar fills the space 
below the top bar */
-        overflow-y: auto;           /* enables vertical scrolling */
-        transition: 0.3s;
-        z-index: 101;
-    }
-
-    /* Show sidebar when checkbox is checked */
-    .nav-toggle:checked ~ .sidebar {
-        left: 0;
-    }
-
-    /* Move hamburger with sidebar */
-    .nav-toggle:checked ~ .hamburger {
-        padding-left: calc(250px + 2rem); /* sidebar width + padding */
-    }
-
-    .nav-toggle:checked ~ .hamburger span:nth-child(1) {
-        transform: rotate(45deg) translate(5px, 5px);
-    }
-
-    .nav-toggle:checked ~ .hamburger span:nth-child(2) {
-        opacity: 0%;
-    }
-
-    .nav-toggle:checked ~ .hamburger span:nth-child(3) {
-        transform: rotate(-45deg) translate(7px, -7px);
-    }
-
-    .main-content {
-        margin-left: 0;
-        padding-top: 4rem;
-    }
-
-    .content {
-       margin-left: 0;
-    }
-}
-
 /* Flash Messages */
 .flash-message {
     padding: 1rem;
diff --git a/atr/templates/includes/sidebar.html 
b/atr/templates/includes/sidebar.html
deleted file mode 100644
index aac14b1..0000000
--- a/atr/templates/includes/sidebar.html
+++ /dev/null
@@ -1,238 +0,0 @@
-<aside class="sidebar">
-  <div class="user-section">
-    {% if current_user %}
-      <div>
-        <span>{{ current_user.fullname }}</span>
-        (<code>{{ current_user.uid }}</code>)
-        <br />
-        <a href="#"
-           onclick="location.href='/auth?logout=/';"
-           class="logout-link btn btn-sm btn-outline-secondary mt-2">Log 
out</a>
-      </div>
-    {% else %}
-
-      <a href="#"
-         onclick="location.href='/auth?login=' + window.location.pathname;"
-         class="login-link btn btn-sm btn-secondary">Log in</a>
-    {% endif %}
-  </div>
-  <nav>
-    {% if current_user %}
-      <h3>Get started</h3>
-      <ul>
-        <li>
-          <i class="bi bi-play-circle"></i>
-          <a href="{{ as_url(get.root.index) }}">Make releases</a>
-        </li>
-        {% if current_user %}
-          <li>
-            <i class="bi bi-view-list"></i>
-            <a href="{{ as_url(get.release.releases) }}">Browse catalog</a>
-          </li>
-        {% endif %}
-        <li>
-          <i class="bi bi-collection"></i>
-          <a href="{{ as_url(get.committees.directory) }}">Search 
committees</a>
-        </li>
-        {% if current_user.uid == "sbp" %}
-          <!--
-        <li>
-          <i class="bi bi-collection"></i>
-          <a href="{{ as_url(get.projects.projects) }}">Browse projects</a>
-        </li>
-      -->
-        {% endif %}
-        <li>
-          <i class="bi bi-download"></i>
-          {# This path is handled by the frontend proxy server #}
-          {# https://djlint.com/docs/ignoring-code/ #}
-          {# djlint:off J018 #} <a href="/downloads/">Download artifacts</a> 
{# djlint:on #}
-        </li>
-      </ul>
-
-      {% set unfinished_releases = unfinished_releases_fn(current_user.uid) %}
-      {% if unfinished_releases %}
-        {% for project_short_display_name, project_name, releases in 
unfinished_releases %}
-          <h3>
-            <a href="{{ as_url(get.projects.view, name=project_name) }}"
-               class="text-decoration-none text-reset">{{ 
project_short_display_name }}</a>
-          </h3>
-          <ul>
-            {% for release in releases %}
-              <li>
-                <i class="bi bi-tag"></i>
-                <a href="{{ release_as_url(release) }}">{{ release.version 
}}</a>
-              </li>
-            {% endfor %}
-          </ul>
-        {% endfor %}
-      {% endif %}
-    {% else %}
-      <h3>Browse</h3>
-      <ul>
-        <li>
-          <i class="bi bi-view-list"></i>
-          <a href="{{ as_url(get.release.releases) }}">Releases</a>
-        </li>
-        <li>
-          <i class="bi bi-collection"></i>
-          <a href="{{ as_url(get.committees.directory) }}">Committees</a>
-        </li>
-      </ul>
-      <h3>Help</h3>
-      <ul>
-        <li>
-          <i class="bi bi-book"></i>
-          <a href="{{ as_url(get.docs.index) }}">Documentation</a>
-        </li>
-        <li>
-          <i class="bi bi-book"></i>
-          <a href="{{ as_url(get.root.policies) }}">ASF Policies</a>
-        </li>
-      </ul>
-    {% endif %}
-
-    {% if current_user %}
-      {% set user_projects = user_projects_fn(current_user.uid) %}
-      {% if user_projects %}
-        {% set max_projects = 8 %}
-        <h3>Start a release</h3>
-        <ul>
-          {% for project_name, project_full_name in 
user_projects[:max_projects] %}
-            <li>
-              <i class="bi bi-plus-circle"></i>
-              <a href="{{ as_url(get.start.selected, 
project_name=project_name) }}">{{ project_full_name.removeprefix("Apache 
").removesuffix(" (Incubating)") }}</a>
-            </li>
-          {% endfor %}
-          {% if user_projects|length > max_projects %}
-            <li>
-              <i class="bi bi-three-dots"></i>
-              (<a href="{{ as_url(get.root.index) }}">{{ user_projects|length 
- max_projects }} more</a>)
-            </li>
-          {% endif %}
-        </ul>
-      {% endif %}
-      <h3>Security</h3>
-      <ul>
-        <li>
-          <i class="bi bi-key"></i>
-          <a href="{{ as_url(get.keys.keys) }}">Public keys</a>
-        </li>
-        <li>
-          <i class="bi bi-key"></i>
-          <a href="{{ as_url(get.tokens.tokens) }}">API tokens</a>
-        </li>
-      </ul>
-
-      <h3>Help</h3>
-      <ul>
-        <li>
-          <i class="bi bi-book"></i>
-          <a href="{{ as_url(get.root.tutorial) }}">Tutorial</a>
-        </li>
-        <li>
-          <i class="bi bi-book"></i>
-          <a href="{{ as_url(get.docs.index) }}">Documentation</a>
-        </li>
-        <li>
-          <i class="bi bi-book"></i>
-          <a href="{{ as_url(get.root.policies) }}">ASF Policies</a>
-        </li>
-        <li>
-          <i class="bi bi-file-earmark-code"></i>
-          {# djlint:off J018 #} <a href="/api/docs">OpenAPI</a> {# djlint:on #}
-        </li>
-      </ul>
-
-      {% if is_viewing_as_admin_fn(current_user.uid) %}
-        <h3>Administration</h3>
-        <ul>
-          <li>
-            <i class="bi bi-list-ul"></i>
-            <a href="{{ as_url(admin.all_releases) }}"
-               {% if request.endpoint == 'atr_admin_all_releases' 
%}class="active"{% endif %}>All releases</a>
-          </li>
-          <li>
-            <i class="bi bi-person-plus"></i>
-            <a href="{{ as_url(admin.browse_as_get) }}"
-               {% if request.endpoint == 'atr_admin_browse_as_get' 
%}class="active"{% endif %}>Browse as user</a>
-          </li>
-          <li>
-            <i class="bi bi-arrow-repeat"></i>
-            <a href="{{ as_url(admin.consistency) }}"
-               {% if request.endpoint == 'atr_admin_consistency' 
%}class="active"{% endif %}>Consistency</a>
-          </li>
-          <li>
-            <i class="bi bi-database"></i>
-            <a href="{{ as_url(admin.data) }}"
-               {% if request.endpoint == 'atr_admin_data' %}class="active"{% 
endif %}>Browse database</a>
-          </li>
-          <li>
-            <i class="bi bi-trash"></i>
-            <a href="{{ as_url(admin.delete_committee_keys_get) }}"
-               {% if request.endpoint == 'atr_admin_delete_committee_keys_get' 
%}class="active"{% endif %}>Delete committee keys</a>
-          </li>
-          <li>
-            <i class="bi bi-trash"></i>
-            <a href="{{ as_url(admin.delete_release_get) }}"
-               {% if request.endpoint == 'atr_admin_delete_release_get' 
%}class="active"{% endif %}>Delete release</a>
-          </li>
-          <li>
-            <i class="bi bi-gear"></i>
-            <a href="{{ as_url(admin.env) }}"
-               {% if request.endpoint == 'atr_admin_env' %}class="active"{% 
endif %}>Environment</a>
-          </li>
-          <li>
-            <i class="bi bi-key"></i>
-            <a href="{{ as_url(admin.keys_check_get) }}"
-               {% if request.endpoint == 'atr_admin_keys_check_get' 
%}class="active"{% endif %}>Keys check</a>
-          </li>
-          <li>
-            <i class="bi bi-key"></i>
-            <a href="{{ as_url(admin.keys_regenerate_all_get) }}"
-               {% if request.endpoint == 'atr_admin_keys_regenerate_all_get' 
%}class="active"{% endif %}>Regenerate all keys</a>
-          </li>
-          <li>
-            <i class="bi bi-key"></i>
-            <a href="{{ as_url(admin.keys_update_get) }}"
-               {% if request.endpoint == 'atr_admin_keys_update_get' 
%}class="active"{% endif %}>Update keys</a>
-          </li>
-          <li>
-            <i class="bi bi-person-plus"></i>
-            <a href="{{ as_url(admin.ldap_get) }}"
-               {% if request.endpoint == 'atr_admin_ldap_get' 
%}class="active"{% endif %}>LDAP search</a>
-          </li>
-          <li>
-            <i class="bi bi-speedometer2"></i>
-            <a href="{{ as_url(admin.performance) }}"
-               {% if request.endpoint == 'atr_admin_performance' 
%}class="active"{% endif %}>Page performance</a>
-          </li>
-          <li>
-            <i class="bi bi-arrow-repeat"></i>
-            <a href="{{ as_url(admin.projects_update_get) }}"
-               {% if request.endpoint == 'atr_admin_projects_update_get' 
%}class="active"{% endif %}>Update projects</a>
-          </li>
-          <li>
-            <i class="bi bi-list-task"></i>
-            <a href="{{ as_url(admin.tasks_) }}"
-               {% if request.endpoint == 'atr_admin_tasks_' %}class="active"{% 
endif %}>Background tasks</a>
-          </li>
-          <li>
-            <i class="bi bi-clock-history"></i>
-            <a href="{{ as_url(admin.tasks_recent, minutes=5) }}">Recent 
tasks</a>
-          </li>
-          <li>
-            <i class="bi bi-person-badge"></i>
-            <a href="{{ as_url(admin.toggle_view_get) }}"
-               {% if request.endpoint == 'atr_admin_toggle_view_get' 
%}class="active"{% endif %}>Toggle admin view</a>
-          </li>
-          <li>
-            <i class="bi bi-arrow-repeat"></i>
-            <a href="{{ as_url(admin.validate_) }}"
-               {% if request.endpoint == 'atr_admin_validate_' 
%}class="active"{% endif %}>Validate</a>
-          </li>
-        </ul>
-      {% endif %}
-    {% endif %}
-  </nav>
-</aside>
diff --git a/atr/templates/layouts/base.html b/atr/templates/layouts/base.html
index 5dd1f9e..78293ae 100644
--- a/atr/templates/layouts/base.html
+++ b/atr/templates/layouts/base.html
@@ -60,8 +60,6 @@
           <span class="hamburger-line"></span>
         </label>
 
-        {% include "includes/sidebar.html" %}
-
         <div class="main-container {% block main_class %}{% endblock 
main_class %}">
           <main class="main-content">
             {% if (not current_user) or (current_user.uid != "sbp") %}
diff --git a/playwright/test.py b/playwright/test.py
index c14c925..1dca1cf 100755
--- a/playwright/test.py
+++ b/playwright/test.py
@@ -989,12 +989,8 @@ def test_projects_03_add_project(page: Page, credentials: 
Credentials) -> None:
 
 def test_ssh_01_add_key(page: Page, credentials: Credentials) -> None:
     logging.info("Starting SSH key addition test")
-    go_to_path(page, "/committees")
-
-    logging.info("Navigating to Your Public Keys page")
-    page.locator('a[href="/keys"]:has-text("Public keys")').click()
-    wait_for_path(page, "/keys")
-    logging.info("Navigated to Your Public Keys page")
+    go_to_path(page, "/keys")
+    logging.info("Public Keys page loaded")
 
     logging.info("Clicking Add your SSH key button")
     # There can be two buttons with the same text if the user did not upload 
an SSH key yet


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to