130 lines
3.1 KiB
TypeScript
130 lines
3.1 KiB
TypeScript
import { StyleSheet, Platform } from 'react-native';
|
|
import { ThemeColors } from '../../theme';
|
|
|
|
export const getStyles = (colors: ThemeColors, isDark: boolean) =>
|
|
StyleSheet.create({
|
|
container: {
|
|
flex: 1,
|
|
},
|
|
backgroundImage: {
|
|
flex: 1,
|
|
width: '100%',
|
|
height: '100%',
|
|
},
|
|
overlay: {
|
|
flex: 1,
|
|
backgroundColor: isDark
|
|
? 'rgba(10, 12, 26, 0.75)'
|
|
: 'rgba(235, 242, 250, 0.35)',
|
|
},
|
|
scrollContainer: {
|
|
flexGrow: 1,
|
|
justifyContent: 'space-between',
|
|
},
|
|
topSpacer: {
|
|
flex: 1,
|
|
minHeight: 120,
|
|
},
|
|
bottomSheetCard: {
|
|
backgroundColor: isDark
|
|
? 'rgba(26, 29, 58, 0.96)'
|
|
: 'rgba(255, 255, 255, 0.98)',
|
|
borderTopLeftRadius: 32,
|
|
borderTopRightRadius: 32,
|
|
borderBottomLeftRadius: 0,
|
|
borderBottomRightRadius: 0,
|
|
paddingHorizontal: 24,
|
|
paddingTop: 14,
|
|
paddingBottom: Platform.OS === 'ios' ? 36 : 24,
|
|
borderWidth: 1,
|
|
borderBottomWidth: 0,
|
|
borderColor: isDark
|
|
? 'rgba(255, 255, 255, 0.1)'
|
|
: 'rgba(228, 232, 245, 0.9)',
|
|
shadowColor: '#000',
|
|
shadowOffset: { width: 0, height: -8 },
|
|
shadowOpacity: isDark ? 0.4 : 0.12,
|
|
shadowRadius: 20,
|
|
elevation: 16,
|
|
},
|
|
sheetHandle: {
|
|
width: 36,
|
|
height: 4,
|
|
borderRadius: 2,
|
|
backgroundColor: isDark ? 'rgba(255, 255, 255, 0.2)' : '#CBD5E1',
|
|
alignSelf: 'center',
|
|
marginBottom: 16,
|
|
},
|
|
cardHeader: {
|
|
marginBottom: 18,
|
|
},
|
|
welcomeTitle: {
|
|
fontSize: 22,
|
|
fontWeight: '800',
|
|
color: colors.text,
|
|
letterSpacing: 0.2,
|
|
},
|
|
welcomeSubtitle: {
|
|
fontSize: 13,
|
|
color: colors.textSecondary,
|
|
marginTop: 4,
|
|
fontWeight: '400',
|
|
},
|
|
errorBanner: {
|
|
flexDirection: 'row',
|
|
alignItems: 'center',
|
|
backgroundColor: isDark ? 'rgba(239, 68, 68, 0.15)' : '#FEF2F2',
|
|
borderRadius: 12,
|
|
padding: 12,
|
|
marginBottom: 16,
|
|
borderWidth: 1,
|
|
borderColor: isDark ? 'rgba(239, 68, 68, 0.3)' : '#FCA5A5',
|
|
},
|
|
errorText: {
|
|
color: '#EF4444',
|
|
fontSize: 13,
|
|
fontWeight: '500',
|
|
marginLeft: 10,
|
|
flex: 1,
|
|
},
|
|
fieldContainer: {
|
|
marginBottom: 14,
|
|
},
|
|
inputWrapper: {
|
|
backgroundColor: isDark ? 'rgba(15, 16, 34, 0.6)' : '#F8FAFC',
|
|
borderRadius: 14,
|
|
borderWidth: 1.5,
|
|
borderColor: colors.border,
|
|
height: 50,
|
|
},
|
|
inputWrapperFocused: {
|
|
borderColor: colors.icon,
|
|
backgroundColor: isDark ? 'rgba(15, 16, 34, 0.85)' : '#FFFFFF',
|
|
},
|
|
eyeIconButton: {
|
|
padding: 6,
|
|
},
|
|
button: {
|
|
backgroundColor: colors.icon,
|
|
borderRadius: 14,
|
|
height: 52,
|
|
justifyContent: 'center',
|
|
alignItems: 'center',
|
|
marginTop: 10,
|
|
shadowColor: colors.icon,
|
|
shadowOffset: { width: 0, height: 6 },
|
|
shadowOpacity: 0.35,
|
|
shadowRadius: 12,
|
|
elevation: 6,
|
|
},
|
|
buttonDisabled: {
|
|
opacity: 0.7,
|
|
},
|
|
buttonText: {
|
|
color: '#FFFFFF',
|
|
fontSize: 16,
|
|
fontWeight: '700',
|
|
letterSpacing: 0.4,
|
|
},
|
|
});
|