From 67c132d88bdd619a6a1280b99aeab945350a9f1c Mon Sep 17 00:00:00 2001 From: billisdead Date: Mon, 22 Jun 2026 18:51:43 +0200 Subject: [PATCH] fix: add mic to service field, refresh list on screen focus MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit new.tsx: service field was missing its mic button — VoiceField type excluded "service" and the label used a plain Text instead of labelRow(). index.tsx: incident list only loaded on mount; router.back() does not remount the screen so new incidents never appeared. useFocusEffect replaces the one-shot useEffect so the list reloads on every focus. Co-Authored-By: Claude Sonnet 4.6 --- app/index.tsx | 12 +++++++----- app/new.tsx | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/index.tsx b/app/index.tsx index 983046b..ec85399 100644 --- a/app/index.tsx +++ b/app/index.tsx @@ -1,4 +1,4 @@ -import { useEffect, useRef, useState } from "react"; +import { useCallback, useEffect, useRef, useState } from "react"; import { View, Text, @@ -6,7 +6,7 @@ import { Pressable, ActivityIndicator, } from "react-native"; -import { router } from "expo-router"; +import { router, useFocusEffect } from "expo-router"; import { getIncidents } from "@/lib/db"; import { useSettings } from "@/hooks/useSettings"; import type { Incident } from "@/types/incident"; @@ -26,9 +26,11 @@ export default function HomeScreen() { } }, [ready, settings.homeView]); - useEffect(() => { - loadIncidents(); - }, []); + useFocusEffect( + useCallback(() => { + loadIncidents(); + }, []) + ); async function loadIncidents() { setLoading(true); diff --git a/app/new.tsx b/app/new.tsx index 975ba4a..5311b24 100644 --- a/app/new.tsx +++ b/app/new.tsx @@ -46,7 +46,7 @@ const LABEL_STYLE = { letterSpacing: 0.5, } as const; -type VoiceField = "title" | "symptom" | "rootCause" | "fix"; +type VoiceField = "title" | "service" | "symptom" | "rootCause" | "fix"; export default function NewIncidentScreen() { const { editId } = useLocalSearchParams<{ editId?: string }>(); @@ -224,7 +224,7 @@ export default function NewIncidentScreen() { returnKeyType="next" /> - Service + {labelRow("Service", "service")}