mirror of
https://github.com/johndoe6345789/AutoMetabuilder.git
synced 2026-04-24 13:54:59 +00:00
- Implement core components: CLI argument parsing, environment loading, GitHub service creation, and logging configuration. - Add support for OpenAI client setup and model resolution. - Develop SDLC context loader from GitHub and repository files. - Implement workflow context and engine builders. - Introduce major workflow packages: `game_tick_loop` and `contextual_iterative_loop`. - Update localization files with new package descriptions and labels. - Streamline web navigation by loading items from a dedicated JSON file.
34 lines
1.2 KiB
TypeScript
34 lines
1.2 KiB
TypeScript
import { ReactNode } from "react";
|
|
import { Box, Toolbar, Typography } from "@mui/material";
|
|
import { NavigationItem } from "../../lib/types";
|
|
import Sidebar from "./Sidebar";
|
|
|
|
type PageLayoutProps = {
|
|
navItems: NavigationItem[];
|
|
section: string;
|
|
onSectionChange: (section: string) => void;
|
|
t: (key: string, fallback?: string) => string;
|
|
children: ReactNode;
|
|
};
|
|
|
|
export default function PageLayout({ navItems, section, onSectionChange, t, children }: PageLayoutProps) {
|
|
return (
|
|
<Box sx={{ display: "flex" }}>
|
|
<Sidebar items={navItems} selected={section} onSelect={onSectionChange} t={t} />
|
|
<Box component="main" sx={{ flexGrow: 1, p: 3, bgcolor: "#04070f", minHeight: "100vh" }}>
|
|
<Toolbar disableGutters>
|
|
<div>
|
|
<Typography variant="h4" color="text.primary" gutterBottom>
|
|
{t("ui.app.title", "AutoMetabuilder Dashboard")}
|
|
</Typography>
|
|
<Typography variant="subtitle1" color="text.secondary">
|
|
{t("ui.dashboard.subtitle", "Control the bot and monitor system activity")}
|
|
</Typography>
|
|
</div>
|
|
</Toolbar>
|
|
<Box>{children}</Box>
|
|
</Box>
|
|
</Box>
|
|
);
|
|
}
|