diff --git a/backend/uploads/members/0201d038-f0be-4dfe-8fdc-196aa4cc4fd7/originals/1782214887300-570265695.jpg b/backend/uploads/members/0201d038-f0be-4dfe-8fdc-196aa4cc4fd7/originals/1782214887300-570265695.jpg new file mode 100644 index 0000000..1a1b8ec Binary files /dev/null and b/backend/uploads/members/0201d038-f0be-4dfe-8fdc-196aa4cc4fd7/originals/1782214887300-570265695.jpg differ diff --git a/backend/uploads/members/d7d4bba7-db39-4b25-a4df-8ef67ebc3ed0/originals/1782214923180-806612722.jpg b/backend/uploads/members/d7d4bba7-db39-4b25-a4df-8ef67ebc3ed0/originals/1782214923180-806612722.jpg new file mode 100644 index 0000000..b2f669c Binary files /dev/null and b/backend/uploads/members/d7d4bba7-db39-4b25-a4df-8ef67ebc3ed0/originals/1782214923180-806612722.jpg differ diff --git a/backend/uploads/tours/1782214887300-570265695.jpg b/backend/uploads/tours/1782214887300-570265695.jpg new file mode 100644 index 0000000..57153ad Binary files /dev/null and b/backend/uploads/tours/1782214887300-570265695.jpg differ diff --git a/backend/uploads/tours/1782214923180-806612722.jpg b/backend/uploads/tours/1782214923180-806612722.jpg new file mode 100644 index 0000000..0e0e664 Binary files /dev/null and b/backend/uploads/tours/1782214923180-806612722.jpg differ diff --git a/frontend/src/pages/LandingPage.tsx b/frontend/src/pages/LandingPage.tsx index 97b9404..330e5cc 100644 --- a/frontend/src/pages/LandingPage.tsx +++ b/frontend/src/pages/LandingPage.tsx @@ -1,5 +1,5 @@ import React, { useState, useRef, useEffect } from 'react'; -import { LogIn, Compass, Map as MapIcon, Camera, ShieldAlert } from 'lucide-react'; +import { LogIn, Compass, Map as MapIcon, Camera, ShieldAlert, Image as ImageIcon, X } from 'lucide-react'; import { LoginModal } from '../components/LoginModal'; import { ReportBusinessModal } from '../components/ReportBusinessModal'; import { TagSelectModal } from '../components/TagSelectModal'; @@ -21,7 +21,10 @@ export const LandingPage: React.FC = ({ onGoToSignup, onGoToMa const [isLoginModalOpen, setIsLoginModalOpen] = useState(false); const [isReportModalOpen, setIsReportModalOpen] = useState(false); const [isTagsModalOpen, setIsTagsModalOpen] = useState(false); + const [isPhotoSourceModalOpen, setIsPhotoSourceModalOpen] = useState(false); const fileInputRef = useRef(null); + const cameraInputRef = useRef(null); + const galleryInputRef = useRef(null); const [pendingPhotoFile, setPendingPhotoFile] = useState(null); const [pendingPhotoLocation, setPendingPhotoLocation] = useState(null); const [photoPreviewUrl, setPhotoPreviewUrl] = useState(''); @@ -557,6 +560,25 @@ return ( capture="environment" className="hidden" /> + + {/* Camera input - capture="environment" for rear camera */} + + + {/* Gallery input - no capture attribute for file picker */} + {/* Unified Bottom Container: Gallery thumbnails on top, action buttons below */}
@@ -607,7 +629,7 @@ return ( +
+ + {/* Content */} +
+ {/* Camera Button */} + + + {/* Gallery Button */} + +
+ + + )} ); }; \ No newline at end of file