From 674377c11a411868412b9a4877760b879a2a3796 Mon Sep 17 00:00:00 2001 From: Ren Amamiya <123083837+reyamir@users.noreply.github.com> Date: Tue, 21 Feb 2023 20:31:18 +0700 Subject: [PATCH] updated feed content and global newsfeed --- src/components/note/content/index.tsx | 18 ++++++++++++------ src/pages/feed/global.tsx | 3 ++- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/components/note/content/index.tsx b/src/components/note/content/index.tsx index d0aa1b72..c5aeed2d 100644 --- a/src/components/note/content/index.tsx +++ b/src/components/note/content/index.tsx @@ -2,16 +2,15 @@ import ImageCard from '@components/note/content/preview/imageCard'; import Video from '@components/note/content/preview/video'; -import { MarkdownPreviewProps } from '@uiw/react-markdown-preview'; import dynamic from 'next/dynamic'; import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import ReactPlayer from 'react-player'; -const MarkdownPreview = dynamic(() => import('@uiw/react-markdown-preview'), { +const MarkdownPreview = dynamic(() => import('@uiw/react-markdown-preview'), { ssr: false, }); -export default function Content({ data }: { data: string }) { +export default function Content({ data }: { data: any }) { const [preview, setPreview] = useState({}); const content = useRef(data); @@ -25,8 +24,15 @@ export default function Content({ data }: { data: string }) { useEffect(() => { if (urls !== null && urls.length > 0) { - const parseURL = new URL(urls[0]); - + // #TODO: support multiple url + let url = urls[0]; + // make sure url alway have http:// + if (!/^https?:\/\//i.test(url)) { + url = 'http://' + url; + } + // parse url with new URL(); + const parseURL = new URL(url, 'https://uselume.xyz'); + // #TODO performance test if (parseURL.pathname.toLowerCase().match(/\.(jpg|jpeg|gif|png|webp)$/)) { // add image to preview setPreview({ image: parseURL.href, type: 'image' }); @@ -35,7 +41,7 @@ export default function Content({ data }: { data: string }) { // add video to preview setPreview({ url: parseURL.href, type: 'video' }); content.current = content.current.replace(parseURL.href, ''); - } // #TODO: support multiple preview + } // #TODO: support multiple previ3ew } }, [urls]); diff --git a/src/pages/feed/global.tsx b/src/pages/feed/global.tsx index f7764374..0c590cf0 100644 --- a/src/pages/feed/global.tsx +++ b/src/pages/feed/global.tsx @@ -21,9 +21,10 @@ export default function Page() { const { events } = useNostrEvents({ filter: { + until: dateToUnix(now.current), since: dateToUnix(hoursAgo(1, now.current)), kinds: [1], - limit: 100, + limit: 10, }, });