mirror of
https://github.com/marcogll/AnchorOS.git
synced 2026-03-15 14:24:27 +00:00
feat: implement customer registration flow and business hours system
Major changes: - Add customer registration with email/phone lookup (app/booking/registro) - Add customers API endpoint (app/api/customers/route) - Implement business hours for locations (mon-fri 10-7, sat 10-6, sun closed) - Fix availability function type casting issues - Add business hours utilities (lib/utils/business-hours.ts) - Update Location type to include business_hours JSONB - Add mock payment component for testing - Remove Supabase auth from booking flow - Fix /cita redirect path in booking flow Database migrations: - Add category column to services table - Add business_hours JSONB column to locations table - Fix availability functions with proper type casting - Update get_detailed_availability to use business_hours Features: - Customer lookup by email or phone - Auto-redirect to registration if customer not found - Pre-fill customer data if exists - Business hours per day of week - Location-specific opening/closing times
This commit is contained in:
@@ -8,7 +8,12 @@ import { useAuth } from '@/lib/auth/context'
|
||||
import { loadStripe } from '@stripe/stripe-js'
|
||||
import { Elements } from '@stripe/react-stripe-js'
|
||||
|
||||
const stripePromise = loadStripe(process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY!)
|
||||
const STRIPE_ENABLED = process.env.NEXT_PUBLIC_STRIPE_ENABLED === 'true'
|
||||
const STRIPE_KEY = process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY
|
||||
|
||||
const stripePromise = STRIPE_ENABLED && STRIPE_KEY && !STRIPE_KEY.includes('your_stripe_')
|
||||
? loadStripe(STRIPE_KEY)
|
||||
: null
|
||||
|
||||
export default function BookingLayout({
|
||||
children,
|
||||
@@ -16,8 +21,9 @@ export default function BookingLayout({
|
||||
children: ReactNode
|
||||
}) {
|
||||
const { user, signOut, loading } = useAuth()
|
||||
return (
|
||||
<Elements stripe={stripePromise}>
|
||||
|
||||
const content = (
|
||||
<>
|
||||
<header className="site-header booking-header">
|
||||
<nav className="nav-primary">
|
||||
<div className="logo">
|
||||
@@ -72,6 +78,8 @@ export default function BookingLayout({
|
||||
<main className="pt-24">
|
||||
{children}
|
||||
</main>
|
||||
</Elements>
|
||||
</>
|
||||
)
|
||||
|
||||
return stripePromise ? <Elements stripe={stripePromise}>{content}</Elements> : content
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user