Files
tuliprox/frontend/src/component/user-view/user-view.scss
T
euzu cbef4e3d4b some ui refactorings,
use_user_db option for storing api user inside db file
2025-02-26 13:46:23 +01:00

212 lines
3.8 KiB
SCSS

@use '../../scss/common';
@use '../../scss/preferences';
.proxy-type {
&-reverse {
}
&-redirect {
color: #fffa00;
}
}
.status {
&-active, .status-trial {
color: var(--ok-color);
}
&-banned {
color: var(--attention-color);
}
&-expired, &-disabled, &-pending {
color: var(--warn-color);
}
}
.tag-select {
min-width: 160px;
}
.user {
& {
min-height: 400px;
background-color: inherit;
@include preferences.prefsRoot();
@include preferences.prefsToolbar();
}
&__content {
& {
@include common.container_vert_no_padding(flex-start);
overflow: hidden;
}
label {
font-weight: bold;
&:not(.target-not-exists) {
color: var(--label-color);
}
&.target-not-exists {
color: var(--attention-color);
}
}
&-targets {
display: flex;
flex-flow: column;
flex: 1 1 auto;
gap: 20px;
justify-content: flex-start;
padding-right: 6px;
overflow: hidden;
}
}
&__target {
& {
display: flex;
flex-flow: column;
border: 1px solid var(--border-color);
border-radius: var(--border-radius);
overflow: hidden;
background-color: var(--background-color);
gap: 12px;
}
&-target {
& {
font-size: 1.2rem;
align-items: center;
display: flex;
flex-flow: row;
padding: 8px;
}
label {
flex: 1 1 0;
}
&-toolbar {
& {
flex: 0 0 auto;
padding-right: 8px;
}
button {
@include common.iconButton();
}
}
}
&-user {
&-table-container {
flex: 1 1 auto;
overflow-y: scroll;
background-color: var(--card-background-color);
padding: 8px;
margin: 10px;
box-sizing: border-box;
}
&-table {
display: table;
table-layout: auto;
width: 100%;
height: auto;
box-sizing: border-box;
border-collapse: collapse;
}
&-row {
display: table-row;
width: auto;
clear: both;
border: 1px solid var(--table-border-color);
}
&-col-header {
padding: 8px;
background-color: var(--background-color);
}
&-col {
& {
display: table-cell;
width: auto;
vertical-align: middle;
padding-left: 4px;
padding-right: 4px;
white-space: nowrap;
}
&-value {
display: flex;
flex-flow: row nowrap;
align-items: center;
gap: 4px;
}
.visibility {
opacity: 0.5;
cursor: pointer;
&:hover {
color: var(--icon-button-hover-background-color);
}
}
&-toolbar {
& {
display: flex;
flex-flow: row;
align-items: flex-end;
justify-content: flex-end;
padding-left: 4px;
}
span {
padding: 4px;
transform: scale(0.7) translateY(5px);
@include common.iconButton();
}
}
}
&-col-label {
display: none;
}
@media (max-width: 980px) {
&-table {
display: flex;
flex-flow: column;
gap: 20px;
&-header {
display: none !important;
}
}
&-row {
display: flex;
flex-flow: column;
gap: 4px;
}
&-col-label {
display: block;
padding: 4px;
}
&-col {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4px;
&-toolbar {
padding-bottom: 4px;
}
}
}
}
}
}