fix(highlights): ensure quote button always navigates to quote

- Add explicit preventDefault to quote button click handler
- Improve navigateToArticle error handling and logging
- Ensure quote button always attempts navigation when clicked
This commit is contained in:
Gigi
2025-11-22 01:47:14 +01:00
parent 85e93b69aa
commit 1f88201c18

View File

@@ -182,6 +182,7 @@ export const HighlightItem: React.FC<HighlightItemProps> = ({
// Navigate to the article that this highlight references and scroll to the highlight // Navigate to the article that this highlight references and scroll to the highlight
const navigateToArticle = () => { const navigateToArticle = () => {
// Always try to navigate if we have a reference - quote button should always work
if (highlight.eventReference) { if (highlight.eventReference) {
// Parse the event reference - it can be an event ID or article coordinate (kind:pubkey:identifier) // Parse the event reference - it can be an event ID or article coordinate (kind:pubkey:identifier)
const parts = highlight.eventReference.split(':') const parts = highlight.eventReference.split(':')
@@ -204,9 +205,14 @@ export const HighlightItem: React.FC<HighlightItemProps> = ({
openHighlights: true openHighlights: true
} }
}) })
return
} }
} }
} else if (highlight.urlReference) { // If eventReference is just an event ID (not a coordinate), we can't navigate to it
// as we don't have enough info to construct the article URL
}
if (highlight.urlReference) {
// Navigate to external URL with highlight ID to trigger scroll // Navigate to external URL with highlight ID to trigger scroll
navigate(`/r/${encodeURIComponent(highlight.urlReference)}`, { navigate(`/r/${encodeURIComponent(highlight.urlReference)}`, {
state: { state: {
@@ -214,7 +220,12 @@ export const HighlightItem: React.FC<HighlightItemProps> = ({
openHighlights: true openHighlights: true
} }
}) })
return
} }
// If we get here, there's no valid reference to navigate to
// This shouldn't happen for valid highlights, but we'll log it for debugging
console.warn('Cannot navigate to article: highlight has no valid eventReference or urlReference', highlight.id)
} }
const handleItemClick = () => { const handleItemClick = () => {
@@ -545,6 +556,7 @@ export const HighlightItem: React.FC<HighlightItemProps> = ({
title="Go to quote in article" title="Go to quote in article"
onClick={(e) => { onClick={(e) => {
e.stopPropagation() e.stopPropagation()
e.preventDefault()
navigateToArticle() navigateToArticle()
}} }}
/> />