import React from 'react' import { View, Text, Pressable, ScrollView, StyleSheet, ViewStyle, } from 'react-native' import { DownArrowIcon } from '@/components/icon' interface TabNavigationProps { tabs: string[] activeIndex: number onTabPress: (index: number) => void showArrow?: boolean onArrowPress?: () => void isSticky?: boolean wrapperStyle?: ViewStyle onLayout?: (y: number, height: number) => void } export function TabNavigation({ tabs, activeIndex, onTabPress, showArrow = false, onArrowPress, isSticky = false, wrapperStyle, onLayout, }: TabNavigationProps): JSX.Element { return ( { const { y, height } = e.nativeEvent.layout onLayout?.(y, height) }} > {tabs.map((tab, index) => ( onTabPress(index)} > {tab} ))} {showArrow && ( )} ) } const styles = StyleSheet.create({ tabsWrapper: { paddingHorizontal: 16, paddingVertical: 8, backgroundColor: '#090A0B', }, stickyWrapper: { position: 'absolute', top: 0, left: 0, right: 0, zIndex: 100, }, tabsContainer: { flexDirection: 'row', alignItems: 'center', }, tabsScrollContent: { gap: 8, }, tab: { paddingHorizontal: 16, paddingVertical: 8, borderRadius: 20, backgroundColor: '#1C1E22', }, activeTab: { backgroundColor: '#F5F5F5', }, tabText: { color: '#F5F5F5', fontSize: 14, fontWeight: '500', }, activeTabText: { color: '#090A0B', }, tabArrow: { marginLeft: 8, padding: 8, backgroundColor: '#1C1E22', borderRadius: 20, }, })