Add user authentication with login/register

- Add users and sessions tables to database schema
- Add bcryptjs for password hashing
- Create auth API routes (login, register, logout, me)
- Add AuthProvider context for client-side auth state
- Update all API routes to require authentication and filter by userId
- Create login and register pages
- Add AppShell component for authenticated layout
- Update all pages to use AppShell and show user info
- Each user now has their own private entries and tags

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Gemini Agent
2026-01-24 06:18:41 +00:00
parent 5555c1e6b5
commit 1455b0acd1
27 changed files with 1039 additions and 75 deletions

View File

@@ -0,0 +1,19 @@
"use client";
import { useAuth } from "./AuthProvider";
import { Navigation } from "./Navigation";
export function AppShell({ children }: { children: React.ReactNode }) {
const { user } = useAuth();
if (!user) {
return <>{children}</>;
}
return (
<>
<main className="max-w-lg mx-auto px-4 py-6 pb-24">{children}</main>
<Navigation />
</>
);
}