From e1c809d6f1afd7b45f94dcad68a7a353b35c2f78 Mon Sep 17 00:00:00 2001 From: CorrectRoadH Date: Sat, 13 May 2023 22:08:54 +0800 Subject: [PATCH] fix: unexpected empty lines when copying-pasting (#1654) --- web/src/components/MemoList.tsx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/web/src/components/MemoList.tsx b/web/src/components/MemoList.tsx index af6bfb57..2262925d 100644 --- a/web/src/components/MemoList.tsx +++ b/web/src/components/MemoList.tsx @@ -8,6 +8,7 @@ import { DEFAULT_MEMO_LIMIT } from "@/helpers/consts"; import { checkShouldShowMemoWithFilters } from "@/helpers/filter"; import Memo from "./Memo"; import "@/less/memo-list.less"; +import copy from "copy-to-clipboard"; const MemoList = () => { const { t } = useTranslation(); @@ -148,6 +149,21 @@ const MemoList = () => { } }; + useEffect(() => { + window.addEventListener("copy", handleCopy); + return () => { + window.removeEventListener("copy", handleCopy); + }; + }, []); + + const handleCopy = (event: ClipboardEvent) => { + event.preventDefault(); + const rawStr = document.getSelection()?.toString(); + if (rawStr !== undefined) { + copy(rawStr.split("\n\n").join("\n")); + } + }; + return (
{sortedMemos.map((memo) => (