feat(admin-portal): docker 本地测试通过 + 下游工作清单
docker Desktop 本地验证: - 镜像构建成功(edu/admin-portal:test) - 容器运行正常(端口 4003) - /api/health、/api/ready、/login、/admin/dashboard 全部 200 修复项: - next.config.js 添加 output: standalone - package.json 添加 autoprefixer 依赖 - login/layout.tsx 提供 AuthProvider/ToastProvider 部署配置: - docker-compose.deploy.yml 添加 admin-portal 服务 - deploy.env.example 添加 ADMIN_PORTAL_PORT 下游工作清单(nextstep.md): - api-gateway: 缺 /api/admin/graphql 路由 - teacher-bff: 缺 16 Query + 11 Mutation - iam: 缺 BatchGetUsers 等 RPC
This commit is contained in:
28
apps/admin-portal/src/app/login/layout.tsx
Normal file
28
apps/admin-portal/src/app/login/layout.tsx
Normal file
@@ -0,0 +1,28 @@
|
||||
"use client";
|
||||
|
||||
import { type ReactNode } from "react";
|
||||
import { GraphQLProvider } from "@/providers/graphql-provider";
|
||||
import { AuthProvider } from "@/providers/auth-provider";
|
||||
import { ToastProvider } from "@/providers/toast-provider";
|
||||
import { MswInitializer } from "@/components/msw-initializer";
|
||||
import { useState } from "react";
|
||||
|
||||
/**
|
||||
* Login layout - 提供 login 页面所需的 providers
|
||||
*
|
||||
* login 页面不在 /admin 下,需要独立的 provider 链
|
||||
*/
|
||||
export default function LoginLayout({ children }: { children: ReactNode }) {
|
||||
const [mswReady, setMswReady] = useState(false);
|
||||
|
||||
return (
|
||||
<GraphQLProvider>
|
||||
<MswInitializer onReady={() => setMswReady(true)} />
|
||||
{mswReady && (
|
||||
<AuthProvider>
|
||||
<ToastProvider>{children}</ToastProvider>
|
||||
</AuthProvider>
|
||||
)}
|
||||
</GraphQLProvider>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user