feat(right_pane_widget): handle zero highlights

This commit is contained in:
Elian Doran 2025-12-19 23:29:52 +02:00
parent c0cd9e36d9
commit fad6414e1d
No known key found for this signature in database
2 changed files with 21 additions and 15 deletions

View File

@ -1724,7 +1724,8 @@
"highlights_list_2": { "highlights_list_2": {
"title": "Highlights List", "title": "Highlights List",
"options": "Options", "options": "Options",
"modal_title": "Configure Highlights List" "modal_title": "Configure Highlights List",
"no_highlights": "No highlights found."
}, },
"quick-search": { "quick-search": {
"placeholder": "Quick search", "placeholder": "Quick search",

View File

@ -71,22 +71,22 @@ function AbstractHighlightsList<T extends RawHighlight>({ highlights, scrollToHi
}) { }) {
const [ highlightsList ] = useTriliumOptionJson<["bold" | "italic" | "underline" | "color" | "bgColor"]>("highlightsList"); const [ highlightsList ] = useTriliumOptionJson<["bold" | "italic" | "underline" | "color" | "bgColor"]>("highlightsList");
const highlightsListSet = new Set(highlightsList || []); const highlightsListSet = new Set(highlightsList || []);
const filteredHighlights = highlights.filter(highlight => {
const { attrs } = highlight;
return (
(highlightsListSet.has("bold") && attrs.bold) ||
(highlightsListSet.has("italic") && attrs.italic) ||
(highlightsListSet.has("underline") && attrs.underline) ||
(highlightsListSet.has("color") && !!attrs.color) ||
(highlightsListSet.has("bgColor") && !!attrs.background)
);
});
return ( return (
<span className="highlights-list"> <span className="highlights-list">
<ol> {filteredHighlights.length > 0 ? (
{highlights <ol>
.filter(highlight => { {filteredHighlights.map(highlight => (
const { attrs } = highlight;
return (
(highlightsListSet.has("bold") && attrs.bold) ||
(highlightsListSet.has("italic") && attrs.italic) ||
(highlightsListSet.has("underline") && attrs.underline) ||
(highlightsListSet.has("color") && !!attrs.color) ||
(highlightsListSet.has("bgColor") && !!attrs.background)
);
})
.map(highlight => (
<li <li
key={highlight.id} key={highlight.id}
onClick={() => scrollToHighlight(highlight)} onClick={() => scrollToHighlight(highlight)}
@ -102,7 +102,12 @@ function AbstractHighlightsList<T extends RawHighlight>({ highlights, scrollToHi
>{highlight.text}</span> >{highlight.text}</span>
</li> </li>
))} ))}
</ol> </ol>
) : (
<div className="no-highlights">
{t("highlights_list_2.no_highlights")}
</div>
)}
</span> </span>
); );
} }