()
| 7 | import { Button } from "@/components/ui/button" |
| 8 | |
| 9 | export default function Home() { |
| 10 | return ( |
| 11 | <main className="flex flex-col h-screen"> |
| 12 | <header className="flex justify-between items-center p-4 border-b"> |
| 13 | <div className="flex items-center gap-2"> |
| 14 | <svg |
| 15 | xmlns="http://www.w3.org/2000/svg" |
| 16 | width="24" |
| 17 | height="24" |
| 18 | viewBox="0 0 24 24" |
| 19 | fill="none" |
| 20 | stroke="currentColor" |
| 21 | strokeWidth="2" |
| 22 | strokeLinecap="round" |
| 23 | strokeLinejoin="round" |
| 24 | className="lucide lucide-map" |
| 25 | > |
| 26 | <polygon points="3 6 9 3 15 6 21 3 21 18 15 21 9 18 3 21" /> |
| 27 | <line x1="9" x2="9" y1="3" y2="18" /> |
| 28 | <line x1="15" x2="15" y1="6" y2="21" /> |
| 29 | </svg> |
| 30 | <h1 className="text-xl font-bold">ChatMap</h1> |
| 31 | </div> |
| 32 | <div className="flex items-center gap-2"> |
| 33 | <ModelSettings /> |
| 34 | <a |
| 35 | href="https://github.com/Seanium/ChatMap" |
| 36 | target="_blank" |
| 37 | rel="noopener noreferrer" |
| 38 | aria-label="GitHub 仓库" |
| 39 | > |
| 40 | <Button variant="outline" size="icon" className="h-9 w-9"> |
| 41 | <Github className="h-4 w-4" /> |
| 42 | <span className="sr-only">GitHub 仓库</span> |
| 43 | </Button> |
| 44 | </a> |
| 45 | </div> |
| 46 | </header> |
| 47 | |
| 48 | <div className="flex flex-1 overflow-hidden"> |
| 49 | <Suspense fallback={<div className="flex-1 flex items-center justify-center">加载地图中...</div>}> |
| 50 | <MapContainer /> |
| 51 | </Suspense> |
| 52 | <ChatInterface /> |
| 53 | </div> |
| 54 | <Toaster /> |
| 55 | </main> |
| 56 | ) |
| 57 | } |
nothing calls this directly
no outgoing calls
no test coverage detected