diff --git a/client/src/app/layout/AppHeader.tsx b/client/src/app/layout/AppHeader.tsx index 726ac39..83c7825 100644 --- a/client/src/app/layout/AppHeader.tsx +++ b/client/src/app/layout/AppHeader.tsx @@ -1,5 +1,4 @@ import { useEffect, useState } from 'react' -import { Menu, Package } from 'lucide-react' import AppBar from '@mui/material/AppBar' import Badge from '@mui/material/Badge' import Box from '@mui/material/Box' @@ -12,6 +11,7 @@ import Typography from '@mui/material/Typography' import useMediaQuery from '@mui/material/useMediaQuery' import { useQuery } from '@tanstack/react-query' import { useUnit } from 'effector-react' +import { Menu, Package } from 'lucide-react' import { Link as RouterLink, useNavigate } from 'react-router-dom' import { useThemeController } from '@/app/providers/theme-controller' import { fetchMyCart } from '@/entities/cart/api/cart-api' diff --git a/client/src/app/layout/MainLayout.tsx b/client/src/app/layout/MainLayout.tsx index 1ed91c4..ddc01f2 100644 --- a/client/src/app/layout/MainLayout.tsx +++ b/client/src/app/layout/MainLayout.tsx @@ -4,8 +4,8 @@ import Container from '@mui/material/Container' import Divider from '@mui/material/Divider' import Grid from '@mui/material/Grid' import Link from '@mui/material/Link' -import SvgIcon from '@mui/material/SvgIcon' import Stack from '@mui/material/Stack' +import SvgIcon from '@mui/material/SvgIcon' import Typography from '@mui/material/Typography' import { Link as RouterLink } from 'react-router-dom' import { AppHeader } from '@/app/layout/AppHeader' diff --git a/client/src/entities/info/api/info-page-api.ts b/client/src/entities/info/api/info-page-api.ts index 0a37103..70873ac 100644 --- a/client/src/entities/info/api/info-page-api.ts +++ b/client/src/entities/info/api/info-page-api.ts @@ -1,8 +1,6 @@ import { apiClient } from '@/shared/api/client' import type { InfoPageBlock } from '../model/types' - - export async function fetchPublicInfoBlocks(): Promise<{ items: InfoPageBlock[] }> { const { data } = await apiClient.get<{ items: InfoPageBlock[] }>('info-page/blocks') return data diff --git a/client/src/features/cart/cart-badge/ui/CartBadge.tsx b/client/src/features/cart/cart-badge/ui/CartBadge.tsx index f6c6fd1..a35b677 100644 --- a/client/src/features/cart/cart-badge/ui/CartBadge.tsx +++ b/client/src/features/cart/cart-badge/ui/CartBadge.tsx @@ -1,7 +1,7 @@ -import { ShoppingCart } from 'lucide-react' import Badge from '@mui/material/Badge' import IconButton from '@mui/material/IconButton' import Tooltip from '@mui/material/Tooltip' +import { ShoppingCart } from 'lucide-react' import type { AuthUser } from '@/shared/model/auth' type Props = { diff --git a/client/src/features/cart/toggle-cart-icon/ui/ToggleCartIcon.tsx b/client/src/features/cart/toggle-cart-icon/ui/ToggleCartIcon.tsx index 56d948b..ba618e3 100644 --- a/client/src/features/cart/toggle-cart-icon/ui/ToggleCartIcon.tsx +++ b/client/src/features/cart/toggle-cart-icon/ui/ToggleCartIcon.tsx @@ -1,8 +1,8 @@ -import { ShoppingCart, ShoppingCartOff } from 'lucide-react' import IconButton from '@mui/material/IconButton' import Tooltip from '@mui/material/Tooltip' import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query' import { useUnit } from 'effector-react' +import { ShoppingCart } from 'lucide-react' import { useNavigate } from 'react-router-dom' import { addToCart, fetchMyCart, removeCartItem } from '@/entities/cart/api/cart-api' import { $user } from '@/shared/model/auth' @@ -63,7 +63,7 @@ export function ToggleCartIcon(props: { - {user ? inCart ? : : + {user ? inCart ? : : } diff --git a/client/src/features/user/user-menu/ui/UserMenu.tsx b/client/src/features/user/user-menu/ui/UserMenu.tsx index 1b971a2..65607dd 100644 --- a/client/src/features/user/user-menu/ui/UserMenu.tsx +++ b/client/src/features/user/user-menu/ui/UserMenu.tsx @@ -1,10 +1,10 @@ import { useState } from 'react' -import { User } from 'lucide-react' import Badge from '@mui/material/Badge' import IconButton from '@mui/material/IconButton' import ListItemText from '@mui/material/ListItemText' import Menu from '@mui/material/Menu' import MenuItem from '@mui/material/MenuItem' +import { User } from 'lucide-react' import type { AuthUser } from '@/shared/model/auth' type Props = { diff --git a/client/src/pages/admin-layout/ui/AdminLayoutPage.tsx b/client/src/pages/admin-layout/ui/AdminLayoutPage.tsx index 0242a09..72a6674 100644 --- a/client/src/pages/admin-layout/ui/AdminLayoutPage.tsx +++ b/client/src/pages/admin-layout/ui/AdminLayoutPage.tsx @@ -1,6 +1,5 @@ import type { ReactNode } from 'react' import { useMemo, useState } from 'react' -import { FileText, Image, LayoutGrid, ListOrdered, MessageSquare, People, Store } from 'lucide-react' import Badge from '@mui/material/Badge' import Box from '@mui/material/Box' import Divider from '@mui/material/Divider' @@ -16,6 +15,7 @@ import Typography from '@mui/material/Typography' import useMediaQuery from '@mui/material/useMediaQuery' import { useQuery } from '@tanstack/react-query' import { useUnit } from 'effector-react' +import { FileText, Image, LayoutGrid, ListOrdered, MessageSquare, Store, Users } from 'lucide-react' import { Navigate, Route, Routes, useLocation, useNavigate } from 'react-router-dom' import { fetchAdminOrdersSummary } from '@/entities/order/api/admin-order-api' import { AdminCategoriesPage } from '@/pages/admin-categories' @@ -59,7 +59,7 @@ export function AdminLayoutPage() { { to: '/admin/gallery', label: 'Галерея', icon: }, { to: '/admin/orders', label: 'Заказы', icon: }, { to: '/admin/reviews', label: 'Отзывы', icon: }, - { to: '/admin/users', label: 'Пользователи', icon: }, + { to: '/admin/users', label: 'Пользователи', icon: }, { to: '/admin/info', label: 'Инфо-страница', icon: }, ], [], diff --git a/client/src/pages/cart/ui/CartPage.tsx b/client/src/pages/cart/ui/CartPage.tsx index 26079ef..a952105 100644 --- a/client/src/pages/cart/ui/CartPage.tsx +++ b/client/src/pages/cart/ui/CartPage.tsx @@ -1,4 +1,3 @@ -import { Minus, Plus, Trash2 } from 'lucide-react' import Alert from '@mui/material/Alert' import Box from '@mui/material/Box' import Button from '@mui/material/Button' @@ -9,6 +8,7 @@ import Tooltip from '@mui/material/Tooltip' import Typography from '@mui/material/Typography' import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query' import { useUnit } from 'effector-react' +import { Minus, Plus, Trash2 } from 'lucide-react' import { Link as RouterLink } from 'react-router-dom' import { fetchMyCart, removeCartItem, setCartQty } from '@/entities/cart/api/cart-api' import { formatPriceRub } from '@/shared/lib/format-price' diff --git a/client/src/pages/home/lib/use-product-filters.ts b/client/src/pages/home/lib/use-product-filters.ts index 388ac94..d5c5ee3 100644 --- a/client/src/pages/home/lib/use-product-filters.ts +++ b/client/src/pages/home/lib/use-product-filters.ts @@ -24,8 +24,8 @@ export function useProductFilters() { return () => window.clearTimeout(t) }, [qInput]) - const handleCategoryChange = (e: SelectChangeEvent) => { - setCategorySlug(e.target.value) + const handleCategoryChange = (slug: string) => { + setCategorySlug(slug) setPage(1) } diff --git a/client/src/pages/home/ui/ProductFilters.tsx b/client/src/pages/home/ui/ProductFilters.tsx index 925e90e..71ffe30 100644 --- a/client/src/pages/home/ui/ProductFilters.tsx +++ b/client/src/pages/home/ui/ProductFilters.tsx @@ -83,9 +83,26 @@ export function ProductFilters({ - + - + Сортировка labelId="sort-label" label="Сортировка" value={sort} onChange={handleSortChange}> - Сначала новые + + Сначала новые + Цена: по возрастанию Цена: по убыванию @@ -176,9 +199,16 @@ export function ProductFilters({ На странице - labelId="page-size-label" label="На странице" value={String(pageSize)} onChange={handlePageSizeChange}> + + labelId="page-size-label" + label="На странице" + value={String(pageSize)} + onChange={handlePageSizeChange} + > {[6, 12, 18, 24].map((n) => ( - {n} + + {n} + ))} @@ -186,7 +216,15 @@ export function ProductFilters({ - + Масштаб карточек