feat: implement message CRUD and dark mode

- Add Message, Recipient models and migration
- Create message API routes (GET, POST, PATCH, DELETE)
- Fix IDOR vulnerability in PATCH (verify ownership before delete)
- Add dashboard and message pages (list, new, detail)
- Add UI components (card, input, label, textarea)
- Enable dark mode in layout
- Add session user id typing to NextAuth
- Add AGENTS.md memory bank documentation
This commit is contained in:
Yusuf İpek
2025-12-24 15:07:20 +03:00
parent c2da0437d0
commit 1626106a8b
17 changed files with 851 additions and 3 deletions
+18
View File
@@ -0,0 +1,18 @@
import * as React from "react"
import { cn } from "@/lib/utils"
function Textarea({ className, ...props }: React.ComponentProps<"textarea">) {
return (
<textarea
data-slot="textarea"
className={cn(
"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
className
)}
{...props}
/>
)
}
export { Textarea }