mirror of
https://github.com/streetwriters/notesnook.git
synced 2025-12-22 14:39:34 +01:00
fix: updating title placeholder on save note
This commit is contained in:
@@ -118,6 +118,7 @@ const Tiptap = () => {
|
||||
const update = () => {
|
||||
setTick((tick) => tick + 1);
|
||||
setLayout(false);
|
||||
controller.setTitlePlaceholder("Note title");
|
||||
setImmediate(() => setLayout(true));
|
||||
};
|
||||
|
||||
@@ -167,6 +168,7 @@ const Tiptap = () => {
|
||||
<>
|
||||
<Tags />
|
||||
<Title
|
||||
titlePlaceholder={controller.titlePlaceholder}
|
||||
readonly={settings.readonly}
|
||||
controller={controllerRef}
|
||||
title={controller.title}
|
||||
|
||||
@@ -5,10 +5,12 @@ import styles from "./styles.module.css";
|
||||
function Title({
|
||||
controller,
|
||||
title,
|
||||
titlePlaceholder,
|
||||
readonly,
|
||||
}: {
|
||||
controller: RefObject<EditorController>;
|
||||
title: string;
|
||||
titlePlaceholder: string;
|
||||
readonly: boolean;
|
||||
}) {
|
||||
const titleRef = useRef<HTMLInputElement>(null);
|
||||
@@ -46,13 +48,14 @@ function Title({
|
||||
if (!emitUpdate.current) return;
|
||||
controller.current?.titleChange(event.target.value);
|
||||
}}
|
||||
placeholder="Note title"
|
||||
placeholder={titlePlaceholder}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
export default React.memo(Title, (prev, next) => {
|
||||
if (prev.title !== next.title) return false;
|
||||
if (prev.titlePlaceholder !== next.titlePlaceholder) return false;
|
||||
if (prev.readonly !== next.readonly) return false;
|
||||
return true;
|
||||
});
|
||||
|
||||
@@ -43,6 +43,8 @@ export type EditorController = {
|
||||
downloadAttachment: (attachment: Attachment) => void;
|
||||
content: MutableRefObject<string | null>;
|
||||
onUpdate: () => void;
|
||||
titlePlaceholder: string;
|
||||
setTitlePlaceholder: React.Dispatch<React.SetStateAction<string>>;
|
||||
};
|
||||
|
||||
export function useEditorController(
|
||||
@@ -50,6 +52,7 @@ export function useEditorController(
|
||||
update: () => void
|
||||
): EditorController {
|
||||
const [title, setTitle] = useState("");
|
||||
const [titlePlaceholder, setTitlePlaceholder] = useState("Note title");
|
||||
const htmlContentRef = useRef<string | null>(null);
|
||||
const timers = useRef<Timers>({
|
||||
selectionChange: null,
|
||||
@@ -141,6 +144,7 @@ export function useEditorController(
|
||||
setTitle(value);
|
||||
break;
|
||||
case "native:titleplaceholder":
|
||||
setTitlePlaceholder(value);
|
||||
break;
|
||||
case "native:status":
|
||||
break;
|
||||
@@ -191,6 +195,8 @@ export function useEditorController(
|
||||
scroll,
|
||||
title,
|
||||
setTitle,
|
||||
titlePlaceholder,
|
||||
setTitlePlaceholder,
|
||||
openFilePicker,
|
||||
downloadAttachment,
|
||||
content: htmlContentRef,
|
||||
|
||||
Reference in New Issue
Block a user