Update html layout

- add messages fragment
  - extract error and success message list from edit.html
  - extract error message list from create.html
  - add messages.html

- update edit account
  - update AccountController
    - update postEditAccount for validation
    - update getEditAccount for roleGroups
  - update validation for AccountForm for edit
  - add EditGroup
  - update Account.Response.toAccountForm()
  - update edit.html

- update create account
  - update AccountController
    - update postCreateAccount for validation
    - update getCreateAccount for role group
  - add validation to AccountForm
  - add PasswordMatchValidator
  - add annotation PasswordMatch
  - add CreateGroup
  - add temporary getRoles() in AccountRegistryService
  - update AccountForm.toAccountRequest() in Mapping
  - change management.css
    - add ::selection
    - add Selected Option Styling
  - add passwordMatchCheck to management.js
  - update create.html

- update user
  - add makeLocalTime in management.js
  - update users.html
  - update Pagination
    - add size of items
    - rename size to show

- update goodbye.html

- update logout.html

- update login.html

- update welcome.html

- update index.html

- update layout
  - update management.css
  - update management.js
  - update layout.html
This commit is contained in:
2025-03-01 16:04:56 +01:00
parent 4c6c7dd9d8
commit 4c4baa95dd
22 changed files with 807 additions and 344 deletions

View File

@@ -1,4 +1,135 @@
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono&display=swap');
body {
background-color: #000000;
color: #04931b;
font-family: 'JetBrains Mono', monospace;
}
::selection {
background-color: #065f46;
color: #ffffff;
}
.terminal-glow {
text-shadow: 0 0 5px rgba(0, 255, 0, 0.5);
}
/* Dropdown Divider Styling */
.dropdown-divider {
border: 0;
border-top: 1px solid #065f46;
margin: 0.5rem 0;
}
/* Custom Scrollbar Styling */
::-webkit-scrollbar {
width: 16px;
}
::-webkit-scrollbar-track {
background: #1f2937;
border-left: 1px solid #065f46;
border-radius: 0;
}
::-webkit-scrollbar-thumb {
background: #047857;
border-radius: 0;
}
::-webkit-scrollbar-thumb:hover {
background: #10b981;
}
* {
scrollbar-width: medium;
scrollbar-color: #047857 #1f2937;
}
.scrollable-no-radius-right {
border-top-right-radius: 0 !important;
border-bottom-right-radius: 0 !important;
overflow-y: scroll !important;
}
/* Custom Switch Styling */
.switch-wrapper {
position: relative;
display: inline-block;
width: 40px;
height: 20px;
}
.switch-wrapper input {
opacity: 0;
width: 100%;
height: 100%;
position: absolute;
z-index: 1;
cursor: pointer;
}
.switch-slider {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #4b5563;
border: 1px solid;
transition: background-color 0.4s;
border-radius: 20px;
}
.switch-slider:before {
position: absolute;
content: "";
height: 14px;
width: 14px;
left: 2px;
bottom: 2px;
background-color: #9ca3af;
transition: transform 0.4s;
border-radius: 50%;
}
.switch-wrapper input:checked + .switch-slider {
background-color: #047857;
}
.switch-wrapper input:checked + .switch-slider:before {
transform: translateX(20px);
background-color: #10b981;
}
/* Focus state for switch */
.switch-wrapper input:focus + .switch-slider {
--tw-border-opacity: 1;
border-color: rgb(22 163 74 / var(--tw-border-opacity, 1)); /* green-600, matches focus:border-green-600 */
}
/*!* Glow effect on focus for all form elements *!*/
/*input:focus,*/
/*select:focus,*/
/*button:focus,*/
/*.switch-wrapper input:focus + .switch-slider {*/
/* box-shadow: 0 0 5px rgba(0, 255, 0, 0.5);*/
/* outline: none;*/
/*}*/
/* Selected Option Styling */
select option:checked {
background-color: #064e3b;
color: #BBF7D0FF;
}
select:focus option:checked {
background: #065f46 linear-gradient(0deg, #065f46 0%, #065f46 100%);
}
select:focus option:hover,
select option:hover {
background-color: #11a36f !important;
color: #fff;
}