From 6624dbf6c0b874ff3bee87d9ba7087043efe6bdd Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Wed, 8 Jan 2025 22:25:52 +0100 Subject: [PATCH] reduce templates to the raw basics --- .../InvenTree/static/css/inventree.css | 1114 ----------------- src/backend/InvenTree/templates/403.html | 11 +- src/backend/InvenTree/templates/403_csrf.html | 12 +- src/backend/InvenTree/templates/404.html | 11 +- src/backend/InvenTree/templates/500.html | 13 +- src/backend/InvenTree/templates/503.html | 60 +- .../InvenTree/templates/account/base.html | 37 - src/backend/InvenTree/templates/skeleton.html | 6 +- 8 files changed, 13 insertions(+), 1251 deletions(-) delete mode 100644 src/backend/InvenTree/InvenTree/static/css/inventree.css delete mode 100644 src/backend/InvenTree/templates/account/base.html diff --git a/src/backend/InvenTree/InvenTree/static/css/inventree.css b/src/backend/InvenTree/InvenTree/static/css/inventree.css deleted file mode 100644 index cc392d28b7..0000000000 --- a/src/backend/InvenTree/InvenTree/static/css/inventree.css +++ /dev/null @@ -1,1114 +0,0 @@ -:root { - --primary-color: #335d88; - --secondary-color: #eef3f7; - --highlight-color: #ffffff; - - --border-color: #ccc; - - --label-red: #e35a57; - --label-blue: #4194bd; - --label-green: #50aa51; - --label-grey: #aaa; - --label-yellow: #fdc82a; - - --bs-body-color: #68686a; - - --scanner-upscale: 5; - --scanner-margin: 10%; -} - -main { - overflow-x: auto; -} - -.login-screen { - background-size: cover; - background-position: center; - height: 100vh; - font-family: 'Numans', sans-serif; - color: #eee; -} - -.login-container { - align-self: center; - border-radius: 15px; - padding: 20px; - padding-bottom: 35px; - background-color: rgba(50, 50, 50, 0.75); - width: 100%; - max-width: 550px; - margin: auto; -} - -.login-header { - margin-right: 5px; -} - -.login-container input { - background-color: rgba(250, 250, 250, 0.9); -} - -.login-button { - background-color: rgba(250, 250, 250, 0.9); - color: #333; - border-color: #AAA; - width: 100%; - border-radius: 5px; -} - -.index-bg { - width: 100%; - object-fit: fill; - opacity: 5%; -} - -.index-action-selected { - background-color: #EEEEF5; -} - -.panel-content { - padding: 10px; -} - -/* Progress bars */ - -.progress { - position: relative; - width: 100%; - margin-bottom: 0px; - background: #eeeef5; - font-size: 75%; - height: 1.25rem; - border-radius: 10px; -} - -.progress-bar { - opacity: 60%; - background: #2aa02a; -} - -.progress-bar-under { - background: #eeaa33; -} - -.progress-bar-over { - background: #337ab7; -} - -.progress-value { - width: 100%; - color: #333; - position: absolute; - text-align: center; - top: 0px; - left: 0px; - font-size: 110%; -} - -.bg-qr-code { - background-color: #FFF !important; -} - -.qr-code { - max-width: 400px; - max-height: 400px; - align-content: center; -} - -.navbar { - border-bottom: 1px solid #ccc; - background-color: var(--secondary-color); - box-shadow: 0px 5px 5px rgb(0 0 0 / 5%); -} - -.inventree-navbar-menu { - position: absolute !important; -} - -.navbar-brand { - float: left; -} - -.navbar-spacer { - height: 60px; -} - -#navbar-barcode-li { - border-left: none; - border-right: none; - padding-right: 5px; -} - -.navbar-form { - padding-right: 3px; -} - -.navbar-light .navbar-nav .nav-link { - color: var(--bs-body-color); -} - -#barcode-scan { - margin-top: 1px; -} - -.icon-header { - margin-right: 10px; -} - -.glyphicon { - font-size: 18px; -} - - -.glyphicon-small { - font-size: 12px; -} - -.glyphicon-right { - float: right; -} - -.red-cell { - background-color: #ec7f7f; -} - -.part-price { - color: rgb(13, 245, 25); -} - -.icon-red { - color: #c55; -} - -.icon-orange { - color: #fcba03; -} - -.icon-green { - color: #43bb43; -} - -.icon-blue { - color: #55c; -} - -.icon-yellow { - color: #CC2; -} - -/* CSS overrides for treeview */ -.expand-icon { - font-size: 11px; -} - -.treeview .badge { - font-size: 10px; -} - -.treeview .list-group-item { - padding: 3px 5px; -} - -.treeview .list-group-item .indent { - margin-left: 3px; - margin-right: 3px; -} - -.list-group-item-condensed { - padding: 5px 10px; -} - -.stock-sub-group td { - background-color: #ebf4f4; -} - -.sub-table { - margin-left: 60px; -} - -.detail-icon .glyphicon { - color: #98d296; -} - -.basecurrency { - color: #050; - font-style: italic; - font-weight: bold; -} - -.bomselect { - max-width: 250px; -} - -.rowvalid { - color: #050; -} - -.rowinvalid { - color: #A00; -} - -.rowinherited { - background-color: #eee; - font-style: italic; -} - -.dropdown { - padding-left: 1px; - margin-left: 1px; -} - -.dropdown-buttons { - display: inline-block -} - -.dropdown-menu .open{ - z-index: 1000; - position: relative; - overflow: visible; -} - -/* Styles for table buttons and filtering */ - -.filter-list { - display: inline-block; - *display: inline; - margin-bottom: 1px; - margin-top: 1px; - vertical-align: middle; - margin: 1px; - padding: 2px; - border-radius: 3px; -} - -.filter-list .close { - cursor: pointer; - right: 0%; - padding-right: 2px; - padding-left: 2px; - transform: translate(0%, -25%); -} - -.filter-list .close:hover { - background: #bbb; -} - -.filter-list .form-control { - width: initial; -} - -.filter-tag { - display: inline-block; - *display: inline; - margin: 5px; - padding: 5px; - padding-top: 1px; - padding-bottom: 1px; - color: var(--bs-body-color); - border: 1px solid var(--border-color); - border-radius: 10px; - background: var(--secondary-color); - white-space: nowrap; -} - -.filter-button { - padding: 6px; -} - -.filter-input { - display: inline-block; - *display: inline; -} - -.filter-tag:hover { - background: #ddd; -} - -/* Part image icons with full-display on mouse hover */ - -.hover-img-thumb { - background: #eee; - width: 28px; - height: 28px; - object-fit: contain; - border: 1px solid #cce; -} - -.hover-img-large { - background: #eee; - display: none; - position: absolute; - z-index: 400; - border: 1px solid #555; - max-width: 250px; -} - -.hover-icon { - margin-right: 10px; -} - -.hover-icon:hover > .hover-img-large { - display: block; -} - -/* dropzone class - for Drag-n-Drop file uploads */ -.dropzone { - z-index: 2; -} - -/* -.dropzone * { - pointer-events: none; -} -*/ - -.dragover { - background-color: #55A; - border: 1px dashed #111; - opacity: 0.1; - -moz-opacity: 10%; - -webkit-opacity: 10%; -} - -.table-condensed { - font-size: 90%; -} - -.table-condensed td { - padding: .25em .5em; -} - -.table button { - font-size: 90%; - padding: 3px; - padding-left: 5px; - padding-right: 5px; -} - -/* grid display for part images */ - -.table-img-grid tr { - display: inline; -} - -.table-img-grid td { - padding: 10px; - margin: 10px; -} - -.table-img-grid .grid-image { - - height: 128px; - width: 128px; - object-fit: contain; - background: #eee; -} - -/* pricing table widths */ -.table-price-two tr td:first-child { - width: 40%; -} - -.table-price-three tr td:first-child { - width: 40%; -} - -.table-price-two tr td:last-child { - width: 60%; -} - -.table-price-three tr td:last-child { - width: 30%; -} - -/* tracking table column size */ -#track-table .table-condensed th { - inline-size: 30%; - overflow-wrap: break-word; -} - -.panel-heading .badge { - float: right; -} - -.badge-right { - float: right; -} - -.icon-badge { - padding-right: 2px; - padding-left: 2px; - font-size: 125%; -} - -.part-properties > span { - padding-left: 5px; - padding-right: 5px; -} - -.part-thumb { - width: 256px; - height: 256px; - margin: 2px; - padding: 3px; - object-fit: contain; -} - -.part-thumb-container:hover .part-thumb-overlay { - opacity: 0.75; -} - -.part-thumb-overlay { - position: absolute; - top: 0; - left: 0; - opacity: 0; - transition: .25s ease; - margin: 5px; -} - -.checkbox { - margin-left: 20px; -} - -.checkboxinput { - padding-left: 5px; - padding-right: 5px; -} - -.form-switch { - font-size: 120%; -} - -.media { - /* padding-top: 15px; */ - overflow: visible; -} - -.media-body { - padding-top: 10px; - overflow: visible; -} - -.navigation { - background-color: var(--secondary-color); -} - -.nav-tabs { - margin-bottom: 20px; -} - -.settings-container { - width: 90%; - padding: 15px; -} - -.settings-nav { - height: 100%; - width: 160px; - position: fixed; - z-index: 1; - /* top: 0; - left: 0; */ - overflow-x: hidden; - padding-top: 20px; - padding-right: 25px; -} - -.settings-content { - margin-left: 175px; - padding: 0px 10px; -} - -.breadcrumb { - margin-bottom: 5px; - margin-left: 5px; - margin-right: 10px; -} - -.inventree-body { - width: 100%; - padding: 5px; - padding-right: 0; -} - -.inventree-pre-content { - width: auto; -} - -.inventree-content { - padding-left: 10px; - padding-right: 10px; - padding-top: 5px; - width: 100%; - max-width: 100%; - display: inline-block; - transition: 0.1s; -} - -.search-autocomplete-item { - border-top: 1px solid #EEE; - margin-bottom: 2px; - overflow-x: hidden; -} - -.modal { - overflow: hidden; - z-index: 9999; -} - -.modal-error { - border: 2px #FCC solid; - background-color: #f5f0f0; -} - -.modal-header { - padding: 3px; - padding-top: 5px; - padding-left: 15px; - padding-right: 25px; - color: var(--bs-body-color); - background-color: var(--secondary-color); - border-bottom: 1px solid var(--border-color); -} - -.modal-footer { - border-top: 1px solid #ddd; -} - -.modal-primary { - z-index: 10000; -} - -.modal-secondary { - z-index: 11000; -} - -.modal-close { - position: absolute; - top: 15px; - right: 35px; - color: #f1f1f1; - font-size: 40px; - font-weight: bold; - transition: 0.25s; -} - -.modal-close:hover, -.modal-close:focus { - color: #bbb; - text-decoration: none; - cursor: pointer; -} - -.modal-image-content { - margin: auto; - display: block; - width: 80%; - max-width: 700px; - text-align: center; - color: #ccc; - padding: 10px 0; -} - -@media only screen and (max-width: 700px){ - .modal-image-content { - width: 100%; - } -} - -.modal-image { - display: none; - position: fixed; - z-index: 10000; - padding-top: 100px; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: auto; - background-color: rgb(0,0,0); /* Fallback color */ - background-color: rgba(0,0,0,0.85); /* Black w/ opacity */ -} - -.js-modal-form .checkbox { - margin-left: 0px; -} - -.modal-dialog { - width: 65%; - max-width: 80%; -} - -.modal-secondary .modal-dialog { - width: 40%; - padding-top: 15px; -} - -.modal-content h3 { - margin-top: 3px; - margin-bottom: 3px; -} - -.modal-form-content-wrapper { - border-radius: 0; - position:relative; - height: auto !important; - max-height: calc(100vh - 200px) !important; - overflow-y: auto; - padding: 10px; -} - -.form-panel { - border-radius: 5px; - border: 1px solid #ccc; - padding: 5px; -} - -.form-group { - padding-bottom: 15px; -} - - -.form-field-error { - color: #A94442; -} - -.form-error-message { - display: block; -} - -.modal input { - width: 100%; -} - -input[type="submit"] { - color: #333; - background-color: #e6e6e6; - border-color: #adadad; -} - -.modal textarea { - width: 100%; -} - -/* Force a control-label div to be 100% width */ -.modal .control-label { - width: 100%; - font-weight: 700; - margin-top: 5px; -} - -.modal .control-label .btn { - padding-top: 3px; - padding-bottom: 3px; -} - -.modal .btn-form-secondary { - margin-bottom: 10px; -} - -/* Make barcode scanner responsive and performant */ -#barcode_scan_video video { - width: calc(100% * var(--scanner-upscale)) !important; - transform: scale(calc(1 / var(--scanner-upscale))); - margin: calc(-100% * (var(--scanner-upscale) - 1) / 2); - display: inline-block !important; -} - -@-moz-document url-prefix() { - #barcode_scan_video video { - margin-top: calc(-100% * (var(--scanner-upscale) - 1) / 2 + 50%); - margin-bottom: calc(-100% * (var(--scanner-upscale) - 1) / 2 + 50%); - } - - @media (pointer:coarse) { - #barcode_scan_video video { - margin-top: calc(-100% * (var(--scanner-upscale)) / 2 - 20%); - margin-bottom: calc(-100% * (var(--scanner-upscale)) / 2 - 20%); - } - } -} - -#barcode_scan_video #qr-shaded-region { - border: none !important; - margin: var(--scanner-margin); -} - -.sidebar-list-group-item { - background-color: var(--secondary-color); - color: var(--bs-body-color); -} - -.sidebar-list-group-item.active { - color: var(--highlight-color); - background-color: var(--bs-body-color); - border: none; -} - -.container > aside, -.container > main { - padding: 10px; - overflow: auto; -} - - -.wrapper { - align-items: stretch; - display: flex; -} - -.help-inline { - color: #A11; -} - -.notification-area { - opacity: 0.8; -} - -.notes { - border-radius: 5px; - background-color: #fafafa; - padding: 5px; -} - -.alert { - border-radius: 5px; - opacity: 0.9; - pointer-events: all; -} - -.alert-block { - display: block; - padding: 0.75rem; -} - -.alert-small { - padding: 0.35rem; - font-size: 75%; -} - -.navbar .btn { - margin-left: 5px; -} - -.btn-secondary { - background-color: var(--bs-body-color); - border-color: var(--bs-body-color); -} - -.btn-outline-secondary { - color: var(--bs-body-color); - border-color: var(--bs-body-color); -} - -.btn-small { - padding: 3px; - padding-left: 5px; - padding-right: 5px; -} - -.btn-remove { - padding: 3px; - padding-left: 5px; - padding-right: 5px; - color: #A11; -} - -.btn-create { - padding: 3px; - padding-left: 5px; - padding-right: 5px; - color: #1A1; -} - -.btn-edit { - padding: 3px; - padding: 3px; - padding-left: 5px; - padding-right: 5px; - color: #55E; -} - -.button-toolbar { - padding-left: 0px; -} - -.panel-group { - margin-bottom: 5px; -} - -.panel-content { - padding: 10px; -} - -.panel-group { - border-radius: 2px; -} - -.panel-heading { - padding: 3px; - padding-top: 5px; - padding-left: 15px; - color: var(--bs-body-color); - background-color: var(--secondary-color); - border-bottom: 1px solid var(--border-color); - box-shadow: 0px 5px 5px rgb(0 0 0 / 5%); -} - -.panel { - box-shadow: 2px 2px #DDD; - margin-bottom: .75rem; - background-color: #fff; - border: 1px solid #ccc; -} - -.panel-hidden { - display: none; -} - -.panel-inventree .card { - padding: 10px; -} - -.card-thumb { - max-width: 64px; - max-height: 64px; -} - -.float-right { - float: right; -} - -.warning-msg { - color: #e00; -} - -.info-messages { - padding: 5px; -} - -.info-messages .alert { - padding: 5px; - margin-bottom: 10px; -} - -.part-allocation { - padding: 3px 10px; - border: 1px solid #ccc; - border-radius: 2px; -} - -.part-allocation-pass { - background-color: #dbf0db; -} - -.part-allocation-underallocated { - background-color: #f0dbdb; -} - -.part-allocation-overallocated { - background-color: #ccf5ff; -} - -.glyphicon-refresh-animate { - -animation: spin .7s infinite linear; - -webkit-animation: spin2 .7s infinite linear; -} - -@-webkit-keyframes spin2 { - from { -webkit-transform: rotate(0deg);} - to { -webkit-transform: rotate(360deg);} -} - -@keyframes spin { - from { transform: scale(1) rotate(0deg);} - to { transform: scale(1) rotate(360deg);} -} - -input[type="date"].form-control, input[type="time"].form-control, input[type="datetime-local"].form-control, input[type="month"].form-control { - line-height: unset; -} - -.clip-btn { - font-size: 10px; - padding: 0px 6px; - color: var(--label-grey); - background: none; -} - -.clip-btn:hover { - background: var(--label-grey); -} - -.sidebar-wrapper { - overflow-y: auto; - /* background: var(--secondary-color); */ - margin-top: 0.3rem; - padding-top: 0.25rem; - padding-left: 0px !important; -} - -.sidebar-item-icon { - min-width: 20px; -} - -.sidebar-item-text { - margin-left: 15px; - margin-right: 15px; -} - -.sidebar-nav a { - color: var(--bs-body-color); -} - -.row.full-height { - display: flex; - flex-wrap: wrap; -} - -.row.full-height > [class*='col-'] { - display: flex; - flex-direction: column; -} - -a.anchor { - display: block; - position: relative; - top: -60px; - visibility: hidden; -} - -.select2-close-mask { - z-index: 99999; -} - -.select2-dropdown { - z-index: 99998; -} - - -.select2-thumbnail { - max-width: 24px; - max-height: 24px; - border-radius: 4px; - margin-right: 10px; -} - -.select2-selection { - overflow-y: clip; -} - -.form-clear { - padding: 6px 6px; -} - -/* Force minimum width of number input fields to show at least ~5 digits */ -input[type='number']{ - min-width: 80px; -} - -.search-menu { - padding-top: 2rem; -} - -.search-menu .ui-menu-item { - margin-top: 0.5rem; -} - -.product-card { - width: 20%; - padding: 5px; - min-height: 25px; - background-color: transparent; -} - -.product-card-panel{ - height: 100%; - margin-bottom: 5px; -} - -.borderless { - border: none; -} - -a { - text-decoration: none; - background-color: transparent; -} - -/* Quicksearch Panel */ - -.search-result-panel { - max-width: 800px; - width: 75% -} - -.search-result-group { - padding: 5px; - padding-left: 10px; - padding-right: 10px; - border: 1px solid var(--border-color); - margin-bottom: 10px; -} - -.search-result-group-buttons > button{ - padding: 2px; - padding-left: 5px; - padding-right: 5px; - font-size: 80%; -} - -.search-result-entry { - border-top: 1px solid var(--border-color); - padding: 3px; - margin-top: 3px; - overflow: hidden; -} - -.treeview .node-icon { - margin-left: 0.25rem; - margin-right: 0.25rem; -} - -.sso-header { - text-align: center; - width: 100%; - padding-bottom: 10px; -} - -.sso-provider-list { - width: 100%; - list-style-type: none; - padding-left: 0px; -} - -.sso-provider-link { - width: 100%; -} - -.sso-provider-link a { - width: 100%; - text-align: left; -} - -.flex-cell { - display: flex; - align-items: center; - justify-content: space-between; -} - -.large-treeview-icon { - font-size: 1em; -} - -.api-icon { - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - /* Better font rendering */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/src/backend/InvenTree/templates/403.html b/src/backend/InvenTree/templates/403.html index fb76ba5976..1f69ed473a 100644 --- a/src/backend/InvenTree/templates/403.html +++ b/src/backend/InvenTree/templates/403.html @@ -7,13 +7,6 @@ {% endblock page_title %} {% block content %} - -
-

{% trans "Permission Denied" %}

- -
- {% trans "You do not have permission to view this page." %} -
-
- +

{% trans "Permission Denied" %}

+{% trans "You do not have permission to view this page." %} {% endblock content %} diff --git a/src/backend/InvenTree/templates/403_csrf.html b/src/backend/InvenTree/templates/403_csrf.html index e66345fb56..701d3965dd 100644 --- a/src/backend/InvenTree/templates/403_csrf.html +++ b/src/backend/InvenTree/templates/403_csrf.html @@ -9,15 +9,5 @@ {% block content %}

{% trans "Authentication Failure" %}

- -
- {% trans "You have been logged out from InvenTree." %} -
-
-
- - {% trans "Login" %} - -
- +{% trans "You have been logged out from InvenTree." %} {% endblock content %} diff --git a/src/backend/InvenTree/templates/404.html b/src/backend/InvenTree/templates/404.html index 15531651bc..021d4ebbc7 100644 --- a/src/backend/InvenTree/templates/404.html +++ b/src/backend/InvenTree/templates/404.html @@ -7,13 +7,6 @@ {% endblock page_title %} {% block content %} - -
-

{% trans "Page Not Found" %}

- -
- {% trans "The requested page does not exist" %} -
-
- +

{% trans "Page Not Found" %}

+{% trans "The requested page does not exist" %} {% endblock content %} diff --git a/src/backend/InvenTree/templates/500.html b/src/backend/InvenTree/templates/500.html index 33a0ad2c6b..eb395c0859 100644 --- a/src/backend/InvenTree/templates/500.html +++ b/src/backend/InvenTree/templates/500.html @@ -7,14 +7,7 @@ {% endblock page_title %} {% block content %} - -
-

{% trans "Internal Server Error" %}

- -
- {% blocktrans %}The {{ inventree_title }} server raised an internal error{% endblocktrans %}
- {% trans "Refer to the error log in the admin interface for further details" %} -
-
- +

{% trans "Internal Server Error" %}

+{% blocktrans %}The {{ inventree_title }} server raised an internal error{% endblocktrans %}
+{% trans "Refer to the error log in the admin interface for further details" %} {% endblock content %} diff --git a/src/backend/InvenTree/templates/503.html b/src/backend/InvenTree/templates/503.html index 8630d794a0..f0671796ed 100644 --- a/src/backend/InvenTree/templates/503.html +++ b/src/backend/InvenTree/templates/503.html @@ -11,61 +11,9 @@ {% trans 'Site is in Maintenance' %} {% endblock page_title %} -{% block body_class %}login-screen' style='background: url({% inventree_splash %}); background-size: cover;{% endblock body_class %} - {% block body %} - -
-
- -
-
- -
- - - - {% block extra_body %} - {% endblock extra_body %} -
+

{% block body_title %}{% trans 'Site is in Maintenance' %}{% endblock body_title %}

+{% block content %} +{% trans 'The site is currently in maintenance and should be up again soon!' %} +{% endblock content %} {% endblock body %} - -{% block js_base %} - -{% endblock js_base %} - - diff --git a/src/backend/InvenTree/templates/account/base.html b/src/backend/InvenTree/templates/account/base.html deleted file mode 100644 index 0e298e8cc0..0000000000 --- a/src/backend/InvenTree/templates/account/base.html +++ /dev/null @@ -1,37 +0,0 @@ -{% extends "skeleton.html" %} -{% load i18n %} -{% load inventree_extras %} - -{% block body %} - -
-
- -
-
- -
- - - - {% block extra_body %} - {% endblock extra_body %} -
-{% endblock body %} diff --git a/src/backend/InvenTree/templates/skeleton.html b/src/backend/InvenTree/templates/skeleton.html index 3e77e83f9f..4c06cc31db 100644 --- a/src/backend/InvenTree/templates/skeleton.html +++ b/src/backend/InvenTree/templates/skeleton.html @@ -12,18 +12,14 @@ {% include "favicon.html" %} - - - {% block page_title %} {% endblock page_title %} - + {% block body %} {% endblock body %} -