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-atr-experiments.git
The following commit(s) were added to refs/heads/main by this push:
new 660ffc0 Improve titles, headers, and form style
660ffc0 is described below
commit 660ffc0142473eda95fa198450508de5bd692084
Author: Sean B. Palmer <[email protected]>
AuthorDate: Mon Feb 17 19:08:30 2025 +0200
Improve titles, headers, and form style
---
atr/static/css/atr.css | 46 ++-
atr/templates/add-release-candidate.html | 136 +++++----
atr/templates/data-browser.html | 4 +-
atr/templates/includes/sidebar.html | 6 +-
atr/templates/index.html | 7 +-
atr/templates/layouts/base.html | 2 +
atr/templates/pages.html | 4 +-
atr/templates/pmc-directory.html | 100 +++++--
atr/templates/release-signature-verify.html | 4 +-
atr/templates/update-pmcs.html | 95 ++++---
atr/templates/user-keys-add.html | 421 ++++++++++++++--------------
atr/templates/user-uploads.html | 4 +-
12 files changed, 494 insertions(+), 335 deletions(-)
diff --git a/atr/static/css/atr.css b/atr/static/css/atr.css
index baa1218..671dab5 100644
--- a/atr/static/css/atr.css
+++ b/atr/static/css/atr.css
@@ -44,11 +44,11 @@ h1, h2, h3 {
aside h1 {
font-size: 3rem;
- line-height: 1.15;
+ line-height: 1.1;
text-align: center;
}
-aside h1 span {
+aside h1 span.rest {
color: #777;
}
@@ -58,7 +58,15 @@ aside h1 span {
}
h1 { margin-bottom: 2rem; }
-h2, h3, p, ul { margin-bottom: 1rem; }
+h2 { border-bottom: 1px solid #d1d2d3; padding-bottom: 0.5rem;
+ margin-top: 2.5rem; margin-bottom: 1.5rem; }
+h3, p, ul { margin-bottom: 1rem; }
+
+ul { padding-left: 1rem; }
+
+label { font-weight: 500; border-bottom: 1px dashed #d1d2d3; padding-bottom:
0.5rem; }
+
+form { background-color: #ffe; border: 1px solid #ddb; padding: 1rem;
border-radius: 0.5rem; }
footer {
padding: 2rem;
@@ -66,8 +74,40 @@ footer {
font-size: 15px;
margin: 2rem;
color: #333;
+ font-variation-settings: "opsz" 14;
+ border-radius: 0.5rem;
}
+footer a { color: #333; font-weight: 425; }
+footer a:visited { color: #333; font-weight: 425; }
+
+button {
+ margin-top: 1rem;
+ padding: 0.5rem 1rem;
+ background: #036;
+ color: white;
+ border: none;
+ border-radius: 4px;
+ cursor: pointer;
+ font-weight: 500;
+ }
+
+ button:hover {
+ background: #047;
+ }
+
+
+ input,
+ textarea {
+ font-family: monospace;
+ padding: 0.5rem;
+ }
+
+ textarea {
+ width: 100%;
+ min-height: 200px;
+ }
+
.wrapper {
min-height: 100vh;
display: flex;
diff --git a/atr/templates/add-release-candidate.html
b/atr/templates/add-release-candidate.html
index c8d2d34..c3f3497 100644
--- a/atr/templates/add-release-candidate.html
+++ b/atr/templates/add-release-candidate.html
@@ -1,7 +1,7 @@
{% extends "layouts/base.html" %}
{% block title %}
- ATR | Add Release Candidate
+ Add Release Candidate ~ ATR
{% endblock title %}
{% block description %}
@@ -11,18 +11,27 @@
{% block stylesheets %}
{{ super() }}
<style>
- .form-group {
- margin-bottom: 1rem;
+ .form-table {
+ width: 100%;
+ border-collapse: separate;
+ border-spacing: 0 1rem;
}
- .form-group label {
- display: block;
- margin-bottom: 0.5rem;
+ .form-table th {
+ width: 200px;
+ text-align: right;
+ padding-right: 1rem;
+ vertical-align: top;
+ font-weight: 500;
}
- .error-message {
- color: #dc3545;
- margin-top: 0.25rem;
+ .form-table td {
+ vertical-align: top;
+ }
+
+ .form-table label {
+ border-bottom: none;
+ padding-bottom: 0;
}
select,
@@ -31,13 +40,20 @@
margin-bottom: 0.5rem;
}
- small {
+ .help-text {
color: #666;
+ font-size: 0.9em;
+ display: block;
+ margin-top: 0.25rem;
+ }
+
+ .error-message {
+ color: #dc3545;
+ margin-top: 0.25rem;
}
button {
margin-top: 1rem;
- padding: 0.5rem 1rem;
}
button:disabled {
@@ -48,63 +64,87 @@
{% endblock stylesheets %}
{% block content %}
- <h1>Add Release Candidate</h1>
+ <h1>Add release candidate</h1>
<p class="intro">On this page, you can add a release candidate to the
database.</p>
<div class="user-info">
+ <h2>Your account information</h2>
<p>
Welcome, <strong>{{ asf_id }}</strong>! You are authenticated as an ASF
committer.
</p>
{% if pmc_memberships %}
- <h3>Your PMC Memberships:</h3>
+ <h3>PMC memberships</h3>
<ul>
{% for pmc in pmc_memberships %}<li>{{ pmc }}</li>{% endfor %}
</ul>
{% endif %}
{% if committer_projects %}
- <h3>Your Committer Access:</h3>
+ <h3>Committer access</h3>
<ul>
{% for project in committer_projects %}<li>{{ project }}</li>{% endfor
%}
</ul>
{% endif %}
</div>
+ <h2>Select files</h2>
+
<form method="post" enctype="multipart/form-data">
- <div class="form-group">
- <label for="project_name">Project:</label>
- <select id="project_name" name="project_name" required>
- <option value="">Select a project...</option>
- {% for pmc in pmc_memberships %}<option value="{{ pmc }}">{{ pmc
}}</option>{% endfor %}
- </select>
- {% if not pmc_memberships %}
- <p class="error-message">You must be a PMC member to submit a release
candidate.</p>
- {% endif %}
- </div>
-
- <div class="form-group">
- <label for="release_artifact">Release Candidate Archive:</label>
- <input type="file"
- id="release_artifact"
- name="release_artifact"
- required
-
accept="application/gzip,application/x-gzip,application/x-tar,application/zip,application/java-archive,.tar.gz,.tgz,.zip,.jar"
- aria-describedby="artifact-help" />
- <span id="artifact-help">Upload the release candidate archive (tar.gz,
zip, or jar)</span>
- </div>
-
- <div class="form-group">
- <label for="release_signature">Detached GPG Signature:</label>
- <input type="file"
- id="release_signature"
- name="release_signature"
- required
- accept="application/pgp-signature,.asc"
- aria-describedby="signature-help" />
- <span id="signature-help">Upload the detached GPG signature (.asc) file
for the release candidate</span>
- </div>
-
- <button type="submit" {% if not pmc_memberships %}disabled{% endif
%}>Submit Release Candidate</button>
+ <table class="form-table">
+ <tbody>
+ <tr>
+ <th>
+ <label for="project_name">Project:</label>
+ </th>
+ <td>
+ <select id="project_name" name="project_name" required>
+ <option value="">Select a project...</option>
+ {% for pmc in pmc_memberships %}<option value="{{ pmc }}">{{ pmc
}}</option>{% endfor %}
+ </select>
+ {% if not pmc_memberships %}
+ <p class="error-message">You must be a PMC member to submit a
release candidate.</p>
+ {% endif %}
+ </td>
+ </tr>
+
+ <tr>
+ <th>
+ <label for="release_artifact">Release Candidate Archive:</label>
+ </th>
+ <td>
+ <input type="file"
+ id="release_artifact"
+ name="release_artifact"
+ required
+
accept="application/gzip,application/x-gzip,application/x-tar,application/zip,application/java-archive,.tar.gz,.tgz,.zip,.jar"
+ aria-describedby="artifact-help" />
+ <span id="artifact-help" class="help-text">Upload the release
candidate archive (tar.gz, zip, or jar)</span>
+ </td>
+ </tr>
+
+ <tr>
+ <th>
+ <label for="release_signature">Detached GPG Signature:</label>
+ </th>
+ <td>
+ <input type="file"
+ id="release_signature"
+ name="release_signature"
+ required
+ accept="application/pgp-signature,.asc"
+ aria-describedby="signature-help" />
+ <span id="signature-help" class="help-text">Upload the detached
GPG signature (.asc) file for the release candidate</span>
+ </td>
+ </tr>
+
+ <tr>
+ <td></td>
+ <td>
+ <button type="submit" {% if not pmc_memberships %}disabled{% endif
%}>Submit Release Candidate</button>
+ </td>
+ </tr>
+ </tbody>
+ </table>
</form>
{% endblock content %}
diff --git a/atr/templates/data-browser.html b/atr/templates/data-browser.html
index d801071..7643704 100644
--- a/atr/templates/data-browser.html
+++ b/atr/templates/data-browser.html
@@ -1,7 +1,7 @@
{% extends "layouts/base.html" %}
{% block title %}
- ATR | Data Browser
+ Data browser ~ ATR
{% endblock title %}
{% block description %}
@@ -65,7 +65,7 @@
{% endblock stylesheets %}
{% block content %}
- <h1>Data Browser</h1>
+ <h1>Data browser</h1>
<p class="intro">Browse all records in the database.</p>
<div class="model-nav">
diff --git a/atr/templates/includes/sidebar.html
b/atr/templates/includes/sidebar.html
index 6a230d1..c13a88f 100644
--- a/atr/templates/includes/sidebar.html
+++ b/atr/templates/includes/sidebar.html
@@ -2,11 +2,11 @@
<div class="sidebar-header">
<a href="{{ url_for('root') }}" class="site-title">
<h1>
- A<span>pache</span>
+ <span class="apache">A<span class="rest">pache</span></span>
<br />
- T<span>rusted</span>
+ <span class="trusted">T<span class="rest">rusted</span></span>
<br />
- R<span>elease</span>
+ <span class="release">R<span class="rest">elease</span></span>
</h1>
</a>
</div>
diff --git a/atr/templates/index.html b/atr/templates/index.html
index f78df3c..1cd058b 100644
--- a/atr/templates/index.html
+++ b/atr/templates/index.html
@@ -1,9 +1,12 @@
{% extends "layouts/base.html" %}
{% block title %}
- Apache Trusted Release Platform
+ Apache Trusted Release
{% endblock title %}
{% block content %}
- <h1>Apache Trusted Releases</h1>
+ <h1>Apache Trusted Release</h1>
+ <p>
+ Welcome to the Apache Trusted Release (ATR) platform. This system is used
to manage the release of Apache projects.
+ </p>
{% endblock content %}
diff --git a/atr/templates/layouts/base.html b/atr/templates/layouts/base.html
index 87880cc..6d4dd6e 100644
--- a/atr/templates/layouts/base.html
+++ b/atr/templates/layouts/base.html
@@ -15,6 +15,8 @@
<link rel="stylesheet"
href="{{ url_for('static', filename='css/atr.css') }}" />
{% endblock stylesheets %}
+ {% block head_extra %}
+ {% endblock head_extra %}
</head>
<body class="{%- block body_class -%}{%- endblock body_class -%}">
<div class="wrapper">
diff --git a/atr/templates/pages.html b/atr/templates/pages.html
index c684377..787462a 100644
--- a/atr/templates/pages.html
+++ b/atr/templates/pages.html
@@ -1,7 +1,7 @@
{% extends "layouts/base.html" %}
{% block title %}
- ATR | Pages
+ Pages ~ ATR
{% endblock title %}
{% block description %}
List of all pages and endpoints in ATR.
@@ -72,7 +72,7 @@
{% endblock stylesheets %}
{% block content %}
- <h1>ATR Pages</h1>
+ <h1>Pages</h1>
<p class="intro">A complete list of all pages and endpoints available in
ATR.</p>
<div class="endpoint-list">
diff --git a/atr/templates/pmc-directory.html b/atr/templates/pmc-directory.html
index 14c6587..5aa1249 100644
--- a/atr/templates/pmc-directory.html
+++ b/atr/templates/pmc-directory.html
@@ -1,37 +1,95 @@
{% extends "layouts/base.html" %}
{% block title %}
- ATR | PMC Directory
+ Project Management Committees ~ ATR
{% endblock title %}
+
{% block description %}
List of all PMCs and their latest releases.
{% endblock description %}
+{% block head_extra %}
+ <style>
+ .pmc-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
+ gap: 1.5rem;
+ margin: 2rem 0;
+ }
+
+ .pmc-card {
+ background: white;
+ border: 1px solid #e0e0e0;
+ border-radius: 8px;
+ padding: 1.5rem;
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
+ }
+
+ .pmc-card:hover {
+ transform: translateY(-2px);
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
+ }
+
+ .pmc-name {
+ font-size: 1.5rem;
+ font-weight: 500;
+ color: #333;
+ margin-bottom: 1rem;
+ }
+
+ .pmc-stats {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
+ gap: 1rem;
+ }
+
+ .stat-item {
+ background: #f8f9fa;
+ padding: 0.75rem;
+ border-radius: 6px;
+ text-align: center;
+ }
+
+ .stat-label {
+ display: block;
+ color: #666;
+ font-size: 0.9rem;
+ margin-bottom: 0.25rem;
+ }
+
+ .stat-value {
+ display: block;
+ font-weight: 500;
+ font-size: 1.25rem;
+ color: #333;
+ }
+ </style>
+{% endblock head_extra %}
+
{% block content %}
- <h1>Directory of PMCs</h1>
- <p class="intro">
- Welcome to the Apache Trusted Release platform. Below are the current
Apache PMCs and their releases:
- </p>
+ <h1>Project Management Committees</h1>
+ <p class="intro">Current Apache PMCs and their releases:</p>
- <ul class="pmc-list">
+ <div class="pmc-grid">
{% for pmc in pmcs %}
- <li class="pmc-item">
+ <div class="pmc-card">
<div class="pmc-name">{{ pmc.project_name }}</div>
<div class="pmc-stats">
- <span class="stat-item">
- <span>PMC Members:</span>
- <strong>{{ pmc.pmc_members|length }}</strong>
- </span>
- <span class="stat-item">
- <span>Committers:</span>
- <strong>{{ pmc.committers|length }}</strong>
- </span>
- <span class="stat-item">
- <span>Release Managers:</span>
- <strong>{{ pmc.release_managers|length }}</strong>
- </span>
+ <div class="stat-item">
+ <span class="stat-label">PMC Members</span>
+ <span class="stat-value">{{ pmc.pmc_members|length }}</span>
+ </div>
+ <div class="stat-item">
+ <span class="stat-label">Committers</span>
+ <span class="stat-value">{{ pmc.committers|length }}</span>
+ </div>
+ <div class="stat-item">
+ <span class="stat-label">Release Managers</span>
+ <span class="stat-value">{{ pmc.release_managers|length }}</span>
+ </div>
</div>
- </li>
+ </div>
{% endfor %}
- </ul>
+ </div>
{% endblock content %}
diff --git a/atr/templates/release-signature-verify.html
b/atr/templates/release-signature-verify.html
index 2b4d14f..6ce2fc3 100644
--- a/atr/templates/release-signature-verify.html
+++ b/atr/templates/release-signature-verify.html
@@ -1,7 +1,7 @@
{% extends "layouts/base.html" %}
{% block title %}
- ATR | Verify Release Signatures
+ Verify release signatures ~ ATR
{% endblock title %}
{% block description %}
@@ -107,7 +107,7 @@
{% endblock stylesheets %}
{% block content %}
- <h1>Verify Release Signatures</h1>
+ <h1>Verify release signatures</h1>
<div class="release-info">
<h2>{{ release.pmc.project_name }}</h2>
diff --git a/atr/templates/update-pmcs.html b/atr/templates/update-pmcs.html
index fa509a2..044e2a9 100644
--- a/atr/templates/update-pmcs.html
+++ b/atr/templates/update-pmcs.html
@@ -1,34 +1,61 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width,initial-scale=1.0" />
- <meta name="description" content="Update PMCs" />
- <title>ATR | Update PMCs</title>
- <link rel="stylesheet" href="{{ url_for('static', filename='root.css') }}"
/>
- <style>
- .form-group {
- margin-bottom: 1rem;
- }
-
- button {
- margin-top: 1rem;
- padding: 0.5rem 1rem;
- }
- </style>
- </head>
- <body>
- <h1>Update PMCs</h1>
- <p class="intro">This page allows you to update the PMC information in the
database from committee-info.json.</p>
-
- <div class="warning">
- <p>
- <strong>Note:</strong> This operation will update all PMC information,
including member lists and release manager assignments.
- </p>
- </div>
-
- <form method="post">
- <button type="submit">Update PMCs</button>
- </form>
- </body>
-</html>
+{% extends "layouts/base.html" %}
+
+{% block title %}
+ Update PMCs ~ ATR
+{% endblock title %}
+
+{% block description %}
+ Update PMCs from remote, authoritative committee-info.json.
+{% endblock description %}
+
+{% block stylesheets %}
+ {{ super() }}
+ <style>
+ .form-group {
+ margin-bottom: 1rem;
+ }
+
+ button {
+ margin-top: 1rem;
+ padding: 0.5rem 1rem;
+ background: #036;
+ color: white;
+ border: none;
+ border-radius: 4px;
+ cursor: pointer;
+ font-weight: 500;
+ }
+
+ button:hover {
+ background: #047;
+ }
+
+ .warning {
+ margin: 1.5rem 0;
+ padding: 1rem;
+ background: #fff3cd;
+ border: 1px solid #ffeeba;
+ border-radius: 4px;
+ color: #856404;
+ }
+
+ .warning strong {
+ color: #533f03;
+ }
+ </style>
+{% endblock stylesheets %}
+
+{% block content %}
+ <h1>Update PMCs</h1>
+ <p class="intro">This page allows you to update the PMC information in the
database from committee-info.json.</p>
+
+ <div class="warning">
+ <p>
+ <strong>Note:</strong> This operation will update all PMC information,
including member lists and release manager assignments.
+ </p>
+ </div>
+
+ <form method="post">
+ <button type="submit">Update PMCs</button>
+ </form>
+{% endblock content %}
diff --git a/atr/templates/user-keys-add.html b/atr/templates/user-keys-add.html
index af8ce40..7db121f 100644
--- a/atr/templates/user-keys-add.html
+++ b/atr/templates/user-keys-add.html
@@ -1,222 +1,211 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width,initial-scale=1.0" />
- <meta name="description" content="Add a GPG public key to your account." />
- <title>ATR | Add GPG Key</title>
- <link rel="stylesheet" href="{{ url_for('static', filename='root.css') }}"
/>
- <style>
- .form-group {
- margin-bottom: 1rem;
- }
-
- .form-group label {
- display: block;
- margin-bottom: 0.5rem;
- }
-
- .error-message {
- color: #dc3545;
- margin-top: 0.25rem;
- }
-
- input,
- textarea {
- font-family: monospace;
- padding: 0.5rem;
- }
-
- textarea {
- width: 100%;
- min-height: 200px;
- }
-
- .key-info {
- margin-top: 1rem;
- padding: 1rem;
- background: #f8f9fa;
- border-radius: 4px;
- }
-
- .key-info h3 {
- margin-top: 0;
- }
-
- .key-info dl {
- margin: 0;
- display: grid;
- grid-template-columns: auto 1fr;
- gap: 0.5rem 1rem;
- }
-
- .key-info dt {
- font-weight: bold;
- }
-
- .key-info dd {
- margin: 0;
- }
-
- button {
- margin-top: 1rem;
- padding: 0.5rem 1rem;
- }
-
- .navigation {
- margin-top: 2rem;
- }
-
- .success-message {
- color: #28a745;
- margin: 1rem 0;
- padding: 1rem;
- background: #d4edda;
- border-radius: 4px;
- }
-
- .existing-keys {
- margin: 2rem 0;
- padding: 1rem;
- background: #f8f9fa;
- border-radius: 4px;
- }
-
- .keys-grid {
- display: grid;
- grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
- gap: 1rem;
- margin-top: 1rem;
- }
-
- .key-card {
- padding: 1rem;
- background: white;
- border: 1px solid #dee2e6;
- border-radius: 4px;
- }
-
- .key-card h3 {
- margin-top: 0;
- margin-bottom: 1rem;
- }
-
- .delete-key-form {
- margin-top: 1rem;
- }
-
- .delete-button {
- background: #dc3545;
- color: white;
- border: none;
- padding: 0.5rem 1rem;
- border-radius: 4px;
- cursor: pointer;
- }
-
- .delete-button:hover {
- background: #c82333;
- }
- </style>
- </head>
- <body>
- <h1>Add GPG Public Key</h1>
- <p class="intro">Add your GPG public key to use for signing release
artifacts.</p>
-
- <div class="user-info">
- <p>
- Welcome, <strong>{{ asf_id }}</strong>! You are authenticated as an
ASF committer.
- </p>
+{% extends "layouts/base.html" %}
+
+{% block title %}
+ Add signing key ~ ATR
+{% endblock title %}
+
+{% block description %}
+ Add a GPG public key to your account.
+{% endblock description %}
+
+{% block stylesheets %}
+ {{ super() }}
+ <style>
+ .form-group {
+ margin-bottom: 1rem;
+ }
+
+ .form-group label {
+ display: block;
+ margin-bottom: 0.5rem;
+ }
+
+ .error-message {
+ color: #dc3545;
+ margin-top: 0.25rem;
+ }
+
+ .key-info {
+ margin-top: 1rem;
+ padding: 1rem;
+ background: #f8f9fa;
+ border-radius: 4px;
+ }
+
+ .key-info h3 {
+ margin-top: 0;
+ }
+
+ .key-info dl {
+ margin: 0;
+ display: grid;
+ grid-template-columns: auto 1fr;
+ gap: 0.5rem 1rem;
+ }
+
+ .key-info dt {
+ font-weight: bold;
+ }
+
+ .key-info dd {
+ margin: 0;
+ }
+
+ .navigation {
+ margin-top: 2rem;
+ }
+
+ .success-message {
+ color: #28a745;
+ margin: 1rem 0;
+ padding: 1rem;
+ background: #d4edda;
+ border-radius: 4px;
+ }
+
+ .existing-keys {
+ margin: 2rem 0;
+ padding: 1rem;
+ background: #f8f9fa;
+ border-radius: 4px;
+ }
+
+ .keys-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
+ gap: 1rem;
+ margin-top: 1rem;
+ }
+
+ .key-card {
+ padding: 1rem;
+ background: white;
+ border: 1px solid #dee2e6;
+ border-radius: 4px;
+ }
+
+ .key-card h3 {
+ margin-top: 0;
+ margin-bottom: 1rem;
+ }
+
+ .delete-key-form {
+ margin-top: 1rem;
+ }
+
+ .delete-button {
+ background: #dc3545;
+ color: white;
+ border: none;
+ padding: 0.5rem 1rem;
+ border-radius: 4px;
+ cursor: pointer;
+ }
+
+ .delete-button:hover {
+ background: #c82333;
+ }
+ </style>
+{% endblock stylesheets %}
+
+{% block content %}
+ <h1>Add signing key</h1>
+ <p class="intro">Add your GPG public key to use for signing release
artifacts.</p>
+
+ <div class="user-info">
+ <p>
+ Welcome, <strong>{{ asf_id }}</strong>! You are authenticated as an ASF
committer.
+ </p>
+ </div>
+
+ {% if key_info %}
+ <h2>Key results</h2>
+ <div class="key-info">
+ <h3>Success: Added Key</h3>
+ <dl>
+ <dt>Key ID</dt>
+ <dd>
+ {{ key_info.key_id }}
+ </dd>
+ <dt>Fingerprint</dt>
+ <dd>
+ {{ key_info.fingerprint }}
+ </dd>
+ <dt>User ID</dt>
+ <dd>
+ {{ key_info.user_id }}
+ </dd>
+ <dt>Created</dt>
+ <dd>
+ {{ key_info.creation_date }}
+ </dd>
+ <dt>Expires</dt>
+ <dd>
+ {{ key_info.expiration_date or 'Never' }}
+ </dd>
+ <dt>Key Data</dt>
+ <dd>
+ <pre>{{ key_info.data }}</pre>
+ </dd>
+ </dl>
</div>
+ {% endif %}
- {% if key_info %}
- <div class="key-info">
- <h3>Success: Added Key</h3>
- <dl>
- <dt>Key ID</dt>
- <dd>
- {{ key_info.key_id }}
- </dd>
- <dt>Fingerprint</dt>
- <dd>
- {{ key_info.fingerprint }}
- </dd>
- <dt>User ID</dt>
- <dd>
- {{ key_info.user_id }}
- </dd>
- <dt>Created</dt>
- <dd>
- {{ key_info.creation_date }}
- </dd>
- <dt>Expires</dt>
- <dd>
- {{ key_info.expiration_date or 'Never' }}
- </dd>
- <dt>Key Data</dt>
- <dd>
- <pre>{{ key_info.data }}</pre>
- </dd>
- </dl>
- </div>
- {% endif %}
-
- {% if error %}
- <div class="error-message">
- <h2>Error: Did Not Add Key</h2>
- <p>{{ error }}</p>
- </div>
- {% endif %}
+ {% if error %}
+ <div class="error-message">
+ <h2>Error: Did Not Add Key</h2>
+ <p>{{ error }}</p>
+ </div>
+ {% endif %}
- {% if success %}
- <div class="success-message">
- <h2>Success</h2>
- <p>{{ success }}</p>
- </div>
- {% endif %}
-
- {% if user_keys %}
- <div class="existing-keys">
- <h2>Your Existing Keys</h2>
- <div class="keys-grid">
- {% for key in user_keys %}
- <div class="key-card">
- <h3>Key Details</h3>
- <dl>
- <dt>Key Type</dt>
- <dd>
- {{ key.key_type }}
- </dd>
- <dt>Expires</dt>
- <dd>
- {{ key.expiration.strftime("%Y-%m-%d %H:%M:%S") if
key.expiration else 'Never' }}
- </dd>
- </dl>
- </div>
- {% endfor %}
- </div>
- </div>
- {% endif %}
-
- <form method="post">
- <div class="form-group">
- <label for="public_key">Public Key:</label>
- <textarea id="public_key"
- name="public_key"
- required
- placeholder="Paste your GPG public key here (in
ASCII-armored format)"
- aria-describedby="key-help"></textarea>
- <small id="key-help">
- Your public key should be in ASCII-armored format, starting with
"-----BEGIN PGP PUBLIC KEY BLOCK-----"
- </small>
+ {% if success %}
+ <div class="success-message">
+ <h2>Success</h2>
+ <p>{{ success }}</p>
+ </div>
+ {% endif %}
+
+ {% if user_keys %}
+ <div class="existing-keys">
+ <h2>Your Existing Keys</h2>
+ <div class="keys-grid">
+ {% for key in user_keys %}
+ <div class="key-card">
+ <h3>Key Details</h3>
+ <dl>
+ <dt>Key Type</dt>
+ <dd>
+ {{ key.key_type }}
+ </dd>
+ <dt>Expires</dt>
+ <dd>
+ {{ key.expiration.strftime("%Y-%m-%d %H:%M:%S") if
key.expiration else 'Never' }}
+ </dd>
+ </dl>
+ </div>
+ {% endfor %}
</div>
+ </div>
+ {% endif %}
+
+ <form method="post">
+ <div class="form-group">
+ <label for="public_key">Public Key:</label>
+ <textarea id="public_key"
+ name="public_key"
+ required
+ placeholder="Paste your GPG public key here (in ASCII-armored
format)"
+ aria-describedby="key-help"></textarea>
+ <small id="key-help">
+ Your public key should be in ASCII-armored format, starting with
"-----BEGIN PGP PUBLIC KEY BLOCK-----"
+ </small>
+ </div>
- <button type="submit">Add Key</button>
- </form>
+ <button type="submit">Add Key</button>
+ </form>
- <div class="navigation">
- <a href="{{ url_for('root_user_uploads') }}">Back to Your Uploads</a>
- <a href="{{ url_for('root_pages') }}">Return to Main Page</a>
- </div>
- </body>
-</html>
+ <div class="navigation">
+ <a href="{{ url_for('root_user_uploads') }}">Back to Your Uploads</a>
+ <a href="{{ url_for('root_pages') }}">Return to Main Page</a>
+ </div>
+{% endblock content %}
diff --git a/atr/templates/user-uploads.html b/atr/templates/user-uploads.html
index ed36f60..1c2366a 100644
--- a/atr/templates/user-uploads.html
+++ b/atr/templates/user-uploads.html
@@ -1,7 +1,7 @@
{% extends "layouts/base.html" %}
{% block title %}
- ATR | Your Uploads
+ Your uploads ~ ATR
{% endblock title %}
{% block description %}
@@ -53,7 +53,7 @@
{% endblock stylesheets %}
{% block content %}
- <h1>Your Uploads</h1>
+ <h1>Your uploads</h1>
<p class="intro">Here are all the release candidates you've uploaded.</p>
{% if releases %}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]