diff --git a/assets/images/avatar-default.svg b/assets/images/avatar-default.svg new file mode 100644 index 0000000..790dfec --- /dev/null +++ b/assets/images/avatar-default.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + diff --git a/src/components/FeedPost.tsx b/src/components/FeedPost.tsx index 086c25c..1508ced 100644 --- a/src/components/FeedPost.tsx +++ b/src/components/FeedPost.tsx @@ -1,9 +1,69 @@ -import { View } from "react-native"; +import { Pressable, StyleSheet, View } from "react-native"; import { Post } from "../lib/post"; import { Text } from "./primitive/Text"; +import { Profile } from "../lib/profile"; +import { Image } from "expo-image"; +import { useState } from "react"; +import { useRouter } from "expo-router"; + +const styles = StyleSheet.create({ + postHeader: { + backgroundColor: '#434343', + borderTopRightRadius: 5, + borderTopLeftRadius: 5, + padding: 10, + paddingHorizontal: 15, + margin: 0, + display: 'flex', + flexDirection: 'row', + alignItems: 'center', + gap: 10 + }, + postHeaderHovered: { + backgroundColor: '#5a5a5a' + }, + + postBody: { + backgroundColor: '#434343', + padding: 10, + paddingHorizontal: 15, + margin: 0, + gap: 10, + + borderTopWidth: 1, + borderBottomWidth: 1, + borderColor: '#313131' + } +}) + +function PostHeader({ profile }: { profile: Profile }) { + const [hovered, setHovered] = useState(false) + + const router = useRouter() + const onPress = () => { + // TODO: This should go to the post, not the author's page + router.navigate(`/blog/${profile.handle}`) + } + + return setHovered(true)} + onHoverOut={() => setHovered(false)} + onPress={onPress}> + + {profile.handle} + +} + +function PostBody({ post } : { post: Post }) { + return (post.text !== '') && + {post.text} + +} export default function FeedPost({ post }: { post: Post }) { return - {post.text} - ; + + + }