mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
add default subplebbit addresses
This commit is contained in:
@@ -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;
|
||||
@@ -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 });
|
||||
|
||||
Reference in New Issue
Block a user