Files
Oxicloud/static/css/views/shared.css
T
Edouard Vanbelle 94b36e41e0 refactor(css): maximize usage of variables (1st part, to simplify CSS & style)
note: there is still work to do, but has there are risks to conflict I prefer to commit this first part now
2026-04-11 18:39:03 +02:00

294 lines
6.5 KiB
CSS

.page-description {
color: var(--color-text-muted);
font-size: 16px;
margin-top: -15px;
margin-bottom: 25px;
}
.shared-page-container {
max-width: 1280px;
margin: 20px auto;
padding: 0 20px;
}
.shared-header {
margin-bottom: 25px;
}
.shared-header h2 {
font-size: 24px;
color: var(--color-text);
margin-bottom: 8px;
}
.shared-header p {
color: var(--color-text-muted);
font-size: 16px;
}
/* In-app Shared view (index.html dynamic container) */
.shared-view-container .shared-header {
margin-bottom: 20px;
}
.shared-view-container .shared-filters {
display: flex;
align-items: center;
justify-content: flex-start;
gap: 12px;
flex-wrap: wrap;
margin-bottom: 0;
padding: 15px;
background-color: var(--color-bg-subtle);
box-shadow: 0 1px 3px var(--color-shadow-xs);
border-radius: 10px 10px 0 0;
border-bottom: 1px solid var(--color-border-faint);
font-weight: 600;
color: var(--color-text);
}
.shared-view-container .shared-custom-select {
position: relative;
}
.shared-view-container .shared-select-toggle {
display: flex;
align-items: center;
gap: 10px;
width: 100%;
padding: 10px 40px 10px 16px;
border-radius: 12px;
border: 2px solid var(--color-border);
background-color: var(--color-bg-hover);
font-size: 14px;
font-weight: 500;
color: var(--color-text-heading);
cursor: pointer;
min-width: 170px;
height: 44px;
transition: all 0.2s ease;
text-align: left;
}
.shared-view-container .shared-select-toggle:hover {
border-color: var(--color-border-medium);
background-color: var(--color-bg-surface);
}
.shared-view-container .shared-custom-select.open .shared-select-toggle {
border-color: var(--color-accent);
background-color: var(--color-bg-surface);
box-shadow: 0 0 0 4px var(--color-accent-ring);
}
.shared-view-container .shared-select-arrow {
position: absolute;
right: 14px;
top: 50%;
transform: translateY(-50%);
font-size: 10px;
color: var(--color-text-muted);
transition: transform 0.2s ease;
pointer-events: none;
}
.shared-view-container .shared-custom-select.open .shared-select-arrow {
transform: translateY(-50%) rotate(180deg);
}
.shared-view-container .shared-select-dropdown {
position: absolute;
top: calc(100% + 6px);
left: 0;
min-width: 100%;
background-color: var(--color-bg-surface);
border-radius: 12px;
box-shadow: 0 4px 20px var(--color-shadow-md);
border: 1px solid var(--color-border);
opacity: 0;
visibility: hidden;
transform: translateY(-10px);
transition: all 0.2s ease;
z-index: 1000;
overflow: hidden;
}
.shared-view-container .shared-custom-select.open .shared-select-dropdown {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.shared-view-container .shared-select-option {
display: flex;
align-items: center;
padding: 12px 16px;
cursor: pointer;
font-size: 14px;
font-weight: 400;
color: var(--color-text-secondary);
transition: background-color 0.15s ease;
}
.shared-view-container .shared-select-option:hover {
background-color: var(--color-bg-alt);
}
.shared-view-container .shared-select-option.active {
background-color: var(--color-accent-tint);
color: var(--color-accent);
font-weight: 500;
}
.shared-filters {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0;
flex-wrap: wrap;
gap: 15px;
background-color: var(--color-bg-subtle);
border-radius: 10px 10px 0 0;
padding: 15px;
border-bottom: 1px solid var(--color-border-faint);
box-shadow: 0 1px 3px var(--color-shadow-xs);
font-weight: 600;
color: var(--color-text);
}
.filter-group {
display: flex;
align-items: center;
gap: 10px;
}
.filter-group label {
font-size: 14px;
color: var(--color-text-secondary);
font-weight: 500;
}
.filter-group select {
padding: 8px 12px;
border: 1px solid var(--color-border);
border-radius: 6px;
background-color: var(--color-bg-surface);
font-size: 14px;
min-width: 120px;
}
.search-box {
display: flex;
gap: 10px;
}
.search-box input {
padding: 8px 15px;
border: 1px solid var(--color-border);
border-radius: 6px;
font-size: 14px;
width: 250px;
}
.shared-list-container {
background-color: var(--color-bg-surface);
border-radius: 0 0 10px 10px;
box-shadow: 0 1px 3px var(--color-shadow-xs);
overflow: hidden;
margin-bottom: 25px;
}
.shared-list,
.shared-table {
width: 100%;
border-collapse: collapse;
}
.shared-list thead th,
.shared-table thead th {
padding: 15px;
text-align: left;
font-weight: 600;
color: var(--color-text);
background-color: var(--color-bg-subtle);
border-bottom: 1px solid var(--color-border-faint);
}
.shared-list tbody td,
.shared-table tbody td {
padding: 15px;
border-bottom: 1px solid var(--color-border-xfaint);
vertical-align: middle;
}
.shared-item-name {
display: flex;
align-items: center;
gap: 10px;
}
.shared-item-actions {
display: flex;
gap: 10px;
}
.shared-list .action-btn,
.shared-table .action-btn {
width: 32px;
height: 32px;
border: 1px solid var(--color-border);
border-radius: 6px;
background-color: var(--color-bg-surface);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.2s;
}
.shared-list .action-btn:hover,
.shared-table .action-btn:hover {
background-color: var(--color-item-hover-blue);
border-color: var(--color-info-border-light);
}
.action-icon {
font-size: 14px;
}
#empty-shared-state.empty-state {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 50px 20px;
background-color: transparent;
border-radius: 0;
box-shadow: none;
text-align: center;
color: var(--color-text-gray);
}
#empty-shared-state p {
margin-bottom: 10px;
max-width: 400px;
}
@media (max-width: 768px) {
.shared-filters {
flex-direction: column;
align-items: flex-start;
}
.shared-list thead th:nth-child(4),
.shared-list thead th:nth-child(5),
.shared-list tbody td:nth-child(4),
.shared-list tbody td:nth-child(5),
.shared-table thead th:nth-child(4),
.shared-table thead th:nth-child(5),
.shared-table tbody td:nth-child(4),
.shared-table tbody td:nth-child(5) {
display: none;
}
}