diff --git a/apps/client/src/widgets/layout/InlineTitle.tsx b/apps/client/src/widgets/layout/InlineTitle.tsx index e2db39e9f..f92c0611a 100644 --- a/apps/client/src/widgets/layout/InlineTitle.tsx +++ b/apps/client/src/widgets/layout/InlineTitle.tsx @@ -1,9 +1,39 @@ import "./InlineTitle.css"; +import { useEffect, useState } from "preact/hooks"; + +import FNote from "../../entities/fnote"; +import { useNoteContext } from "../react/hooks"; + export default function InlineTitle() { + const { note, parentComponent } = useNoteContext(); + const [ shown, setShown ] = useState(shouldShow(note)); + + useEffect(() => { + setShown(shouldShow(note)); + }, [ note ]); + + useEffect(() => { + if (!shown) return; + + const titleRow = parentComponent.$widget[0] + .closest(".note-split") + ?.querySelector("&> .title-row"); + if (!titleRow) return; + + titleRow.classList.add("collapse"); + + return () => titleRow.classList.remove("collapse"); + }, [ shown, parentComponent ]); + return (