@sudobility/building_blocks_rn
v0.0.74
Published
Higher-level shared UI building blocks for Sudobility React Native apps
Readme
@sudobility/building_blocks_rn
Higher-level shared UI building blocks for Sudobility React Native apps. Provides pre-built screens (login, settings, subscriptions), theming, i18n, and app shell components.
Installation
bun add @sudobility/building_blocks_rnUsage
import {
SudobilityAppRN,
ThemeProvider,
useTheme,
LoginScreen,
AppScreenLayout,
ToastProvider,
useToast,
createThemedStyles,
initializeI18nRN,
} from '@sudobility/building_blocks_rn';
// Firebase-dependent imports (separate entry point)
import {
SudobilityAppRNWithFirebaseAuth,
ApiProvider,
useApi,
} from '@sudobility/building_blocks_rn/firebase';API
Main Entry (@sudobility/building_blocks_rn)
| Export | Description |
|--------|-------------|
| SudobilityAppRN | Base app wrapper composing providers (SafeArea, Theme, Toast, i18n, Query) |
| LoginScreen | Email/password + OAuth login screen |
| AppScreenLayout | SafeAreaView wrapper with optional header/footer |
| AppSubscriptionPage | Subscription management with status and packages |
| SettingsListScreen | Settings menu with icon rows |
| AppearanceSettings | Theme and font size segmented controls |
| LanguagePicker | Modal language selector (16 languages) |
| ThemeProvider / useTheme | Light/dark theme with AsyncStorage persistence |
| ToastProvider / useToast | Animated toast notifications |
| createThemedStyles | Memoized StyleSheet factory from theme colors |
| initializeI18nRN | i18next setup with RN locale detection |
| getDeviceLocaleTags | Ordered device locale tags, including Windows Intl detection |
| useResponsive | Window dimension breakpoints (isSmall, isMedium, isLarge) |
Native desktop bridges
- macOS native modules live in
macos/and are included by the package's CocoaPods specification.WebAuthModuleis already shared here. - Windows native sources live in
windows/. React Native Windows apps that use these bridges manually include the relevant source files in their.vcxprojand register attributed modules withAddAttributedModules.WebAuthModuleprovides the PKCE/system-browser bridge;FileSystemUtils.hprovides shared Windows base64 encoding for app-specific file-system modules.
Firebase Entry (@sudobility/building_blocks_rn/firebase)
| Export | Description |
|--------|-------------|
| SudobilityAppRNWithFirebaseAuth | App wrapper with Firebase auth + API layers |
| ApiProvider / useApi | Network client context with auth token management |
Development
bun run build # Build TypeScript to dist/
bun run dev # Watch mode build
bun run typecheck # Type-check (no emit)
bun run lint # ESLint check
bun run lint:fix # Auto-fix ESLint issues
bun run format # Prettier formatLicense
BUSL-1.1
