feat: add back button handling in SettingsScreen to manage tab selection

This commit is contained in:
Linus Rath
2026-04-26 20:31:44 +02:00
parent fbfb887e0a
commit 04815c4e60
+11 -2
View File
@@ -1,5 +1,5 @@
import React, { useState } from 'react';
import { View, Text, StyleSheet, ScrollView, Pressable } from 'react-native';
import React, { useEffect, useState } from 'react';
import { View, Text, StyleSheet, ScrollView, Pressable, BackHandler } from 'react-native';
import { SafeAreaView } from 'react-native-safe-area-context';
import {
ArrowLeft, LogOut, Settings, ChevronRight,
@@ -98,6 +98,15 @@ export default function SettingsScreen({ onLogout, onBack, onTabSelect }: Settin
const [selectedTab, setSelectedTab] = useState<Tab | null>(null);
const groupedTabs = groupTabs();
useEffect(() => {
if (!selectedTab) return;
const sub = BackHandler.addEventListener('hardwareBackPress', () => {
setSelectedTab(null);
return true;
});
return () => sub.remove();
}, [selectedTab]);
const handleTabPress = (tab: TabDef) => {
if (!tab.implemented) return;
setSelectedTab(tab.id);