diff --git a/code/frontend/src/components/Post.tsx b/code/frontend/src/components/Post.tsx
index 372a074..edaa81e 100644
--- a/code/frontend/src/components/Post.tsx
+++ b/code/frontend/src/components/Post.tsx
@@ -18,7 +18,9 @@ import MoreVertIcon from '@mui/icons-material/MoreVert';
interface ExpandMoreProps extends IconButtonProps {
expand: boolean;
}
-
+interface PostProps {
+ postId: number;
+}
const ExpandMore = styled((props: ExpandMoreProps) => {
const { expand, ...other } = props;
return ;
@@ -43,19 +45,26 @@ const ExpandMore = styled((props: ExpandMoreProps) => {
],
}));
-export default function Post() {
+export default function Post({postId}: PostProps) {
const [expanded, setExpanded] = React.useState(false);
+ const content = "Fetch content here";
+ const expandedContent = "Fetch expanded here"
+ const title = "Fetch heading here";
+ const createdAt = "Fetch created at here";
+ const user = "Fetch user here";
+ const media = "Fetch media here (path)";
const handleExpandClick = () => {
setExpanded(!expanded);
};
+
return (
- R
+
+ {user ? user.charAt(0).toUpperCase() : 'U'} //Todo: when fetching change to user.name or sth
}
action={
@@ -63,20 +72,17 @@ export default function Post() {
}
- title="Shrimp and Chorizo Paella"
- subheader="September 14, 2016"
+ title={title}
+ subheader= {createdAt}
/>
- This impressive paella is a perfect party dish and a fun meal to cook
- together with your guests. Add 1 cup of frozen peas along with the mussels,
- if you like.
+ {content}
@@ -97,31 +103,7 @@ export default function Post() {
- Method:
-
- Heat 1/2 cup of the broth in a pot until simmering, add saffron and set
- aside for 10 minutes.
-
-
- Heat oil in a (14- to 16-inch) paella pan or a large, deep skillet over
- medium-high heat. Add chicken, shrimp and chorizo, and cook, stirring
- occasionally until lightly browned, 6 to 8 minutes. Transfer shrimp to a
- large plate and set aside, leaving chicken and chorizo in the pan. Add
- pimentón, bay leaves, garlic, tomatoes, onion, salt and pepper, and cook,
- stirring often until thickened and fragrant, about 10 minutes. Add
- saffron broth and remaining 4 1/2 cups chicken broth; bring to a boil.
-
-
- Add rice and stir very gently to distribute. Top with artichokes and
- peppers, and cook without stirring, until most of the liquid is absorbed,
- 15 to 18 minutes. Reduce heat to medium-low, add reserved shrimp and
- mussels, tucking them down into the rice, and cook again without
- stirring, until mussels have opened and rice is just tender, 5 to 7
- minutes more. (Discard any mussels that don't open.)
-
-
- Set aside off of the heat to let rest for 10 minutes, and then serve.
-
+ {expandedContent}
diff --git a/code/frontend/src/components/feed/Feed.tsx b/code/frontend/src/components/feed/Feed.tsx
index b878629..6bf3dd2 100644
--- a/code/frontend/src/components/feed/Feed.tsx
+++ b/code/frontend/src/components/feed/Feed.tsx
@@ -1,7 +1,6 @@
import React, { useState, useEffect, useRef } from "react";
-import TestPost from "../../TestPost";
-import "./feed.css";
import Post from "../Post";
+import "./feed.css";
function Feed() {
const [posts, setPosts] = useState([]);
@@ -10,19 +9,25 @@ function Feed() {
const feedRef = useRef(null);
const PAGE_SIZE = 10;
+ // Dummy fetch function that simulates loading posts by ID
const fetchPosts = () => {
if (loading) return;
setLoading(true);
-//random shit to differentiate test posts
+
setTimeout(() => {
setPosts((prev) => {
const newPosts = [];
for (let i = 0; i < PAGE_SIZE; i++) {
- newPosts.push(Math.floor(Math.random() * 100) + 1);
+ newPosts.push(prev.length + i + 1);
}
return [...prev, ...newPosts];
});
setLoading(false);
+
+ // Stop after 50 posts, just as an example
+ if (posts.length + PAGE_SIZE >= 50) {
+ setHasMore(false);
+ }
}, 800);
};
@@ -49,13 +54,12 @@ function Feed() {
return (
-
-
^
-
- {posts.map((postId, idx) => (
-
+
+ {posts.map((postId) => (
+
))}
{loading && Loading more posts...
}
+ {!hasMore && No more posts
}
);
diff --git a/code/frontend/src/components/feed/feed.css b/code/frontend/src/components/feed/feed.css
index 6762b87..880344d 100644
--- a/code/frontend/src/components/feed/feed.css
+++ b/code/frontend/src/components/feed/feed.css
@@ -28,7 +28,7 @@
/* Desktop responsive behavior */
@media (min-width: 768px) {
.feedContent {
- width: 600px;
+ width: 400px;
margin: 0 auto;
padding: 2rem 0;
}
diff --git a/code/frontend/src/TestPost.tsx b/code/frontend/src/testStuff/TestPost.tsx
similarity index 100%
rename from code/frontend/src/TestPost.tsx
rename to code/frontend/src/testStuff/TestPost.tsx
diff --git a/code/frontend/src/testPost.css b/code/frontend/src/testStuff/testPost.css
similarity index 100%
rename from code/frontend/src/testPost.css
rename to code/frontend/src/testStuff/testPost.css