From d0fbf78633d6fa9ca2720f3d79b513ff2c67e3d7 Mon Sep 17 00:00:00 2001 From: "plebeius.eth" Date: Tue, 30 Jan 2024 14:23:46 +0100 Subject: [PATCH 1/4] improve subplebbits view render logic, better naming --- src/lib/utils/challenge-utils.ts | 2 +- src/views/subplebbits/subplebbits.tsx | 40 ++++++++++++--------------- 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/src/lib/utils/challenge-utils.ts b/src/lib/utils/challenge-utils.ts index 4dbff488..3ef8817a 100644 --- a/src/lib/utils/challenge-utils.ts +++ b/src/lib/utils/challenge-utils.ts @@ -78,7 +78,7 @@ export const getDefaultChallengeDescription = (challengeType: string) => { case 'text-math': return 'Ask a plain text math question, insecure, use ONLY for testing.'; case 'captcha-canvas-v3': - return 'Make a custom image captcha'; + return 'make custom image captcha'; case 'fail': return 'A challenge that automatically fails with a custom error message.'; case 'blacklist': diff --git a/src/views/subplebbits/subplebbits.tsx b/src/views/subplebbits/subplebbits.tsx index f9b4a715..10da8f52 100644 --- a/src/views/subplebbits/subplebbits.tsx +++ b/src/views/subplebbits/subplebbits.tsx @@ -188,48 +188,42 @@ const Subplebbit = ({ subplebbit }: SubplebbitProps) => { }; const AccountSubplebbits = ({ viewRole }: { viewRole: string }) => { - const { accountSubplebbits } = useAccountSubplebbits(); const account = useAccount(); + const { accountSubplebbits } = useAccountSubplebbits(); - const filteredSubplebbits = useMemo(() => { + const filteredSubplebbitsArray = useMemo(() => { return Object.values(accountSubplebbits).filter((subplebbit) => { const userRole = (subplebbit as any).roles?.[account?.author?.address]?.role; return userRole === viewRole; }); }, [accountSubplebbits, account, viewRole]); - return filteredSubplebbits.map((subplebbit, index) => ); + return filteredSubplebbitsArray.map((subplebbit, index) => ); }; const SubscriberSubplebbits = () => { const account = useAccount(); - const { subplebbits } = useSubplebbits({ subplebbitAddresses: account?.subscriptions || [] }); + const { subplebbits } = useSubplebbits({ subplebbitAddresses: account?.subscriptions }); const subplebbitsArray = useMemo(() => Object.values(subplebbits), [subplebbits]); return subplebbitsArray?.map((subplebbit, index) => ); }; -const ApprovedSubplebbits = () => { - const defaultSubplebbitAddresses = useDefaultSubplebbitAddresses(); - const { subplebbits } = useSubplebbits({ subplebbitAddresses: defaultSubplebbitAddresses || [] }); +const AllDefaultSubplebbits = () => { + const subplebbitAddresses = useDefaultSubplebbitAddresses(); + const { subplebbits } = useSubplebbits({ subplebbitAddresses }); const subplebbitsArray = useMemo(() => Object.values(subplebbits), [subplebbits]); return subplebbitsArray?.map((subplebbit, index) => ); }; -const AccountAndSubscriberSubplebbits = () => { - const { accountSubplebbits } = useAccountSubplebbits(); +const AllAccountSubplebbits = () => { const account = useAccount(); - const { subplebbits: subscribedSubplebbits } = useSubplebbits({ subplebbitAddresses: account?.subscriptions || [] }); - - const combinedSubplebbits = useMemo(() => { - const ownSubplebbitsAddresses = Object.keys(accountSubplebbits); - const subscribedAddresses = account?.subscriptions || []; - - const uniqueAddresses = Array.from(new Set([...ownSubplebbitsAddresses, ...subscribedAddresses])); - - return uniqueAddresses.map((addr) => accountSubplebbits[addr] || subscribedSubplebbits[addr]); - }, [accountSubplebbits, subscribedSubplebbits, account?.subscriptions]); - - return combinedSubplebbits.map((subplebbit, index) => ); + const { accountSubplebbits } = useAccountSubplebbits(); + const accountSubplebbitAddresses = Object.keys(accountSubplebbits); + const subscriptionsArray = account?.subscriptions ?? []; + const uniqueAddresses = Array.from(new Set([...accountSubplebbitAddresses, ...subscriptionsArray])); + const { subplebbits } = useSubplebbits({ subplebbitAddresses: uniqueAddresses }); + const subplebbitsArray = useMemo(() => Object.values(subplebbits ?? {}), [subplebbits]); + return subplebbitsArray?.map((subplebbit, index) => ); }; const Subplebbits = () => { @@ -267,10 +261,10 @@ const Subplebbits = () => { )} - {isInSubplebbitsVoteView && } + {isInSubplebbitsVoteView && } {(isInSubplebbitsModeratorView || isInSubplebbitsAdminView || isInSubplebbitsOwnerView) && } {isInSubplebbitsSubscriberView && } - {isInSubplebbitsView && } + {isInSubplebbitsView && } ); }; From c30b89bd8bb3e3eafe6e93d81368297670476153 Mon Sep 17 00:00:00 2001 From: "plebeius.eth" Date: Tue, 30 Jan 2024 15:30:22 +0100 Subject: [PATCH 2/4] add undefined value case for rateLimitChallengeSuccess --- .../subplebbit-settings/subplebbit-settings.tsx | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/views/subplebbit/subplebbit-settings/subplebbit-settings.tsx b/src/views/subplebbit/subplebbit-settings/subplebbit-settings.tsx index 25224c8c..8c999aef 100644 --- a/src/views/subplebbit/subplebbit-settings/subplebbit-settings.tsx +++ b/src/views/subplebbit/subplebbit-settings/subplebbit-settings.tsx @@ -592,8 +592,14 @@ const ChallengeSettings = ({ challenge, index, isReadOnly, setSubmitStore, setti