From 494b99d0738022163b81be1d2bd7099ab46b376e Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 23 Dec 2025 19:23:32 +0200 Subject: [PATCH] chore(layout): integrate edited notes into note title actions --- .../client/src/widgets/layout/InlineTitle.css | 20 --------- .../client/src/widgets/layout/InlineTitle.tsx | 45 +------------------ .../src/widgets/layout/NoteTitleActions.css | 20 +++++++++ .../src/widgets/layout/NoteTitleActions.tsx | 45 ++++++++++++++++++- 4 files changed, 65 insertions(+), 65 deletions(-) diff --git a/apps/client/src/widgets/layout/InlineTitle.css b/apps/client/src/widgets/layout/InlineTitle.css index 613c845e3..94a601c53 100644 --- a/apps/client/src/widgets/layout/InlineTitle.css +++ b/apps/client/src/widgets/layout/InlineTitle.css @@ -134,23 +134,3 @@ body.prefers-centered-content .inline-title { } } -.edited-notes { - padding: 1.5em 0; - - .collapsible-inner-body { - display: flex; - flex-wrap: wrap; - gap: 0.3em; - - .badge { - margin: 0; - a.tn-link { - color: inherit; - text-transform: none; - text-decoration: none; - display: inline-block; - } - } - } - -} diff --git a/apps/client/src/widgets/layout/InlineTitle.tsx b/apps/client/src/widgets/layout/InlineTitle.tsx index bb043cca2..95cb2d379 100644 --- a/apps/client/src/widgets/layout/InlineTitle.tsx +++ b/apps/client/src/widgets/layout/InlineTitle.tsx @@ -16,13 +16,10 @@ import server from "../../services/server"; import { formatDateTime } from "../../utils/formatters"; import NoteIcon from "../note_icon"; import NoteTitleWidget from "../note_title"; -import SimpleBadge, { Badge, BadgeWithDropdown } from "../react/Badge"; -import Collapsible from "../react/Collapsible"; +import { Badge, BadgeWithDropdown } from "../react/Badge"; import { FormDropdownDivider, FormListItem } from "../react/FormList"; -import { useNoteBlob, useNoteContext, useNoteLabel, useNoteProperty, useStaticTooltip, useTriliumEvent, useTriliumOptionBool } from "../react/hooks"; -import NoteLink from "../react/NoteLink"; +import { useNoteBlob, useNoteContext, useNoteProperty, useStaticTooltip, useTriliumEvent } from "../react/hooks"; import { joinElements } from "../react/react_utils"; -import { useEditedNotes } from "../ribbon/EditedNotesTab"; import { useNoteMetadata } from "../ribbon/NoteInfoTab"; import { onWheelHorizontalScroll } from "../widget_utils"; @@ -77,7 +74,6 @@ export default function InlineTitle() { - ); @@ -307,40 +303,3 @@ function useBuiltinTemplates() { return templates; } //#endregion - -//#region Edited Notes -function EditedNotes() { - const { note } = useNoteContext(); - const [ dateNote ] = useNoteLabel(note, "dateNote"); - const [ editedNotesOpenInRibbon ] = useTriliumOptionBool("editedNotesOpenInRibbon"); - - return (note && dateNote && - - - - ); -} - -function EditedNotesContent({ note }: { note: FNote }) { - const editedNotes = useEditedNotes(note); - - return (editedNotes !== undefined && - (editedNotes.length > 0 ? editedNotes?.map(editedNote => ( - - )} - /> - )) : ( -
{t("edited_notes.no_edited_notes_found")}
- ))); -} -//#endregion diff --git a/apps/client/src/widgets/layout/NoteTitleActions.css b/apps/client/src/widgets/layout/NoteTitleActions.css index 7d025ef87..8485e0d5e 100644 --- a/apps/client/src/widgets/layout/NoteTitleActions.css +++ b/apps/client/src/widgets/layout/NoteTitleActions.css @@ -8,4 +8,24 @@ body.experimental-feature-new-layout { padding: 0.75em 15px; } } + + .edited-notes { + padding: 1.5em 0; + + .collapsible-inner-body { + display: flex; + flex-wrap: wrap; + gap: 0.3em; + + .badge { + margin: 0; + a.tn-link { + color: inherit; + text-transform: none; + text-decoration: none; + display: inline-block; + } + } + } + } } diff --git a/apps/client/src/widgets/layout/NoteTitleActions.tsx b/apps/client/src/widgets/layout/NoteTitleActions.tsx index 2e13c5f10..eabfada7e 100644 --- a/apps/client/src/widgets/layout/NoteTitleActions.tsx +++ b/apps/client/src/widgets/layout/NoteTitleActions.tsx @@ -1,7 +1,7 @@ import "./NoteTitleActions.css"; import clsx from "clsx"; -import { useEffect, useRef, useState } from "preact/hooks"; +import { useEffect, useState } from "preact/hooks"; import NoteContext from "../../components/note_context"; import FNote from "../../entities/fnote"; @@ -9,8 +9,11 @@ import { t } from "../../services/i18n"; import CollectionProperties from "../note_bars/CollectionProperties"; import { checkFullHeight, getExtendedWidgetType } from "../NoteDetail"; import { PromotedAttributesContent, usePromotedAttributeData } from "../PromotedAttributes"; +import SimpleBadge from "../react/Badge"; import Collapsible, { ExternallyControlledCollapsible } from "../react/Collapsible"; -import { useNoteContext, useNoteProperty, useTriliumEvent } from "../react/hooks"; +import { useNoteContext, useNoteLabel, useNoteProperty, useTriliumEvent, useTriliumOptionBool } from "../react/hooks"; +import NoteLink from "../react/NoteLink"; +import { useEditedNotes } from "../ribbon/EditedNotesTab"; import SearchDefinitionTab from "../ribbon/SearchDefinitionTab"; export default function NoteTitleActions() { @@ -27,6 +30,7 @@ export default function NoteTitleActions() { return (
0 && "visible")}> {items} +
); } @@ -71,3 +75,40 @@ function PromotedAttributes({ note, componentId, noteContext }: { )); } + +//#region Edited Notes +function EditedNotes() { + const { note } = useNoteContext(); + const [ dateNote ] = useNoteLabel(note, "dateNote"); + const [ editedNotesOpenInRibbon ] = useTriliumOptionBool("editedNotesOpenInRibbon"); + + return (note && dateNote && + + + + ); +} + +function EditedNotesContent({ note }: { note: FNote }) { + const editedNotes = useEditedNotes(note); + + return (editedNotes !== undefined && + (editedNotes.length > 0 ? editedNotes?.map(editedNote => ( + + )} + /> + )) : ( +
{t("edited_notes.no_edited_notes_found")}
+ ))); +} +//#endregion