diff --git a/src/app/channel/components/createModal.tsx b/src/app/channel/components/createModal.tsx index 86f80cdd..fac37ff4 100644 --- a/src/app/channel/components/createModal.tsx +++ b/src/app/channel/components/createModal.tsx @@ -1,6 +1,7 @@ import { AvatarUploader } from '@lume/shared/avatarUploader'; import CancelIcon from '@lume/shared/icons/cancel'; import PlusIcon from '@lume/shared/icons/plus'; +import { Image } from '@lume/shared/image'; import { RelayContext } from '@lume/shared/relayProvider'; import { DEFAULT_AVATAR, WRITEONLY_RELAYS } from '@lume/stores/constants'; import { dateToUnix } from '@lume/utils/getDate'; @@ -150,7 +151,7 @@ export default function ChannelCreateModal() {
- channel picture + channel picture
diff --git a/src/app/channel/components/messages/user.tsx b/src/app/channel/components/messages/user.tsx index fccc2eae..747121e9 100644 --- a/src/app/channel/components/messages/user.tsx +++ b/src/app/channel/components/messages/user.tsx @@ -1,3 +1,4 @@ +import { Image } from '@lume/shared/image'; import { DEFAULT_AVATAR, IMGPROXY_URL } from '@lume/stores/constants'; import { useProfile } from '@lume/utils/hooks/useProfile'; import { shortenKey } from '@lume/utils/shortenKey'; @@ -24,12 +25,10 @@ export default function ChannelMessageUser({ pubkey, time }: { pubkey: string; t ) : ( <>
- {pubkey}
diff --git a/src/app/channel/components/messages/userReply.tsx b/src/app/channel/components/messages/userReply.tsx index 65476d44..2ce45a72 100644 --- a/src/app/channel/components/messages/userReply.tsx +++ b/src/app/channel/components/messages/userReply.tsx @@ -1,3 +1,4 @@ +import { Image } from '@lume/shared/image'; import { DEFAULT_AVATAR, IMGPROXY_URL } from '@lume/stores/constants'; import { useProfile } from '@lume/utils/hooks/useProfile'; import { shortenKey } from '@lume/utils/shortenKey'; @@ -15,12 +16,10 @@ export default function UserReply({ pubkey }: { pubkey: string }) { ) : ( <>
- {pubkey}
diff --git a/src/app/channel/components/metadata.tsx b/src/app/channel/components/metadata.tsx index 1dcb1542..3db4896e 100644 --- a/src/app/channel/components/metadata.tsx +++ b/src/app/channel/components/metadata.tsx @@ -1,4 +1,5 @@ import CopyIcon from '@lume/shared/icons/copy'; +import { Image } from '@lume/shared/image'; import { DEFAULT_AVATAR } from '@lume/stores/constants'; import { useChannelProfile } from '@lume/utils/hooks/useChannelProfile'; @@ -18,7 +19,7 @@ export default function ChannelMetadata({ id, pubkey }: { id: string; pubkey: st return (
- {id}
) : ( - {user?.pubkey
- {data.content}
diff --git a/src/app/channel/components/updateModal.tsx b/src/app/channel/components/updateModal.tsx index 303c70f1..41f618df 100644 --- a/src/app/channel/components/updateModal.tsx +++ b/src/app/channel/components/updateModal.tsx @@ -1,6 +1,7 @@ import { AvatarUploader } from '@lume/shared/avatarUploader'; import CancelIcon from '@lume/shared/icons/cancel'; import EditIcon from '@lume/shared/icons/edit'; +import { Image } from '@lume/shared/image'; import { RelayContext } from '@lume/shared/relayProvider'; import { DEFAULT_AVATAR, WRITEONLY_RELAYS } from '@lume/stores/constants'; import { dateToUnix } from '@lume/utils/getDate'; @@ -145,7 +146,7 @@ export default function ChannelUpdateModal({ id }: { id: string }) {
- channel picture + channel picture
diff --git a/src/app/chat/components/item.tsx b/src/app/chat/components/item.tsx index 5723c883..c1de1446 100644 --- a/src/app/chat/components/item.tsx +++ b/src/app/chat/components/item.tsx @@ -1,3 +1,4 @@ +import { Image } from '@lume/shared/image'; import { DEFAULT_AVATAR } from '@lume/stores/constants'; import { usePageContext } from '@lume/utils/hooks/usePageContext'; import { useProfile } from '@lume/utils/hooks/useProfile'; @@ -32,7 +33,11 @@ export default function ChatsListItem({ pubkey }: { pubkey: string }) { )} >
- {pubkey} + {pubkey}
diff --git a/src/app/chat/components/messages/user.tsx b/src/app/chat/components/messages/user.tsx index cf0d3094..47aeba6e 100644 --- a/src/app/chat/components/messages/user.tsx +++ b/src/app/chat/components/messages/user.tsx @@ -1,3 +1,4 @@ +import { Image } from '@lume/shared/image'; import { DEFAULT_AVATAR, IMGPROXY_URL } from '@lume/stores/constants'; import { useProfile } from '@lume/utils/hooks/useProfile'; import { shortenKey } from '@lume/utils/shortenKey'; @@ -24,12 +25,10 @@ export default function ChatMessageUser({ pubkey, time }: { pubkey: string; time ) : ( <>
- {pubkey}
diff --git a/src/app/chat/components/self.tsx b/src/app/chat/components/self.tsx index 476e7e32..1d02d05e 100644 --- a/src/app/chat/components/self.tsx +++ b/src/app/chat/components/self.tsx @@ -1,3 +1,4 @@ +import { Image } from '@lume/shared/image'; import { DEFAULT_AVATAR } from '@lume/stores/constants'; import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; import { usePageContext } from '@lume/utils/hooks/usePageContext'; @@ -33,7 +34,7 @@ export default function ChatsListSelfItem() { )} >
- {account.pubkey}
- {account?.pubkey} + {account?.pubkey}
diff --git a/src/app/note/components/metadata/reply.tsx b/src/app/note/components/metadata/reply.tsx index 1863ccc8..bafc362c 100644 --- a/src/app/note/components/metadata/reply.tsx +++ b/src/app/note/components/metadata/reply.tsx @@ -1,4 +1,5 @@ import ReplyIcon from '@lume/shared/icons/reply'; +import { Image } from '@lume/shared/image'; import { RelayContext } from '@lume/shared/relayProvider'; import { WRITEONLY_RELAYS } from '@lume/stores/constants'; import { dateToUnix } from '@lume/utils/getDate'; @@ -87,7 +88,7 @@ export default function NoteReply({ id, replies }: { id: string; replies: number
- user's avatar + user's avatar
diff --git a/src/app/note/components/preview/image.tsx b/src/app/note/components/preview/image.tsx index 275fadd3..a736e3a2 100644 --- a/src/app/note/components/preview/image.tsx +++ b/src/app/note/components/preview/image.tsx @@ -1,26 +1,24 @@ +import { Image } from '@lume/shared/image'; + export default function ImagePreview({ urls }: { urls: string[] }) { return (
{urls.length === 1 ? (
- image
) : ( urls.map((url: string) => (
- image
diff --git a/src/app/note/components/user/default.tsx b/src/app/note/components/user/default.tsx index 520e39ae..3b1e3244 100644 --- a/src/app/note/components/user/default.tsx +++ b/src/app/note/components/user/default.tsx @@ -1,3 +1,4 @@ +import { Image } from '@lume/shared/image'; import { DEFAULT_AVATAR, IMGPROXY_URL } from '@lume/stores/constants'; import { useProfile } from '@lume/utils/hooks/useProfile'; import { shortenKey } from '@lume/utils/shortenKey'; @@ -14,7 +15,7 @@ export const NoteDefaultUser = ({ pubkey, time }: { pubkey: string; time: number
{isError || isLoading ? ( <> -
+
@@ -26,13 +27,11 @@ export const NoteDefaultUser = ({ pubkey, time }: { pubkey: string; time: number ) : ( <> -
- + {pubkey}
diff --git a/src/app/note/components/user/reply.tsx b/src/app/note/components/user/reply.tsx index 08c526db..fcad843e 100644 --- a/src/app/note/components/user/reply.tsx +++ b/src/app/note/components/user/reply.tsx @@ -1,3 +1,4 @@ +import { Image } from '@lume/shared/image'; import { DEFAULT_AVATAR, IMGPROXY_URL } from '@lume/stores/constants'; import { useProfile } from '@lume/utils/hooks/useProfile'; import { shortenKey } from '@lume/utils/shortenKey'; @@ -24,12 +25,10 @@ export default function NoteReplyUser({ pubkey, time }: { pubkey: string; time: ) : ( <>
- {pubkey}
diff --git a/src/app/note/components/user/repost.tsx b/src/app/note/components/user/repost.tsx index 8549af48..f756b7a4 100644 --- a/src/app/note/components/user/repost.tsx +++ b/src/app/note/components/user/repost.tsx @@ -1,3 +1,4 @@ +import { Image } from '@lume/shared/image'; import { DEFAULT_AVATAR, IMGPROXY_URL } from '@lume/stores/constants'; import { useProfile } from '@lume/utils/hooks/useProfile'; import { shortenKey } from '@lume/utils/shortenKey'; @@ -14,7 +15,7 @@ export const NoteRepostUser = ({ pubkey, time }: { pubkey: string; time: number
{isError || isLoading ? ( <> -
+
@@ -25,13 +26,11 @@ export const NoteRepostUser = ({ pubkey, time }: { pubkey: string; time: number ) : ( <> -
- + {pubkey}
diff --git a/src/auth/components/user.tsx b/src/auth/components/user.tsx index c69370da..67388749 100644 --- a/src/auth/components/user.tsx +++ b/src/auth/components/user.tsx @@ -1,15 +1,16 @@ +import { Image } from '@lume/shared/image'; import { DEFAULT_AVATAR } from '@lume/stores/constants'; import { useProfile } from '@lume/utils/hooks/useProfile'; import { shortenKey } from '@lume/utils/shortenKey'; export default function User({ pubkey }: { pubkey: string }) { - const profile = useProfile(pubkey); + const { user } = useProfile(pubkey); return (
- {pubkey}
- - {profile?.display_name || profile?.name} - - - {profile?.nip05?.toLowerCase() || shortenKey(pubkey)} - + {user?.display_name || user?.name} + {user?.nip05?.toLowerCase() || shortenKey(pubkey)}
); diff --git a/src/auth/pages/create/step-2/index.page.tsx b/src/auth/pages/create/step-2/index.page.tsx index 86f158e1..4a154f0d 100644 --- a/src/auth/pages/create/step-2/index.page.tsx +++ b/src/auth/pages/create/step-2/index.page.tsx @@ -1,4 +1,5 @@ import { AvatarUploader } from '@lume/shared/avatarUploader'; +import { Image } from '@lume/shared/image'; import { DEFAULT_AVATAR } from '@lume/stores/constants'; import { onboardingAtom } from '@lume/stores/onboarding'; @@ -54,7 +55,7 @@ export function Page() {
- avatar + avatar
diff --git a/src/auth/pages/import/step-2/index.page.tsx b/src/auth/pages/import/step-2/index.page.tsx index c3a1bb63..e502245e 100644 --- a/src/auth/pages/import/step-2/index.page.tsx +++ b/src/auth/pages/import/step-2/index.page.tsx @@ -1,3 +1,4 @@ +import { Image } from '@lume/shared/image'; import { RelayContext } from '@lume/shared/relayProvider'; import { DEFAULT_AVATAR, READONLY_RELAYS } from '@lume/stores/constants'; import { onboardingAtom } from '@lume/stores/onboarding'; @@ -91,7 +92,7 @@ export function Page() { ) : (
- {pubkey} (
- {tag} + {tag}
))} diff --git a/src/renderer/index.css b/src/renderer/index.css index 0c67ad46..3b4e7114 100644 --- a/src/renderer/index.css +++ b/src/renderer/index.css @@ -5,7 +5,7 @@ /* Fixed webkit bug: https://bugs.webkit.org/show_bug.cgi?id=243601 */ @supports (font: -apple-system-body) and (-webkit-appearance: none) { img[loading='lazy'] { - clip-path: inset(0.1px); + clip-path: inset(0.6px); } } diff --git a/src/shared/accounts/active.tsx b/src/shared/accounts/active.tsx index 016c9159..21c9a6e5 100644 --- a/src/shared/accounts/active.tsx +++ b/src/shared/accounts/active.tsx @@ -1,3 +1,4 @@ +import { Image } from '@lume/shared/image'; import { DEFAULT_AVATAR } from '@lume/stores/constants'; export default function ActiveAccount({ user }: { user: any }) { @@ -5,7 +6,11 @@ export default function ActiveAccount({ user }: { user: any }) { return ( ); } diff --git a/src/shared/accounts/inactive.tsx b/src/shared/accounts/inactive.tsx index c6cad917..5b0afc87 100644 --- a/src/shared/accounts/inactive.tsx +++ b/src/shared/accounts/inactive.tsx @@ -1,3 +1,4 @@ +import { Image } from '@lume/shared/image'; import { DEFAULT_AVATAR } from '@lume/stores/constants'; export default function InactiveAccount({ user }: { user: any }) { @@ -5,7 +6,11 @@ export default function InactiveAccount({ user }: { user: any }) { return (
- user's avatar + user's avatar
); } diff --git a/src/shared/image.tsx b/src/shared/image.tsx new file mode 100644 index 00000000..f50e8e41 --- /dev/null +++ b/src/shared/image.tsx @@ -0,0 +1,9 @@ +import { DEFAULT_AVATAR } from '@lume/stores/constants'; + +export const Image = (props) => { + const addImageFallback = (event) => { + event.currentTarget.src = DEFAULT_AVATAR; + }; + + return ; +}; diff --git a/src/shared/profile/metadata.tsx b/src/shared/profile/metadata.tsx index a0064bc7..c54c4dae 100644 --- a/src/shared/profile/metadata.tsx +++ b/src/shared/profile/metadata.tsx @@ -1,4 +1,5 @@ -import { RelayContext } from '@lume/shared/relaysProvider'; +import { Image } from '@lume/shared/image'; +import { RelayContext } from '@lume/shared/relayProvider'; import { DEFAULT_AVATAR, READONLY_RELAYS } from '@lume/stores/constants'; import { shortenKey } from '@lume/utils/shortenKey'; @@ -21,11 +22,11 @@ export default function ProfileMetadata({ id }: { id: string }) { <>
- user's banner + user's banner
- {id} + {id}