import React, { useState } from 'react'; import { Search, Plus, Download, Upload, Edit, MapPin, Phone, Mail, MoreHorizontal } from 'lucide-react'; import { Button } from "../ui/button"; import { Input } from "../ui/input"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "../ui/table"; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from "../ui/dialog"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "../ui/select"; import { Label } from "../ui/label"; import { Badge } from "../ui/badge"; import { Switch } from "../ui/switch"; // --- Mock Data --- const MOCK_LOCATIONS = [ { id: '12345', name: 'Downtown Store', street: '123 Main St', city: 'New York', state: 'NY', country: 'USA', zipCode: '10001', phone: '+1 (555) 123-4567', email: 'downtown@example.com', gps: '40.7128° N, 74.0060° W', status: 'active' }, { id: '12335', name: 'Uptown Market', street: '456 High St', city: 'New York', state: 'NY', country: 'USA', zipCode: '10002', phone: '+1 (555) 987-6543', email: 'uptown@example.com', gps: '40.7580° N, 73.9855° W', status: 'active' }, { id: '12445', name: 'Airport Kiosk', street: 'Terminal 4, JFK Airport', city: 'Jamaica', state: 'NY', country: 'USA', zipCode: '11430', phone: '+1 (555) 555-5555', email: 'jfk@example.com', gps: '40.6413° N, 73.7781° W', status: 'active' }, { id: '12555', name: 'Suburban Outlet', street: '789 Country Rd', city: 'Long Island', state: 'NY', country: 'USA', zipCode: '11901', phone: '+1 (555) 111-2222', email: 'suburb@example.com', gps: '40.8500° N, 73.2000° W', status: 'inactive' }, ]; export function LocationsView() { const [isCreateDialogOpen, setIsCreateDialogOpen] = useState(false); const [locations, setLocations] = useState(MOCK_LOCATIONS); return (
{/* Toolbar - no white background; spacing matches Labels (main p-8 only) */}
{/* Toolbar: Search + Filters + Actions in one row, no "Search" label */}
{/* Content Area - same padding as Labels (relies on main p-8) */}
Location ID Location Name Street City State Country Zip Code Phone Email GPS Actions {locations.map((loc) => ( {loc.id} {loc.name} {loc.street} {loc.city} {loc.state} {loc.country} {loc.zipCode} {loc.phone} {loc.email} {loc.gps} ))}
); } // --- Sub-components --- function CreateLocationDialog({ open, onOpenChange }: { open: boolean; onOpenChange: (open: boolean) => void }) { return ( Add New Location Enter the details for the new store location.
); }