add users list

This commit is contained in:
smanylov
2026-05-12 16:46:54 +07:00
parent baccf74a1c
commit fc013940f1
7 changed files with 659 additions and 503 deletions
+357 -24
View File
@@ -673,9 +673,27 @@
border-bottom: 1px solid var(--color-gray-200);
}
.tanstak-table-title {
font-size: 18px;
font-weight: 600;
display: flex;
align-items: center;
color: #1f2937;
margin-bottom: 20px;
&::before {
content: '';
width: 6px;
height: 6px;
background: #6366f1;
border-radius: 50%;
margin-right: 10px;
}
}
.tanstak-table-filtres {
display: flex;
flex-direction: column;
flex-direction: row;
justify-content: space-between;
align-items: flex-start;
gap: 1rem;
@@ -684,19 +702,31 @@
padding-left: 0;
padding-right: 0;
@media (min-width: 768px) {
flex-direction: row;
align-items: center;
@media (max-width: 1280px) {
flex-direction: column;
}
@media (max-width: 975px) {
flex-direction: column;
align-items: start;
}
.table-filtres-wrapper {
display: flex;
flex-direction: column;
flex-direction: row;
gap: 1rem;
width: 100%;
width: auto;
@media (min-width: 768px) {
flex-direction: row;
&.text-filter-search {
flex-grow: 1;
justify-content: space-between;
&.end {
justify-content: end;
}
}
@media (max-width: 768px) {
width: auto;
}
@@ -711,6 +741,29 @@
font-weight: 500;
margin-bottom: 0.25rem;
}
.table-filtres-text-filter {
background-color: #fff;
border: 2px solid v.$border-color-1;
border-radius: 12px;
justify-content: space-between;
align-items: center;
width: 100%;
padding: 8px 16px;
font-size: 14px;
font-weight: 500;
line-height: 1.25;
transition: background-color .2s ease-in-out;
display: flex;
box-shadow: 0 1px 2px #0000000d;
&:focus {
outline-offset: 2px;
outline: 2px solid v.$black;
box-shadow: 0 0 0 2px #6365f187;
}
}
}
}
@@ -751,9 +804,15 @@
padding-right: 0.5rem;
padding-top: 0.25rem;
padding-bottom: 0.25rem;
border: 2px solid #e2e8f0;
border: 2px solid v.$border-color-1;
border-radius: 10px;
box-shadow: 0 1px 2px #0000000d;
color: v.$p-color;
.icon {
width: 18px;
}
/* */
&:hover {
@@ -772,12 +831,15 @@
gap: 0.25rem;
button {
border: 2px solid v.$p-color;
padding-left: 0.75rem;
padding-right: 0.75rem;
padding-top: 0.25rem;
padding-bottom: 0.25rem;
border: 2px solid v.$border-color-1;
padding: 0.25rem 0.75rem;
border-radius: 10px;
color: v.$p-color;
&:disabled {
opacity: 0.5;
cursor: not-allowed;
}
&.current {
background-color: v.$p-color;
@@ -802,8 +864,7 @@
.tanstak-table {
width: 100%;
table-layout: fixed;
/* table-layout: auto; */
/* table-layout: fixed; */
@media (max-width: 1200px) {
width: 1200px;
@@ -833,6 +894,15 @@
text-transform: uppercase;
letter-spacing: 0.05em;
white-space: nowrap;
&:has(.table-item-checkbox) {
padding: 0;
cursor: pointer;
.column {
padding: 15px 16px;
}
}
}
.column {
@@ -859,6 +929,10 @@
&-body {
background-color: v.$white;
&.loading {
opacity: 0.5;
}
>*+* {
border-top: 1px solid v.$b-color-2;
}
@@ -873,11 +947,89 @@
}
td {
padding-left: 1rem;
padding-right: 1rem;
padding-top: 1rem;
padding-bottom: 1rem;
padding: 15px 16px;
white-space: nowrap;
&:first-child {
/* padding-left: 15px; */
}
&:last-child {
/* padding-right: 15px; */
}
&:has(.table-item-id) {
width: 20px;
}
&:has(.table-item-file-name) {
max-width: 300px;
overflow: hidden;
}
&:has(.table-item-checkbox) {
padding: 0;
cursor: pointer;
.table-item {
padding: 15px 16px;
}
}
.table-item-file-name-image-wrapper {
width: 40px;
height: 40px;
position: relative;
border-radius: 6px;
overflow: hidden;
background: #f5f5f5;
box-shadow: 1px 1px 2px #00000030;
img {
object-fit: contain;
}
}
}
.table-item {
color: v.$text-s;
font-size: 14px;
&-not-supported {
font-size: 12px;
}
}
.table-item-protected {
color: #10b981;
font-size: 12px;
position: relative;
margin-left: 5px;
padding-left: 5px;
&::before {
content: '';
color: v.$text-s;
position: absolute;
left: -5px;
top: 50%;
transform: translateY(-50%);
}
}
.table-item-extension {
text-transform: uppercase;
font-size: 14px;
}
.table-item-status {
padding: 2px 10px;
border-radius: 15px;
&.succeeded {
background-color: #dcfce7;
color: #166534;
}
}
.actions {
@@ -891,25 +1043,145 @@
gap: 5px;
}
button {
button,
a {
padding: 4px 12px;
font-size: 14px;
line-height: 20px;
border-radius: 4px;
border-radius: 8px;
color: v.$white;
cursor: pointer;
transition: all 0.3s ease-in;
.icon {}
.icon {
width: 18px;
}
@media (max-width: 1200px) {
padding: 4px;
}
}
svg {
fill: v.$white;
}
span {
padding-left: 5px;
}
}
.table-action-download,
.table-action-delete,
.table-action-view {
display: flex;
align-items: center;
}
.table-action-download {
background-color: #3b72e0;
&:hover {
background-color: #2d56a8;
}
}
.table-action-delete {
background-color: #e80a14;
&:hover {
background-color: #9f0712;
}
}
.table-action-view {
background-color: #2b7fff;
&:hover {
background-color: #155dfc;
}
}
.toggle-switch {
position: relative;
display: inline-flex;
align-items: center;
justify-content: space-between;
width: 60px;
height: 28px;
padding: 0 6px;
border: none;
border-radius: 8px;
cursor: pointer;
transition: all 0.3s ease;
font-size: 12px;
font-weight: 500;
background-color: #615fff;
padding: 0;
}
.toggle-switch.active {
justify-content: flex-end;
}
.toggle-switch.inactive {
justify-content: flex-start;
}
.toggle-switch .toggle-slider {
position: absolute;
width: 30px;
height: 28px;
background-color: white;
border: 1px solid #615fff;
border-radius: 8px;
transition: transform 0.3s ease;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.toggle-switch.active .toggle-slider {
transform: translateX(0);
}
.toggle-switch.inactive .toggle-slider {
transform: translateX(0);
}
.toggle-switch .toggle-label {
z-index: 1;
color: v.$text-p;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
width: 30px;
height: 26px;
display: flex;
justify-content: center;
align-items: center;
}
.toggle-switch:disabled {
opacity: 0.5;
cursor: not-allowed;
}
}
.table-item-checkbox {
width: 16px;
height: 16px;
border-radius: 4px;
border: 2px solid v.$border-color-1;
cursor: pointer;
transition: all 0.3s ease-in;
display: flex;
justify-content: center;
align-items: center;
&:hover {
border: 2px solid v.$border-color-1-hover;
}
}
}
}
.empty-state {
text-align: center;
padding: 60px 20px;
@@ -943,4 +1215,65 @@
flex-direction: column;
gap: 12px;
}
}
.pagination-controls {
display: flex;
align-items: center;
gap: 0.5rem;
.arrow {
padding-left: 0.5rem;
padding-right: 0.5rem;
padding-top: 0.25rem;
padding-bottom: 0.25rem;
border: 2px solid v.$border-color-1;
border-radius: 10px;
box-shadow: 0 1px 2px #0000000d;
color: v.$p-color;
cursor: pointer;
.icon {
width: 18px;
}
&:hover {
background-color: v.$bg-light;
}
&:disabled {
opacity: 0.5;
cursor: not-allowed;
}
}
&-pages {
display: flex;
align-items: center;
gap: 0.25rem;
button {
border: 2px solid v.$border-color-1;
padding: 0.25rem 0.75rem;
border-radius: 10px;
color: v.$p-color;
cursor: pointer;
&:disabled {
opacity: 0.5;
cursor: not-allowed;
}
&.current {
background-color: v.$p-color;
color: v.$white;
}
&.other {
&:hover {
background-color: v.$bg-light;
}
}
}
}
}