chore: update app configurations and screens

This commit is contained in:
2026-05-31 13:48:02 +02:00
parent 9296a9bc8b
commit d3c0ef2420
5 changed files with 90 additions and 98 deletions
+41 -81
View File
@@ -272,6 +272,15 @@ export default function CameraScreen({
}
};
const handleCancel = useCallback(() => {
if (burstTimerRef.current) {
clearTimeout(burstTimerRef.current);
}
setHasStarted(false);
setIsCapturing(false);
onCancel();
}, [onCancel]);
const handleSettingsTap = () => {
setEnteredPassword('');
setErrorText('');
@@ -327,24 +336,13 @@ export default function CameraScreen({
<FontAwesomeIcon icon={faUserGear} size={22} color={THEME.colors.accent} />
</TouchableOpacity>
<View style={styles.welcomeBox}>
<Text style={styles.logo}>SCHNAPPIX</Text>
<Text style={styles.welcomeTitle}>{welcomeText}</Text>
<View style={styles.divider} />
<LinearGradient
colors={THEME.gradient.primary}
start={{ x: 0, y: 0.5 }}
end={{ x: 1, y: 0.5 }}
style={styles.startButton}
>
<FontAwesomeIcon icon={faCameraRetro} size={20} color={THEME.colors.text} style={{ marginRight: 10 }} />
<Text style={styles.startButtonText}>ZUM STARTEN ÜBERALL TIPPEN</Text>
</LinearGradient>
<Text style={styles.welcomeFooter}>Fotos machen Collage erstellen Sofort drucken</Text>
</View>
{/* Header Event Text */}
<Text style={styles.headerTitle}>{welcomeText}</Text>
{/* Footer Instructions */}
<Text style={styles.footerInstructions}>
ZUM STARTEN TIPPEN Fotos machen Collage Drucken
</Text>
{/* Password Prompt Modal */}
<Modal
@@ -459,7 +457,7 @@ export default function CameraScreen({
{/* Cancel Button */}
{!isCapturing && !isBurstWaiting && (
<TouchableOpacity style={styles.backButton} onPress={onCancel}>
<TouchableOpacity style={styles.backButton} onPress={handleCancel}>
<FontAwesomeIcon icon={faXmark} size={16} color={THEME.colors.text} style={{ marginRight: 6 }} />
<Text style={styles.backButtonText}>ABBRECHEN</Text>
</TouchableOpacity>
@@ -530,10 +528,12 @@ const styles = StyleSheet.create({
zIndex: 9999,
},
idleOverlayContainer: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: 'rgba(5, 5, 16, 0.25)',
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
backgroundColor: 'transparent',
},
captureOverlayContainer: {
flex: 1,
@@ -554,73 +554,31 @@ const styles = StyleSheet.create({
alignItems: 'center',
zIndex: 999,
},
welcomeBox: {
alignItems: 'center',
padding: THEME.spacing.xl,
borderRadius: THEME.borderRadius.lg,
backgroundColor: 'rgba(5, 5, 16, 0.85)',
borderWidth: 1,
borderColor: THEME.colors.gradientBorder,
width: '60%',
shadowColor: THEME.colors.gradientGlow,
shadowOffset: { width: 0, height: 0 },
shadowOpacity: 0.4,
shadowRadius: 30,
elevation: 10,
},
logo: {
fontSize: 54,
headerTitle: {
position: 'absolute',
top: 40,
width: '100%',
textAlign: 'center',
fontSize: 48,
fontWeight: '900',
color: THEME.colors.accent,
letterSpacing: 8,
marginBottom: THEME.spacing.sm,
letterSpacing: 6,
textShadowColor: THEME.colors.cyanGlow,
textShadowOffset: { width: 0, height: 0 },
textShadowRadius: 25,
},
welcomeTitle: {
fontSize: 22,
color: THEME.colors.text,
footerInstructions: {
position: 'absolute',
bottom: 40,
width: '100%',
textAlign: 'center',
marginBottom: THEME.spacing.lg,
letterSpacing: 1,
},
divider: {
width: 60,
height: 3,
backgroundColor: THEME.colors.accent,
marginBottom: THEME.spacing.xl,
borderRadius: THEME.borderRadius.sm,
shadowColor: THEME.colors.accent,
shadowOffset: { width: 0, height: 0 },
shadowOpacity: 0.8,
shadowRadius: 8,
},
startButton: {
flexDirection: 'row',
alignItems: 'center',
justifyContent: 'center',
paddingVertical: THEME.spacing.md,
paddingHorizontal: THEME.spacing.xl,
borderRadius: THEME.borderRadius.round,
marginBottom: THEME.spacing.xl,
overflow: 'hidden',
shadowColor: THEME.colors.gradientGlow,
shadowOffset: { width: 0, height: 4 },
shadowOpacity: 0.6,
shadowRadius: 14,
elevation: 8,
},
startButtonText: {
color: THEME.colors.text,
fontSize: 18,
fontSize: 20,
fontWeight: 'bold',
color: THEME.colors.text,
letterSpacing: 2,
},
welcomeFooter: {
fontSize: 14,
color: THEME.colors.textMuted,
letterSpacing: 1,
textShadowColor: 'rgba(0,0,0,0.9)',
textShadowOffset: { width: 0, height: 2 },
textShadowRadius: 15,
},
hudContainer: {
position: 'absolute',
@@ -838,6 +796,8 @@ const styles = StyleSheet.create({
},
confirmGradient: {
flex: 1,
width: '100%',
height: '100%',
alignItems: 'center',
justifyContent: 'center',
},