@@ -48,31 +48,34 @@ export default function CatalogScreen({ navigation }: any) {
4848 } ) ;
4949
5050 return (
51- < SafeAreaView style = { styles . safeArea } >
51+ < SafeAreaView style = { styles . safeArea } accessibilityLabel = "screen-catalog" testID = "screen-catalog" >
5252 < StatusBar barStyle = "light-content" backgroundColor = "#0F0F0F" />
5353
5454 < LocationHeader onProfilePress = { ( ) => navigation . navigate ( "Profile" ) } />
5555
5656 < ScrollView
5757 contentContainerStyle = { styles . scrollContent }
5858 showsVerticalScrollIndicator = { false }
59+ accessibilityLabel = "scroll-catalog"
5960 >
6061 { /* Search Bar */ }
61- < View style = { styles . searchContainer } >
62- < View style = { styles . searchBar } >
63- < Text style = { { fontSize : 16 } } > 🔍</ Text >
62+ < View style = { styles . searchContainer } accessibilityLabel = "view-search-container" >
63+ < View style = { styles . searchBar } accessibilityLabel = "view-search-bar" >
64+ < Text style = { { fontSize : 16 } } accessibilityLabel = "icon-search" > 🔍</ Text >
6465 < TextInput
6566 placeholder = { t ( "searchPlaceholder" ) }
6667 placeholderTextColor = { Colors . text . muted }
6768 style = { styles . input }
6869 value = { searchQuery }
6970 onChangeText = { setSearchQuery }
71+ testID = "input-search-pizza"
72+ accessibilityLabel = "input-search-pizza"
7073 />
7174 </ View >
7275 </ View >
7376
7477 { /* Categories */ }
75- < View style = { { marginBottom : 24 } } >
78+ < View style = { { marginBottom : 24 } } accessibilityLabel = "view-categories" >
7679 < CategoryPills
7780 selected = { selectedCategory }
7881 onSelect = { setSelectedCategory }
@@ -85,9 +88,9 @@ export default function CatalogScreen({ navigation }: any) {
8588 ) }
8689
8790 { /* List Title */ }
88- < View style = { styles . sectionHeader } >
89- < Text style = { styles . sectionTitle } > Classic Selection</ Text >
90- < Text style = { { color : Colors . text . muted } } > ▼</ Text >
91+ < View style = { styles . sectionHeader } accessibilityLabel = "view-section-header" testID = "view-section-header" >
92+ < Text style = { styles . sectionTitle } accessibilityLabel = "text-section-title" testID = "text-section-title" > Classic Selection</ Text >
93+ < Text style = { { color : Colors . text . muted } } accessibilityLabel = "icon-dropdown" > ▼</ Text >
9194 </ View >
9295
9396 { /* Product List */ }
@@ -96,13 +99,14 @@ export default function CatalogScreen({ navigation }: any) {
9699 size = "large"
97100 color = { Colors . brand . primary }
98101 style = { { marginTop : 40 } }
102+ accessibilityLabel = "loader-catalog"
99103 />
100104 ) : error ? (
101- < Text style = { styles . errorText } >
105+ < Text style = { styles . errorText } accessibilityLabel = "text-catalog-error" testID = "text-catalog-error" >
102106 Unable to load menu. Check connection.
103107 </ Text >
104108 ) : (
105- < View style = { styles . list } >
109+ < View style = { styles . list } accessibilityLabel = "view-pizza-list" >
106110 { filteredPizzas . map ( ( pizza ) => (
107111 < MobileProductCard
108112 key = { pizza . id }
@@ -111,7 +115,7 @@ export default function CatalogScreen({ navigation }: any) {
111115 />
112116 ) ) }
113117 { filteredPizzas . length === 0 && (
114- < Text style = { styles . emptyText } > No pizzas found.</ Text >
118+ < Text style = { styles . emptyText } accessibilityLabel = "text-empty-results" testID = "text-empty-results" > No pizzas found.</ Text >
115119 ) }
116120 </ View >
117121 ) }
0 commit comments