# BluetoothStateNotice

Canonical page: https://docs.ovok.com/native-sdk/guide/components/ui/bluetooth-state-notice

`BluetoothStateNotice` observes Bluetooth radio and permission state. It renders a
themed card when Bluetooth is unavailable and returns no UI while the radio is on.
It does not scan or establish a Bluetooth session.

~~~tsx
import { BluetoothStateNotice } from "@ovok/native/ui";

<BluetoothStateNotice
  bleManager={bleManager}
  onOpenSettings={() => navigation.navigate("BluetoothSettings")}
/>
~~~

Pass the app's long-lived `BleManager` so the notice observes the same radio state as
the Bluetooth feature. Without a manager, the state is `unsupported`.

## States and actions [#states-and-actions]

| State | Default behavior |
| --- | --- |
| `on` | Render nothing. |
| `unauthorized` | Show an access button; the default action requests Bluetooth permission. |
| `off` | Show an action that opens Bluetooth settings. |
| `unsupported` | Explain that Bluetooth LE is unavailable; no action button. |

The default permission request uses `react-native-permissions`. Provide
`requestPermission` to use app-specific permission logic. Provide `onOpenSettings` to
own the settings action; otherwise, the component opens Bluetooth settings through
the platform link.

## Props [#props]

Every prop, with its type and description, is listed in the [`@ovok/native/ui` API reference](/native-sdk/reference/ui).
