diff --git a/.gitignore b/.gitignore index 0cafc1c..49b5f2d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -.venv/ \ No newline at end of file +.venv/ +test/scripts/csswatch.sh diff --git a/test/css/adduser.css b/test/css/adduser.css index be72882..14cecf0 100644 --- a/test/css/adduser.css +++ b/test/css/adduser.css @@ -32,7 +32,8 @@ body .form-container h2 { color: #4e4e4e; font-size: 28px; margin-bottom: 20px; - text-align: center; + text-align: left; + display: block; } body .form-container form { display: flex; @@ -43,7 +44,6 @@ body .form-container form { body .form-container form .form-group { flex: 1 1 calc(50% - 20px); min-width: 250px; - margin-bottom: 20px; } body .form-container form .form-group label { display: block; @@ -55,6 +55,9 @@ body .form-container form .form-group input[type=text], body .form-container form .form-group input[type=password], body .form-container form .form-group input[type=email], body .form-container form .form-group input[type=date], +body .form-container form .form-group input[type=number], +body .form-container form .form-group input[type=datetime-local], +body .form-container form .form-group input[type=tel], body .form-container form .form-group select { width: 100%; padding: 12px; @@ -68,30 +71,130 @@ body .form-container form .form-group input[type=text]:focus, body .form-container form .form-group input[type=password]:focus, body .form-container form .form-group input[type=email]:focus, body .form-container form .form-group input[type=date]:focus, +body .form-container form .form-group input[type=number]:focus, +body .form-container form .form-group input[type=datetime-local]:focus, +body .form-container form .form-group input[type=tel]:focus, body .form-container form .form-group select:focus { border-color: #007b8a; outline: none; } -body .form-container form .admin-access { - flex: 1 1 100%; - margin-bottom: 20px; -} body .form-container form .admin-access label { display: block; color: #4e4e4e; font-size: 16px; - margin-bottom: 10px; + margin-bottom: 5px; } body .form-container form .admin-access .checkbox-group { display: flex; - justify-content: flex-start; gap: 10px; } +body .form-container form .admin-access .checkbox-group input[type=checkbox] { + display: none; +} +body .form-container form .admin-access .checkbox-group label.checkbox { + cursor: pointer; + padding: 12px; + border: 1px solid rgba(220, 220, 220, 0.8); + border-radius: 6px; + background-color: rgba(245, 245, 245, 0.9); + font-size: 16px; + text-align: center; + width: 100%; + transition: background-color 0.3s, color 0.3s, border-color 0.3s; + user-select: none; +} +body .form-container form .admin-access .checkbox-group label.checkbox:hover, body .form-container form .admin-access .checkbox-group label.checkbox:focus { + background-color: rgba(232, 232, 232, 0.9); + border-color: #007b8a; +} +body .form-container form .admin-access .checkbox-group input[type=checkbox]:checked + label.checkbox { + background-color: #009299; + color: #ffffff; + border-color: rgba(0, 170, 179, 0.8); +} body .form-container form .role-dropdown { flex: 1 1 calc(50% - 20px); min-width: 250px; padding: 0; } +body .form-container form .radio-group { + display: flex; + gap: 10px; +} +body .form-container form .radio-group input[type=radio] { + display: none; +} +body .form-container form .radio-group label.radio { + cursor: pointer; + padding: 12px; + border: 1px solid rgba(220, 220, 220, 0.8); + border-radius: 6px; + background-color: rgba(245, 245, 245, 0.9); + font-size: 16px; + text-align: center; + width: 100%; + transition: background-color 0.3s, color 0.3s, border-color 0.3s; + user-select: none; +} +body .form-container form .radio-group label.radio:hover, body .form-container form .radio-group label.radio:focus { + background-color: rgba(232, 232, 232, 0.9); + border-color: #007b8a; +} +body .form-container form .radio-group input[type=radio]:checked + label.radio { + background-color: #009299; + color: #ffffff; + border-color: rgba(0, 170, 179, 0.8); +} +body .form-container form input[type=range] { + width: 100%; + height: 45px; + -webkit-appearance: none; + appearance: none; + border-radius: 6px; + background-color: rgba(245, 245, 245, 0.9); + border: 1px solid rgba(220, 220, 220, 0.8); + cursor: pointer; + padding: 0; + box-sizing: border-box; +} +body .form-container form input[type=range]::-webkit-slider-runnable-track { + width: 100%; + height: 100%; + border-radius: 6px; + background: linear-gradient(to right, #007b8a 0%, #007b8a var(--value), rgba(245, 245, 245, 0.9) var(--value)); +} +body .form-container form input[type=range]::-moz-range-track { + width: 100%; + height: 100%; + border-radius: 6px; + background: linear-gradient(to right, #007b8a 0%, #007b8a var(--value), rgba(245, 245, 245, 0.9) var(--value)); +} +body .form-container form input[type=range]::-webkit-slider-thumb { + -webkit-appearance: none; + appearance: none; + width: 45px; + height: 45px; + border-radius: 50%; + background-color: #007b8a; + border: 2px solid rgba(220, 220, 220, 0.8); + cursor: pointer; + margin: 0; + padding: 0; +} +body .form-container form input[type=range]::-moz-range-thumb { + width: 24px; + height: 24px; + border-radius: 50%; + background-color: #007b8a; + border: 2px solid rgba(220, 220, 220, 0.8); + cursor: pointer; + margin: 0; + padding: 0; +} +body .form-container form input[type=range]:focus { + outline: none; + border-color: #007b8a; +} body .form-container form .submit-button { flex: 1 1 100%; display: flex; @@ -99,7 +202,7 @@ body .form-container form .submit-button { margin-top: 20px; } body .form-container form .submit-button button { - width: 30%; + width: 40%; text-align: center; padding: 12px; background-color: #007b8a; diff --git a/test/css/adduser.css.map b/test/css/adduser.css.map index 6ea369b..023662e 100644 --- a/test/css/adduser.css.map +++ b/test/css/adduser.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../scss/_common.scss","../scss/adduser.scss","../scss/_colors.scss"],"names":[],"mappings":"AAAA;EACI;EACA;EACA;EACA;;;AAIJ;EACI;;;ACLJ;EACE;EACA,YCc0B;EDb1B;EACA;EACA;EACA;EACA;;AAGA;EACE,kBCOuB;EDNvB;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE,OCFsB;EDGtB;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;;AAGA;EACE;EACA,OCxBkB;EDyBlB;EACA;;AAIF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;EACA,kBCtCkB;EDuClB;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;EACE,cCzCwB;ED0CxB;;AAMN;EACE;EACA;;AAEA;EACE;EACA,OCzDkB;ED0DlB;EACA;;AAIF;EACE;EACA;EACA;;AAKJ;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAEA;EACI;EACA;EACF;EACA,kBCpFc;EDqFd,OCnFmB;EDoFnB;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE,kBC9FkB;;ADiGpB;EACE","file":"adduser.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../scss/_common.scss","../scss/adduser.scss","../scss/_colors.scss"],"names":[],"mappings":"AAAA;EACI;EACA;EACA;EACA;;;AAIJ;EACI;;;ACLJ;EACI;EACA,YCcwB;EDbxB;EACA;EACA;EACA;EACA;;AAGA;EACI,kBCOmB;EDNnB;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACI,OCFgB;EDGhB;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;;AAGA;EACI;EACA;;AAGA;EACI;EACA,OCxBQ;EDyBR;EACA;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQI;EACA;EACA;EACA;EACA,kBCzCQ;ED0CR;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACI,cC5CY;ED6CZ;;AAMR;EACI;EACA,OCxDQ;EDyDR;EACA;;AAGJ;EACI;EACA;;AAGA;EACI;;AAIJ;EACI;EACA;EACA;EACA;EACA,kBC3EI;ED4EJ;EACA;EACA;EACA;EACA;;AAGA;EAEI,kBC7EY;ED8EZ,cCxEmB;;AD6E3B;EACI,kBCnFiB;EDoFjB,OCjFsB;EDkFtB,cC/EwB;;ADqFpC;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAGA;EACI;;AAIJ;EACI;EACA;EACA;EACA;EACA,kBCzHQ;ED0HR;EACA;EACA;EACA;EACA;;AAGA;EAEI,kBClHa;EDmHb,cC7GoB;;ADkH5B;EACI,kBCxHkB;EDyHlB,OCtHuB;EDuHvB,cCpHyB;;ADyHjC;EACI;EACA;EACA;EACA;EACA;EACA,kBCvJY;EDwJZ;EACA;EACA;EACA;;AAGA;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA,kBChLI;EDiLJ;EACA;EAEA;EACA;;AAGJ;EACI;EACA;EACA;EACA,kBC5LI;ED6LJ;EACA;EACA;EACA;;AAGJ;EACI;EACA,cCtMgB;;AD2MxB;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA,kBCpNI;EDqNJ,OCnNS;EDoNT;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI,kBC9NM;;ADiOV;EACI","file":"adduser.css"} \ No newline at end of file diff --git a/test/css/login.css.map b/test/css/login.css.map index 29bb7db..2ab50db 100644 --- a/test/css/login.css.map +++ b/test/css/login.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../scss/_common.scss","../scss/login.scss","../scss/_colors.scss"],"names":[],"mappings":"AAAA;EACI;EACA;EACA;EACA;;;AAIJ;EACI;;;ACNJ;EAEE;EACA,YCL4B;EDM5B;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;;AAKF;EACE;EACA,OChCqB;EDiCrB;;AAIF;EACE;EACA,OCtCyB;;AD2C7B;EACE,kBC1CoB;ED2CpB;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA,OCnDmB;EDoDnB;;AAGF;EACE;EACA;EACA;;AAGA;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA,kBCpEsB;EDqEtB;;AAEA;AAAA;EACI,cCrE0B;;ADuE9B;AAAA;EACE,cCvE4B;EDwE5B,kBC3E4B;ED4E5B;;AAIJ;EACE;EACA;EACA,kBC/Ea;EDgFb,OC5EkB;ED6ElB;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE,kBCzFiB;;AD4FnB;EACE;EACA","file":"login.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../scss/_common.scss","../scss/login.scss","../scss/_colors.scss"],"names":[],"mappings":"AAAA;EACI;EACA;EACA;EACA;;;AAIJ;EACI;;;ACNJ;EAEI;EACA,YCL0B;EDM1B;EACA;EACA;EACA;;AAGA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGA;EACI;EACA;EACA;EACA;EACA;;AAKJ;EACI;EACA,OChCe;EDiCf;;AAIJ;EACI;EACA,OCtCmB;;AD2C3B;EACI,kBC1CgB;ED2ChB;EACA;EACA;EACA;EACA;;AAGA;EACI;EACA;EACA,OCnDa;EDoDb;;AAGJ;EACI;EACA;EACA;;AAGA;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA,kBCpEc;EDqEd;;AAEA;AAAA;EACI,cCrEkB;;ADuEtB;AAAA;EACI,cCvEkB;EDwElB,kBC3EkB;ED4ElB;;AAIR;EACI;EACA;EACA,kBC/EK;EDgFL,OC5EU;ED6EV;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI,kBCzFO;;AD4FX;EACI;EACA","file":"login.css"} \ No newline at end of file diff --git a/test/html/adduser.html b/test/html/adduser.html index c20fb38..87f6374 100644 --- a/test/html/adduser.html +++ b/test/html/adduser.html @@ -1,84 +1,123 @@ -
- - - -