каркас вроде есть

This commit is contained in:
gorbenko.pavel
2026-07-29 12:30:40 +05:00
parent ad04d9bda4
commit 04f04133f2
114 changed files with 8347 additions and 5143 deletions
@@ -0,0 +1,40 @@
import * as React from 'react';
import styles from './TopNav.module.scss';
import { ScreenKey } from './types';
interface ITab {
key: ScreenKey;
label: string;
}
const TABS: ITab[] = [
{ key: 'dashboard', label: 'Дашборд' },
{ key: 'requestTypes', label: 'Типы заявок' },
{ key: 'routes', label: 'Маршруты' },
{ key: 'resolve', label: 'Проверка маршрута' }
];
export interface ITopNavProps {
active: ScreenKey;
onSelect: (key: ScreenKey) => void;
}
export const TopNav: React.FC<ITopNavProps> = ({ active, onSelect }) => (
<nav className={styles.topnav}>
<div className={styles.brand}>
<div className={styles.mark}>T</div>
<div className={styles.brandText}>TNSU <em>Approval Route</em></div>
</div>
<div className={styles.tabs}>
{TABS.map(tab => (
<button
key={tab.key}
className={`${styles.tab} ${(active === tab.key || (active === 'routeSteps' && tab.key === 'routes')) ? styles.on : ''}`}
onClick={() => onSelect(tab.key)}
>
{tab.label}
</button>
))}
</div>
</nav>
);