papayu/src/App.tsx
Yuriy e76236dc55 Initial commit: papa-yu v2.4.4
- Schema version (x_schema_version, schema_hash) в prompt/trace
- Кеш read/search/logs/env (ContextCache) в plan-цикле
- Контекст-диета: MAX_FILES=8, MAX_FILE_CHARS=20k, MAX_TOTAL_CHARS=120k
- Plan→Apply двухфазность, NO_CHANGES, path sanitization
- Protected paths, content validation, EOL normalization
- Trace (PAPAYU_TRACE), redaction (PAPAYU_TRACE_RAW)
- Preview diff, undo/redo, transactional apply

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 11:33:19 +03:00

91 lines
2.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { BrowserRouter, Routes, Route, NavLink } from "react-router-dom";
import Tasks from "./pages/Tasks";
import Dashboard from "./pages/Dashboard";
function Layout({ children }: { children: React.ReactNode }) {
return (
<div style={{ display: "flex", flexDirection: "column", minHeight: "100vh" }}>
<header
style={{
padding: "14px 24px",
borderBottom: "1px solid var(--color-border)",
background: "linear-gradient(135deg, #1e3a5f 0%, #2563eb 100%)",
boxShadow: "0 2px 8px rgba(37, 99, 235, 0.2)",
display: "flex",
alignItems: "center",
gap: "16px",
}}
>
<img
src="/logo.png"
alt="PAPAYU"
style={{
height: "44px",
width: "auto",
objectFit: "contain",
filter: "drop-shadow(0 1px 2px rgba(0,0,0,0.2))",
}}
/>
<span
style={{
fontWeight: 700,
fontSize: "20px",
color: "#fff",
letterSpacing: "-0.02em",
textShadow: "0 1px 2px rgba(0,0,0,0.15)",
}}
>
PAPA YU
</span>
<nav style={{ display: "flex", gap: "6px", marginLeft: "28px" }}>
<NavLink
to="/"
end
style={({ isActive }) => ({
padding: "10px 18px",
borderRadius: "999px",
fontWeight: 600,
fontSize: "14px",
textDecoration: "none",
color: isActive ? "#1e3a5f" : "rgba(255,255,255,0.9)",
background: isActive ? "#fff" : "rgba(255,255,255,0.15)",
transition: "background 0.2s ease, color 0.2s ease",
})}
>
Задачи
</NavLink>
<NavLink
to="/panel"
style={({ isActive }) => ({
padding: "10px 18px",
borderRadius: "999px",
fontWeight: 600,
fontSize: "14px",
textDecoration: "none",
color: isActive ? "#1e3a5f" : "rgba(255,255,255,0.9)",
background: isActive ? "#fff" : "rgba(255,255,255,0.15)",
transition: "background 0.2s ease, color 0.2s ease",
})}
>
Панель управления
</NavLink>
</nav>
</header>
<main style={{ flex: 1, padding: "24px", overflow: "visible", minHeight: 0 }}>{children}</main>
</div>
);
}
export default function App() {
return (
<BrowserRouter>
<Layout>
<Routes>
<Route path="/" element={<Tasks />} />
<Route path="/panel" element={<Dashboard />} />
</Routes>
</Layout>
</BrowserRouter>
);
}