Make RN components fully theme-driven for multi-brand support
Refactor all 18 React Native components from static DTColors imports to dynamic useDTTheme() context, enabling proper visual differentiation when switching between DT and Classic brands. Key changes: - Replace static DTColors with theme context in all components - Add shape tokens (bevel/radius) to DTExtendedTheme interface - Conditionally render SVG bevels (DT) vs borderRadius (Classic) - Configure fonts per brand (Tektur for DT, system sans-serif for Classic) - Update buildThemeFromBrand to parse shape and typography tokens - Fix Metro config for monorepo singleton resolution Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
|
||||
import {StyleSheet, ViewStyle, StyleProp, KeyboardAvoidingView, Platform} from 'react-native';
|
||||
import {Portal, Modal} from 'react-native-paper';
|
||||
import {DTColors} from '../theme/colors';
|
||||
import {useDTTheme} from '../theme/DTThemeProvider';
|
||||
import {type DTVariant} from '../utils/variantColors';
|
||||
import {DTCard} from './DTCard';
|
||||
|
||||
@@ -75,6 +75,8 @@ export function DTModal({
|
||||
contentStyle,
|
||||
style,
|
||||
}: DTModalProps) {
|
||||
const theme = useDTTheme();
|
||||
|
||||
return (
|
||||
<Portal>
|
||||
<Modal
|
||||
@@ -85,7 +87,7 @@ export function DTModal({
|
||||
style={styles.modal}
|
||||
theme={{
|
||||
colors: {
|
||||
backdrop: DTColors.overlay,
|
||||
backdrop: theme.colors.backdrop,
|
||||
},
|
||||
}}>
|
||||
<KeyboardAvoidingView
|
||||
|
||||
Reference in New Issue
Block a user