mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-27 00:52:50 +00:00
feat: ( auth ) restore sign in/register UI in nav bar, sidebar, and auth-check
This commit is contained in:
@@ -4,7 +4,7 @@ import { useEffect, useState } from 'react';
|
||||
import { useRouter } from 'next/navigation';
|
||||
import { useAuthStore } from '@/lib/auth-store';
|
||||
import { useBookingStore } from '@/lib/booking-store';
|
||||
import { UserPlus, ChevronLeft } from 'lucide-react';
|
||||
import { UserPlus, LogIn, ChevronLeft } from 'lucide-react';
|
||||
|
||||
function Tooltip({ children, content }: { children: React.ReactNode; content: string[] }) {
|
||||
const [visible, setVisible] = useState(false);
|
||||
@@ -95,7 +95,6 @@ export default function AuthCheckPage() {
|
||||
</button>
|
||||
</Tooltip>
|
||||
|
||||
{/* TODO: re-enable once auth is integrated
|
||||
<Tooltip content={[
|
||||
'Saved passenger details',
|
||||
'View booking history',
|
||||
@@ -109,7 +108,6 @@ export default function AuthCheckPage() {
|
||||
SignIn or Register
|
||||
</button>
|
||||
</Tooltip>
|
||||
*/}
|
||||
</div>
|
||||
|
||||
<div className="mt-8 text-center">
|
||||
|
||||
@@ -192,9 +192,7 @@ export default function AppSidebar() {
|
||||
)}
|
||||
</div>
|
||||
) : (
|
||||
// TODO: Sign in / Register temporarily disabled — re-enable later.
|
||||
null
|
||||
/* <div className="flex items-center gap-2 px-1 pt-1">
|
||||
<div className="flex items-center gap-2 px-1 pt-1">
|
||||
<Link
|
||||
href="/login"
|
||||
className="flex-1 text-center px-3 py-2 text-sm font-medium text-gray-100 hover:bg-white/10 rounded-lg transition-colors"
|
||||
@@ -207,7 +205,7 @@ export default function AppSidebar() {
|
||||
>
|
||||
Register
|
||||
</Link>
|
||||
</div> */
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
'use client';
|
||||
|
||||
// NOTE: User icon + useAuthStore are unused while the Sign in / Account tab is
|
||||
// temporarily disabled below. Re-add them when that tab is restored.
|
||||
import { Home, Phone, Ticket } from 'lucide-react';
|
||||
import { Home, Phone, Ticket, User } from 'lucide-react';
|
||||
import Link from 'next/link';
|
||||
import { usePathname } from 'next/navigation';
|
||||
import { useAuthStore } from '@/lib/auth-store';
|
||||
|
||||
// The linear, one-screen-at-a-time booking flow — each of these pages already
|
||||
// has its own sticky mobile CTA bar (and the mobile step strip at the top),
|
||||
@@ -22,6 +21,7 @@ const LINEAR_FLOW_PREFIXES = [
|
||||
|
||||
export default function BottomTabBar() {
|
||||
const pathname = usePathname() ?? '';
|
||||
const isAuthenticated = useAuthStore((s) => s.isAuthenticated);
|
||||
|
||||
const isInLinearFlow = LINEAR_FLOW_PREFIXES.some((p) => pathname.startsWith(p));
|
||||
if (isInLinearFlow) return null;
|
||||
@@ -30,13 +30,12 @@ export default function BottomTabBar() {
|
||||
{ href: '/', label: 'Home', icon: Home, match: (p: string) => p === '/' },
|
||||
{ href: '/booking/lookup', label: 'Bookings', icon: Ticket, match: (p: string) => p.startsWith('/booking/lookup') || p.startsWith('/booking/detail') },
|
||||
{ href: '/contact', label: 'Contact', icon: Phone, match: (p: string) => p.startsWith('/contact') },
|
||||
// TODO: Sign in / Account tab temporarily disabled — re-enable later.
|
||||
// {
|
||||
// href: isAuthenticated ? '/profile' : '/login',
|
||||
// label: isAuthenticated ? 'Account' : 'Sign in',
|
||||
// icon: User,
|
||||
// match: (p: string) => p.startsWith('/profile') || p.startsWith('/login') || p.startsWith('/register'),
|
||||
// },
|
||||
{
|
||||
href: isAuthenticated ? '/profile' : '/login',
|
||||
label: isAuthenticated ? 'Account' : 'Sign in',
|
||||
icon: User,
|
||||
match: (p: string) => p.startsWith('/profile') || p.startsWith('/login') || p.startsWith('/register'),
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user