mirror of
https://github.com/usememos/memos.git
synced 2024-09-21 14:55:59 +08:00
feat: read content from search params (#1607)
This commit is contained in:
parent
3fad718807
commit
dbb544dc92
|
@ -14,6 +14,7 @@ import ResourceIcon from "./ResourceIcon";
|
|||
import showResourcesSelectorDialog from "./ResourcesSelectorDialog";
|
||||
import showCreateResourceDialog from "./CreateResourceDialog";
|
||||
import "@/less/memo-editor.less";
|
||||
import { clearContentQueryParam, getContentQueryParam } from "@/helpers/utils";
|
||||
|
||||
const listItemSymbolList = ["- [ ] ", "- [x] ", "- [X] ", "* ", "- "];
|
||||
const emptyOlReg = /^(\d+)\. $/;
|
||||
|
@ -22,6 +23,10 @@ const getEditorContentCache = (): string => {
|
|||
return storage.get(["editorContentCache"]).editorContentCache ?? "";
|
||||
};
|
||||
|
||||
const getInitialContent = (): string => {
|
||||
return getContentQueryParam() ?? getEditorContentCache();
|
||||
};
|
||||
|
||||
const setEditorContentCache = (content: string) => {
|
||||
storage.set({
|
||||
editorContentCache: content,
|
||||
|
@ -286,6 +291,7 @@ const MemoEditor = () => {
|
|||
editorStore.clearResourceList();
|
||||
setEditorContentCache("");
|
||||
editorRef.current?.setContent("");
|
||||
clearContentQueryParam();
|
||||
};
|
||||
|
||||
const handleCancelEdit = () => {
|
||||
|
@ -378,7 +384,7 @@ const MemoEditor = () => {
|
|||
const editorConfig = useMemo(
|
||||
() => ({
|
||||
className: `memo-editor`,
|
||||
initialContent: getEditorContentCache(),
|
||||
initialContent: getInitialContent(),
|
||||
placeholder: t("editor.placeholder"),
|
||||
fullscreen: state.fullscreen,
|
||||
onContentChange: handleContentChange,
|
||||
|
|
|
@ -105,3 +105,18 @@ export const formatBytes = (bytes: number) => {
|
|||
i = Math.floor(Math.log(bytes) / Math.log(k));
|
||||
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + " " + sizes[i];
|
||||
};
|
||||
|
||||
export const getContentQueryParam = (): string | undefined => {
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
return urlParams.get("content") ?? undefined;
|
||||
};
|
||||
|
||||
export const clearContentQueryParam = () => {
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
urlParams.delete("content");
|
||||
let url = window.location.pathname;
|
||||
if (urlParams.toString()) {
|
||||
url += `?${urlParams.toString()}`;
|
||||
}
|
||||
window.history.replaceState({}, "", url);
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue