diff options
| author | yyamashita <yyamashita@hetzner.yyamashita.com> | 2026-06-19 19:45:41 +0900 |
|---|---|---|
| committer | yyamashita <yyamashita@hetzner.yyamashita.com> | 2026-06-19 19:45:41 +0900 |
| commit | cba06f7e23417a9aef6c15ae26715385feb225ba (patch) | |
| tree | 042f8e8343e7203ac9c6576e3c18fc6865a59ba1 /app/routes/auth.logout.tsx | |
| parent | c6bb8a0c75b4307a73a3e36d97c7b5e69294cfe9 (diff) | |
Add white theme, post delete, and passkey authentication
- Rewrite CSS to light/white theme
- Add delete button (auth-gated) with confirm dialog
- Add passkey register/login/logout routes via @simplewebauthn
- Gate compose form and delete behind session authentication
- Add credentials table to SQLite schema
- Add SESSION_SECRET and WebAuthn env vars to docker-compose
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'app/routes/auth.logout.tsx')
| -rw-r--r-- | app/routes/auth.logout.tsx | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/app/routes/auth.logout.tsx b/app/routes/auth.logout.tsx new file mode 100644 index 0000000..3b60231 --- /dev/null +++ b/app/routes/auth.logout.tsx @@ -0,0 +1,18 @@ +import { redirect } from "react-router"; +import type { Route } from "./+types/auth.logout"; +import { getSession, destroySession } from "~/lib/session.server"; + +export async function loader() { + return redirect("/"); +} + +export async function action({ request }: Route.ActionArgs) { + const session = await getSession(request.headers.get("Cookie")); + return redirect("/", { + headers: { "Set-Cookie": await destroySession(session) }, + }); +} + +export default function Logout() { + return null; +} |
