add default subplebbit addresses

This commit is contained in:
plebeius.eth
2024-03-01 20:42:21 +01:00
parent a7827d15ec
commit 8f61caa789
40 changed files with 253 additions and 67 deletions
+41
View File
@@ -0,0 +1,41 @@
import { useEffect, useMemo, useState } from 'react';
interface Subplebbit {
title?: string;
address: string;
tags?: string[];
features?: string[];
}
let cache: Subplebbit[] | null = null;
const useDefaultSubplebbits = () => {
const [subplebbits, setSubplebbits] = useState<Subplebbit[]>([]);
useEffect(() => {
if (cache) {
return;
}
(async () => {
try {
const multisub = await fetch(
'https://raw.githubusercontent.com/plebbit/temporary-default-subplebbits/master/multisub.json',
// { cache: 'no-cache' }
).then((res) => res.json());
cache = multisub.subplebbits;
setSubplebbits(multisub.subplebbits);
} catch (e) {
console.warn(e);
}
})();
}, []);
return cache || subplebbits;
};
export const useDefaultSubplebbitAddresses = () => {
const defaultSubplebbits = useDefaultSubplebbits();
return useMemo(() => defaultSubplebbits.map((subplebbit: Subplebbit) => subplebbit.address), [defaultSubplebbits]);
};
export default useDefaultSubplebbits;
+1 -1
View File
@@ -6,7 +6,7 @@ interface ThemeState {
}
const useThemeStore = create<ThemeState>((set: StoreApi<ThemeState>['setState']) => ({
theme: localStorage.getItem('theme') || 'yotsuba',
theme: localStorage.getItem('theme') || 'yotsuba-b',
setTheme: (theme: string) => {
localStorage.setItem('theme', theme);
set({ theme });