Files
PTT-Live/client/src/components/UserList.css
T
benoit ed6d2e763d fix: augmentation hauteur UserList et amélioration scroll
CORRECTIONS :
- Hauteur max passée de 180px à 300px (desktop)
- Hauteur max passée de 150px à 250px (mobile)
- Ajout min-height: 100px pour garantir visibilité

AMÉLIORATIONS SCROLL :
- Scrollbar personnalisée fine et discrète
- Support -webkit-overflow-scrolling: touch (iOS)
- Scrollbar visible au hover (desktop)
- Gap réduit entre items pour densité optimale

RESPONSIVE :
- Portrait mobile : 200px max
- Paysage : 120px max (priorité au bouton PTT)
- Padding réduit pour maximiser l'espace visible

Résultat : Affichage de 4-5 utilisateurs au lieu de 1-2

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-23 09:57:00 +02:00

193 lines
3.3 KiB
CSS

/* UserList - Liste des participants */
.user-list {
background: var(--color-surface);
border-bottom: 1px solid var(--color-border);
max-height: 300px;
overflow-y: auto;
overflow-x: hidden;
/* Améliorer le scroll sur mobile */
-webkit-overflow-scrolling: touch;
/* Style de scrollbar personnalisé */
scrollbar-width: thin;
scrollbar-color: rgba(255, 255, 255, 0.3) transparent;
}
/* Scrollbar personnalisée (webkit) */
.user-list::-webkit-scrollbar {
width: 6px;
}
.user-list::-webkit-scrollbar-track {
background: transparent;
}
.user-list::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.3);
border-radius: 3px;
}
.user-list::-webkit-scrollbar-thumb:hover {
background: rgba(255, 255, 255, 0.5);
}
.user-list.empty {
display: flex;
align-items: center;
justify-content: center;
padding: var(--spacing-lg);
max-height: none;
}
.empty-message {
color: var(--color-text-secondary);
font-size: 0.9rem;
}
.user-list-header {
padding: var(--spacing-sm) var(--spacing-lg);
background: var(--color-bg);
border-bottom: 1px solid var(--color-border);
position: sticky;
top: 0;
z-index: 1;
}
.user-count {
font-size: 0.85rem;
color: var(--color-text-secondary);
font-weight: 500;
}
.user-list-items {
padding: var(--spacing-xs) var(--spacing-sm);
display: flex;
flex-direction: column;
gap: 4px;
}
/* Item utilisateur */
.user-item {
display: flex;
align-items: center;
gap: var(--spacing-md);
padding: var(--spacing-sm) var(--spacing-md);
border-radius: 8px;
transition: background 0.15s;
}
.user-item:hover {
background: var(--color-surface-hover);
}
.user-item.speaking {
background: rgba(16, 185, 129, 0.1);
}
/* Avatar */
.user-avatar {
width: 40px;
height: 40px;
border-radius: 50%;
background: var(--color-primary);
display: flex;
align-items: center;
justify-content: center;
font-weight: 600;
font-size: 1.1rem;
flex-shrink: 0;
}
.user-item.speaking .user-avatar {
background: var(--color-success);
}
/* Info */
.user-info {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
gap: 2px;
}
.user-name {
font-weight: 500;
font-size: 0.95rem;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.user-status {
font-size: 0.8rem;
color: var(--color-success);
font-weight: 500;
}
/* Indicateurs */
.user-indicator {
width: 24px;
height: 24px;
flex-shrink: 0;
}
.speaking-indicator {
width: 100%;
height: 100%;
color: var(--color-success);
}
.speaking-indicator svg {
width: 100%;
height: 100%;
}
.audio-indicator {
width: 100%;
height: 100%;
color: var(--color-text-secondary);
opacity: 0.5;
}
.audio-indicator svg {
width: 100%;
height: 100%;
}
/* Responsive */
@media (max-width: 640px) {
.user-list {
max-height: 250px;
}
.user-avatar {
width: 36px;
height: 36px;
font-size: 1rem;
}
.user-name {
font-size: 0.9rem;
}
.user-status {
font-size: 0.75rem;
}
}
/* Portrait mobile - encore plus d'espace */
@media (max-width: 640px) and (orientation: portrait) {
.user-list {
max-height: 200px;
min-height: 100px;
}
}
/* Paysage - réduire un peu pour laisser place au PTT */
@media (max-height: 500px) and (orientation: landscape) {
.user-list {
max-height: 120px;
}
}