From b187d0962459520a5a67ab5ff743e6395d943bd6 Mon Sep 17 00:00:00 2001
From: weeman <weeman@frankfurt.ccc.de>
Date: Sun, 22 Dec 2024 19:14:08 +0100
Subject: [PATCH] =?UTF-8?q?=C3=9Cberarbeite=20Login,=20Sign-up=20und=20PW-?=
 =?UTF-8?q?Reset?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/plainui/jinja2/plainui/header.html.j2     |  1 -
 src/plainui/jinja2/plainui/login.html.j2      | 25 +++++-----
 .../jinja2/plainui/password_change.html.j2    | 25 +++++-----
 .../plainui/password_reset_complete.html.j2   | 26 ++++------
 .../plainui/password_reset_confirm.html.j2    | 46 +++++++++--------
 .../plainui/password_reset_done.html.j2       | 37 ++++++--------
 .../registration/password_reset_form.html.j2  | 35 ++++++-------
 src/plainui/jinja2/plainui/signup.html.j2     | 29 +++++------
 .../jinja2/plainui/signup_done.html.j2        | 17 +++----
 .../styles/components/_landingpage.scss       | 49 ++-----------------
 src/plainui/styles/utils/_layout.scss         | 20 ++++++--
 11 files changed, 129 insertions(+), 181 deletions(-)

diff --git a/src/plainui/jinja2/plainui/header.html.j2 b/src/plainui/jinja2/plainui/header.html.j2
index 37fec65dd..c4037c976 100644
--- a/src/plainui/jinja2/plainui/header.html.j2
+++ b/src/plainui/jinja2/plainui/header.html.j2
@@ -5,7 +5,6 @@
 {% set view_name = request.resolver_match.view_name %}
 <nav class="navbar navbar-expand-lg border-bottom border-bottom">
   <div class="container-fluid">
-    {% set base_url = "" %}
     {{ logoMacro.logo(base_url, conf.name + " logo", conf.name + " logo") }}
     <button class="navbar-toggler"
             type="button"
diff --git a/src/plainui/jinja2/plainui/login.html.j2 b/src/plainui/jinja2/plainui/login.html.j2
index 96d2fd675..60a9a3a3e 100644
--- a/src/plainui/jinja2/plainui/login.html.j2
+++ b/src/plainui/jinja2/plainui/login.html.j2
@@ -8,13 +8,13 @@
 {% endblock title %}
 
 {% block fullpage %}
