From 0531e6022279c8630f6b13379c0219b7b77556c4 Mon Sep 17 00:00:00 2001 From: rakhimovkamran Date: Fri, 13 Sep 2024 17:47:02 +0500 Subject: [PATCH] | Fixed price and add button to upload own content --- src/pages/view-content/index.tsx | 23 +++++-- src/shared/services/auth/index.ts | 101 ++++++++++++++++++------------ 2 files changed, 80 insertions(+), 44 deletions(-) diff --git a/src/pages/view-content/index.tsx b/src/pages/view-content/index.tsx index 3d39c80..52b4204 100644 --- a/src/pages/view-content/index.tsx +++ b/src/pages/view-content/index.tsx @@ -5,13 +5,13 @@ import { useWebApp } from "@vkruglikov/react-telegram-web-app"; import { Button } from "~/shared/ui/button"; import { usePurchaseContent, useViewContent } from "~/shared/services/content"; import { fromNanoTON } from "~/shared/utils"; -import { useCallback } from "react"; +import {useCallback, useEffect, useMemo} from "react"; import { AudioPlayer } from "~/shared/ui/audio-player"; export const ViewContentPage = () => { const WebApp = useWebApp(); - const { data: content } = useViewContent(WebApp.initDataUnsafe?.start_param); + const { data: content, refetch: refetchContent } = useViewContent(WebApp.initDataUnsafe?.start_param); const { mutateAsync: purchaseContent } = usePurchaseContent(); @@ -50,6 +50,20 @@ export const ViewContentPage = () => { } }, [content]); + const haveLicense = useMemo(() => { + return content?.data?.have_licenses?.includes("listen") || content?.data?.have_licenses?.includes("resale") + }, [content]) + + useEffect(() => { + const interval = setInterval(() => { + void refetchContent() + }, 5000) + + return () => clearInterval(interval) + }, []); + + + return (
{content?.data?.display_options?.metadata?.image && ( @@ -69,7 +83,7 @@ export const ViewContentPage = () => { playsinline={true} controls={true} width="100%" - config={{ file: { attributes: { playsInline: true } } }} + config={{ file: { attributes: { playsInline: true, } }, }} url={content?.data?.display_options?.content_url} /> )} @@ -85,12 +99,13 @@ export const ViewContentPage = () => {

-