Native Look — Liquid Glass & Dark Mode

iOS 26 Liquid Glass chrome and automatic dark mode for the JotReview sheet.

Dark mode

The sheet is theme-aware and follows the device color scheme automatically — it renders dark when the OS (or your app) is in dark mode, and light otherwise. No setup required.

Force a scheme if you need to:

1<JotReviewProvider projectId="a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d" colorScheme="dark">
2 {/* … */}
3</JotReviewProvider>

colorScheme accepts 'light', 'dark', or 'auto' (default). If you use the declarative components without the provider, call configureColorScheme('dark') once at startup instead.

Enable Liquid Glass

The sheet's close button and floating tab bar can render with the native Liquid Glass material on iOS 26 (and a blur / Material 3 translucency elsewhere). These are native modules, so you opt in by installing them — the SDK itself stays pure-JS and falls back to solid surfaces when they're absent.

1npx expo install expo-glass-effect expo-blur

Then pass the components to the provider:

1import { GlassView, isLiquidGlassAvailable } from "expo-glass-effect";
2import { BlurView } from "expo-blur";

<JotReviewProvider projectId="a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d" glass={{ GlassView, BlurView, isLiquidGlassAvailable }} > {/* … */} </JotReviewProvider> `

How it renders per platform

The SDK picks the best available material at runtime:

  • iOS 26+ → native UIGlassEffect Liquid Glass
  • iOS < 26 / AndroidBlurView (blur / Material 3 translucency)
  • glass modules not installed → solid surfaces (the default look)

> Liquid Glass requires a dev build (not Expo Go) so the native modules are linked. On the iOS 26 SDK the glass becomes the real UIGlassEffect; on older iOS you'll see the blur fallback. Run npx expo prebuild (or rebuild your dev client) after installing the modules.

Without the provider

If you render the declarative components (<JotReviewFeedback />, etc.) without <JotReviewProvider>, register the glass and scheme once at startup:

1import { configureGlass, configureColorScheme } from "@jotreview/react-native";
2import { GlassView, isLiquidGlassAvailable } from "expo-glass-effect";

configureGlass({ GlassView, BlurView, isLiquidGlassAvailable }); configureColorScheme("auto"); `