frontend: add /login and /register forms

This commit is contained in:
j3d1 2024-03-17 18:52:41 +01:00
parent bea56f101a
commit c4c49931a4
13 changed files with 3635 additions and 0 deletions

View file

@ -0,0 +1,58 @@
.card {
margin-bottom: 24px;
box-shadow: 0 0 .875rem map-get($theme-colors, shadow);
background-clip: initial;
border: 0 solid transparent;
}
.card-header {
background-color: map-get($theme-colors, background-1);
border-bottom: 0 solid transparent;
}
.card-title {
color: map-get($theme-colors, text-3);
margin-bottom: .5rem;
}
.card-subtitle {
margin-top: -.25rem;
}
.card-subtitle, .card-text:last-child {
margin-bottom: 0;
}
.card {
& > .dataTables_wrapper .table.dataTable,
& > .table,
& > .table-responsive-lg .table,
& > .table-responsive-md .table,
& > .table-responsive-sm .table,
& > .table-responsive-xl .table,
& > .table-responsive .table {
border-right: 0;
border-bottom: 0;
border-left: 0;
margin-bottom: 0;
& tr:first-child td,
& tr:first-child th {
border-top: 0;
}
& td:last-child,
& th:last-child {
border-right: 0;
padding-right: 1.25rem;
}
& td:first-child,
& th:first-child {
border-left: 0;
padding-left: 1.25rem;
}
}
}

View file

@ -0,0 +1,71 @@
.form-control {
width: 100%;
height: initial;
min-height: calc(1.8125rem + 2px);
padding: .25rem .7rem;
appearance: none;
background-color: initial;
border-radius: .2rem;
transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.form-control-lg {
height: initial;
min-height: calc(2.0875rem + 2px);
padding: .35rem 1rem;
font-size: .925rem;
border-radius: .3rem
}
.btn {
display: inline-block;
font-weight: 400;
line-height: 1.5;
text-align: center;
vertical-align: middle;
cursor: pointer;
user-select: none;
padding: .25rem .7rem;
font-size: .875rem;
border-radius: .2rem;
transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.form-select {
width: 100%;
padding: .25rem 1.7rem .25rem .7rem;
color: map-get($theme-colors, text-3);
background-color: map-get($theme-colors, background-1);
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right .7rem center;
background-size: 16px 12px;
border: 1px solid #ced4da;
border-radius: .2rem;
appearance: none;
}
.btn-group-sm > .btn, .btn-sm {
padding: .15rem .5rem;
font-size: .75rem;
border-radius: .1rem;
}
.input-group > :not(:first-child):not(.dropdown-menu) {
margin-left: -1px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.input-group > .dropdown-toggle:nth-last-child(n+3), .input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.input-group-text {
display: flex;
align-items: center;
padding: .25rem .7rem;
background-color: map-get($theme-colors, background-2);
border-right-width: 0;
}

View file

@ -0,0 +1,138 @@
$variable-prefix: bs-;
$white: #ffffff;
$theme-colors: (
"light": #d7e1dc,
"dark": #1f2327,
"primary": #3a7ddd,
"secondary": #45393a,
"info": #027980,
"success": #019a56,
"warning": #ffc107,
"danger": #ee1200,
"background-1": $white,
"background-2": #e9ecef,
"text-1": #000,
"text-3": #495057,
"shadow": #2125291a,
);
$font-size-base: 0.875rem;
$h1-font-size: $font-size-base * 2;
$h2-font-size: $font-size-base * 1.75;
$h3-font-size: $font-size-base * 1.5;
$h4-font-size: $font-size-base * 1.25;
$h5-font-size: $font-size-base;
$h6-font-size: $font-size-base;
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
$body-color: $gray-700;
@import "bootstrap/scss/mixins";
:root {
@each $color, $value in $colors {
--#{$variable-prefix}#{$color}: #{$value};
}
@each $color, $value in $theme-colors {
--#{$variable-prefix}#{$color}: #{$value};
}
@each $color, $value in $grays {
--#{$variable-prefix}gray-#{$color}: #{$value};
}
@each $bp, $value in $grid-breakpoints {
--#{$variable-prefix}breakpoint-#{$bp}: #{$value};
}
--#{$variable-prefix}font-family-sans-serif: #{inspect($font-family-sans-serif)};
--#{$variable-prefix}font-family-monospace: #{inspect($font-family-monospace)};
}
@import "bootstrap/scss/reboot";
@import "bootstrap/scss/type";
@import "bootstrap/scss/images";
@import "bootstrap/scss/code";
@import "bootstrap/scss/grid";
@import "bootstrap/scss/tables";
@import "bootstrap/scss/forms";
@import "bootstrap/scss/buttons";
@import "bootstrap/scss/transitions";
@import "bootstrap/scss/dropdown";
@import "bootstrap/scss/button-group";
@import "bootstrap/scss/input-group";
@import "bootstrap/scss/custom-forms";
@import "bootstrap/scss/nav";
@import "bootstrap/scss/navbar";
@import "bootstrap/scss/card";
@import "bootstrap/scss/breadcrumb";
@import "bootstrap/scss/pagination";
@import "bootstrap/scss/badge";
@import "bootstrap/scss/jumbotron";
@import "bootstrap/scss/alert";
@import "bootstrap/scss/progress";
@import "bootstrap/scss/media";
@import "bootstrap/scss/list-group";
@import "bootstrap/scss/close";
@import "bootstrap/scss/toasts";
@import "bootstrap/scss/modal";
@import "bootstrap/scss/tooltip";
@import "bootstrap/scss/popover";
@import "bootstrap/scss/carousel";
@import "bootstrap/scss/spinners";
@import "bootstrap/scss/utilities";
@import "bootstrap/scss/print";
@import "card";
@import "forms";
#root, body, html {
height: 100%;
}
body {
overflow-y: scroll;
opacity: 1 !important;
}
.main {
background-color: var(--bs-gray-300);
}
.content {
padding: 1.5rem 1.5rem .75rem;
flex: 1;
width: 100vw;
max-width: 100vw;
direction: ltr
}
@media (min-width: map-get($grid-breakpoints, md)) {
.content {
width: auto;
max-width: auto
}
}
@media (min-width: map-get($grid-breakpoints, lg)) {
.content {
padding: 2.5rem 2.5rem 1rem
}
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
font-weight: 400;
color: map-get($theme-colors, text-1);
}
.table > :not(caption) > * > * {
padding: .75rem;
background-color: var(--bs-table-bg);
background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));
border-bottom-width: 1px !important;
}