From 3aa6eee0f54dec3e4f92be2ad335a04145ac4db8 Mon Sep 17 00:00:00 2001
From: Ariel Costas Guerrero <94913521+arielcostas@users.noreply.github.com>
Date: Mon, 3 Mar 2025 18:54:35 +0100
Subject: Improve the UI

---
 src/Layout.tsx | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 src/Layout.tsx

(limited to 'src/Layout.tsx')

diff --git a/src/Layout.tsx b/src/Layout.tsx
new file mode 100644
index 0000000..5aaafbf
--- /dev/null
+++ b/src/Layout.tsx
@@ -0,0 +1,58 @@
+import { ReactNode } from 'react';
+import { Link, useLocation } from 'react-router';
+import { MapPin, Map, Info } from 'lucide-react';
+import './Layout.css';
+
+interface LayoutProps {
+  children: ReactNode;
+}
+
+export function Layout({ children }: LayoutProps) {
+  const location = useLocation();
+  
+  const navItems = [
+    {
+      name: 'Stops',
+      icon: MapPin,
+      path: '/stops'
+    },
+    {
+      name: 'Maps',
+      icon: Map,
+      path: '/map'
+    },
+    {
+      name: 'About',
+      icon: Info,
+      path: '/about'
+    }
+  ];
+
+  return (
+    <div className="app-container">
+      {/* Main content area */}
+      <main className="main-content">
+        {children}
+      </main>
+      
+      {/* Android style bottom navigation bar */}
+      <nav className="nav-bar">
+        {navItems.map(item => {
+          const Icon = item.icon;
+          const isActive = location.pathname.startsWith(item.path);
+          
+          return (
+            <Link 
+              key={item.name}
+              to={item.path}
+              className={`nav-item ${isActive ? 'active' : ''}`}
+            >
+              <Icon size={24} />
+              <span>{item.name}</span>
+            </Link>
+          );
+        })}
+      </nav>
+    </div>
+  );
+}
\ No newline at end of file
-- 
cgit v1.3

