Files
AutoMetabuilder/frontend/components/layout/PageLayout.tsx
johndoe6345789 b79dbbe14e Introduce AutoMetabuilder core components and workflow packages:
- 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.
2026-01-10 01:15:48 +00:00

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>
);
}