|
|
@@ -0,0 +1,56 @@
|
|
|
+import { Button } from "@/components/ui/button";
|
|
|
+
|
|
|
+/**
|
|
|
+ * /login
|
|
|
+ *
|
|
|
+ * RHL-019 scope:
|
|
|
+ * - UI placeholder only
|
|
|
+ * - No form logic, no apiClient calls, no redirects yet
|
|
|
+ *
|
|
|
+ * Future tickets (RHL-020/RHL-021) will implement:
|
|
|
+ * - session checks (getMe)
|
|
|
+ * - actual login flow
|
|
|
+ * - redirects into the protected app
|
|
|
+ */
|
|
|
+export default function LoginPage() {
|
|
|
+ return (
|
|
|
+ <div className="w-full space-y-6">
|
|
|
+ <div className="space-y-2 text-center">
|
|
|
+ <h1 className="text-2xl font-semibold tracking-tight">
|
|
|
+ RHL Lieferscheine
|
|
|
+ </h1>
|
|
|
+ <p className="text-sm text-muted-foreground">
|
|
|
+ Login placeholder (RHL-019 scaffold)
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div className="rounded-lg border bg-card p-6 text-card-foreground shadow-sm">
|
|
|
+ <div className="space-y-3">
|
|
|
+ <p className="text-sm text-muted-foreground">
|
|
|
+ This is a placeholder page. The real login form and session guard
|
|
|
+ will be implemented in a later ticket.
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <div className="flex gap-2">
|
|
|
+ <Button disabled aria-disabled="true" title="Not implemented yet">
|
|
|
+ Sign in (TODO)
|
|
|
+ </Button>
|
|
|
+ <Button
|
|
|
+ variant="outline"
|
|
|
+ disabled
|
|
|
+ aria-disabled="true"
|
|
|
+ title="Not implemented yet"
|
|
|
+ >
|
|
|
+ Forgot password (TODO)
|
|
|
+ </Button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <p className="text-center text-xs text-muted-foreground">
|
|
|
+ Tip: You can already test routing by opening /, /NL01, /NL01/2025/12/31
|
|
|
+ etc.
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ );
|
|
|
+}
|