Merge pull request #177 from jedmund/fix-avatar

Fix avatar not changing in Header when changed
This commit is contained in:
Justin Edmund 2023-01-28 03:51:57 -08:00 committed by GitHub
commit 5fa36e6f05
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 44 additions and 23 deletions

View file

@ -159,8 +159,10 @@ const AccountModal = React.forwardRef<HTMLDivElement, Props>(
const user = response.data
const cookieObj = {
avatar: {
picture: user.avatar.picture,
element: user.avatar.element,
},
gender: user.gender,
language: user.language,
theme: user.theme,
@ -173,14 +175,18 @@ const AccountModal = React.forwardRef<HTMLDivElement, Props>(
accountState.account.user = {
id: user.id,
username: user.username,
granblueId: '',
avatar: {
picture: user.avatar.picture,
element: user.avatar.element,
},
language: user.language,
theme: user.theme,
gender: user.gender,
}
setOpen(false)
if (props.onOpenChange) props.onOpenChange(false)
changeLanguage(router, user.language)
})
}

View file

@ -197,10 +197,10 @@ const Header = () => {
image = (
<img
alt={user.username}
className={`profile ${user.element}`}
srcSet={`/profile/${user.picture}.png,
/profile/${user.picture}@2x.png 2x`}
src={`/profile/${user.picture}.png`}
className={`profile ${user.avatar.element}`}
srcSet={`/profile/${user.avatar.picture}.png,
/profile/${user.avatar.picture}@2x.png 2x`}
src={`/profile/${user.avatar.picture}.png`}
/>
)
} else {
@ -262,7 +262,7 @@ const Header = () => {
<AccountModal
open={settingsModalOpen}
username={user.username}
picture={user.picture}
picture={user.avatar.picture}
gender={user.gender}
language={user.language}
theme={user.theme}

View file

@ -161,8 +161,10 @@ const LoginModal = (props: Props) => {
setCookie(
'user',
{
avatar: {
picture: user.avatar.picture,
element: user.avatar.element,
},
language: user.language,
gender: user.gender,
theme: user.theme,
@ -174,8 +176,11 @@ const LoginModal = (props: Props) => {
accountState.account.user = {
id: user.id,
username: user.username,
granblueId: '',
avatar: {
picture: user.avatar.picture,
element: user.avatar.element,
},
gender: user.gender,
language: user.language,
theme: user.theme,

View file

@ -121,8 +121,10 @@ const SignupModal = (props: Props) => {
setCookie(
'user',
{
avatar: {
picture: user.avatar.picture,
element: user.avatar.element,
},
language: user.language,
gender: user.gender,
theme: user.theme,
@ -134,8 +136,11 @@ const SignupModal = (props: Props) => {
accountState.account.user = {
id: user.id,
username: user.username,
granblueId: '',
avatar: {
picture: user.avatar.picture,
element: user.avatar.element,
},
gender: user.gender,
language: user.language,
theme: user.theme,

View file

@ -32,8 +32,11 @@ function MyApp({ Component, pageProps }: AppProps) {
accountState.account.user = {
id: cookieData.account.userId,
username: cookieData.account.username,
picture: cookieData.user.picture,
element: cookieData.user.element,
granblueId: '',
avatar: {
picture: cookieData.user.avatar.picture,
element: cookieData.user.avatar.element,
},
gender: cookieData.user.gender,
language: cookieData.user.language,
theme: cookieData.user.theme,

3
types/User.d.ts vendored
View file

@ -1,11 +1,10 @@
interface User {
id: string
username: string
granblueId: number
granblueId: string
avatar: {
picture: string
element: string
}
gender: number
private: boolean
}

View file

@ -2,9 +2,12 @@ import { proxy } from 'valtio'
export type UserState = {
id: string
granblueId: string
username: string
avatar: {
picture: string
element: string
}
gender: number
language: string
theme: string