Files
vidconf/frontend/src/hooks/usePublicSettings.ts
Max Ronzhin 7ee68b17ee feat(auth): проверка устройств на входе — запрос доступа и превью камеры
Отключаемый модуль (instance_settings.device_check, дефолт выключен):
запрос доступа к камере/микрофону на LoginPage и в карточке "Как вас
зовут?" (JoinPage), живое зеркальное превью и кнопки вкл/выкл камеры и
микрофона там же. На JoinPage кнопки определяют, с чем гость войдёт в
конференцию (RoomPage.LiveKitRoom audio/video вместо жёстких false) —
на LoginPage только пре-авторизуют разрешение, без UI (карточка ведёт
в лобби, применить выбор некуда). Вход в комнату по умолчанию, как и
раньше, с выключенными микрофоном/камерой.

Публичный GET /api/v1/public/settings отдаёт флаг модуля обеим
страницам до аутентификации.
2026-08-09 18:09:10 +03:00

13 lines
687 B
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { useQuery } from '@tanstack/react-query'
import { getPublicSettings } from '@/api/public'
/**
* Публичные настройки инстанса (`GET /public/settings`) — общая точка для
* `LoginPage`/`JoinPage`, обе страницы публичные и `GET /admin/settings` им
* недоступен. Один и тот же `queryKey` на обеих страницах — переход
* login → join (или наоборот) не бьёт эндпоинт повторно, пока данные свежие.
*/
export function usePublicSettings() {
return useQuery({ queryKey: ['public-settings'], queryFn: getPublicSettings })
}