// screens/OddsScreen.tsx
import React, { useEffect, useState } from 'react';
import { ScrollView, Text, View, StyleSheet } from 'react-native';
import { apiGet } from '../api/fieldfunded';
interface Market {
id: string;
name: string;
selections: { id: string; name: string; odds: number }[];
}
export function OddsScreen({ route }: any) {
const { eventId } = route.params;
const [markets, setMarkets] = useState<Market[]>([]);
useEffect(() => {
apiGet<{ markets: Market[] }>(`/events/${eventId}/odds`)
.then(data => setMarkets(data.markets || []));
}, [eventId]);
return (
<ScrollView style={styles.container}>
{markets.map(market => (
<View key={market.id} style={styles.marketCard}>
<Text style={styles.marketName}>{market.name}</Text>
{market.selections.map(sel => (
<View key={sel.id} style={styles.selectionRow}>
<Text style={styles.selName}>{sel.name}</Text>
<Text style={styles.odds}>{sel.odds.toFixed(2)}</Text>
</View>
))}
</View>
))}
</ScrollView>
);
}
const styles = StyleSheet.create({
container: { flex: 1, padding: 16 },
marketCard: { marginBottom: 16, padding: 12, backgroundColor: '#f9f9f9', borderRadius: 8 },
marketName: { fontSize: 14, fontWeight: '700', marginBottom: 8 },
selectionRow: { flexDirection: 'row', justifyContent: 'space-between', paddingVertical: 6 },
selName: { fontSize: 14 },
odds: { fontSize: 14, fontWeight: '600', color: '#2563eb' },
});