test commit

This commit is contained in:
Kirill
2026-05-19 09:00:26 +05:00
parent 0ee9e76a30
commit 9999b28d49
9 changed files with 249 additions and 68 deletions
+1
View File
@@ -0,0 +1 @@
export { NotFoundPage } from './ui/NotFoundPage'
@@ -0,0 +1,46 @@
import { Box, Typography, Button, Stack, Paper } from '@mui/material'
import { Link as RouterLink } from 'react-router-dom'
export function NotFoundPage() {
return (
<Box
sx={{
display: 'flex',
flexDirection: 'column',
minHeight: '100vh',
bgcolor: 'background.default',
alignItems: 'center',
justifyContent: 'center',
py: 4,
px: 2,
}}
>
<Paper sx={{ p: 4, borderRadius: 3, bgcolor: 'background.paper' }}>
<Stack spacing={3} alignItems="center" textAlign="center">
<Box sx={{ fontSize: 96, lineHeight: 1 }}>404</Box>
<Typography variant="h4" component="h1" gutterBottom>
Страница не найдена
</Typography>
<Typography variant="body2" color="text.secondary" sx={{ maxWidth: 400 }}>
Извините, но запрашиваемая страница не существует или была удалена.
</Typography>
<Stack direction="row" spacing={2} sx={{ mt: 2 }}>
<Button
variant="contained"
size="large"
onClick={() => {
window.location.href = '/'
}}
sx={{ px: 4 }}
>
Вернуться на главную
</Button>
<Button variant="outlined" size="large" component={RouterLink} to="/" sx={{ px: 4 }}>
Посмотреть каталог
</Button>
</Stack>
</Stack>
</Paper>
</Box>
)
}
+8 -1
View File
@@ -194,7 +194,14 @@ export function ProductPage() {
{reviewsQuery.isLoading && <Typography color="text.secondary">Загрузка отзывов</Typography>}
{reviewsQuery.isError && <Alert severity="warning">Не удалось загрузить отзывы.</Alert>}
{reviewsQuery.data && reviewsQuery.data.total === 0 && (
<Typography color="text.secondary">Пока нет опубликованных отзывов на этот товар.</Typography>
<Box sx={{ textAlign: 'center', py: 3 }}>
<Typography variant="h6" color="text.secondary" sx={{ mb: 1 }}>
Отзывов пока нет
</Typography>
<Typography variant="body2" color="text.secondary" sx={{ maxWidth: 400 }}>
Будьте первым, кто оставит отзыв на этот товар. Ваше мнение поможет улучшить качество наших изделий.
</Typography>
</Box>
)}
{reviewsQuery.data && reviewsQuery.data.items.length > 0 && (
<Stack spacing={1.25}>
+1
View File
@@ -0,0 +1 @@
export { TermsPage } from './ui/TermsPage'
+69
View File
@@ -0,0 +1,69 @@
import { Box, Typography, Button, Stack } from '@mui/material'
import { Link as RouterLink } from 'react-router-dom'
export function TermsPage() {
return (
<Box
sx={{
display: 'flex',
flexDirection: 'column',
minHeight: '100vh',
bgcolor: 'background.default',
alignItems: 'center',
justifyContent: 'flex-start',
py: 4,
px: 2,
}}
>
<Box sx={{ maxWidth: 800, width: '100%', py: 4 }}>
<Typography variant="h4" component="h1" gutterBottom sx={{ mb: 4 }}>
Пользовательское соглашение
</Typography>
<Typography variant="body2" color="text.secondary" sx={{ mb: 3 }}>
Последнее обновление: 18 мая 2026 г.
</Typography>
<Box sx={{ bgcolor: 'background.paper', p: 3, borderRadius: 2 }}>
<Typography variant="body2" color="text.primary" sx={{ lineHeight: 1.7, mb: 2 }}>
1. ОБЩИЕ ПОЛОЖЕНИЯ
</Typography>
<Typography variant="body2" color="text.secondary" sx={{ mb: 2 }}>
Настоящее пользовательское соглашение (далее «Соглашение») регулирует отношения между пользователями сайта
и администрацией сайта в связи с использованием сайта Любимый Креатив.
</Typography>
<Typography variant="body2" color="text.primary" sx={{ lineHeight: 1.7, mb: 2 }}>
2. ПРЕДМЕТ СОГЛАШЕНИЯ
</Typography>
<Typography variant="body2" color="text.secondary" sx={{ mb: 2 }}>
Сайт предоставляет пользователям возможность ознакомиться с информацией о товарах, совершать покупки и
оставлять отзывы.
</Typography>
<Typography variant="body2" color="text.primary" sx={{ lineHeight: 1.7, mb: 2 }}>
3. ПРАВА И ОБЯЗАННОСТИ ПОЛЬЗОВАТЕЛЯ
</Typography>
<Typography variant="body2" color="text.secondary" sx={{ mb: 2 }}>
Пользователь обязуется предоставлять достоверную информацию при регистрации и оформлении заказов, не
использовать сайт в незаконных целях, соблюдать правила поведения при оставлении отзывов и комментариев.
</Typography>
<Typography variant="body2" color="text.primary" sx={{ lineHeight: 1.7, mb: 2 }}>
4. ОТВЕТСТВЕННОСТЬ
</Typography>
<Typography variant="body2" color="text.secondary" sx={{ mb: 2 }}>
Администрация сайта не несет ответственности за прямые или косвенные убытки, возникшие в результате
использования информации, размещенной на сайте.
</Typography>
</Box>
<Stack direction="row" justifyContent="center" mt={4}>
<Button variant="outlined" size="medium" component={RouterLink} to="/" sx={{ px: 3 }}>
Вернуться на главную
</Button>
</Stack>
</Box>
</Box>
)
}