Fix iOS crash, storage, and printing issues; setup apk build
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import { StyleSheet, View, SafeAreaView, StatusBar } from 'react-native';
|
||||
import { GestureHandlerRootView } from 'react-native-gesture-handler';
|
||||
import CameraScreen from './src/screens/CameraScreen';
|
||||
import PreviewScreen from './src/screens/PreviewScreen';
|
||||
import AdminScreen from './src/screens/AdminScreen';
|
||||
@@ -46,6 +47,12 @@ export default function App() {
|
||||
setCurrentScreen('preview');
|
||||
};
|
||||
|
||||
// Called by CameraScreen when burst mode completes all photos
|
||||
const handleBurstComplete = (uris: string[]) => {
|
||||
setPhotoUris((prev) => [...prev, ...uris]);
|
||||
setCurrentScreen('preview');
|
||||
};
|
||||
|
||||
const handleRetakeLast = () => {
|
||||
// Remove last captured photo
|
||||
const updatedUris = [...photoUris];
|
||||
@@ -85,8 +92,11 @@ export default function App() {
|
||||
<CameraScreen
|
||||
countdownDuration={settings.countdownDuration}
|
||||
onPhotoCaptured={handlePhotoCaptured}
|
||||
onBurstComplete={handleBurstComplete}
|
||||
onCancel={handleReset}
|
||||
isIdle={false}
|
||||
burstCount={settings.burstCount}
|
||||
burstIntervalSec={settings.burstIntervalSec}
|
||||
/>
|
||||
);
|
||||
case 'preview':
|
||||
@@ -97,6 +107,11 @@ export default function App() {
|
||||
onRetakeLast={handleRetakeLast}
|
||||
onAddAnother={handleAddAnother}
|
||||
onReset={handleReset}
|
||||
frameMode={settings.frameMode}
|
||||
initialFrameId={settings.selectedFrameId}
|
||||
dateOverlay={settings.dateOverlay}
|
||||
dateOverlayPosition={settings.dateOverlayPosition}
|
||||
eventText={settings.eventText}
|
||||
/>
|
||||
);
|
||||
case 'admin':
|
||||
@@ -112,32 +127,38 @@ export default function App() {
|
||||
<CameraScreen
|
||||
countdownDuration={settings.countdownDuration}
|
||||
onPhotoCaptured={handlePhotoCaptured}
|
||||
onBurstComplete={handleBurstComplete}
|
||||
onCancel={handleReset}
|
||||
isIdle={true}
|
||||
onStartBooth={handleStartBooth}
|
||||
onNavigateToAdmin={handleOpenAdmin}
|
||||
adminPassword={settings.adminPassword}
|
||||
welcomeText={settings.welcomeText}
|
||||
burstCount={settings.burstCount}
|
||||
burstIntervalSec={settings.burstIntervalSec}
|
||||
/>
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<SafeAreaView style={styles.container}>
|
||||
<StatusBar hidden={true} />
|
||||
{renderScreen()}
|
||||
</SafeAreaView>
|
||||
<GestureHandlerRootView style={styles.container}>
|
||||
<SafeAreaView style={styles.container}>
|
||||
<StatusBar hidden={true} />
|
||||
{renderScreen()}
|
||||
</SafeAreaView>
|
||||
</GestureHandlerRootView>
|
||||
);
|
||||
}
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
container: {
|
||||
flex: 1,
|
||||
backgroundColor: '#000000',
|
||||
backgroundColor: '#050510',
|
||||
},
|
||||
loadingContainer: {
|
||||
flex: 1,
|
||||
backgroundColor: '#050507',
|
||||
backgroundColor: '#050510',
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user