diff --git a/src/app/page.tsx b/src/app/page.tsx index 090271d..3a3c94d 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -21,7 +21,7 @@ export default function HomePage() { }, []); return ( -
+
{/* Navbar - always visible */} setIsDiscoveryOpen(!isDiscoveryOpen)} /> diff --git a/src/components/AboutModal.tsx b/src/components/AboutModal.tsx index e1e971f..ca4dcc9 100644 --- a/src/components/AboutModal.tsx +++ b/src/components/AboutModal.tsx @@ -54,7 +54,7 @@ export function AboutModal({ isOpen, onClose }: AboutModalProps) {
@@ -105,7 +105,7 @@ export default function Drawer({ shop, shops, onSelect, onClose, isOpen, onToggl onClose(); if (onToggleOpen) onToggleOpen(); }} - className="bg-black/40 hover:bg-black/60 text-white rounded-full h-8 w-8 backdrop-blur-md border border-glass-border" + className="bg-glass-background hover:bg-glass-border text-glass-text-primary rounded-full h-8 w-8 backdrop-blur-md border border-glass-border" > @@ -119,8 +119,8 @@ export default function Drawer({ shop, shops, onSelect, onClose, isOpen, onToggl className="absolute inset-0 z-10 flex items-center justify-center" style={FADE_BOTTOM_STYLE} > - - + +
)}
@@ -150,7 +150,7 @@ export default function Drawer({ shop, shops, onSelect, onClose, isOpen, onToggl
- )} {activeShop.phone && ( -
-

{shop.address}

+

{shop.address}

); diff --git a/src/components/LocateControl.tsx b/src/components/LocateControl.tsx index 11168af..a9ad5a1 100644 --- a/src/components/LocateControl.tsx +++ b/src/components/LocateControl.tsx @@ -72,7 +72,7 @@ export function LocateControl() { size="icon" onClick={handleLocate} disabled={loading} - className="rounded-xl border border-glass-border bg-glass-background text-glass-text-primary shadow-lg backdrop-blur-md transition-all hover:bg-glass-border hover:text-white" + className="rounded-xl border border-glass-border bg-glass-background text-glass-text-primary shadow-lg backdrop-blur-md transition-all hover:bg-glass-border" > Locate me diff --git a/src/components/MapStyleControl.tsx b/src/components/MapStyleControl.tsx index 925cd76..be9252e 100644 --- a/src/components/MapStyleControl.tsx +++ b/src/components/MapStyleControl.tsx @@ -3,6 +3,7 @@ import * as React from "react"; import { Layers, Moon, Sun, Globe } from "lucide-react"; import { Button } from "~/components/ui/button"; +import { useTheme } from "next-themes"; import { DropdownMenu, DropdownMenuContent, @@ -16,24 +17,33 @@ interface MapStyleControlProps { } export function MapStyleControl({ currentStyle, onStyleChange }: MapStyleControlProps) { + const { setTheme } = useTheme(); + + const handleStyleChange = (style: string) => { + onStyleChange(style); + if (style === "dark") setTheme("dark"); + if (style === "light") setTheme("light"); + if (style === "satellite") setTheme("dark"); // Satellite looks better with dark UI + }; + return ( - - - onStyleChange("dark")} className={currentStyle === "dark" ? "bg-accent" : ""}> + + handleStyleChange("dark")} className={`text-glass-text-primary focus:bg-glass-border focus:text-glass-text-primary cursor-pointer ${currentStyle === "dark" ? "bg-glass-border" : ""}`}> Dark - onStyleChange("light")} className={currentStyle === "light" ? "bg-accent" : ""}> + handleStyleChange("light")} className={`text-glass-text-primary focus:bg-glass-border focus:text-glass-text-primary cursor-pointer ${currentStyle === "light" ? "bg-glass-border" : ""}`}> Light - onStyleChange("satellite")} className={currentStyle === "satellite" ? "bg-accent" : ""}> + handleStyleChange("satellite")} className={`text-glass-text-primary focus:bg-glass-border focus:text-glass-text-primary cursor-pointer ${currentStyle === "satellite" ? "bg-glass-border" : ""}`}> Satellite diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx index f08a391..f30424e 100644 --- a/src/components/Navbar.tsx +++ b/src/components/Navbar.tsx @@ -1,4 +1,4 @@ -import { Coffee, Search, X } from "lucide-react"; +import { Coffee, PanelLeft, X } from "lucide-react"; import { Button } from "~/components/ui/button"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "~/components/ui/tooltip"; import { useState, useEffect } from "react"; @@ -59,9 +59,9 @@ export default function Navbar({ isDiscoveryOpen, onToggleDiscovery }: NavbarPro setIsOnboarding(false); localStorage.setItem('discovery-panel-hint-seen', 'true'); }} - className={`h-10 w-10 rounded-lg transition-colors ${isDiscoveryOpen ? 'bg-glass-border text-amber-500' : 'text-glass-text-primary hover:bg-glass-border hover:text-white'}`} + className={`h-10 w-10 rounded-lg transition-colors ${isDiscoveryOpen ? 'bg-glass-border text-amber-500' : 'text-glass-text-primary hover:bg-glass-border'}`} > - + Toggle Panel @@ -97,7 +97,7 @@ export default function Navbar({ isDiscoveryOpen, onToggleDiscovery }: NavbarPro variant="ghost" size="icon" onClick={() => setShowAbout(false)} - className="absolute top-4 right-4 text-glass-text-secondary hover:text-white hover:bg-glass-border" + className="absolute top-4 right-4 text-glass-text-secondary hover:text-glass-text-primary hover:bg-glass-border" > @@ -107,15 +107,15 @@ export default function Navbar({ isDiscoveryOpen, onToggleDiscovery }: NavbarPro

Lewisburg Coffee Map

-

+

Discover the best coffee spots in Lewisburg, PA. Click on any marker to learn more about each location, or use the discovery panel to browse and search all available shops.

-
+
-
-

Features:

+
diff --git a/src/components/WelcomeModal.tsx b/src/components/WelcomeModal.tsx index 28538e7..658d3dc 100644 --- a/src/components/WelcomeModal.tsx +++ b/src/components/WelcomeModal.tsx @@ -88,7 +88,7 @@ export function WelcomeModal() {
-
diff --git a/src/components/ZoomControls.tsx b/src/components/ZoomControls.tsx index 0e016ca..7ba2793 100644 --- a/src/components/ZoomControls.tsx +++ b/src/components/ZoomControls.tsx @@ -13,7 +13,7 @@ export function ZoomControls() { variant="outline" size="icon" onClick={() => map.zoomIn()} - className="rounded-xl border border-glass-border bg-glass-background text-glass-text-primary shadow-lg backdrop-blur-md transition-all hover:bg-glass-border hover:text-white" + className="rounded-xl border border-glass-border bg-glass-background text-glass-text-primary shadow-lg backdrop-blur-md transition-all hover:bg-glass-border" > Zoom in @@ -22,7 +22,7 @@ export function ZoomControls() { variant="outline" size="icon" onClick={() => map.zoomOut()} - className="rounded-xl border border-glass-border bg-glass-background text-glass-text-primary shadow-lg backdrop-blur-md transition-all hover:bg-glass-border hover:text-white" + className="rounded-xl border border-glass-border bg-glass-background text-glass-text-primary shadow-lg backdrop-blur-md transition-all hover:bg-glass-border" > Zoom out @@ -31,7 +31,7 @@ export function ZoomControls() { variant="outline" size="icon" onClick={() => map.setView([40.9645, -76.8845], 15)} - className="rounded-xl border border-glass-border bg-glass-background text-glass-text-primary shadow-lg backdrop-blur-md transition-all hover:bg-glass-border hover:text-white" + className="rounded-xl border border-glass-border bg-glass-background text-glass-text-primary shadow-lg backdrop-blur-md transition-all hover:bg-glass-border" > Reset view diff --git a/src/styles/globals.css b/src/styles/globals.css index f1f4c51..393a2f4 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -53,11 +53,11 @@ :root { --radius: 0.625rem; /* ... existing vars ... */ - --glass-background: rgba(0, 0, 0, 0.7); - --glass-border: rgba(255, 255, 255, 0.15); - --glass-text-primary: rgba(255, 255, 255, 0.95); - --glass-text-secondary: rgba(255, 255, 255, 0.70); - + --glass-background: rgba(255, 255, 255, 0.75); + --glass-border: rgba(0, 0, 0, 0.1); + --glass-text-primary: rgba(0, 0, 0, 0.9); + --glass-text-secondary: rgba(0, 0, 0, 0.6); + --background: oklch(1 0 0); /* ... */ --foreground: oklch(0.145 0 0); @@ -93,6 +93,11 @@ } .dark { + --glass-background: rgba(0, 0, 0, 0.6); + --glass-border: rgba(255, 255, 255, 0.15); + --glass-text-primary: rgba(255, 255, 255, 0.95); + --glass-text-secondary: rgba(255, 255, 255, 0.70); + --background: oklch(0.145 0 0); --foreground: oklch(0.985 0 0); --card: oklch(0.205 0 0); @@ -130,7 +135,8 @@ * { @apply border-border outline-ring/50; } + body { @apply bg-background text-foreground; } -} +} \ No newline at end of file