From ac6fb3cb55586b54ec136b4243ace73f5f13b1e3 Mon Sep 17 00:00:00 2001 From: Ren Amamiya <123083837+reyamir@users.noreply.github.com> Date: Sun, 23 Apr 2023 10:13:38 +0700 Subject: [PATCH] fixed remain errors --- src/pages/create-channel/index.page.tsx | 9 +++++++++ src/pages/newsfeed/circle/index.page.tsx | 10 +++++++++- src/utils/hooks/useProfileMetadata.tsx | 12 ++++++++++-- src/utils/parser.tsx | 6 +++--- 4 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 src/pages/create-channel/index.page.tsx diff --git a/src/pages/create-channel/index.page.tsx b/src/pages/create-channel/index.page.tsx new file mode 100644 index 00000000..40b2af7f --- /dev/null +++ b/src/pages/create-channel/index.page.tsx @@ -0,0 +1,9 @@ +import NewsfeedLayout from '@components/layouts/newsfeed'; + +export function Page() { + return ( + +

TODO

+
+ ); +} diff --git a/src/pages/newsfeed/circle/index.page.tsx b/src/pages/newsfeed/circle/index.page.tsx index e7c8b9ac..2155c72e 100644 --- a/src/pages/newsfeed/circle/index.page.tsx +++ b/src/pages/newsfeed/circle/index.page.tsx @@ -1,3 +1,11 @@ +import NewsfeedLayout from '@components/layouts/newsfeed'; + export function Page() { - return <>; + return ( + +
+

Sorry, this feature under development, it will come in the next version

+
+
+ ); } diff --git a/src/utils/hooks/useProfileMetadata.tsx b/src/utils/hooks/useProfileMetadata.tsx index c64d108b..191f1008 100644 --- a/src/utils/hooks/useProfileMetadata.tsx +++ b/src/utils/hooks/useProfileMetadata.tsx @@ -1,8 +1,10 @@ +import { RelayContext } from '@components/relaysProvider'; + import { createPleb } from '@utils/storage'; import useLocalStorage from '@rehooks/local-storage'; import { fetch } from '@tauri-apps/api/http'; -import { useCallback, useEffect, useMemo, useState } from 'react'; +import { useCallback, useContext, useEffect, useMemo, useState } from 'react'; export const fetchProfileMetadata = async (pubkey: string) => { const result = await fetch(`https://rbr.bio/${pubkey}/metadata.json`, { @@ -13,6 +15,7 @@ export const fetchProfileMetadata = async (pubkey: string) => { }; export const useProfileMetadata = (pubkey: string) => { + const [pool, relays]: any = useContext(RelayContext); const [activeAccount]: any = useLocalStorage('account', {}); const [plebs] = useLocalStorage('plebs', []); const [profile, setProfile] = useState(null); @@ -37,11 +40,16 @@ export const useProfileMetadata = (pubkey: string) => { return createPleb(pubkey, metadata); }, []); + const fetchProfileFromRelays = useCallback(async (pubkey: string) => { + const result = await pool.fetchAndCacheMetadata(pubkey, relays); + return result; + }, []); + useEffect(() => { let ignore = false; if (!cacheProfile && !ignore) { - fetchProfileMetadata(pubkey) + fetchProfileFromRelays(pubkey) .then((res: any) => { // update state setProfile(JSON.parse(res.content)); diff --git a/src/utils/parser.tsx b/src/utils/parser.tsx index d815e15f..87b00e36 100644 --- a/src/utils/parser.tsx +++ b/src/utils/parser.tsx @@ -38,13 +38,13 @@ export const contentParser = (noteContent, noteTags) => { )); // handle mentions if (tags && tags.length > 0) { - parsedContent = reactStringReplace(parsedContent, /\#\[(\d+)\]/gm, (match) => { + parsedContent = reactStringReplace(parsedContent, /\#\[(\d+)\]/gm, (match, i) => { if (tags[match][0] === 'p') { // @-mentions - return ; + return ; } else if (tags[match][0] === 'e') { // note-quotes - return ; + return ; } else { return; }