+
-
-
-
-
-
{data.weight_name}
-
{timeAgo}
-
-
+
+
+
+
+
+ {data.weight_name}
+
+
{timeAgo}
+
+
+
+
-
-
+ >
+ )}
+
+ {type === "weights" && (
+ <>
+

+
+
+
+
+
+
+
+
+ {data.weight_name}
+
+
{timeAgo}
+
+
+
+
+
+
+ >
+ )}
);
}
diff --git a/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/NewProfilePage.tsx b/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/NewProfilePage.tsx
index bd8f6c82f1..00285a4dd8 100644
--- a/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/NewProfilePage.tsx
+++ b/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/NewProfilePage.tsx
@@ -47,6 +47,7 @@ import Container from "components/common/Container";
import Tabs from "components/common/Tabs";
import MediaTab from "./tabs/MediaTab";
import WeightsTab from "./tabs/WeightsTab";
+import BookmarksTab from "./tabs/BookmarksTab";
interface Props {
sessionWrapper: SessionWrapper;
@@ -368,7 +369,7 @@ function NewProfilePage(this: any, props: Props) {
{
to: `/profile/${username}/bookmarks`,
label: "Bookmarks",
- content:
Bookmarks
,
+ content:
,
icon: faBookmark,
},
];
diff --git a/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/BookmarksTab.tsx b/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/BookmarksTab.tsx
new file mode 100644
index 0000000000..1266cc1451
--- /dev/null
+++ b/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/BookmarksTab.tsx
@@ -0,0 +1,58 @@
+import React, { useRef, useState } from "react";
+import MasonryGrid from "components/common/MasonryGrid/MasonryGrid";
+import AudioCard from "components/common/Card/AudioCard";
+import ImageCard from "components/common/Card/ImageCard";
+import VideoCard from "components/common/Card/VideoCard";
+import Panel from "components/common/Panel";
+import AudioPlayerProvider from "components/common/AudioPlayer/AudioPlayerContext";
+import SkeletonCard from "components/common/Card/SkeletonCard";
+import mockWeightsData from "./mockWeightsData";
+
+export default function BookmarksTab() {
+ const [data, setData] = useState(mockWeightsData);
+ const [hasMore, setHasMore] = useState(true);
+ const [isLoading, setIsLoading] = useState(false);
+
+ const gridContainerRef = useRef
(null);
+
+ return (
+
+
+ {isLoading ? (
+
+ {Array.from({ length: 6 }).map((_, index) => (
+
+ ))}
+
+ ) : (
+ console.log("Layout complete!")}
+ >
+ {data.map((data, index) => {
+ let card;
+ switch (data.media_type) {
+ case "audio":
+ card = ;
+ break;
+ case "image":
+ card = ;
+ break;
+ case "video":
+ card = ;
+ break;
+ default:
+ card = Unsupported media type
;
+ }
+ return (
+
+ {card}
+
+ );
+ })}
+
+ )}
+
+
+ );
+}
diff --git a/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/MediaTab.tsx b/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/MediaTab.tsx
index b2cb108ea1..4244295569 100644
--- a/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/MediaTab.tsx
+++ b/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/MediaTab.tsx
@@ -71,7 +71,7 @@ export default function MediaTab() {
card = ;
break;
case "video":
- card = ;
+ card = ;
break;
default:
card = Unsupported media type
;
diff --git a/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/WeightsTab.tsx b/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/WeightsTab.tsx
index 942973c76e..cbc9ddac0a 100644
--- a/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/WeightsTab.tsx
+++ b/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/WeightsTab.tsx
@@ -12,7 +12,7 @@ import {
} from "@fortawesome/pro-solid-svg-icons";
import SkeletonCard from "components/common/Card/SkeletonCard";
-export default function MediaTab() {
+export default function WeightsTab() {
const [data, setData] = useState(mockWeightsData);
const [isLoading, setIsLoading] = useState(false);
@@ -68,7 +68,7 @@ export default function MediaTab() {
card = ;
break;
case "video":
- card = ;
+ card = ;
break;
default:
card = Unsupported media type
;