feat: add note copy
This commit is contained in:
parent
49f7c8253e
commit
5da589c331
@ -15,7 +15,7 @@ export async function createNote() {
|
||||
.returning({ id: usersTable.id });
|
||||
const noteId = result[0].id;
|
||||
|
||||
await db.insert(blocksTable).values({ noteId });
|
||||
await db.insert(blocksTable).values({ noteId, order: 1 });
|
||||
redirect(`/notes/${noteId}`);
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
"use client";
|
||||
|
||||
import { Copy, Plus } from "lucide-react";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
import { IBlock, INote } from "@/lib/db/schema";
|
||||
@ -33,6 +35,17 @@ export default function Editor({
|
||||
note?: INote;
|
||||
blocks?: IBlock[];
|
||||
}) {
|
||||
const copyHandler = () => {
|
||||
let copyText = "";
|
||||
blocks.forEach((block) => {
|
||||
if (block.tag !== "") {
|
||||
copyText += `[${block.tag}]`;
|
||||
}
|
||||
copyText += block.lines.join("\n");
|
||||
});
|
||||
navigator.clipboard.writeText(copyText);
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="flex flex-col items-center max-w-2xl w-full gap-4">
|
||||
<input
|
||||
@ -45,7 +58,7 @@ export default function Editor({
|
||||
<input type="hidden" name="noteId" value={note.id} />
|
||||
<IconOnlyButton icon={<Plus size={24} />} type="submit" />
|
||||
</form>
|
||||
<IconOnlyButton icon={<Copy size={24} />} title="Copy note to clipboard" />
|
||||
<IconOnlyButton icon={<Copy size={24} />} onClick={copyHandler} title="Copy note to clipboard" />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user