Documentation Index
Fetch the complete documentation index at: https://mintlify.com/awasserz/rippler-app/llms.txt
Use this file to discover all available pages before exploring further.
ThemedText & ThemedView
Theme-aware primitives that automatically adapt to the current color scheme. These components form the foundation of Rippler’s UI system and should be used instead of React Native’s built-inText and View components when theme integration is needed.
ThemedText
A theme-aware text component with built-in typography variants.Import
Basic Usage
Props
Typography variant that applies predefined text styles from
Typography constants:h1: Large headingh2: Medium headingh3: Small headingh4: Extra small headingbody: Standard body textsmall: Smaller text for captionslink: Link styling withtheme.linkcolor
Text color to use in light mode. Overrides the default theme color
Text color to use in dark mode. Overrides the default theme color
Additional React Native text styles
All other props from React Native’s
Text component are supportedReal-World Examples
Workout Screen Header
FromWorkoutScreen.tsx:450-454:
Exercise Information
FromExerciseCard.tsx:99-100:
Labels with Secondary Text Color
FromExerciseCard.tsx:105-107:
Typography System
ThemedText uses centralized typography constants:- Headings
- Body
- Link
Color Resolution
ThemedText resolves colors with the following priority:- Dark mode + darkColor: Uses
darkColorprop - Light mode + lightColor: Uses
lightColorprop - Link type: Uses
theme.link - Default: Uses
theme.text
ThemedView
A theme-aware view component that automatically applies background colors based on the current theme.Import
Basic Usage
Props
Background color to use in light mode. Overrides
theme.backgroundRootBackground color to use in dark mode. Overrides
theme.backgroundRootAdditional React Native view styles
All other props from React Native’s
View component are supportedReal-World Examples
Goals Screen Container
FromGoalsScreen.tsx:139:
Background Color Resolution
ThemedView resolves background color with the following priority:- Dark mode + darkColor: Uses
darkColorprop - Light mode + lightColor: Uses
lightColorprop - Default: Uses
theme.backgroundRoot
TypeScript Interfaces
ThemedText
ThemedView
Best Practices
Use semantic type names
Use semantic type names
Choose the typography type that matches the semantic meaning:
Prefer theme colors over hardcoded values
Prefer theme colors over hardcoded values
Use
lightColor and darkColor props sparingly. Let the theme handle colors:Use ThemedView for screen containers
Use ThemedView for screen containers
Always wrap screens in ThemedView for consistent theming:
Theme Hook Integration
Both components use theuseTheme hook internally:
Source Code
- ThemedText:
client/components/ThemedText.tsx - ThemedView:
client/components/ThemedView.tsx