From c9d48255e2263119448ba1a02d8485dc4cf0c9d1 Mon Sep 17 00:00:00 2001 From: "Adrian A. Baumann" Date: Mon, 29 Dec 2025 00:15:31 +0100 Subject: [PATCH 1/2] Add modern design with base template - Create base.html with snazzy gradient design - Add navigation header with glassmorphism effect - Add Font Awesome icons throughout - Update all templates to extend base: - index.html: Home page with boxes and thing types - box_detail.html: Box contents table - thing_detail.html: Thing details with move form - thing_type_detail.html: Type hierarchy and things - search.html: Search functionality - add_things.html: Form for adding things - Add hover effects, smooth transitions, and modern UI - Use purple gradient color scheme (#667eea to #764ba2) - Add breadcrumbs for navigation - Improve accessibility with proper focus states --- boxes/templates/boxes/add_things.html | 297 +++++++---------- boxes/templates/boxes/box_detail.html | 206 +++++------- boxes/templates/boxes/index.html | 300 ++++++------------ boxes/templates/boxes/search.html | 288 +++++++---------- boxes/templates/boxes/thing_detail.html | 254 +++++---------- boxes/templates/boxes/thing_type_detail.html | 241 +++++--------- .../d1/60d1bb6c53ee06eb26d4708f19b149d9.jpg | Bin 0 -> 775 bytes .../d0/71d025fefc5668ca6b1ff83985afe6ec.jpg | Bin 0 -> 1168 bytes .../16/8b1685afb6011f553aa30d3992f9624d.jpg | Bin 0 -> 5146 bytes labhelper/templates/base.html | 247 ++++++++++++++ 10 files changed, 820 insertions(+), 1013 deletions(-) create mode 100644 data/media/cache/60/d1/60d1bb6c53ee06eb26d4708f19b149d9.jpg create mode 100644 data/media/cache/71/d0/71d025fefc5668ca6b1ff83985afe6ec.jpg create mode 100644 data/media/cache/8b/16/8b1685afb6011f553aa30d3992f9624d.jpg create mode 100644 labhelper/templates/base.html diff --git a/boxes/templates/boxes/add_things.html b/boxes/templates/boxes/add_things.html index 5b931a9..93244f5 100644 --- a/boxes/templates/boxes/add_things.html +++ b/boxes/templates/boxes/add_things.html @@ -1,213 +1,128 @@ - - - - - - Add Things to Box {{ box.id }} - LabHelper - - - - ← Home +{% extends "base.html" %} + +{% block title %}Add Things to Box {{ box.id }} - LabHelper{% endblock %} + +{% block page_header %} + +{% endblock %} + +{% block content %} +
+
+ + Box: {{ box.id }} ({{ box.box_type.name }}) + +
-

Add Things to Box {{ box.id }}

- -
-

- Box: {{ box.id }} ({{ box.box_type.name }}) -

- - {% if formset.non_form_errors %} -
- {% for form_errors in formset.non_form_errors %} - {% for field, errors in form_errors.items %} - {% for error in errors %} -
  • {{ error }}
  • - {% endfor %} + {% if formset.non_form_errors %} +
    + + {% for form_errors in formset.non_form_errors %} + {% for field, errors in form_errors.items %} + {% for error in errors %} + {{ error }} {% endfor %} {% endfor %} -
    - {% endif %} - - {% if formset.total_form_count %} -
    - {% csrf_token %} - - - - - - - + {% endfor %} + + {% endif %} + + {% if success_message %} +
    + {{ success_message }} +
    + {% endif %} + + {% if formset.total_form_count %} + + {% csrf_token %} +
    NameTypeDescriptionPicture
    + + + + + + + - {{ formset.management_form }} - {% for form in formset %} - - - + {{ formset.management_form }} + {% for form in formset %} + + + - + - + - + - - {% endfor %} - - - -
    NameTypeDescriptionPicture
    - {{ form.id }} - +
    + {{ form.id }} + +
    {{ form.name }} {% for error in form.name.errors %} -
    -
  • {{ error }}
  • +
    + {{ error }}
    {% endfor %} - -
    + * + + +
    {{ form.thing_type }} {% for error in form.thing_type.errors %} -
    -
  • {{ error }}
  • +
    + {{ error }}
    {% endfor %} - -
    + * + + +
    {{ form.description }} {% for error in form.description.errors %} -
    -
  • {{ error }}
  • +
    + {{ error }}
    {% endfor %} -
    + + +
    {{ form.picture }} {% for error in form.picture.errors %} -
    -
  • {{ error }}
  • +
    + {{ error }}
    {% endfor %} -
    - -
    -
    - {% endif %} +
    + + + {% endfor %} + - {% if success_message %} -
    - {{ success_message }} +
    +
    - {% endif %} -
    - - + + {% endif %} +
    +{% endblock %} + +{% block extra_js %} + +{% endblock %} \ No newline at end of file diff --git a/boxes/templates/boxes/box_detail.html b/boxes/templates/boxes/box_detail.html index 5a1fde7..9f53664 100644 --- a/boxes/templates/boxes/box_detail.html +++ b/boxes/templates/boxes/box_detail.html @@ -1,122 +1,90 @@ +{% extends "base.html" %} {% load thumbnail %} - - - - - - Box {{ box.id }} - LabHelper - - - - ← Back to Home - -

    Box {{ box.id }}

    - -
    - Type: {{ box.box_type.name }} - ({{ box.box_type.width }} x {{ box.box_type.height }} x {{ box.box_type.length }} mm) -

    - + Add Things + +{% block title %}Box {{ box.id }} - LabHelper{% endblock %} + +{% block page_header %} + +{% endblock %} + +{% block content %} +
    +
    +
    +
    + Type: {{ box.box_type.name }} +
    +
    + {{ box.box_type.width }} x {{ box.box_type.height }} x {{ box.box_type.length }} mm +
    +
    + + Add Things +
    - - {% if things %} - - - - - - - - - - - {% for thing in things %} - - - - - - - {% endfor %} - -
    PictureNameTypeDescription
    - {% if thing.picture %} - {% thumbnail thing.picture "50x50" crop="center" as thumb %} - {{ thing.name }} - {% endthumbnail %} - {% else %} -
    No image
    - {% endif %} -
    {{ thing.name }}{{ thing.thing_type.name }}{{ thing.description|default:"-" }}
    - {% else %} -
    - This box is empty. +
    + +{% if things %} +
    +
    + + + + + + + + + + + {% for thing in things %} + + + + + + + {% endfor %} + +
    PictureNameTypeDescription
    + {% if thing.picture %} + {% thumbnail thing.picture "50x50" crop="center" as thumb %} + {{ thing.name }} + {% endthumbnail %} + {% else %} +
    No image
    + {% endif %} +
    + {{ thing.name }} + {{ thing.thing_type.name }}{{ thing.description|default:"-" }}
    - {% endif %} - - +
    +{% else %} +
    + +

    This box is empty

    +

    Add some items to get started!

    + + Add Things + +
    +{% endif %} +{% endblock %} + +{% block extra_js %} + +{% endblock %} \ No newline at end of file diff --git a/boxes/templates/boxes/index.html b/boxes/templates/boxes/index.html index 5fc532c..664a3ce 100644 --- a/boxes/templates/boxes/index.html +++ b/boxes/templates/boxes/index.html @@ -1,205 +1,103 @@ +{% extends "base.html" %} {% load mptt_tags %} - - - - - - LabHelper - - - - - -
    -

    LabHelper

    - - - -
    -

    Boxes

    - {% if boxes %} -
    - {% for box in boxes %} -
    - -
    Box {{ box.id }}
    -
    {{ box.box_type.name }}
    -
    - {{ box.box_type.width }} x {{ box.box_type.height }} x {{ box.box_type.length }} mm -
    -
    - {{ box.things.count }} item{{ box.things.count|pluralize }} -
    -
    + +{% block title %}LabHelper - Home{% endblock %} + +{% block page_header %} + +{% endblock %} + +{% block content %} +
    +

    Boxes

    + {% if boxes %} + - -
    -

    Thing Types

    - {% if thing_types %} -
    - {% else %} -

    No thing types found.

    - {% endif %} +
    + {{ box.box_type.name }} +
    +
    + {{ box.box_type.width }} x {{ box.box_type.height }} x {{ box.box_type.length }} mm +
    +
    + {{ box.things.count }} item{{ box.things.count|pluralize }} +
    +
    + {% endfor %}
    - - \ No newline at end of file + {% else %} +

    + + No boxes found. +

    + {% endif %} +
    + +
    +

    Thing Types

    + {% if thing_types %} +
      + {% recursetree thing_types %} +
    • +
      + {% if children %} + [-] + {% else %} +   + {% endif %} + {{ node.name }} + {% if node.things.exists %} + {{ node.things.count }} + {% endif %} +
      + {% if children %} +
        + {{ children }} +
      + {% endif %} +
    • + {% endrecursetree %} +
    + {% else %} +

    + + No thing types found. +

    + {% endif %} +
    +{% endblock %} + +{% block extra_js %} + +{% endblock %} \ No newline at end of file diff --git a/boxes/templates/boxes/search.html b/boxes/templates/boxes/search.html index 15eef14..16e4389 100644 --- a/boxes/templates/boxes/search.html +++ b/boxes/templates/boxes/search.html @@ -1,187 +1,125 @@ - - - - - - Search - LabHelper - - - - ← Back to Home +{% extends "base.html" %} + +{% block title %}Search - LabHelper{% endblock %} + +{% block page_header %} + +{% endblock %} + +{% block content %} +
    + +

    + Type at least 2 characters to search +

    +
    -

    Search Things

    - -
    - -
    Type at least 2 characters to search
    -
    - -
    - +
    - - - - - + + + + +
    NameTypeBoxDescription
    NameTypeBoxDescription
    +
    - + +{% endblock %} - - - + row.addEventListener('mouseleave', function() { + this.style.background = 'white'; + }); + + resultsBody.appendChild(row); + }); + }); + }, 200); +}); + +searchInput.addEventListener('blur', function() { + searchInput.style.borderColor = '#e0e0e0'; + searchInput.style.boxShadow = 'none'; +}); + +function escapeHtml(text) { + const div = document.createElement('div'); + div.textContent = text; + return div.innerHTML; +} + +searchInput.focus(); + +{% endblock %} \ No newline at end of file diff --git a/boxes/templates/boxes/thing_detail.html b/boxes/templates/boxes/thing_detail.html index a8c7825..20fdfd3 100644 --- a/boxes/templates/boxes/thing_detail.html +++ b/boxes/templates/boxes/thing_detail.html @@ -1,185 +1,103 @@ +{% extends "base.html" %} {% load thumbnail %} - - - - - - {{ thing.name }} - LabHelper - - - - - -

    {{ thing.name }}

    - -
    -
    + +{% block title %}{{ thing.name }} - LabHelper{% endblock %} + +{% block page_header %} + +{% endblock %} + +{% block content %} +
    +
    +
    {% if thing.picture %} - {% thumbnail thing.picture "300x300" crop="center" as thumb %} - {{ thing.name }} + {% thumbnail thing.picture "400x400" crop="center" as thumb %} + {{ thing.name }} {% endthumbnail %} {% else %} -
    No image
    +
    +
    + + No image +
    +
    {% endif %}
    -
    -
    -
    Type
    -
    {{ thing.thing_type.name }}
    +
    +
    +
    + Type +
    +
    + {{ thing.thing_type.name }} +
    -
    -
    Location
    -
    - Box {{ thing.box.id }} - ({{ thing.box.box_type.name }}) +
    +
    + Location +
    +
    + Box {{ thing.box.id }} + ({{ thing.box.box_type.name }})
    {% if thing.description %} -
    -
    Description
    -
    {{ thing.description }}
    +
    +
    + Description +
    +
    + {{ thing.description }} +
    {% endif %} -
    - -
    - {% csrf_token %} - - - -
    - - +
    + +
    + {% csrf_token %} +
    +
    + + +
    + +
    +
    + +{% endblock %} + +{% block extra_js %} + +{% endblock %} \ No newline at end of file diff --git a/boxes/templates/boxes/thing_type_detail.html b/boxes/templates/boxes/thing_type_detail.html index 7652710..3f2bcb7 100644 --- a/boxes/templates/boxes/thing_type_detail.html +++ b/boxes/templates/boxes/thing_type_detail.html @@ -1,183 +1,106 @@ +{% extends "base.html" %} {% load thumbnail %} - - - - - - {{ thing_type.name }} - LabHelper - - - - ← Home - -

    {{ thing_type.name }}

    - -
    - {% if thing_type.parent %} - - {% endif %} - {% if thing_type.children.exists %} -
    - Subtypes: - {% for child in thing_type.children.all %} - {{ child.name }} - {% endfor %} -
    - {% endif %} + +{% block title %}{{ thing_type.name }} - LabHelper{% endblock %} + +{% block page_header %} + +{% endblock %} + +{% block content %} +
    + {% if thing_type.parent %} + + {% endif %} - {% if things_by_type %} - {% for subtype, things in things_by_type.items %} -
    -

    {{ subtype.name }}

    - {% if things %} - + {% if thing_type.children.exists %} +
    + + Subtypes: + {% for child in thing_type.children.all %} + {{ child.name }} + {% endfor %} + +
    + {% endif %} + + +{% if things_by_type %} +{% for subtype, things in things_by_type.items %} +
    +

    {{ subtype.name }}

    + {% if things %} +
    +
    - - - - - + + + + + {% for thing in things %} - - + - - - + {% endfor %}
    PictureNameBoxDescription
    PictureNameBoxDescription
    +
    {% if thing.picture %} {% thumbnail thing.picture "50x50" crop="center" as thumb %} - {{ thing.name }} + {{ thing.name }} {% endthumbnail %} {% else %} -
    No image
    +
    No image
    {% endif %}
    - {{ thing.name }} + + {{ thing.name }} - Box {{ thing.box.id }} -
    {{ thing.box.box_type.name }} +
    + Box {{ thing.box.id }} +
    {{ thing.box.box_type.name }}
    {{ thing.description|default:"-" }}{{ thing.description|default:"-" }}
    - {% else %} -
    No things in this category
    - {% endif %}
    - {% endfor %} {% else %} -
    -
    No things found in this category or its subcategories
    +
    + + No things in this category
    {% endif %} - - \ No newline at end of file +
    +{% endfor %} +{% else %} +
    + +

    No things found

    +

    This category or its subcategories are empty.

    +
    +{% endif %} +{% endblock %} + +{% block extra_js %} + +{% endblock %} \ No newline at end of file diff --git a/data/media/cache/60/d1/60d1bb6c53ee06eb26d4708f19b149d9.jpg b/data/media/cache/60/d1/60d1bb6c53ee06eb26d4708f19b149d9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f7940f6b56d1eb02f1509de3c0d5bf672316a2f1 GIT binary patch literal 775 zcmc&xIS#@w5Zv|pN=V^I(9uB0D^egug4gf^zQ7Oo3!=yqIGX&#>?SElqy*8xSYG)U z+cV>Mi#3FOxhnw?0J%YY!WI+?q$+_XsYYwk)>zwgmw4+EXRV+4Bo*)|o28jd`D^}5^2E++*aQ_5NIF?Alr$}1D JgyF!3?=So^LpT5c literal 0 HcmV?d00001 diff --git a/data/media/cache/71/d0/71d025fefc5668ca6b1ff83985afe6ec.jpg b/data/media/cache/71/d0/71d025fefc5668ca6b1ff83985afe6ec.jpg new file mode 100644 index 0000000000000000000000000000000000000000..21c1ba4be75b0834f8eb0cfadb73112eda799ea8 GIT binary patch literal 1168 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 L%rbe}iTZ literal 0 HcmV?d00001 diff --git a/labhelper/templates/base.html b/labhelper/templates/base.html new file mode 100644 index 0000000..8f0702d --- /dev/null +++ b/labhelper/templates/base.html @@ -0,0 +1,247 @@ +{% load static %} + + + + + + {% block title %}LabHelper{% endblock %} + + + + {% block extra_head %}{% endblock %} + + + + +
    + {% block page_header %}{% endblock %} + + {% block content %}{% endblock %} +
    + +
    +

    © 2025 LabHelper. Built with for science.

    +
    + + {% block extra_js %}{% endblock %} + + \ No newline at end of file -- 2.51.0 From 2a84a9202536325f9bf2899f02a94db8c9197d76 Mon Sep 17 00:00:00 2001 From: "Adrian A. Baumann" Date: Mon, 29 Dec 2025 00:20:20 +0100 Subject: [PATCH 2/2] Fix base template path and bump deployment version - Add labhelper/templates to TEMPLATES DIRS for base.html - Bump container version to 0.028 --- argocd/deployment.yaml | 2 +- labhelper/settings.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/argocd/deployment.yaml b/argocd/deployment.yaml index df0ba34..13049e4 100644 --- a/argocd/deployment.yaml +++ b/argocd/deployment.yaml @@ -27,7 +27,7 @@ spec: mountPath: /data containers: - name: web - image: git.baumann.gr/adebaumann/labhelper:0.027 + image: git.baumann.gr/adebaumann/labhelper:0.028 imagePullPolicy: Always ports: - containerPort: 8000 diff --git a/labhelper/settings.py b/labhelper/settings.py index 6ab1e5d..eb02e7c 100644 --- a/labhelper/settings.py +++ b/labhelper/settings.py @@ -59,7 +59,7 @@ ROOT_URLCONF = 'labhelper.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [], + 'DIRS': [BASE_DIR / 'labhelper' / 'templates'], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ -- 2.51.0