Files
thalim-theme/scss/_membres.scss
2026-05-12 23:33:46 +02:00

212 lines
4.0 KiB
SCSS

.membres-section {
margin-top: 4rem;
display: flex;
flex-direction: column;
gap: 1rem;
}
.membres-item.is-open {
position: relative;
padding-bottom: 1rem;
&::after {
@include yellow-gradient-after;
}
}
.membres-header {
display: flex;
align-items: center;
gap: 1.2rem;
padding: 0.8rem;
background-color: $light-gray;
cursor: pointer;
transition: background-color 0.15s;
font-family: $font-primary;
text-transform: uppercase;
&:hover {
background-color: $less-light-gray;
}
}
.membres-chevron {
font-size: 1.2rem;
transition: transform 0.2s;
flex-shrink: 0;
margin-left: auto;
.membres-item.is-open & {
transform: rotate(180deg);
}
}
.membres-sort-chevron {
font-size: 0.8rem;
opacity: 0.3;
transition: transform 0.2s, opacity 0.15s;
vertical-align: middle;
margin-left: 0.3rem;
}
.membres-content {
padding: 1rem;
background-color: $light-light-gray;
font-family: $font-primary;
font-size: 0.9rem;
line-height: 1.6;
}
.membres-table {
width: 100%;
table-layout: fixed;
border-collapse: collapse;
font-size: 0.9rem;
th {
width: 33.333%;
text-align: left;
text-transform: uppercase;
font-family: $font-primary;
font-weight: normal;
font-size: 0.8rem;
padding: 0.5rem 1.5rem 0.5rem 0.5rem;
background-color: $light-gray;
cursor: pointer;
user-select: none;
white-space: nowrap;
&:hover .membres-sort-chevron {
opacity: 0.7;
}
&.sort-asc .membres-sort-chevron {
opacity: 1;
transform: rotate(180deg);
}
&.sort-desc .membres-sort-chevron {
opacity: 1;
transform: rotate(0deg);
}
}
tbody tr {
cursor: pointer;
transition: background-color 0.15s;
background-color: white;
&.is-even-row {
background-color: $light-gray;
}
&:last-child {
border-bottom: none;
}
&:hover {
background-color: $less-light-gray;
}
}
td {
padding: 0.6rem 1.5rem 0.6rem 0.5rem;
vertical-align: top;
line-height: 1.4;
// Name column
&:first-child {
white-space: nowrap;
}
a {
text-decoration: none;
}
}
}
// Member hover popover
#membre-popover {
position: fixed;
z-index: 9999;
background: white;
pointer-events: none;
max-width: 380px;
min-width: 180px;
padding: 1rem;
font-family: $font-primary;
font-size: 0.85rem;
opacity: 0;
transition: opacity 0.1s;
border: solid 1px $light-gray;
&.is-visible {
opacity: 1;
}
.membre-popover-inner {
display: flex;
gap: 1rem;
align-items: flex-start;
}
.membre-popover-pic {
width: 80px;
height: 80px;
object-fit: cover;
object-position: top;
flex-shrink: 0;
}
.membre-popover-name {
font-size: 1.1rem;
font-weight: normal;
margin: 0 0 0.3rem;
}
.membre-popover-status {
text-transform: uppercase;
color: $less-dark-gray;
margin: 0 0 0.6rem;
}
.membre-popover-domaines {
font-size: 0.8rem;
margin: 0 0 0.3rem;
line-height: 1.5;
}
.membre-popover-autres {
font-size: 0.8rem;
margin: 0;
line-height: 1.5;
color: $less-dark-gray;
}
}
// Filter bar sizing
.filtre-role { flex: 2; }
.filtre-recherche { flex: 1; }
// Member search input
.membres-search-input {
width: 100%;
border: none;
padding: 0.6rem 0.8rem;
font-family: $font-primary;
font-size: 0.85rem;
background-color: $light-gray;
outline: none;
&::placeholder {
color: $less-dark-gray;
}
&:focus {
background-color: $less-light-gray;
}
@media ($desktop) {
width: 50%;
}
}