feat: add identity and feed management (#272)
* feat(wip): add basic feed operations * ci: bump checks * ci: bump checks * feat: rework stamps and add feed functionalities * refactor: polish and fixes * feat(wip): add formulas * feat: show bzz.link for websites * feat: add stamp empty states and formatBzz * feat: add feed download * chore: update manifest-js version * feat: dev mode support with bee-js 3.1.0 (#273) * feat: dev mode support with bee-js 3.1.0 * fix: added missing package-lock.json file * build: remove PR preview * style: work on design * feat: add TroubleshootConnectionCard * build: remove depcheck Co-authored-by: Attila Gazso <agazso@gmail.com>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import { createContext, ReactChild, ReactElement, useEffect, useState } from 'react'
|
||||
|
||||
export type IdentityType = 'V3' | 'PRIVATE_KEY'
|
||||
|
||||
export interface Identity {
|
||||
uuid: string
|
||||
name: string
|
||||
feedHash?: string
|
||||
identity: string
|
||||
address: string
|
||||
type: IdentityType
|
||||
}
|
||||
|
||||
interface ContextInterface {
|
||||
identities: Identity[]
|
||||
setIdentities: (identities: Identity[]) => void
|
||||
}
|
||||
|
||||
const initialValues: ContextInterface = {
|
||||
identities: [],
|
||||
setIdentities: () => {}, // eslint-disable-line
|
||||
}
|
||||
|
||||
export const Context = createContext<ContextInterface>(initialValues)
|
||||
export const Consumer = Context.Consumer
|
||||
|
||||
interface Props {
|
||||
children: ReactChild
|
||||
}
|
||||
|
||||
export function Provider({ children }: Props): ReactElement {
|
||||
const [identities, setIdentities] = useState<Identity[]>(initialValues.identities)
|
||||
|
||||
useEffect(() => {
|
||||
try {
|
||||
setIdentities(JSON.parse(localStorage.getItem('feeds') || '[]'))
|
||||
} catch {
|
||||
setIdentities([])
|
||||
}
|
||||
}, []) // eslint-disable-line react-hooks/exhaustive-deps
|
||||
|
||||
return <Context.Provider value={{ identities, setIdentities }}>{children}</Context.Provider>
|
||||
}
|
||||
Reference in New Issue
Block a user