From 32bdcc9a537d4046053e455404be3165c2909bb0 Mon Sep 17 00:00:00 2001 From: Lanskikh Date: Wed, 26 Nov 2025 17:43:26 +0500 Subject: [PATCH] =?UTF-8?q?=D0=B3=D0=B7=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ategoryFilter.tsx => CategoriesFilter.tsx} | 16 +- src/components/SurroundingsFilter.tsx | 55 +++ .../CentralPlazaAccordeonContent.tsx | 5 +- .../ContemporaryOfficesAccordeonContent.tsx | 2 +- .../CulinaryExperienceAccordeonContent.tsx | 2 +- src/components/icons/CarIcon.tsx | 4 +- src/components/icons/CheckIcon.tsx | 12 + src/components/icons/MinusIcon.tsx | 12 + src/components/icons/PlusIcon.tsx | 12 + src/components/icons/SurroundingsIcon.tsx | 12 + src/components/pages/SurroundingsPage.tsx | 448 +++++++++++++----- src/components/popups/LocationPopup.tsx | 10 +- src/components/ui/PopupContainer.tsx | 8 +- src/components/ui/Select.tsx | 102 ++++ src/consts/surroundingPoints.ts | 4 +- 15 files changed, 570 insertions(+), 134 deletions(-) rename src/components/{ui/CategoryFilter.tsx => CategoriesFilter.tsx} (65%) create mode 100644 src/components/SurroundingsFilter.tsx create mode 100644 src/components/icons/CheckIcon.tsx create mode 100644 src/components/icons/MinusIcon.tsx create mode 100644 src/components/icons/PlusIcon.tsx create mode 100644 src/components/icons/SurroundingsIcon.tsx create mode 100644 src/components/ui/Select.tsx diff --git a/src/components/ui/CategoryFilter.tsx b/src/components/CategoriesFilter.tsx similarity index 65% rename from src/components/ui/CategoryFilter.tsx rename to src/components/CategoriesFilter.tsx index ec64c67..a35b351 100644 --- a/src/components/ui/CategoryFilter.tsx +++ b/src/components/CategoriesFilter.tsx @@ -1,17 +1,17 @@ import clsx from "clsx"; -import { categories } from "../../consts/surroundingPoints"; +import { categories } from "../consts/surroundingPoints"; interface CategoryFilterProps { selectedCategories: Set; onToggleCategory: (category: string) => void; } -function CategoryFilter({ +function CategoriesFilter({ selectedCategories, onToggleCategory, }: CategoryFilterProps) { return ( -
+
{Array.from(categories.entries()).map(([category, color]) => { const isSelected = selectedCategories.has(category); return ( @@ -19,22 +19,22 @@ function CategoryFilter({ key={category} onClick={() => onToggleCategory(category)} className={clsx( - "flex items-center 2xl:gap-[0.556vw] gap-2 2xl:px-0 px-0 2xl:py-[0.556vw] py-2 transition-colors", + "flex items-center 2xl:gap-[0.556vw] gap-2 2xl:py-[0.556vw] py-2 transition-opacity outline-none", "hover:opacity-80" )} >

@@ -47,4 +47,4 @@ function CategoryFilter({ ); } -export default CategoryFilter; +export default CategoriesFilter; diff --git a/src/components/SurroundingsFilter.tsx b/src/components/SurroundingsFilter.tsx new file mode 100644 index 0000000..c3a26c9 --- /dev/null +++ b/src/components/SurroundingsFilter.tsx @@ -0,0 +1,55 @@ +import { type ISurroundingPoint } from "../consts/surroundingPoints"; +import CategoriesFilter from "./CategoriesFilter"; +import SurroundingsIcon from "./icons/SurroundingsIcon"; +import Select from "./ui/Select"; + +interface SurroundingsFilterProps { + selectedLocation?: string; + onSelectLocation: (location: string | undefined) => void; + selectedCategories: Set; + onToggleCategory: (category: string) => void; + filteredPoints: ISurroundingPoint[]; +} + +function SurroundingsFilter({ + selectedLocation, + onSelectLocation, + selectedCategories, + onToggleCategory, + filteredPoints, +}: SurroundingsFilterProps) { + return ( +

+
+
+

+ Baraha Town +

+