fix: context
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
This commit is contained in:
parent
b1e7cf6bf9
commit
eb47da0417
|
@ -66,9 +66,7 @@ const TimelineFollows = (props: TimelineFollowsProps) => {
|
||||||
|
|
||||||
const findHashTagContext = (a: NostrEvent) => {
|
const findHashTagContext = (a: NostrEvent) => {
|
||||||
const tag = a.tags.filter(a => a[0] === "t").find(a => login.tags.item.includes(a[1].toLowerCase()))?.[1];
|
const tag = a.tags.filter(a => a[0] === "t").find(a => login.tags.item.includes(a[1].toLowerCase()))?.[1];
|
||||||
if (tag) {
|
return tag;
|
||||||
return <Link to={`/t/${tag}`}>{`#${tag}`}</Link>;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
const mixinFiltered = useMemo(() => {
|
const mixinFiltered = useMemo(() => {
|
||||||
const mainFeedIds = new Set(mainFeed.map(a => a.id));
|
const mainFeedIds = new Set(mainFeed.map(a => a.id));
|
||||||
|
@ -114,6 +112,11 @@ const TimelineFollows = (props: TimelineFollowsProps) => {
|
||||||
showLatest={t => onShowLatest(t)}
|
showLatest={t => onShowLatest(t)}
|
||||||
noteOnClick={props.noteOnClick}
|
noteOnClick={props.noteOnClick}
|
||||||
noteRenderer={props.noteRenderer}
|
noteRenderer={props.noteRenderer}
|
||||||
|
noteContext={e => {
|
||||||
|
if (typeof e.context === "string") {
|
||||||
|
return <Link to={`/t/${e.context}`}>{`#${e.context}`}</Link>;
|
||||||
|
}
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
{sortedFeed.length > 0 && (
|
{sortedFeed.length > 0 && (
|
||||||
<ShowMoreInView onClick={async () => await FollowsFeed.loadMore(system, login, oldest ?? unixNow())} />
|
<ShowMoreInView onClick={async () => await FollowsFeed.loadMore(system, login, oldest ?? unixNow())} />
|
||||||
|
|
|
@ -24,6 +24,7 @@ export interface TimelineRendererProps {
|
||||||
showLatest: (toTop: boolean) => void;
|
showLatest: (toTop: boolean) => void;
|
||||||
noteRenderer?: (ev: TaggedNostrEvent) => ReactNode;
|
noteRenderer?: (ev: TaggedNostrEvent) => ReactNode;
|
||||||
noteOnClick?: (ev: TaggedNostrEvent) => void;
|
noteOnClick?: (ev: TaggedNostrEvent) => void;
|
||||||
|
noteContext?: (ev: TaggedNostrEvent) => ReactNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function TimelineRenderer(props: TimelineRendererProps) {
|
export function TimelineRenderer(props: TimelineRendererProps) {
|
||||||
|
@ -65,6 +66,7 @@ export function TimelineRenderer(props: TimelineRendererProps) {
|
||||||
related={props.related}
|
related={props.related}
|
||||||
noteRenderer={props.noteRenderer}
|
noteRenderer={props.noteRenderer}
|
||||||
noteOnClick={props.noteOnClick}
|
noteOnClick={props.noteOnClick}
|
||||||
|
noteContext={props.noteContext}
|
||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
</>
|
</>
|
||||||
|
@ -76,6 +78,7 @@ export interface TimelineFragProps {
|
||||||
related: Array<TaggedNostrEvent>;
|
related: Array<TaggedNostrEvent>;
|
||||||
noteRenderer?: (ev: TaggedNostrEvent) => ReactNode;
|
noteRenderer?: (ev: TaggedNostrEvent) => ReactNode;
|
||||||
noteOnClick?: (ev: TaggedNostrEvent) => void;
|
noteOnClick?: (ev: TaggedNostrEvent) => void;
|
||||||
|
noteContext?: (ev: TaggedNostrEvent) => ReactNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function TimelineFragment(props: TimelineFragProps) {
|
export function TimelineFragment(props: TimelineFragProps) {
|
||||||
|
@ -97,7 +100,7 @@ export function TimelineFragment(props: TimelineFragProps) {
|
||||||
key={e.id}
|
key={e.id}
|
||||||
depth={0}
|
depth={0}
|
||||||
onClick={props.noteOnClick}
|
onClick={props.noteOnClick}
|
||||||
context={e.context}
|
context={props.noteContext?.(e)}
|
||||||
/>
|
/>
|
||||||
),
|
),
|
||||||
)}
|
)}
|
||||||
|
|
|
@ -19,7 +19,7 @@ export interface TaggedNostrEvent extends NostrEvent {
|
||||||
/**
|
/**
|
||||||
* Additional context
|
* Additional context
|
||||||
*/
|
*/
|
||||||
context?: never;
|
context?: object;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue