From 2afb2971daac21cd646b00e65e998f01202f703f Mon Sep 17 00:00:00 2001 From: 3dtours Date: Wed, 17 Jun 2026 19:37:29 +0700 Subject: [PATCH] =?UTF-8?q?fix:=20s=E1=BB=ADa=20l=E1=BA=A1i=20hi=E1=BB=83n?= =?UTF-8?q?=20=20th=E1=BB=8B=20c=E1=BB=A7a=20c=C3=A1c=20n=C3=BAt=20tr?= =?UTF-8?q?=C3=AAn=20b=E1=BA=A3n=20=C4=91=E1=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/pages/TourDetailPage.tsx | 163 ++++++++++++++------------ 1 file changed, 85 insertions(+), 78 deletions(-) diff --git a/frontend/src/pages/TourDetailPage.tsx b/frontend/src/pages/TourDetailPage.tsx index bbff521..8c75b0f 100644 --- a/frontend/src/pages/TourDetailPage.tsx +++ b/frontend/src/pages/TourDetailPage.tsx @@ -362,6 +362,7 @@ export const TourDetailPage = ({ const [searchResults, setSearchResults] = useState([]); const [isSearching, setIsSearching] = useState(false); const [locateTrigger, setLocateTrigger] = useState(0); + const [isMapControlsOpen, setIsMapControlsOpen] = useState(false); const [isHeadingMode, setIsHeadingMode] = useState(false); const [mapRotation, setMapRotation] = useState(0); const [isRoutingLoading, setIsRoutingLoading] = useState(false); @@ -1437,55 +1438,92 @@ export const TourDetailPage = ({ {/* Overlay điều khiển trên bản đồ */}
-
- - - + - {/* Nút La bàn / Xoay bản đồ */} - + {isMapControlsOpen && ( +
+ + + - {/* Nút Tìm tôi */} - -
+ {/* Nút La bàn / Xoay bản đồ */} + + + {/* Nút Tìm tôi */} + + + {/* Danh sách lộ trình rút gọn */} + {routes.length > 0 && ( +
+
Lộ trình
+
+ {routes.map((route, idx) => ( + + ))} +
+
+ )} +
+ )} {/* Chỉ báo đang tìm đường */} {isRoutingLoading && ( @@ -1495,37 +1533,6 @@ export const TourDetailPage = ({
)} - {/* Danh sách lựa chọn lộ trình đề xuất */} - {routes.length > 0 && ( -
-
Lộ trình đề xuất
- {routes.length === 1 && allLocations.length > 2 && ( -
- Lưu ý: Dịch vụ bản đồ chỉ gợi ý đường đi khác khi lộ trình có đúng 2 điểm (Điểm đầu & Điểm cuối). -
- )} -
- {routes.map((route, idx) => ( - - ))} -
-
- )} - - )}