Провайдер
VKBridgeConfigProvider — собранная VKUI-оболочка мини-аппа: три провайдера VKUI с дефолтами, вычисленными из моста. Оборачивает приложение целиком, внутри StrictMode и снаружи корневого компонента.
Композиция
Заголовок раздела «Композиция»<VKBridgeConfigProvider> <App /></VKBridgeConfigProvider>Внутри провайдер рендерит:
<ConfigProvider /* мостовые дефолты + твои перекрытия */> <AdaptivityProvider /* transformVKBridgeAdaptivity(useBridgeAdaptivity()) */> <AppRoot mode="full" safeAreaInsets={insets}> {children} </AppRoot> </AdaptivityProvider></ConfigProvider>Порядок зафиксирован: ConfigProvider → AdaptivityProvider → AppRoot. AppRoot идёт с mode="full" — приложение живёт не в виджете, а на всём экране хоста.
Что вычисляется
Заголовок раздела «Что вычисляется»| Проп ConfigProvider | Источник |
|---|---|
colorScheme |
VKWebAppUpdateConfig + бутстрап VKWebAppGetConfig (useBridgeAppearance) |
platform |
"vkcom", если vk_platform === "desktop_web" в launch params |
isWebView |
bridge.isWebView() |
hasCustomPanelHeaderAfter |
всегда true — угол PanelHeader резервится под контролы хоста |
пропсы AdaptivityProvider |
transformVKBridgeAdaptivity(useBridgeAdaptivity()) |
AppRoot.safeAreaInsets |
VKWebAppUpdateInsets и insets конфига через useBridgeInsets |
Логика каждого источника — в хуках: провайдер просто собирает их в одно дерево.
Перекрытие
Заголовок раздела «Перекрытие»Пропсы провайдера — вся поверхность Partial<ConfigProviderProps> плюс children. Явно переданный пропс побеждает вычисленное значение: провайдер раскладывает перекрытия последним, после мостовых дефолтов.
// зафиксировать тему независимо от хоста<VKBridgeConfigProvider colorScheme="dark"> <App /></VKBridgeConfigProvider>Типичное применение: форс темы для вью «настроек», отладочная платформа, locale. Если ничего не передано — работают мостовые дефолты.
Границы
Заголовок раздела «Границы»platformвычисляется только дляdesktop_web; на остальных платформах остаётсяundefined, и VKUI берёт платформу из собственных эвристик.useBridgeAppearanceвне песочницы возвращаетundefined(см. хуки) — в обычном браузере тему определяет VKUI, если ты не передалcolorSchemeявно.- Вне мини-аппа бутстрап-запрос конфига завершается ошибкой: она попадает в консоль, но не затрагивает приложение.