Added SSR

This commit is contained in:
Sebastian Seedorf
2022-08-17 11:52:56 +02:00
parent fe7e6d8ae2
commit 9660f0cf34
16 changed files with 1869 additions and 1834 deletions

View File

@@ -1,4 +1,4 @@
import {createContext, FC, useCallback, useContext, useMemo} from "react";
import {createContext, FC, useCallback, useContext, useMemo, useState} from "react";
import {Group} from "../../src/types";
import {useLocalStorage} from "../../src/hooks/useLocalStorage";
import {ReactNodeLike} from "prop-types";
@@ -7,6 +7,12 @@ import {Dict} from "../../src/types";
interface Props {
children: ReactNodeLike
id: string
initial: {
groups: Dict<Group>
ignored: string[]
base: string[]
}
}
interface GroupContextType {
@@ -62,10 +68,10 @@ interface StoredFile {
excludedSuggestions: string[]
}
export const GroupProvider: FC<Props> = ({children}) => {
const [excludedSuggestions, setExcludedSuggestions] = useLocalStorage<string[]>('excludedSuggestions', [])
const [basicValues, setBasicValues] = useLocalStorage<string[]>('basicValues', [])
const [groups, setGroups] = useLocalStorage<Dict<Group>>('serviceGroups', {})
export const GroupProvider: FC<Props> = ({children, initial}) => {
const [excludedSuggestions, setExcludedSuggestions] = useState<string[]>(initial.ignored)
const [basicValues, setBasicValues] = useState<string[]>(initial.base)
const [groups, setGroups] = useState<Dict<Group>>(initial.groups)
const doNotSuggest = useMemo<Set<string>>(() => {
return new Set([...Object.values(groups).flatMap(group => [...group.exports, ...group.malls]), ...excludedSuggestions, ...basicValues])