Files
cacto 864868de49 Лобби: комнаты на сервере (C++) и UI на клиенте
Сервер: Lobby/Room/Player — create/join/leave/list_rooms, broadcast обновлений,
проверка авторизации (hello) и состояния комнаты (waiting/full/in_progress).
Клиент: полноценный UI лобби (создание, список, вход в комнату, выход),
блокировка кнопок до установки WS-соединения.
nginx: no-cache для JS/CSS (нет хеширования имён файлов).
2026-07-26 21:22:20 +05:00

91 lines
1.6 KiB
CSS

.lobby-panel {
border: var(--border);
background: var(--color-bg-raised);
padding: 1.25rem 1.5rem;
margin: 1.5rem 0;
max-width: 640px;
}
.lobby-panel__row {
display: flex;
align-items: center;
gap: 0.75rem;
margin-bottom: 1rem;
flex-wrap: wrap;
}
.prompt-inline {
color: var(--color-accent-dim);
}
.lobby-panel input {
background: var(--color-bg);
border: 1px solid var(--color-accent-dim);
color: var(--color-fg);
font-family: var(--font-mono);
padding: 0.3rem 0.5rem;
}
.lobby-panel button {
background: transparent;
border: 1px solid var(--color-accent-dim);
color: var(--color-accent);
font-family: var(--font-mono);
padding: 0.35rem 0.75rem;
cursor: pointer;
}
.lobby-panel button:hover:not(:disabled) {
border-color: var(--color-accent);
box-shadow: 0 0 6px var(--color-accent-dim);
}
.lobby-panel button:disabled {
opacity: 0.4;
cursor: not-allowed;
}
.lobby-error {
color: var(--color-silver);
border-left: 2px solid var(--color-accent-dim);
padding-left: 0.6rem;
margin: 0 0 1rem;
}
.room-list,
.room-players {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.room-list__item {
display: flex;
align-items: center;
gap: 0.75rem;
border-bottom: var(--border);
padding-bottom: 0.5rem;
}
.room-list__name {
flex: 1;
}
.room-list__count,
.room-list__state {
color: var(--color-silver);
font-size: 0.85rem;
}
.room-list__empty {
color: var(--color-silver);
}
.room-players li::before {
content: '- ';
color: var(--color-accent-dim);
}