feat: Introduce Alerts, Clips, and Settings tabs, update theme colors, and enhance ThemedView, ThemedText, and IconSymbol components.

This commit is contained in:
2025-12-06 11:42:00 +00:00
parent 3c31ead3ef
commit ed0faaa4d6
10 changed files with 315 additions and 207 deletions

View File

@@ -0,0 +1,65 @@
import { StyleSheet } from 'react-native';
import { ThemedText } from '@/components/themed-text';
import { ThemedView } from '@/components/themed-view';
import { IconSymbol } from '@/components/ui/icon-symbol';
import { Colors } from '@/constants/theme';
import { useColorScheme } from '@/hooks/use-color-scheme';
export default function AlertsScreen() {
const colorScheme = useColorScheme();
const theme = colorScheme ?? 'light';
return (
<ThemedView style={styles.container}>
<ThemedView style={styles.header}>
<ThemedText type="title">Alerts</ThemedText>
<ThemedText type="secondary">Recent security activity</ThemedText>
</ThemedView>
<ThemedView
style={[styles.card, {
shadowColor: Colors[theme].border,
borderColor: Colors[theme].border
}]}
variant="card"
>
<IconSymbol size={48} name="bell.fill" color={Colors[theme].icon} />
<ThemedText type="subtitle" style={styles.cardTitle}>No Alerts</ThemedText>
<ThemedText style={styles.cardDescription} type="secondary">
You have no new security alerts.
</ThemedText>
</ThemedView>
</ThemedView>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
padding: 20,
paddingTop: 80,
},
header: {
marginBottom: 32,
},
card: {
padding: 32,
borderRadius: 16,
alignItems: 'center',
justifyContent: 'center',
borderWidth: 1,
shadowOffset: { width: 0, height: 4 },
shadowOpacity: 0.1,
shadowRadius: 12,
elevation: 2,
},
cardTitle: {
marginTop: 16,
marginBottom: 8,
},
cardDescription: {
textAlign: 'center',
maxWidth: 240,
},
});