From 6b9b9a96c306ed026515e162caeb459c942e9251 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 14 Dec 2025 20:34:55 +0200 Subject: [PATCH] feat(layout): integrate search parameters ribbon tab --- .../src/widgets/layout/NoteTitleActions.css | 4 ++++ .../src/widgets/layout/NoteTitleActions.tsx | 22 ++++++++++++++++--- .../src/widgets/ribbon/RibbonDefinition.ts | 2 +- .../widgets/ribbon/SearchDefinitionTab.tsx | 2 +- 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/apps/client/src/widgets/layout/NoteTitleActions.css b/apps/client/src/widgets/layout/NoteTitleActions.css index 52aea7a90..a189480c8 100644 --- a/apps/client/src/widgets/layout/NoteTitleActions.css +++ b/apps/client/src/widgets/layout/NoteTitleActions.css @@ -14,6 +14,10 @@ body.experimental-feature-new-layout { padding-bottom: 0.2em; font-size: 0.8em; + .collapsible-title { + font-size: 1rem; + } + .dropdown-menu { input.form-control { padding: 2px 8px; diff --git a/apps/client/src/widgets/layout/NoteTitleActions.tsx b/apps/client/src/widgets/layout/NoteTitleActions.tsx index 765eefca1..6325e9a31 100644 --- a/apps/client/src/widgets/layout/NoteTitleActions.tsx +++ b/apps/client/src/widgets/layout/NoteTitleActions.tsx @@ -1,15 +1,31 @@ -import CollectionProperties from "../note_bars/CollectionProperties"; -import { useNoteContext, useNoteProperty } from "../react/hooks"; import "./NoteTitleActions.css"; +import FNote from "../../entities/fnote"; +import { t } from "../../services/i18n"; +import CollectionProperties from "../note_bars/CollectionProperties"; +import Collapsible from "../react/Collapsible"; +import { useNoteContext, useNoteProperty } from "../react/hooks"; +import SearchDefinitionTab from "../ribbon/SearchDefinitionTab"; + export default function NoteTitleActions() { - const { note } = useNoteContext(); + const { note, ntxId } = useNoteContext(); const isHiddenNote = note && note.noteId !== "_search" && note.noteId.startsWith("_"); const noteType = useNoteProperty(note, "type"); return (
+ {note && noteType === "search" && } {note && !isHiddenNote && noteType === "book" && }
); } + +function SearchProperties({ note, ntxId }: { note: FNote, ntxId: string | null | undefined }) { + return ( + + + ); +} diff --git a/apps/client/src/widgets/ribbon/RibbonDefinition.ts b/apps/client/src/widgets/ribbon/RibbonDefinition.ts index 178b022d3..59920e017 100644 --- a/apps/client/src/widgets/ribbon/RibbonDefinition.ts +++ b/apps/client/src/widgets/ribbon/RibbonDefinition.ts @@ -47,7 +47,7 @@ export const RIBBON_TAB_DEFINITIONS: TabConfiguration[] = [ icon: "bx bx-search", content: SearchDefinitionTab, activate: true, - show: ({ note }) => note?.type === "search" + show: ({ note }) => !isNewLayout && note?.type === "search" }, { title: t("edited_notes.title"), diff --git a/apps/client/src/widgets/ribbon/SearchDefinitionTab.tsx b/apps/client/src/widgets/ribbon/SearchDefinitionTab.tsx index bf285caef..273adbfef 100644 --- a/apps/client/src/widgets/ribbon/SearchDefinitionTab.tsx +++ b/apps/client/src/widgets/ribbon/SearchDefinitionTab.tsx @@ -24,7 +24,7 @@ import { ParentComponent } from "../react/react_utils"; import { TabContext } from "./ribbon-interface"; import { SEARCH_OPTIONS, SearchOption } from "./SearchDefinitionOptions"; -export default function SearchDefinitionTab({ note, ntxId, hidden }: TabContext) { +export default function SearchDefinitionTab({ note, ntxId, hidden }: Pick) { const parentComponent = useContext(ParentComponent); const [ searchOptions, setSearchOptions ] = useState<{ availableOptions: SearchOption[], activeOptions: SearchOption[] }>(); const [ error, setError ] = useState<{ message: string }>();