-  <article class="container">
-    <figure class="hub-landing__logo">
-      {{ logoMacro.logo(url('plainui:index') , conf.name + " logo", conf.name + "
-      logo", "rounded mx-auto d-block") }}
-    </figure>
-    <div class="mw-320 mx-auto">
-      <h2>{{ _("Login") }}</h2>
+  <article class="hub-content hub-content__landing">
+    <div class="text-center d-md-none mb-5">
+      {{ logoMacro.logo(conf, base_url, conf.name + " logo", conf.name + " logo") }}
+    </div>
+
+    <div class="hub-card mw-md-22rem pt-2 mx-auto">
+      <h1 class="h3">{{ _("Login") }}</h1>
       {% if not archive_mode %}
         <form method="post" id="login" class="hub-landing__form">
           <!--<h1 class="text-center bg-secondary p-2 text-dark h3 m-0">{{ _("login") }}</h1>-->
@@ -29,15 +29,16 @@
 
             <div class="d-grid gap-2 my-3">
               <button type="submit" class="btn btn-primary" form="login">{{ _("Login") }}</button>
-              <span class="text-center">oder</span>
+              <div class="text-center">{{ _("or") }}</div>
               <a href="{{ url('plainui:password_reset') }}"
-                 class="btn btn-secondary"
+                 class="btn btn-outline-secondary"
                  title="{{ _('Reset Password') }}">{{ _('Reset Password') }}</a>
             </div>
             <p class="mb-2 text-white">{{ _("login--cookie_info") }}</p>
 
             <hr class="hub-spacer">
-            <h3>{{ _("New here?") }}</h3>
+
+            <h1 class="h3 mb-3">{{ _("New here?") }}</h1>
             <div class="d-grid">
               <a href="{{ url('plainui:signup') }}"
                  class="btn btn-primary"
@@ -46,11 +47,9 @@
           </div>
         </form>
       {% else %}
-        <p class="mb-2 text-white">{{ _("archive_mode_no_login") }}</p>
+        <p class="my-5">{{ _("archive_mode_no_login") }}</p>
       {% endif %}
     </div>
-
-    <hr class="hub-spacer">
   </article>
 
 {% endblock fullpage %}
diff --git a/src/plainui/jinja2/plainui/password_change.html.j2 b/src/plainui/jinja2/plainui/password_change.html.j2
index 9ab7f71e0..68a327b1f 100644
--- a/src/plainui/jinja2/plainui/password_change.html.j2
+++ b/src/plainui/jinja2/plainui/password_change.html.j2
@@ -6,25 +6,22 @@
 {% endblock title %}
 {% block content %}
 
-  <div class="row justify-content-center px-6 mt-11 mb-8">
-    <div class="col-auto">{{ logoMacro.logo(url('plainui:index') , conf.name + " logo", conf.name + " logo") }}</div>
-  </div>
+  <article class="hub-content hub-content__landing">
+    <div class="text-center d-md-none mb-5">
+      {{ logoMacro.logo(conf, base_url, conf.name + " logo", conf.name + " logo") }}
+    </div>
 
-  <form method="post"
-        class="mw-810 border p-0 mx-auto mb-11{% if error %} border-danger{% endif %} mt-6">
-    <h2 class="bg-secondary text-center text-dark m-0 px-3 py-1">{{ _("Change password") }}</h2>
-    <div class="p-3">
+    <form method="post" class="hub-content hub-content__landing">
+      <h1 class="h3">{{ _("Change password") }}</h1>
       {{ csrf_input }}
       {{ form_elements.password(form, 'old_password') }}
       {{ form_elements.password(form, 'new_password1') }}
       {{ form_elements.password(form, 'new_password2') }}
-      <ul class="d-flex justify-content-center list-unstyled mb-0 pt-3">
-        <li class="mx-2">
-          <button type="submit" class="btn btn-primary">{{ _("Change Password") }}</button>
-        </li>
-      </ul>
       {{ form_elements.errors(form) }}
-    </div>
-  </form>
+      <div class="mt-3">
+        <button type="submit" class="btn btn-primary">{{ _("Change Password") }}</button>
+      </div>
+    </form>
+  </article>
 
 {% endblock content %}
diff --git a/src/plainui/jinja2/plainui/password_reset_complete.html.j2 b/src/plainui/jinja2/plainui/password_reset_complete.html.j2
index 3b8305dd5..5820bf182 100644
--- a/src/plainui/jinja2/plainui/password_reset_complete.html.j2
+++ b/src/plainui/jinja2/plainui/password_reset_complete.html.j2
@@ -5,23 +5,17 @@
 {% endblock title %}
 
 {% block fullpage %}
-  <article class="hub-landing">
-    <figure class="hub-landing__logo">
-      {{ logoMacro.logo(url('plainui:index') , conf.name + " logo", conf.name + " logo") }}
-    </figure>
-
-    <div class="mw-664 border p-0 mx-auto">
-      <h2 class="text-center bg-secondary m-0 text-dark py-1">{{ title }}</h2>
-      <div class="p-3">
-        <p class="mt-5 mb-3 text-white text-center">{{ _("Your password has been set. You may go ahead and log in now.") }}</p>
-        <p class="text-center">
-          <a href="{{ url('plainui:login') }}"
-             title="{{ _('Login') }}"
-             class="btn btn-primary">{{ _('Login') }}</a>
-        </p>
-      </div>
+  <article class="hub-content hub-content__landing">
+    <div class="text-center d-md-none mb-5">
+      {{ logoMacro.logo(conf, base_url, conf.name + " logo", conf.name + " logo") }}
     </div>
 
-    <hr class="hub-spacer">
+    <div class="hub-card mw-md-22rem pt-2 mx-auto">
+      <h1 class="h3">{{ title }}</h1>
+      <p class="mb-3">{{ _("Your password has been set. You may go ahead and log in now.") }}</p>
+      <a href="{{ url('plainui:login') }}"
+         title="{{ _('Login') }}"
+         class="btn btn-primary">{{ _('Login') }}</a>
+    </div>
   </article>
 {% endblock fullpage %}
diff --git a/src/plainui/jinja2/plainui/password_reset_confirm.html.j2 b/src/plainui/jinja2/plainui/password_reset_confirm.html.j2
index e58765772..69bc22a64 100644
--- a/src/plainui/jinja2/plainui/password_reset_confirm.html.j2
+++ b/src/plainui/jinja2/plainui/password_reset_confirm.html.j2
@@ -6,32 +6,30 @@
 {% endblock title %}
 
 {% block fullpage %}
-  <article class="hub-landing">
-    <figure class="hub-landing__logo">
-      {{ logoMacro.logo(url('plainui:index') , conf.name + " logo", conf.name + " logo") }}
-    </figure>
+  <article class="hub-content hub-content__landing">
+    <div class="text-center d-md-none mb-5">
+      {{ logoMacro.logo(conf, base_url, conf.name + " logo", conf.name + " logo") }}
+    </div>
 
-    <form method="post" id="login-change" class="mw-664 hub-landing__form">
-      <!--<h1 class="text-center bg-secondary p-3 text-dark h3">{{ _("enter new password") }}</h1>-->
-      <div>
-        <input type="hidden" name="next" value="{{ next }}">
-        {{ csrf_input }}
-        {{ form_elements.password(form, 'new_password1') }}
-        {{ form_elements.password(form, 'new_password2') }}
-        <ul class="d-flex justify-content-center list-unstyled mb-0">
-          <li class="mx-2 mb-3 mb-lg-0">
-            <a href="{{ url('plainui:login') }}"
-               title="{{ _('Login') }}"
-               class="btn btn-transparent">{{ _('Login') }}</a>
-          </li>
-          <li class="mx-2">
-            <button type="submit" class="btn btn-primary" form="login-change">{{ _("Change Password") }}</button>
-          </li>
-        </ul>
-        {{ form_elements.errors(form) }}
+    <form method="post"
+          id="login-change"
+          class="hub-card mw-md-44rem pt-2 mx-auto">
+      <h1 class="h3">{{ _("enter new password") }}</h1>
+      <input type="hidden" name="next" value="{{ next }}">
+      {{ csrf_input }}
+      {{ form_elements.password(form, 'new_password1') }}
+      {{ form_elements.password(form, 'new_password2') }}
+      {{ form_elements.errors(form) }}
+
+      <div class="d-flex flex-column flex-sm-row align-items-center gap-3 mt-3">
+        <button type="submit"
+                class="btn btn-primary w-100 w-sm-auto"
+                form="login-change">{{ _("Change Password") }}</button>
+        <div>{{ _("or") }}</div>
+        <a href="{{ url('plainui:login') }}"
+           title="{{ _('Login') }}"
+           class="btn btn-outline-secondary w-100 w-sm-auto">{{ _('Login') }}</a>
       </div>
     </form>
-
-    <hr class="hub-spacer">
   </article>
 {% endblock fullpage %}
diff --git a/src/plainui/jinja2/plainui/password_reset_done.html.j2 b/src/plainui/jinja2/plainui/password_reset_done.html.j2
index 404a9cc02..dff38c4b7 100644
--- a/src/plainui/jinja2/plainui/password_reset_done.html.j2
+++ b/src/plainui/jinja2/plainui/password_reset_done.html.j2
@@ -5,30 +5,23 @@
 {% endblock title %}
 
 {% block fullpage %}
-  <article class="hub-landing">
-    <figure class="hub-landing__logo">
-      {{ logoMacro.logo(url('plainui:index') , conf.name + " logo", conf.name + " logo") }}
-    </figure>
-
-    <h1 class="text-center hub-landing__title">welcome to {{ conf.name }}</h1>
+  <article class="hub-content hub-content__landing">
+    <div class="text-center d-md-none mb-5">
+      {{ logoMacro.logo(conf, base_url, conf.name + " logo", conf.name + " logo") }}
+    </div>
 
-    <div class="mw-664 border p-0 mx-auto">
-      <h2 class="text-center bg-secondary m-0 text-dark py-1">{{ title }}</h2>
-      <div class="p-3">
-        <p class="mt-5 mb-3 text-white text-center">
-          {{ _("We’ve emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly.") }}
-        </p>
-        <p class="mb-5 text-white text-center">
-          {{ _("If you don’t receive an email, please make sure you’ve entered the address you registered with, and check your spam folder.") }}
-        </p>
-        <p class="text-center">
-          <a href="{{ url('plainui:login') }}"
-             title="{{ _('Login') }}"
-             class="btn btn-primary">{{ _('Login') }}</a>
-        </p>
-      </div>
+    <div class="hub-card mw-md-22rem mx-auto">
+      <h1 class="h3 mb-3">{{ title }}</h1>
+      <p>
+        {{ _("We’ve emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly.") }}
+      </p>
+      <p>
+        {{ _("If you don’t receive an email, please make sure you’ve entered the address you registered with, and check your spam folder.") }}
+      </p>
+      <a href="{{ url('plainui:login') }}"
+         title="{{ _('Login') }}"
+         class="btn btn-primary w-100">{{ _('Login') }}</a>
     </div>
-    <hr class="hub-spacer">
   </article>
 
 {% endblock fullpage %}
diff --git a/src/plainui/jinja2/plainui/registration/password_reset_form.html.j2 b/src/plainui/jinja2/plainui/registration/password_reset_form.html.j2
index dc1720129..fcee3858b 100644
--- a/src/plainui/jinja2/plainui/registration/password_reset_form.html.j2
+++ b/src/plainui/jinja2/plainui/registration/password_reset_form.html.j2
@@ -5,14 +5,15 @@
   {{ _("%(conf)s - Reset Password", conf=conf.name) }}
 {% endblock title %}
 {% block fullpage %}
-  <article class="hub-landing">
-    <figure class="hub-landing__logo">
-      {{ logoMacro.logo(url('plainui:index') , conf.name + " logo", conf.name + " logo") }}
-    </figure>
+  <article class="hub-content hub-content__landing">
+    <div class="text-center d-md-none mb-5">
+      {{ logoMacro.logo(conf, base_url, conf.name + " logo", conf.name + " logo") }}
+    </div>
 
-    <h1 class="text-center hub-landing__title">{{ _("reset password") }}</h1>
-
-    <form method="post" id="login-reset" class="mw-664 hub-landing__form">
+    <form method="post"
+          id="login-reset"
+          class="hub-card mw-md-22rem pt-2 mx-auto">
+      <h1 class="h3">{{ _("reset password") }}</h1>
       <div>
         {% if retry %}
           <ul class="list-unstyled text-left mb-2">
@@ -26,20 +27,16 @@
         {{ formElements.text(form, 'email') }}
         <p class="mb-2 text-white">{{ _("You will receive an e-mail with a reset link.") }}</p>
         <p class="mb-2 text-white">{{ _("If you have no configured e-mail address, revisit your ticket activation link") }}</p>
-        <ul class="d-flex justify-content-center list-unstyled mb-0">
-          <li class="ml-3 mb-3 md-md-0">
-            <a href="{{ url('plainui:login') }}"
-               title="{{ _('Login') }}"
-               class="btn btn-transparent">{{ _('Login') }}</a>
-          </li>
-          <li class="ml-3">
-            <button type="submit" class="btn btn-primary" form="login-reset">{{ _("Reset Password") }}</button>
-          </li>
-        </ul>
+
+        <div class="d-flex flex-column justify-content-center gap-2 mb-0">
+          <button type="submit" class="btn btn-primary" form="login-reset">{{ _("Reset Password") }}</button>
+          <div class="text-center">{{ _("or") }}</div>
+          <a href="{{ url('plainui:login') }}"
+             title="{{ _('Login') }}"
+             class="btn btn-outline-secondary">{{ _('Login') }}</a>
+        </div>
         {{ formElements.errors(form) }}
       </div>
     </form>
-
-    <hr class="hub-spacer">
   </article>
 {% endblock fullpage %}
diff --git a/src/plainui/jinja2/plainui/signup.html.j2 b/src/plainui/jinja2/plainui/signup.html.j2
index 8403e4661..0a687a8f5 100644
--- a/src/plainui/jinja2/plainui/signup.html.j2
+++ b/src/plainui/jinja2/plainui/signup.html.j2
@@ -6,16 +6,17 @@
 {% endblock title %}
 
 {% block fullpage %}
-  <article class="container">
-    <figure class="hub-landing__logo">
-      {{ logoMacro.logo(url('plainui:index') , conf.name + " logo", conf.name + " logo", "rounded mx-auto d-block") }}
-    </figure>
-    <h2>{{ _("Registration") }}</h2>
-
-    <p>{{ _("Registration Info Text") }}</p>
+  <article class="hub-content hub-content__landing">
+    <div class="text-center d-md-none mb-5">
+      {{ logoMacro.logo(conf, base_url, conf.name + " logo", conf.name + " logo") }}
+    </div>
 
     {% if not archive_mode %}
-      <form method="post" id="registration" class="mw-664 hub-landing__form">
+      <form method="post"
+            id="registration"
+            class="hub-card mw-md-44rem pt-2 mx-auto">
+        <h1 class="h3">{{ _("Registration") }}</h1>
+        <p>{{ _("Registration Info Text") }}</p>
         <div>
           <input type="hidden" name="next" value="{{ next }}">
 
@@ -26,18 +27,14 @@
           {{ formElementsMacro.password(form, 'password2') }}
           {{ formElementsMacro.input(form, 'email', 'email') }}
 
-          <ul class="d-flex flex-column flex-sm-row justify-content-center list-unstyled mb-0">
-            <li class="mx-2">
-              <button type="submit" class="btn btn-block btn-primary" form="registration">{{ _("Create Account") }}</button>
-            </li>
-          </ul>
+          <button type="submit"
+                  class="btn btn-block btn-primary mt-3"
+                  form="registration">{{ _("Create Account") }}</button>
         </div>
       </form>
     {% else %}
-      <p class="mb-2 text-white">{{ _("archive_mode_no_login") }}</p>
+      <p class="my-5 text-white">{{ _("archive_mode_no_login") }}</p>
     {% endif %}
-
-    <hr class="hub-spacer">
   </article>
 
 {% endblock fullpage %}
diff --git a/src/plainui/jinja2/plainui/signup_done.html.j2 b/src/plainui/jinja2/plainui/signup_done.html.j2
index 01ab9bdcd..c52341a04 100644
--- a/src/plainui/jinja2/plainui/signup_done.html.j2
+++ b/src/plainui/jinja2/plainui/signup_done.html.j2
@@ -6,15 +6,14 @@
 {% endblock title %}
 
 {% block fullpage %}
-  <article class="container">
-    <figure class="hub-landing__logo">
-      {{ logoMacro.logo(url('plainui:index') , conf.name + " logo", conf.name + " logo", "rounded mx-auto d-block") }}
-    </figure>
-    <h2>{{ _("SignUp Complete") }}</h2>
+  <article class="hub-content hub-content__landing">
+    <div class="text-center d-md-none mb-5">
+      {{ logoMacro.logo(conf, base_url, conf.name + " logo", conf.name + " logo") }}
+    </div>
 
-    <p>{{ _("SignUp Mail sent") }}</p>
-
-    <hr class="hub-spacer">
+    <div class="hub-card mw-md-22rem pt-2 mx-auto">
+      <h1 class="h3">{{ _("SignUp Complete") }}</h1>
+      <p>{{ _("SignUp Mail sent") }}</p>
+    </div>
   </article>
-
 {% endblock fullpage %}
diff --git a/src/plainui/styles/components/_landingpage.scss b/src/plainui/styles/components/_landingpage.scss
index 8aa1dceb7..3e5779cb8 100644
--- a/src/plainui/styles/components/_landingpage.scss
+++ b/src/plainui/styles/components/_landingpage.scss
@@ -1,48 +1,9 @@
-.hub-landing {
-  position: relative;
-  overflow: hidden;
-  min-height: calc(100vh - 72px);
-  max-width: 51.875rem;
-  margin: 0 auto;
-  display: flex;
-  flex-flow: column nowrap;
-  justify-content: center;
-  align-items: center;
-  padding: 1rem;
+.hub-landing__logo {
+  .hub-logo {
+    max-width: none;
 
-  &__logo {
-    .hub-logo {
-      max-width: none;
-
-      img {
-        width: 12rem;
-      }
-    }
-  }
-
-  &__content {
-    position: absolute;
-    top: map-get($spacers, 10);
-    left: 50%;
-    width: 100%;
-    text-align: center;
-    padding: $spacer;
-    z-index: 6;
-    transform: translate(-50%, 0);
-  }
-
-  &__title {
-    font-size: 3.5rem;
-  }
-
-  @include media-breakpoint-up("md") {
-    width: 90%;
-    &__title {
-      font-size: 7rem;
+    img {
+      width: 12rem;
     }
   }
-
-  @include media-breakpoint-up("xxl") {
-    max-width: 59.188rem;
-  }
 }
diff --git a/src/plainui/styles/utils/_layout.scss b/src/plainui/styles/utils/_layout.scss
index 625a13ce0..2ca0e4301 100644
--- a/src/plainui/styles/utils/_layout.scss
+++ b/src/plainui/styles/utils/_layout.scss
@@ -107,16 +107,26 @@
   .hub-hlayout-l {
     flex-direction: row;
   }
-}
 
-.mw-320 {
-  max-width: 20rem;
+  .mw-md-22rem {
+    max-width: 22rem;
+  }
+
+  .mw-md-44rem {
+    max-width: 44rem;
+  }
 }
 
 .w-100px {
   width: 6.25rem;
 }
 
+@include media-breakpoint-up(sm) {
+  .w-sm-auto {
+    width: auto !important;
+  }
+}
+
 .hub-content {
   padding: map-get($spacers, 2) map-get($spacers, 3);
   padding-top: $hub-mobile-navbar-height;
@@ -128,6 +138,10 @@
     padding: map-get($spacers, 3) map-get($spacers, 5);
   }
 
+  .hub-content__landing {
+    padding-top: $hub-mobile-navbar-height;
+  }
+
   .hub-main {
     height: 100vh;
   }
-- 
GitLab