1
0
mirror of https://github.com/tooot-app/app synced 2025-06-05 22:19:13 +02:00

Notification working and end of list working

This commit is contained in:
Zhiyuan Zheng
2020-12-12 18:22:22 +01:00
parent 81a21d1d07
commit 2217d3eb5d
9 changed files with 411 additions and 121 deletions

View File

@ -1,9 +1,9 @@
import React, { useMemo } from 'react'
import React from 'react'
import { Pressable, StyleSheet, View } from 'react-native'
import { useNavigation } from '@react-navigation/native'
import TimelineAvatar from './Shared/Avatar'
import HeaderConversation from './Shared/HeaderConversation'
import TimelineHeaderConversation from './Shared/HeaderConversation'
import TimelineContent from './Shared/Content'
import { StyleConstants } from 'src/utils/styles/constants'
@ -14,45 +14,34 @@ export interface Props {
const TimelineConversation: React.FC<Props> = ({ item }) => {
const navigation = useNavigation()
const statusView = useMemo(() => {
return (
<View style={styles.statusView}>
<View style={styles.status}>
<TimelineAvatar uri={item.accounts[0].avatar} id={item.accounts[0].id} />
<View style={styles.details}>
<HeaderConversation
account={item.accounts[0]}
created_at={item.last_status?.created_at}
/>
{/* Can pass toot info to next page to speed up performance */}
<Pressable
onPress={() =>
item.last_status &&
navigation.navigate('Screen-Shared-Toot', {
toot: item.last_status.id
})
}
>
{item.last_status ? (
<TimelineContent
content={item.last_status.content}
emojis={item.last_status.emojis}
mentions={item.last_status.mentions}
spoiler_text={item.last_status.spoiler_text}
// tags={actualStatus.tags}
// style={{ flex: 1 }}
/>
) : (
<></>
)}
</Pressable>
</View>
return (
<View style={styles.statusView}>
<View style={styles.status}>
<TimelineAvatar account={item.accounts[0]} />
<View style={styles.details}>
<TimelineHeaderConversation
account={item.accounts[0]}
created_at={item.last_status?.created_at}
/>
{/* Can pass toot info to next page to speed up performance */}
<Pressable
onPress={() =>
item.last_status &&
navigation.navigate('Screen-Shared-Toot', {
toot: item.last_status.id
})
}
>
{item.last_status ? (
<TimelineContent status={item.last_status} />
) : (
<></>
)}
</Pressable>
</View>
</View>
)
}, [item])
return statusView
</View>
)
}
const styles = StyleSheet.create({