Files
HSAP/platform/web/src/components/ModuleGuard.tsx
Chengfang Lu e72bc061c5 feat: HSAP platform v2 — modular navigation, quality review, audit log, world model simulation
Major changes:
- New frontend (platform/web/): Vite + React 18 + TypeScript + Tailwind
- 4-module navigation: 数据送标 / 模型管理 / 车队管理 / 系统管理
- Data catalog with charts (DMS/ADAS/Lane 3-tab view)
- Quality review workflow (标注质检): Good/Fine/Bad scoring with auto-advance
- Audit enhancements: batch operations, rejection categories, Feishu notifications
- Operation audit log (操作日志)
- World model simulation studio (仿真工坊)
- Dataset version management with snapshots and diff
- ADAS 7-class dataset integration (138K images organized + compressed)
- User management with Feishu integration and pagination
- CRUD/search/filter on all pages, card layout redesign
- PIL-optimized image overlay rendering
- Auto-snapshot on build, in_review workflow stage
- Removed embedded algorithm code (now in workspace)
2026-06-03 11:40:21 +08:00

26 lines
792 B
TypeScript

import { useAuth } from "@/app/AuthContext";
import { Redirect } from "react-router-dom";
import type { ReactNode } from "react";
interface ModuleGuardProps {
requiredPerms: string[];
fallback?: "redirect" | "message";
children: ReactNode;
}
export const ModuleGuard = ({ requiredPerms, fallback = "redirect", children }: ModuleGuardProps) => {
const { hasPermission } = useAuth();
const hasAccess = requiredPerms.some((p) => hasPermission(p));
if (!hasAccess) {
if (fallback === "redirect") return <Redirect to="/" />;
return (
<div className="page-container">
<div className="card text-center py-12">
<p className="text-gray-500 text-lg">访</p>
</div>
</div>
);
}
return <>{children}</>;
};