diff --git a/src/components/DeprecatedRepost.tsx b/src/components/DeprecatedRepost.tsx index d9a9dac..2a44ec6 100644 --- a/src/components/DeprecatedRepost.tsx +++ b/src/components/DeprecatedRepost.tsx @@ -7,6 +7,7 @@ import ColumnItem from '@/components/ColumnItem'; import UserDisplayName from '@/components/UserDisplayName'; import eventWrapper from '@/core/event'; import useFormatDate from '@/hooks/useFormatDate'; +import useModalState from '@/hooks/useModalState'; import TextNoteDisplayById from './textNote/TextNoteDisplayById'; export type DeprecatedRepostProps = { @@ -14,6 +15,7 @@ export type DeprecatedRepostProps = { }; const DeprecatedRepost: Component = (props) => { + const { showProfile } = useModalState(); const formatDate = useFormatDate(); const repostedId = () => props.event.tags.find(([tagName]) => tagName === 'e')?.[1]; const event = createMemo(() => eventWrapper(props.event)); @@ -25,7 +27,12 @@ const DeprecatedRepost: Component = (props) => {
- + {' がリポスト'}
{formatDate(event().createdAtAsDate())}
diff --git a/src/components/ProfileDisplay.tsx b/src/components/ProfileDisplay.tsx index c3b1187..25d2e30 100644 --- a/src/components/ProfileDisplay.tsx +++ b/src/components/ProfileDisplay.tsx @@ -5,6 +5,7 @@ import XMark from 'heroicons/24/outline/x-mark.svg'; import Modal from '@/components/Modal'; import Copy from '@/components/utils/Copy'; +import SafeLink from '@/components/utils/SafeLink'; import useProfile from '@/nostr/useProfile'; import npubEncodeFallback from '@/utils/npubEncodeFallback'; @@ -23,25 +24,19 @@ const ProfileDisplay: Component = (props) => { return ( props.onClose?.()}> -
-
- -
+
+
loading}> -
- - {(bannerUrl) => ( + } keyed> + {(bannerUrl) => ( +
header - )} - -
+
+ )} +
@@ -54,35 +49,33 @@ const ProfileDisplay: Component = (props) => { )}
-
+
{profile()?.display_name}
@{profile()?.name}
{npub()}
- +
-
+
{profile()?.about}
diff --git a/src/components/notification/Reaction.tsx b/src/components/notification/Reaction.tsx index 714c9ce..dc94d83 100644 --- a/src/components/notification/Reaction.tsx +++ b/src/components/notification/Reaction.tsx @@ -8,13 +8,17 @@ import UserDisplayName from '@/components/UserDisplayName'; import useProfile from '@/nostr/useProfile'; import useEvent from '@/nostr/useEvent'; +import eventWrapper from '@/core/event'; +import useModalState from '@/hooks/useModalState'; type ReactionProps = { event: NostrEvent; }; const Reaction: Component = (props) => { - const eventId = () => props.event.tags.find(([tagName]) => tagName === 'e')?.[1]; + const { showProfile } = useModalState(); + const event = () => eventWrapper(props.event); + const eventId = () => event().taggedEvents()[0].id; const { profile } = useProfile(() => ({ pubkey: props.event.pubkey, @@ -50,9 +54,12 @@ const Reaction: Component = (props) => {
- + {' がリアクション'}
@@ -63,7 +70,7 @@ const Reaction: Component = (props) => { fallback={
loading {eventId()}
} keyed > - {(event) => } + {(ev) => }
diff --git a/src/components/textNote/ImageDisplay.tsx b/src/components/textNote/ImageDisplay.tsx index 5f17b7b..5edb3b6 100644 --- a/src/components/textNote/ImageDisplay.tsx +++ b/src/components/textNote/ImageDisplay.tsx @@ -1,5 +1,6 @@ import { Component, createEffect, createSignal, Show } from 'solid-js'; import { fixUrl } from '@/utils/imageUrl'; +import SafeLink from '../utils/SafeLink'; type ImageDisplayProps = { url: string; @@ -21,13 +22,13 @@ const ImageDisplay: Component = (props) => { } > - + {props.url} - + ); }; diff --git a/src/components/textNote/TextNoteContentDisplay.tsx b/src/components/textNote/TextNoteContentDisplay.tsx index 1fca26e..bae18cb 100644 --- a/src/components/textNote/TextNoteContentDisplay.tsx +++ b/src/components/textNote/TextNoteContentDisplay.tsx @@ -5,6 +5,7 @@ import PlainTextDisplay from '@/components/textNote/PlainTextDisplay'; import MentionedUserDisplay from '@/components/textNote/MentionedUserDisplay'; import MentionedEventDisplay from '@/components/textNote/MentionedEventDisplay'; import ImageDisplay from '@/components/textNote/ImageDisplay'; +import SafeLink from '@/components/utils/SafeLink'; import eventWrapper from '@/core/event'; import { isImageUrl } from '@/utils/imageUrl'; import useConfig from '@/nostr/useConfig'; @@ -58,16 +59,7 @@ const TextNoteContentDisplay = (props: TextNoteContentDisplayProps) => { /> ); } - return ( - - {item.content} - - ); + return ; } return null; }} diff --git a/src/components/textNote/TextNoteDisplay.tsx b/src/components/textNote/TextNoteDisplay.tsx index f0c8f0d..7273db5 100644 --- a/src/components/textNote/TextNoteDisplay.tsx +++ b/src/components/textNote/TextNoteDisplay.tsx @@ -161,12 +161,14 @@ const TextNoteDisplay: Component = (props) => {