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 }
)
}