@@ -17,14 +17,12 @@
{{ object }}
{% endif %}
-{% endblock content %}
+{% endblock %}
diff --git a/src/templates/users/user_form.html b/src/templates/users/user_form.html
index fd63f9a8..7c03db1d 100644
--- a/src/templates/users/user_form.html
+++ b/src/templates/users/user_form.html
@@ -1,23 +1,21 @@
{% raw %}
-{% extends "core/app.html" %}
+{% extends 'core/app.html' %}
{% load crispy_forms_tags %}
{% block title %}
{{ user }}
-{% endblock title %}
+{% endblock %}
{% block content %}
{{ user }}
-
-{% endblock content %}
-{% endraw%}
+{% endblock %}
+{% endraw %}
diff --git a/src/theme/static_src/src/styles.css b/src/theme/static_src/src/styles.css
index 2183eb96..6a051a0b 100644
--- a/src/theme/static_src/src/styles.css
+++ b/src/theme/static_src/src/styles.css
@@ -6,6 +6,49 @@
display: none !important;
}
+:root {
+ --color-brand-primary: #74a333;
+ --color-brand-secondary: #004c6c;
+
+ --color-primary-100: #c9e4ff;
+ --color-primary-300: #a7d3ff;
+ --color-primary-500: #91c8ff;
+ --color-primary-600: #6891ba;
+ --color-pirmary-700: #437ab2;
+ --color-primary-800: #2e6093;
+
+ --color-secondary-100: #e6f0fa;
+ --color-secondary-300: #d2e4f5;
+ --color-secondary-500: #bfd8f0;
+ --color-secondary-600: #8dadca;
+ --color-secondary-700: #6987a3;
+ --color-secondary-800: #54748e;
+
+ --color-tertiary-100: #f2f2f2;
+ --color-tertiary-300: #e5e5e5;
+ --color-tertiary-500: #d6d6d6;
+ --color-tertiary-600: #bababa;
+ --color-tertiary-700: #a0a0a0;
+ --color-tertiary-800: #8c8c8c;
+
+ --color-danger-100: #b96363;
+ --color-danger-300: #db7979;
+ --color-danger-500: #db7979;
+ --color-danger-600: #ffa3a3;
+ --color-danger-700: #ffc0c0;
+ --color-danger-800: #ffd7d7;
+
+ --color-success-100: #dff7ca;
+ --color-success-300: #c9ebb0;
+ --color-success-500: #b5da9c;
+ --color-success-600: #93ad7d;
+ --color-success-700: #7f996c;
+ --color-success-800: #6b855b;
+
+ --color-tab-300: #ffedc0;
+ --color-tab-500: #e1d2ad;
+}
+
@layer components {
.alert {
@apply flex w-full bg-opacity-30 text-lg font-bold text-black border-l-4 md:p-7 border mb-1 items-center justify-between;
@@ -32,7 +75,7 @@
}
.tailwind-table thead tr:first-child {
- @apply bg-gray-200 text-left;
+ @apply bg-tertiary-100 text-left;
}
.tailwind-table thead tr:first-child th {
@@ -56,12 +99,44 @@
}
.tailwind-table tbody tr td a {
- @apply text-primary;
+ @apply text-brand-primary;
}
.btn {
@apply px-3 py-2;
}
+
+ .btn-success {
+ @apply bg-success-100 border-success-600 hover:bg-success-300 hover:border-success-700 active:bg-success-500 active:border-success-800;
+ }
+
+ .btn-primary {
+ @apply text-black bg-primary-100 border-primary-600 hover:bg-primary-300 hover:border-primary-700 active:bg-primary-500 active:border-primary-800;
+ }
+
+ .btn-secondary {
+ @apply text-black bg-secondary-100 border-secondary-600 hover:bg-secondary-300 hover:border-secondary-700 active:bg-secondary-500 active:border-secondary-800;
+ }
+
+ .btn-tertiary {
+ @apply bg-tertiary-100 border-tertiary-600 hover:bg-tertiary-300 hover:border-tertiary-700 active:bg-tertiary-500 active:border-tertiary-800;
+ }
+
+ .btn-danger {
+ @apply bg-danger-100 border-danger-600 hover:bg-danger-300 hover:border-danger-700 active:bg-danger-500 active:border-danger-800;
+ }
+
+ .tabs {
+ @apply bg-white rounded-lg p-0.5 border;
+ }
+
+ .tab {
+ @apply border border-transparent;
+ }
+
+ .tab-active {
+ @apply bg-tab-300 !border-tab-500 rounded-[6px];
+ }
}
.formset-label {
@@ -202,7 +277,7 @@ django-form-collection .dj-form .dj-form-errors {
}
.pagination li.active {
- @apply bg-primary;
+ @apply bg-brand-primary;
}
.breadcrumb {
@@ -287,156 +362,34 @@ ol.breadcrumb > li + ::before {
pointer-events: none;
}
-.custom_order_button {
- background-color: #F2F2F2; /* Fill */
- border: 1px solid #BABABA; /* Stroke */
- color: #000000; /* Text & icon color */
-}
-
-.custom_order_button:hover {
- background-color: #e0e0e0; /* Optional: darker on hover */
- border: 1px solid #a0a0a0; /* Stroke */
-}
-
-.custom_order_button:active {
- background-color: #D6D6D6; /* Optional: darker on hover */
- border: 1px solid #8C8C8C; /* Stroke */
-}
-
-.custom_order_button:active {
- background-color: #D6D6D6; /* Optional: darker on hover */
- border: 1px solid #8C8C8C; /* Stroke */
-}
-
-.custom_order_button_blue {
- background-color: #E6F0FA; /* Fill */
- border: 1px solid #8CA5BE; /* Stroke */
- color: #000000; /* Text & icon color */
-}
-
-.custom_order_button_blue:hover {
- background-color: #d2e4f5; /* Optional: darker on hover */
- border: 1px solid #7792ab; /* Stroke */
-}
-
-.custom_order_button_blue:active {
- background-color: #BFD8F0; /* Optional: darker on hover */
- border: 1px solid #5F7D95; /* Stroke */
-}
-
-.custom_order_button_dark_blue {
- background-color: #C9E4FF; /* Fill */
- border: 1px solid #6891BA; /* Stroke */
- color: #000000; /* Text & icon color */
-}
-
-.custom_order_button_dark_blue:hover {
- background-color: #A7D3FF; /* Optional: darker on hover */
- border: 1px solid #6891BA; /* Stroke */
-}
-
-.custom_order_button_dark_blue:active {
- background-color: #91C8FF; /* Optional: darker on hover */
- border: 1px solid #437AB2; /* Stroke */
-}
-
-.custom_order_button_blue:active {
- background-color: #BFD8F0; /* Optional: darker on hover */
- border: 1px solid #5F7D95; /* Stroke */
-}
-
-.custom_order_button_dark_blue {
- background-color: #C9E4FF; /* Fill */
- border: 1px solid #6891BA; /* Stroke */
- color: #000000; /* Text & icon color */
-}
-
-.custom_order_button_dark_blue:hover {
- background-color: #A7D3FF; /* Optional: darker on hover */
- border: 1px solid #6891BA; /* Stroke */
-}
-
-.custom_order_button_dark_blue:active {
- background-color: #91C8FF; /* Optional: darker on hover */
- border: 1px solid #437AB2; /* Stroke */
-}
-
-.custom_order_button_green {
- background-color: #DFF7CA; /* Fill */
- border: 1px solid #93AD7D; /* Stroke */
- color: #000000; /* Text & icon color */
-}
-
-.custom_order_button_green:hover {
- background-color: #c9ebb0; /* Optional: darker on hover */
- border: 1px solid #7f996c; /* Stroke */
-}
-
-.custom_order_button_green:active {
- background-color: #B5DA9C; /* Optional: darker on hover */
- border: 1px solid #6B855B; /* Stroke */
-}
-
-.custom_order_button_green:active {
- background-color: #B5DA9C; /* Optional: darker on hover */
- border: 1px solid #6B855B; /* Stroke */
-}
-
-.custom_order_button_red {
- background-color: #f7caca; /* Fill */
- border: 1px solid #ad7d7d; /* Stroke */
- color: #000000; /* Text & icon color */
-}
-
-.custom_order_button_red:hover {
- background-color: #ebb0b0; /* Optional: darker on hover */
- border: 1px solid #996c6c; /* Stroke */
-}
-
-.custom_order_button_red:active {
- background-color: #FFA3A3; /* Optional: darker on hover */
- border: 1px solid #B96363; /* Stroke */
-}
-
.responsible-staff-form {
- position: relative;
+ @apply relative;
}
.staff-status-indicator {
- position: absolute;
- top: 8px;
- left: 8px;
- display: flex;
- align-items: center;
- justify-content: center;
- z-index: 10;
+ @apply top-2 left-2 flex absolute items-center justify-center z-10;
}
.staff-status-indicator.spinner {
- color: #6b7280;
+ @apply text-tertiary-500;
}
.staff-status-indicator.success {
- color: #22c55e;
+ @apply text-success-500;
}
.staff-status-indicator.error {
- color: #ef4444;
+ @apply text-danger-500;
}
.responsible-staff-form .select2-container.select2-container--default {
- max-width: 11rem !important;
- width: 11rem !important;
- min-width: 11rem !important;
+ @apply !max-w-52 !w-full !min-w-52;
}
.responsible-staff-form .select2-dropdown {
- max-width: 11rem !important;
- width: 11rem !important;
+ @apply !max-w-52 !w-full;
}
.responsible-staff-form .select2-selection {
- max-width: 11rem !important;
- width: 11rem !important;
- min-width: 11rem !important;
+ @apply !max-w-52 !w-full !min-w-52;
}
diff --git a/src/theme/static_src/tailwind.config.js b/src/theme/static_src/tailwind.config.js
index 69952624..bc158e3a 100644
--- a/src/theme/static_src/tailwind.config.js
+++ b/src/theme/static_src/tailwind.config.js
@@ -56,8 +56,60 @@ module.exports = {
theme: {
extend: {
colors: {
- primary: "#74A333",
- secondary: "#004C6C",
+ brand: {
+ primary: "var(--color-brand-primary)",
+ secondary: "var(--color-brand-secondary)",
+ },
+ primary: {
+ DEFAULT: "var(--color-primary-500)",
+ 100: "var(--color-primary-100)",
+ 300: "var(--color-primary-300)",
+ 500: "var(--color-primary-500)",
+ 600: "var(--color-primary-600)",
+ 700: "var(--color-primary-700)",
+ 800: "var(--color-primary-800)",
+ },
+ secondary: {
+ DEFAULT: "var(--color-secondary-500)",
+ 100: "var(--color-secondary-100)",
+ 300: "var(--color-secondary-300)",
+ 500: "var(--color-secondary-500)",
+ 600: "var(--color-secondary-600)",
+ 700: "var(--color-secondary-700)",
+ 800: "var(--color-secondary-800)",
+ },
+ tertiary: {
+ DEFAULT: "var(--color-tertiary-500)",
+ 100: "var(--color-tertiary-100)",
+ 300: "var(--color-tertiary-300)",
+ 500: "var(--color-tertiary-500)",
+ 600: "var(--color-tertiary-600)",
+ 700: "var(--color-tertiary-700)",
+ 800: "var(--color-tertiary-800)",
+ },
+ success: {
+ DEFAULT: "var(--color-success-500)",
+ 100: "var(--color-success-100)",
+ 300: "var(--color-success-300)",
+ 500: "var(--color-success-500)",
+ 600: "var(--color-success-600)",
+ 700: "var(--color-success-700)",
+ 800: "var(--color-success-800)",
+ },
+ danger: {
+ DEFAULT: "var(--color-danger-500)",
+ 100: "var(--color-danger-100)",
+ 300: "var(--color-danger-300)",
+ 500: "var(--color-danger-500)",
+ 600: "var(--color-danger-600)",
+ 700: "var(--color-danger-700)",
+ 800: "var(--color-danger-800)",
+ },
+ tab: {
+ DEFAULT: "var(--color-tab-300)",
+ 300: "var(--color-tab-300)",
+ 500: "var(--color-tab-500)",
+ },
},
},
},