Add on-device logger

This commit is contained in:
2026-05-31 14:44:48 +02:00
parent b4c5578e8c
commit 2ebb4a6f01
4 changed files with 152 additions and 16 deletions
+18 -4
View File
@@ -4,7 +4,15 @@ 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';
import { loadSettings, AppSettings } from './src/services/settings';
import { loadSettings, saveSettings, AppSettings } from './src/services/settings';
import { logger } from './src/services/logger';
// Set up global error handler
const defaultErrorHandler = (global as any).ErrorUtils.getGlobalHandler();
(global as any).ErrorUtils.setGlobalHandler(async (error: any, isFatal: boolean) => {
await logger.error(`Unhandled Exception (Fatal: ${isFatal})`, error);
defaultErrorHandler(error, isFatal);
});
import KioskMode from './modules/kiosk-mode';
type ScreenState = 'home' | 'camera' | 'preview' | 'admin';
@@ -42,9 +50,15 @@ export default function App() {
setCurrentScreen('camera');
};
const handlePhotoCaptured = (uri: string) => {
setPhotoUris((prev) => [...prev, uri]);
setCurrentScreen('preview');
const handlePhotoCaptured = async (uri: string) => {
await logger.log(`Photo captured via CameraScreen: ${uri}`);
try {
setPhotoUris((prev) => [...prev, uri]);
setCurrentScreen('preview');
await logger.log('State updated to preview screen successfully.');
} catch (e) {
await logger.error('Error transitioning to preview screen:', e);
}
};
// Called by CameraScreen when burst mode completes all photos