Profile pictures incosistencies #58
@ -45,7 +45,9 @@ export const AppBar = () => {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (metadataState) {
|
if (metadataState) {
|
||||||
if (metadataState.content) {
|
if (metadataState.content) {
|
||||||
const { picture, display_name, name } = JSON.parse(metadataState.content)
|
const { picture, display_name, name } = JSON.parse(
|
||||||
|
metadataState.content
|
||||||
|
)
|
||||||
|
|
||||||
if (picture || userRobotImage) {
|
if (picture || userRobotImage) {
|
||||||
setUserAvatar(picture || userRobotImage)
|
setUserAvatar(picture || userRobotImage)
|
||||||
@ -85,12 +87,8 @@ export const AppBar = () => {
|
|||||||
nsecBunkerPubkey: undefined
|
nsecBunkerPubkey: undefined
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
dispatch(
|
dispatch(setMetadataEvent(metadataController.getEmptyMetadataEvent()))
|
||||||
setMetadataEvent(metadataController.getEmptyMetadataEvent())
|
dispatch(setUserRobotImage(null))
|
||||||
m marked this conversation as resolved
|
|||||||
)
|
|
||||||
dispatch(
|
|
||||||
setUserRobotImage(null)
|
|
||||||
)
|
|
||||||
|
|
||||||
// clear authToken saved in local storage
|
// clear authToken saved in local storage
|
||||||
clearAuthToken()
|
clearAuthToken()
|
||||||
|
@ -5,7 +5,13 @@ import { useDispatch, useSelector } from 'react-redux'
|
|||||||
import { Outlet } from 'react-router-dom'
|
import { Outlet } from 'react-router-dom'
|
||||||
import { AppBar } from '../components/AppBar/AppBar'
|
import { AppBar } from '../components/AppBar/AppBar'
|
||||||
import { restoreState, setAuthState, setMetadataEvent } from '../store/actions'
|
import { restoreState, setAuthState, setMetadataEvent } from '../store/actions'
|
||||||
import { clearAuthToken, clearState, getRoboHashPicture, loadState, saveNsecBunkerDelegatedKey } from '../utils'
|
import {
|
||||||
|
clearAuthToken,
|
||||||
|
clearState,
|
||||||
|
getRoboHashPicture,
|
||||||
|
loadState,
|
||||||
|
saveNsecBunkerDelegatedKey
|
||||||
|
} from '../utils'
|
||||||
import { LoadingSpinner } from '../components/LoadingSpinner'
|
import { LoadingSpinner } from '../components/LoadingSpinner'
|
||||||
import { Dispatch } from '../store/store'
|
import { Dispatch } from '../store/store'
|
||||||
import { MetadataController, NostrController } from '../controllers'
|
import { MetadataController, NostrController } from '../controllers'
|
||||||
@ -78,9 +84,7 @@ export const MainLayout = () => {
|
|||||||
const pubkey = authState.usersPubkey || authState.keyPair?.public
|
const pubkey = authState.usersPubkey || authState.keyPair?.public
|
||||||
|
|
||||||
if (pubkey) {
|
if (pubkey) {
|
||||||
dispatch(
|
dispatch(setUserRobotImage(getRoboHashPicture(pubkey)))
|
||||||
setUserRobotImage(getRoboHashPicture(pubkey))
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, [authState])
|
}, [authState])
|
||||||
|
@ -47,8 +47,8 @@ export const Login = () => {
|
|||||||
* Call login function when enter is pressed
|
* Call login function when enter is pressed
|
||||||
*/
|
*/
|
||||||
const handleInputKeyDown = (event: any) => {
|
const handleInputKeyDown = (event: any) => {
|
||||||
if (event.code === "Enter" || event.code === "NumpadEnter") {
|
if (event.code === 'Enter' || event.code === 'NumpadEnter') {
|
||||||
event.preventDefault();
|
event.preventDefault()
|
||||||
login()
|
login()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
import * as ActionTypes from '../actionTypes'
|
import * as ActionTypes from '../actionTypes'
|
||||||
import { SetUserRobotImage } from './types'
|
import { SetUserRobotImage } from './types'
|
||||||
|
|
||||||
export const setUserRobotImage = (payload: string | null): SetUserRobotImage => ({
|
export const setUserRobotImage = (
|
||||||
|
payload: string | null
|
||||||
|
): SetUserRobotImage => ({
|
||||||
type: ActionTypes.SET_USER_ROBOT_IMAGE,
|
type: ActionTypes.SET_USER_ROBOT_IMAGE,
|
||||||
payload
|
payload
|
||||||
})
|
})
|
||||||
|
@ -143,7 +143,10 @@ export const base64DecodeAuthToken = (authToken: string): SignedEvent => {
|
|||||||
* @param pubkey in hex or npub format
|
* @param pubkey in hex or npub format
|
||||||
* @returns robohash.org url for the avatar
|
* @returns robohash.org url for the avatar
|
||||||
*/
|
*/
|
||||||
export const getRoboHashPicture = (pubkey?: string, set: number = 1): string => {
|
export const getRoboHashPicture = (
|
||||||
|
pubkey?: string,
|
||||||
|
set: number = 1
|
||||||
|
): string => {
|
||||||
if (!pubkey) return ''
|
if (!pubkey) return ''
|
||||||
const npub = hexToNpub(pubkey)
|
const npub = hexToNpub(pubkey)
|
||||||
return `https://robohash.org/${npub}.png?set=set${set}`
|
return `https://robohash.org/${npub}.png?set=set${set}`
|
||||||
|
Loading…
Reference in New Issue
Block a user
the app will clear local storage on logout anyway
This is a redux bit, won't get cleared automatically.