From c6330a02a8b1ab7bf52a8eb868e83d7a75c07be8 Mon Sep 17 00:00:00 2001 From: "plebeius.eth" Date: Mon, 24 Jul 2023 09:59:10 +0200 Subject: [PATCH] fix non-whitelisted subplebbit title and address --- src/components/views/Board.jsx | 11 ++++++++--- src/components/views/Catalog.jsx | 12 +++++++++--- src/components/views/Description.jsx | 16 ++++++++++------ src/components/views/Rules.jsx | 17 +++++++++++------ src/components/views/Thread.jsx | 16 ++++++++++++---- 5 files changed, 50 insertions(+), 22 deletions(-) diff --git a/src/components/views/Board.jsx b/src/components/views/Board.jsx index 4b2c1df6..b7fdbf80 100755 --- a/src/components/views/Board.jsx +++ b/src/components/views/Board.jsx @@ -315,14 +315,19 @@ const Board = () => { }, [allReplies]); - // temporary title from JSON, gets subplebbitAddress from URL useEffect(() => { - setSelectedAddress(subplebbitAddress); const selectedSubplebbit = defaultSubplebbits.find((subplebbit) => subplebbit.address === subplebbitAddress); + if (subplebbitAddress) { + setSelectedAddress(subplebbitAddress); + } else if (subplebbit?.address) { + setSelectedAddress(subplebbit.address) + } if (selectedSubplebbit) { setSelectedTitle(selectedSubplebbit.title); + } else if (subplebbit?.title) { + setSelectedTitle(subplebbit.title); } - }, [subplebbitAddress, setSelectedAddress, setSelectedTitle, defaultSubplebbits]); + }, [subplebbitAddress, setSelectedAddress, setSelectedTitle, defaultSubplebbits, subplebbit?.address, subplebbit?.title]); // sets useFeed to address from URL useEffect(() => { diff --git a/src/components/views/Catalog.jsx b/src/components/views/Catalog.jsx index 842b6181..6b082a76 100755 --- a/src/components/views/Catalog.jsx +++ b/src/components/views/Catalog.jsx @@ -159,14 +159,20 @@ const Catalog = () => { const { subscribed, subscribe, unsubscribe } = useSubscribe({subplebbitAddress: selectedAddress}); - // temporary title from JSON, gets subplebbitAddress from URL + useEffect(() => { - setSelectedAddress(subplebbitAddress); const selectedSubplebbit = defaultSubplebbits.find((subplebbit) => subplebbit.address === subplebbitAddress); + if (subplebbitAddress) { + setSelectedAddress(subplebbitAddress); + } else if (subplebbit?.address) { + setSelectedAddress(subplebbit.address) + } if (selectedSubplebbit) { setSelectedTitle(selectedSubplebbit.title); + } else if (subplebbit?.title) { + setSelectedTitle(subplebbit.title); } - }, [subplebbitAddress, setSelectedAddress, setSelectedTitle, defaultSubplebbits]); + }, [subplebbitAddress, setSelectedAddress, setSelectedTitle, defaultSubplebbits, subplebbit?.address, subplebbit?.title]); // mobile navbar scroll effect useEffect(() => { diff --git a/src/components/views/Description.jsx b/src/components/views/Description.jsx index fb4b92d7..322ac86c 100644 --- a/src/components/views/Description.jsx +++ b/src/components/views/Description.jsx @@ -28,7 +28,7 @@ const Description = () => { isSettingsOpen, setIsSettingsOpen, selectedAddress, setSelectedAddress, selectedStyle, - selectedThread, setSelectedThread, + selectedThread, setSelectedTitle, } = useGeneralStore(state => state); @@ -45,7 +45,7 @@ const Description = () => { const [openMenuCid, setOpenMenuCid] = useState(null); const [isCreateBoardOpen, setIsCreateBoardOpen] = useState(false); - const { subplebbitAddress, threadCid } = useParams(); + const { subplebbitAddress } = useParams(); const subplebbit = useSubplebbit({subplebbitAddress: selectedAddress}); @@ -78,15 +78,19 @@ const Description = () => { }, []); - // temporary title from JSON, gets subplebbitAddress and threadCid from URL useEffect(() => { - setSelectedAddress(subplebbitAddress); - setSelectedThread(threadCid); const selectedSubplebbit = defaultSubplebbits.find((subplebbit) => subplebbit.address === subplebbitAddress); + if (subplebbitAddress) { + setSelectedAddress(subplebbitAddress); + } else if (subplebbit?.address) { + setSelectedAddress(subplebbit.address) + } if (selectedSubplebbit) { setSelectedTitle(selectedSubplebbit.title); + } else if (subplebbit?.title) { + setSelectedTitle(subplebbit.title); } - }, [subplebbitAddress, setSelectedAddress, setSelectedTitle, defaultSubplebbits, setSelectedThread, threadCid]); + }, [subplebbitAddress, setSelectedAddress, setSelectedTitle, defaultSubplebbits, subplebbit?.address, subplebbit?.title]); // mobile navbar scroll effect useEffect(() => { diff --git a/src/components/views/Rules.jsx b/src/components/views/Rules.jsx index e2b40441..db74c9dc 100644 --- a/src/components/views/Rules.jsx +++ b/src/components/views/Rules.jsx @@ -26,7 +26,7 @@ const Rules = () => { isSettingsOpen, setIsSettingsOpen, selectedAddress, setSelectedAddress, selectedStyle, - selectedThread, setSelectedThread, + selectedThread, setSelectedTitle, } = useGeneralStore(state => state); @@ -50,7 +50,7 @@ const Rules = () => { const [openMenuCid, setOpenMenuCid] = useState(null); const [isCreateBoardOpen, setIsCreateBoardOpen] = useState(false); - const { subplebbitAddress, threadCid } = useParams(); + const { subplebbitAddress } = useParams(); const subplebbit = useSubplebbit({subplebbitAddress: selectedAddress}); @@ -83,15 +83,20 @@ const Rules = () => { }, []); - // temporary title from JSON, gets subplebbitAddress and threadCid from URL + useEffect(() => { - setSelectedAddress(subplebbitAddress); - setSelectedThread(threadCid); const selectedSubplebbit = defaultSubplebbits.find((subplebbit) => subplebbit.address === subplebbitAddress); + if (subplebbitAddress) { + setSelectedAddress(subplebbitAddress); + } else if (subplebbit?.address) { + setSelectedAddress(subplebbit.address) + } if (selectedSubplebbit) { setSelectedTitle(selectedSubplebbit.title); + } else if (subplebbit?.title) { + setSelectedTitle(subplebbit.title); } - }, [subplebbitAddress, setSelectedAddress, setSelectedTitle, defaultSubplebbits, setSelectedThread, threadCid]); + }, [subplebbitAddress, setSelectedAddress, setSelectedTitle, defaultSubplebbits, subplebbit?.address, subplebbit?.title]); // mobile navbar scroll effect useEffect(() => { diff --git a/src/components/views/Thread.jsx b/src/components/views/Thread.jsx index aba7946e..ec11aca0 100755 --- a/src/components/views/Thread.jsx +++ b/src/components/views/Thread.jsx @@ -255,15 +255,23 @@ const Thread = () => { setCidTracker(newCidTracker); }, [sortedReplies]); - // temporary title from JSON, gets subplebbitAddress and threadCid from URL + useEffect(() => { - setSelectedAddress(subplebbitAddress); - setSelectedThread(threadCid); const selectedSubplebbit = defaultSubplebbits.find((subplebbit) => subplebbit.address === subplebbitAddress); + if (threadCid) { + setSelectedThread(threadCid); + } + if (subplebbitAddress) { + setSelectedAddress(subplebbitAddress); + } else if (subplebbit?.address) { + setSelectedAddress(subplebbit.address) + } if (selectedSubplebbit) { setSelectedTitle(selectedSubplebbit.title); + } else if (subplebbit?.title) { + setSelectedTitle(subplebbit.title); } - }, [subplebbitAddress, setSelectedAddress, setSelectedTitle, defaultSubplebbits, setSelectedThread, threadCid]); + }, [subplebbitAddress, threadCid, defaultSubplebbits, subplebbit, setSelectedThread, setSelectedAddress, setSelectedTitle]); // mobile navbar scroll effect useEffect(() => {