feat(contexts): add GuildMember

This commit is contained in:
Divlo
2021-12-28 19:18:47 +01:00
parent 3f6ab4a0ea
commit d8667b12a0
7 changed files with 137 additions and 66 deletions

32
contexts/GuildMember.tsx Normal file
View File

@ -0,0 +1,32 @@
import { createContext, useContext } from 'react'
import { Guild } from 'models/Guild'
import { Member } from 'models/Member'
export interface GuildMember {
guild: Guild
member: Member
}
export interface GuildMemberProps {
guildMember: GuildMember
}
const defaultGuildMemberContext = {} as any
const GuildMemberContext = createContext<GuildMember>(defaultGuildMemberContext)
export const GuildMemberProvider: React.FC<GuildMemberProps> = (props) => {
return (
<GuildMemberContext.Provider value={props.guildMember}>
{props.children}
</GuildMemberContext.Provider>
)
}
export const useGuildMember = (): GuildMember => {
const guildMember = useContext(GuildMemberContext)
if (guildMember === defaultGuildMemberContext) {
throw new Error('useGuildMember must be used within GuildMemberProvider')
}
return guildMember
}