refactor: migrate 5chan to the community hooks API (#1073)

* refactor(community-api): migrate 5chan to community hooks

* fix(review): address PR feedback

* fix(review): preserve legacy board context fallbacks

* fix(review): address latest bot feedback

* fix(review): use communityAddress in edit menu privileges
This commit is contained in:
Tommaso Casaburi
2026-03-13 13:25:10 +08:00
committed by GitHub
parent 9dc4d96d27
commit d7703953fb
105 changed files with 2659 additions and 1491 deletions
@@ -289,7 +289,7 @@ describe('AccountSettings', () => {
name: 'Imported',
author: { address: '0x999' },
subscriptions: ['business.eth'],
subplebbits: {
communities: {
'business.eth': { title: '/biz/' },
'music-posting.bso': { title: '/mu/' },
},
@@ -99,20 +99,20 @@ const AccountSettingsEditor = ({
}
const accountData = safeParseJSON<{
account?: { subplebbits?: Record<string, unknown>; subscriptions?: string[]; author?: { address?: string }; name?: string };
account?: { communities?: Record<string, unknown>; subscriptions?: string[]; author?: { address?: string }; name?: string };
}>(fileContent);
if (!accountData) {
alert('Invalid JSON in file.');
return;
}
if (accountData.account?.subplebbits) {
const subplebbitAddresses = Object.keys(accountData.account.subplebbits);
if (accountData.account?.communities) {
const communityAddresses = Object.keys(accountData.account.communities);
if (!accountData.account.subscriptions) {
accountData.account.subscriptions = [];
}
const uniqueSubscriptions = [...accountData.account.subscriptions];
for (const address of subplebbitAddresses) {
for (const address of communityAddresses) {
if (!uniqueSubscriptions.includes(address)) {
uniqueSubscriptions.push(address);
}