From 56985f8f6a87f898c92a2f9c623d68259c15582d Mon Sep 17 00:00:00 2001 From: Chris-1010 <122332721@umail.ucc.ie> Date: Thu, 27 Feb 2025 14:15:19 +0000 Subject: [PATCH] REFACTOR: Use `StreamType` instead of `StreamDataProps` on `VideoPage` --- frontend/src/pages/VideoPage.tsx | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/frontend/src/pages/VideoPage.tsx b/frontend/src/pages/VideoPage.tsx index 02a7b73..11e91c2 100644 --- a/frontend/src/pages/VideoPage.tsx +++ b/frontend/src/pages/VideoPage.tsx @@ -10,6 +10,7 @@ import { SocketProvider } from "../context/SocketContext"; import { useAuthModal } from "../hooks/useAuthModal"; import { useFollow } from "../hooks/useFollow"; import { useChat } from "../context/ChatContext"; +import { StreamType } from "../types/StreamType"; // Lazy load the CheckoutForm component const CheckoutForm = lazy(() => import("../components/Checkout/CheckoutForm")); @@ -18,17 +19,10 @@ interface VideoPageProps { streamerId: number; } -interface StreamDataProps { - streamTitle: string; - streamerName: string; - startTime: string; - categoryName: string; -} - const VideoPage: React.FC = ({ streamerId }) => { const { isLoggedIn } = useAuth(); const { streamerName } = useParams<{ streamerName: string }>(); - const [streamData, setStreamData] = useState(); + const [streamData, setStreamData] = useState(); const [viewerCount, setViewerCount] = useState(0); const { showSideBar } = useSidebar(); const { isFollowing, checkFollowStatus, followUser, unfollowUser } = @@ -66,11 +60,14 @@ const VideoPage: React.FC = ({ streamerId }) => { res .json() .then((data) => { - const transformedData: StreamDataProps = { - streamerName: data.username, - streamTitle: data.title, + const transformedData: StreamType = { + type: "stream", + id: data.stream_id, + username: data.username, + title: data.title, startTime: data.start_time, - categoryName: data.category_name, + streamCategory: data.category_name, + viewers: data.viewers, }; setStreamData(transformedData); @@ -134,7 +131,6 @@ const VideoPage: React.FC = ({ streamerId }) => { fetch(`/api/user/subscription/${streamerName}/expiration`) .then((response) => response.json()) .then((data) => { - console.log(streamData?.streamerName, data.remaining_time); if (data.remaining_time > 0) { setIsSubscribed(true); } @@ -183,17 +179,17 @@ const VideoPage: React.FC = ({ streamerId }) => { className="text-white font-bold hover:underline mt-[0.5em]" onClick={() => navigate(`/user/${streamerName}`)} > - {streamData ? streamData.streamerName : "Loading..."} + {streamerName} {/* Stream Title */}

- {streamData ? streamData.streamTitle : "Loading..."} + {streamData ? streamData.title : "Loading..."}

- {streamData ? streamData.categoryName : "Loading..."} + {streamData ? streamData.streamCategory : "Loading..."}