merge: gộp thành công phần code sửa trước từ stash

This commit is contained in:
2026-06-27 19:42:45 +07:00
2 changed files with 46 additions and 7 deletions
+46
View File
@@ -1,3 +1,4 @@
<<<<<<< HEAD
<!DOCTYPE html>
<html lang="en">
<head>
@@ -35,4 +36,49 @@
<body>
<div id="root"></div>
</body>
=======
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
<script src="https://accounts.google.com/gsi/client" async defer></script>
<title>Travel Planner</title>
<!-- Open Graph Meta Tags for Social Media Sharing -->
<meta property="og:type" content="website" />
<meta property="og:url" content="https://yotrip.labz.io.vn" />
<meta property="og:title" content="Travel Planner - Lên kế hoạch chuyến đi của bạn" />
<meta property="og:description"
content="Khám phá những hành trình tuyệt vời và chia sẻ khoảnh khắc đẹp với cộng đồng du lịch." />
<meta property="og:image" content="https://yotrip.labz.io.vn/background.avif" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<!-- Twitter Card Meta Tags -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Travel Planner - Lên kế hoạch chuyến đi của bạn" />
<meta name="twitter:description"
content="Khám phá những hành trình tuyệt vời và chia sẻ khoảnh khắc đẹp với cộng đồng du lịch." />
<meta name="twitter:image" content="https://yotrip.labz.io.vn/background.avif" />
<script type="module" crossorigin src="/assets/index-BximWk33.js"></script>
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-Cyuzqnbw.js">
<link rel="modulepreload" crossorigin href="/assets/vendor-others-VIU5qAPG.js">
<link rel="modulepreload" crossorigin href="/assets/vendor-editor-DOXkNaRS.js">
<link rel="modulepreload" crossorigin href="/assets/vendor-maps-DY-S_hoR.js">
<link rel="modulepreload" crossorigin href="/assets/vendor-react-BqXL8Z-i.js">
<link rel="modulepreload" crossorigin href="/assets/vendor-pdf-IjT8x9OX.js">
<link rel="stylesheet" crossorigin href="/assets/vendor-maps-CcXJxNtP.css">
<link rel="stylesheet" crossorigin href="/assets/vendor-react-CuSj0z1j.css">
<link rel="stylesheet" crossorigin href="/assets/index-BsXBn1-b.css">
</head>
<body>
<div id="root"></div>
</body>
>>>>>>> 9fae6afaac44c4d9f8def031bb048d3cb856a743
-7
View File
@@ -538,12 +538,6 @@ export const MemberDashboard: React.FC<MemberDashboardProps> = ({
useEffect(() => {
if (!user?.id) return;
<<<<<<< Updated upstream
const handleMessageReceived = (e: Event) => {
const message = (e as CustomEvent).detail;
// If we are actively chatting with the sender of this message
if (activeChatUser && (message.senderId === activeChatUser.id || message.receiverId === activeChatUser.id)) {
=======
// Connect to WebSocket: absolute URL on native, relative (Vite proxy) on web
const socket = Capacitor.isNativePlatform()
? io(BACKEND_URL)
@@ -559,7 +553,6 @@ export const MemberDashboard: React.FC<MemberDashboardProps> = ({
// Check against window-global activeChatUserId so stale closure doesn't block updates
const activeChatUserId = (window as any).activeChatUserId;
if (activeChatUserId && (message.senderId === activeChatUserId || message.receiverId === activeChatUserId)) {
>>>>>>> Stashed changes
setChatMessages(prev => [...prev, message]);
} else {
// Add to unread states