feat: enhance DND nesting & promotion, isolated tags API, fix completion bounce UI, add Admin i18n switcher, refine typography & polish UX (v0.7.2)
Build and Push Docker Image / build-and-push (push) Successful in 9m59s
Build and Push Docker Image / build-and-push (push) Successful in 9m59s
This commit is contained in:
@@ -4,6 +4,7 @@ import Link from "next/link";
|
||||
import { useSession } from "next-auth/react";
|
||||
import { getDemoStore } from "@/lib/mockData";
|
||||
import { useI18n } from "@/lib/i18n";
|
||||
import { LanguageSelector } from "@/components/ui/LanguageSelector";
|
||||
|
||||
interface AdminUser {
|
||||
id: string;
|
||||
@@ -47,7 +48,7 @@ const INITIAL_DEMO_USERS: AdminUser[] = [
|
||||
|
||||
export default function AdminPage() {
|
||||
const { data: session, status } = useSession();
|
||||
const { t } = useI18n();
|
||||
const { t, lang } = useI18n();
|
||||
|
||||
const isDemo = status === "unauthenticated" || !session;
|
||||
|
||||
@@ -232,18 +233,19 @@ export default function AdminPage() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style={{ display: "flex", gap: 8 }}>
|
||||
<div style={{ display: "flex", alignItems: "center", gap: 8 }}>
|
||||
<LanguageSelector />
|
||||
{isDemo ? (
|
||||
<Link href="/demo" className="btn btn-ghost btn-sm">
|
||||
← Back to Demo
|
||||
← {lang === "ko" ? "데모로 돌아가기" : lang === "ja" ? "デモに戻る" : "Back to Demo"}
|
||||
</Link>
|
||||
) : (
|
||||
<button type="button" className="btn btn-ghost btn-sm" onClick={fetchAdminData}>
|
||||
🔄 Refresh Data
|
||||
🔄 {lang === "ko" ? "새로고침" : lang === "ja" ? "更新" : "Refresh"}
|
||||
</button>
|
||||
)}
|
||||
<Link href="/" className="btn btn-primary btn-sm">
|
||||
🚀 Open Dashboard
|
||||
🚀 {lang === "ko" ? "할 일 대시보드" : lang === "ja" ? "タスク一覧" : "Open Dashboard"}
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user