feat(room): полноэкранный режим на мобильном с выезжающим тулбаром
Вход — кнопка «Экран» в тулбаре, теперь видна и на мобильном (по аналогии с десктопом, а не спрятана в шторку настроек). В полноэкранном режиме топбар и тулбар выходят из потока и лежат оверлеем поверх сцены: тап/клик по сцене вне элементов управления показывает их, сами прячутся через несколько секунд бездействия; на десктопе дополнительно — наведение мыши в нижнюю полосу экрана. Работает одинаково на мобильном и десктопе. Кнопка настроек устройств в тулбаре на мобильном подписана «Настройки» вместо «Устройства». Раскладка кнопок мобильного тулбара, когда они не помещаются в один ряд (7+, обычный случай с «Экраном» и «Очередью» у организатора), стала равномерной сеткой на 4 колонки вместо переноса «как получится» через flex-wrap.
This commit is contained in:
@@ -15,6 +15,12 @@ interface RoomTopbarProps {
|
||||
/** Slug/номер конференции из адреса — для инвайт-чипа (копирование ссылки). */
|
||||
slug?: string
|
||||
number?: string
|
||||
/**
|
||||
* Полноэкранный режим (`RoomPage.tsx`) прячет топбар в оверлей и показывает
|
||||
* его только по этому флагу — вне полноэкранного режима не влияет ни на что
|
||||
* (CSS-правило само по себе действует лишь под `.room-fullscreen-overlay`).
|
||||
*/
|
||||
overlayVisible?: boolean
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -26,7 +32,7 @@ interface RoomTopbarProps {
|
||||
* тёмных токенов темы `room` (см. `--color-room-tile*`), без новых
|
||||
* цветов и форм.
|
||||
*/
|
||||
export function RoomTopbar({ title, slug, number }: RoomTopbarProps) {
|
||||
export function RoomTopbar({ title, slug, number, overlayVisible }: RoomTopbarProps) {
|
||||
const participants = useParticipants()
|
||||
const [copied, setCopied] = useState(false)
|
||||
|
||||
@@ -44,7 +50,7 @@ export function RoomTopbar({ title, slug, number }: RoomTopbarProps) {
|
||||
}
|
||||
|
||||
return (
|
||||
<header className="room-topbar">
|
||||
<header className={`room-topbar${overlayVisible ? ' is-visible' : ''}`}>
|
||||
<div className="room-title-block">
|
||||
<h1>{title ?? 'Конференция без названия'}</h1>
|
||||
<p>
|
||||
|
||||
Reference in New Issue
Block a user