From 04815c4e60c2f03099f4b2f780ee747af11423c8 Mon Sep 17 00:00:00 2001 From: Linus Rath <139418639+rathlinus@users.noreply.github.com> Date: Sun, 26 Apr 2026 20:31:44 +0200 Subject: [PATCH] feat: add back button handling in SettingsScreen to manage tab selection --- src/screens/SettingsScreenNew2.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/screens/SettingsScreenNew2.tsx b/src/screens/SettingsScreenNew2.tsx index 3471dcce..94c6a9aa 100644 --- a/src/screens/SettingsScreenNew2.tsx +++ b/src/screens/SettingsScreenNew2.tsx @@ -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(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);