"use client" import { useState, useRef } from "react" import { Button } from "@/components/ui/button" import { Card, CardContent } from "@/components/ui/card" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" import { Badge } from "@/components/ui/badge" import { Slider } from "@/components/ui/slider" import { Switch } from "@/components/ui/switch" import { MapPin, Home, BarChart2, Filter, MessageCircle, X, Plus, Minus, Droplets, Wind, Sun, LineChart, Send, Newspaper, Building, BedDouble, Bath, Star, Clock, ChevronDown, Check, RefreshCw, } from "lucide-react" import Link from "next/link" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu" export default function MapsPage() { const [showFilters, setShowFilters] = useState(false) const [showAnalytics, setShowAnalytics] = useState(false) const [showChat, setShowChat] = useState(false) const [showPropertyInfo, setShowPropertyInfo] = useState(false) const [activeTab, setActiveTab] = useState("basic") const [priceRange, setPriceRange] = useState([5000000, 20000000]) const [radius, setRadius] = useState(30) const [message, setMessage] = useState("") const [messages, setMessages] = useState([{ role: "assistant", content: "Hi! How can I help you today?" }]) const [mapZoom, setMapZoom] = useState(14) const [selectedModel, setSelectedModel] = useState("Standard ML Model v2.4") const mapRef = useRef(null) const models = [ "Standard ML Model v2.4", "Enhanced Neural Network v1.8", "Geospatial Regression v3.1", "Time Series Forecast v2.0", "Custom Model (User #1242)", ] const handleSendMessage = () => { if (message.trim()) { setMessages([...messages, { role: "user", content: message }]) // Simulate AI response setTimeout(() => { setMessages((prev) => [ ...prev, { role: "assistant", content: "I can provide information about properties in this area. Would you like to know about flood risks, air quality, or nearby amenities?", }, ]) }, 1000) setMessage("") } } const handleZoomIn = () => { setMapZoom((prev) => Math.min(prev + 1, 20)) } const handleZoomOut = () => { setMapZoom((prev) => Math.max(prev - 1, 10)) } const handlePropertyClick = () => { setShowPropertyInfo(true) setShowFilters(false) setShowChat(false) } return (
Information in radius will be analyzed
Overall Price History of this area
The estimated price based on various factors.
The BTS Skytrain will be extended to cover more areas in Sukhumvit by 2025.
New property tax regulations will take effect next month affecting luxury condominiums.