+
+ Список гоночных трасс и картодромов
+
+
+
+ {places.map((track) => (
+
+
+
+
+
+
+ {track.address ? track.address : 'Нет данных об адресе'}
+
+
+ Тип: {track.type}
+
+ {track.capacity && (
+
+ Вместимость: {track.capacity} человек
+
+ )}
+
+
+
+
+ ))}
+
+
+ );
+};
+
+export default PlacesPage;
diff --git a/front/src/app/pages/stages/StagePage.js b/front/src/app/pages/stages/StagePage.js
index 9c15ff3..541f860 100644
--- a/front/src/app/pages/stages/StagePage.js
+++ b/front/src/app/pages/stages/StagePage.js
@@ -1,31 +1,58 @@
-// src/pages/StagePage.jsx
-import React, { useState, useEffect } from 'react';
+import React, {useEffect, useState} from 'react';
import {
- Container, Typography, Button, Paper, Box, Divider, Alert, Chip
+ Alert,
+ Box,
+ Button,
+ Chip,
+ CircularProgress,
+ Container,
+ Paper,
+ Tab,
+ Table,
+ TableBody,
+ TableCell,
+ TableHead,
+ TableRow,
+ Tabs,
+ Typography
} from '@mui/material';
-import { Download as DownloadIcon } from '@mui/icons-material';
-import { useParams } from 'react-router-dom';
+import {Download as DownloadIcon, Print as PrintIcon} from '@mui/icons-material';
+import {useParams} from 'react-router-dom';
import {MOCK_STAGES, STAGE_STATUSES} from '../../../data/constants';
-
+import StagesHeader from "../../../components/stages/StagesHeader";
const StagePage = () => {
- const { id } = useParams();
+ const {id} = useParams();
const [stage, setStage] = useState(null);
+ const [loading, setLoading] = useState(true);
const [error, setError] = useState(false);
+ const [activeTab, setActiveTab] = useState('info'); // info | classes | events
+ const [activeClassTab, setActiveClassTab] = useState(0);
useEffect(() => {
const foundStage = MOCK_STAGES.find(s => s.id === Number(id));
if (foundStage) {
setStage(foundStage);
+ setLoading(false);
} else {
setError(true);
+ setLoading(false);
}
}, [id]);
- if (error) {
+ if (loading) {
return (
-