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}
- ;
+
+
+
}