+ );
+}
diff --git a/apps/web/app/admin/login/page.tsx b/apps/web/app/admin/login/page.tsx
index 6a07e68..fc2ef35 100644
--- a/apps/web/app/admin/login/page.tsx
+++ b/apps/web/app/admin/login/page.tsx
@@ -1,82 +1,9 @@
-"use client";
-
-import { useState } from "react";
-import { useRouter } from "next/navigation";
-import { login, AuthError } from "@duoc-thu/api-client";
+import { LoginForm } from "../../_components/LoginForm";
+/** Administrator entry point. The form itself is shared with `/login`; the
+ * only difference is that a successful non-admin login is told it lacks
+ * administrative rights and pointed at the main app, instead of being shown
+ * a failure message it had already disproved by signing in. */
export default function AdminLoginPage() {
- const router = useRouter();
- const [username, setUsername] = useState("");
- const [password, setPassword] = useState("");
- const [error, setError] = useState