ManuallyRequestSheet.Image
Platform-specific imagery component that displays illustrations for health-platform prompts with built-in support for Apple, Google, and Fitbit. It is presentation-only: the selected provider does not change authorization or synchronization behavior.
Quick Example
import { DataSync } from "@ovok/native/data-sync";
import React from "react";
const ImageExample = () => {
return <DataSync.ManuallyRequestSheet.Image for="apple" />;
};
export default ImageExample;
Props
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
for | "apple" | "google" | "fitbit" | - | - | Platform provider for automatic image |
source | ImageSourcePropType | - | - | Custom image source (ignored if for is set) |
containerProps | ViewProps | - | - | Props for the image container |
style | ImageStyle | - | - | Additional image styling |
testID | string | - | - | Test identifier for testing |
Inherits all ImageProps from React Native except source when for is provided
Component Behavior
The Image component provides:
- Platform Images: Built-in illustrations for major health platforms
- Custom Images: Support for custom image sources when no platform is specified
- Container Styling: Themed container with proper spacing and background
- Responsive Sizing: Images automatically size to fit container
- Theme Integration: Container styling adapts to app theme
Built-in platform imagery
Apple Health
<ManuallyRequestSheet.Image for="apple" />
Displays the Apple Health Connect illustration with:
- Apple Health logo and branding
- Health data visualization graphics
- iOS-style interface elements
Google Health Connect
<ManuallyRequestSheet.Image for="google" />
Displays the Google Health Connect illustration with:
- Health Connect logo and branding
- Android health data graphics
- Material Design interface elements
Fitbit
<ManuallyRequestSheet.Image for="fitbit" />
The fitbit value selects the bundled Fitbit illustration. It does not add a Fitbit
health provider or data importer; use it only as imagery in an app-owned flow.
App-owned imagery
Omit for and pass a normal React Native image source when the authorization screen
belongs to another provider:
<DataSync.ManuallyRequestSheet.Image
source={require("./assets/provider.png")}
accessibilityLabel="Connect the app's health provider"
/>
If for is present, its bundled asset takes precedence over source.
Container Styling
Theme Values Used
theme.colors.surface- Container background colortheme.colors.outline- Container border colortheme.borderRadius(5)- Container border radius- The container uses
width: "100%"andaspectRatio: 1 - The image uses
width: "100%",height: "100%", andresizeMode: "contain"
Styling
Theme Colors Used
theme.colors.surface- Default container backgroundtheme.colors.outline- Default container bordertheme.borderRadius(5)- Container corner radius
containerProps.style and style are merged after the defaults. The component does
not add padding or a fixed height.
Related Components
- ManuallyRequestSheet.Title - Title component that typically precedes the image
- ManuallyRequestSheet.Description - Description that typically follows the image
- ManuallyRequestSheet.Container - Container that holds the image component