feat(notes): rich-text editor with tiptap (task 85)

Replace plain textarea with shared tiptap editor and sanitized html rendering.

Adds interactive checklists on read surfaces and mobile overflow fixes.
This commit is contained in:
ginnoir committed 2026-07-04 19:25:15 -05:00
1 parent 67f67525ff
commit a4be5d5061
23 files changed
+1942 -206

No files matched your search

+4 -1
View File
@@ -32,6 +32,9 @@ export async function POST(request: Request) {
return NextResponse.json({ error: "No file field in request" }, { status: 400 });
}
const url = new URL(request.url);
const scope = url.searchParams.get("scope") === "notes" ? "notes" : "garden";
if (!file.type.startsWith("image/")) {
return NextResponse.json({ error: "Only image files are allowed" }, { status: 415 });
}
@@ -45,7 +48,7 @@ export async function POST(request: Request) {
.replace(/[^a-z0-9]/gi, "")
.toLowerCase()
.slice(0, 8);
const key = `garden/${session.household.id}/${randomUUID()}.${safeExt}`;
const key = `${scope}/${session.household.id}/${randomUUID()}.${safeExt}`;
try {
await ensureBucket();