import { View, Text, StyleSheet, ScrollView, Pressable } from 'react-native' import { useEffect, useState } from 'react' import axios from 'axios' import { useAuthStore, useSubscription } from '../store' import { useRouter } from 'expo-router' const Separator = () => const styles = StyleSheet.create({ separator: { borderBottomColor: '#cccccc', borderBottomWidth: 1 }, entryItem: { padding: 16, gap: 4 }, entryTitle: { fontSize: 20 }, entryMetadata: { color: '#aaaaaa' } }) export default function FeedListView() { const router = useRouter() const { credential } = useAuthStore() const { fetch: fetchSubs, subscriptions } = useSubscription() fetchSubs() const [entries, setEntries] = useState([]) useEffect(() => { if (!credential) return fetchList() }, []) async function fetchList() { try { const res = await axios.get("https://api.feedbin.com/v2/entries.json", { auth: credential }) const entriesRes = res.data as Entry[] setEntries(entriesRes) } catch (e) { console.log("`fetchList has an error`") console.log(e) } } function goToPost(entryId: number) { router.push(`./post?id=${entryId}`) } return ( { entries.length > 0 ? entries.map(entry => goToPost(entry.id)}> {entry.title} {entry.author && {entry.author} · }{subscriptions[entry.feed_id].title} ) : No entries } ) }