diff --git a/app/(auth)/login/page.tsx b/app/(auth)/login/page.tsx index 7409c12..1a438fd 100644 --- a/app/(auth)/login/page.tsx +++ b/app/(auth)/login/page.tsx @@ -21,7 +21,7 @@ export default function Login() { {/* Background Image */}
Therapy and counseling session with African American clients - i === 0 ? (parseInt(v) === 12 ? 12 : parseInt(v) + 12) : v - ).join(":") - : formData.preferredTime.replace("AM", "").trim().split(":").map((v, i) => - i === 0 ? (parseInt(v) === 12 ? "00" : v.padStart(2, "0")) : v - ).join(":"); + if (formData.preferredDays.length === 0) { + setError("Please select at least one available day."); + setLoading(false); + return; + } + + if (formData.preferredTimes.length === 0) { + setError("Please select at least one preferred time."); + setLoading(false); + return; + } + + // For now, we'll use the first selected day and first selected time + // This can be adjusted based on your backend requirements + const firstDay = formData.preferredDays[0]; + const firstTime = formData.preferredTimes[0]; + const timeMap: { [key: string]: string } = { + morning: "09:00", + lunchtime: "12:00", + afternoon: "14:00", + }; + const time24 = timeMap[firstTime] || "09:00"; + + // Get next occurrence of the first selected day + const today = new Date(); + const days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; + const targetDayIndex = days.indexOf(firstDay); + let daysUntilTarget = (targetDayIndex - today.getDay() + 7) % 7; + if (daysUntilTarget === 0) daysUntilTarget = 7; // Next week if today + const targetDate = new Date(today); + targetDate.setDate(today.getDate() + daysUntilTarget); + const dateString = targetDate.toISOString().split("T")[0]; // Combine date and time into scheduled_at (ISO format) - const dateTimeString = `${formData.preferredDate}T${time24}:00Z`; + const dateTimeString = `${dateString}T${time24}:00Z`; // Prepare request payload const payload = { @@ -123,9 +146,10 @@ export default function BookNowPage() { last_name: formData.lastName, email: formData.email, phone: formData.phone, - appointment_type: formData.appointmentType, scheduled_at: dateTimeString, duration: 60, // Default to 60 minutes + preferred_days: formData.preferredDays, + preferred_times: formData.preferredTimes, notes: formData.message || "", }; @@ -199,6 +223,24 @@ export default function BookNowPage() { setFormData((prev) => ({ ...prev, [field]: value })); }; + const handleDayToggle = (day: string) => { + setFormData((prev) => { + const days = prev.preferredDays.includes(day) + ? prev.preferredDays.filter((d) => d !== day) + : [...prev.preferredDays, day]; + return { ...prev, preferredDays: days }; + }); + }; + + const handleTimeToggle = (time: string) => { + setFormData((prev) => { + const times = prev.preferredTimes.includes(time) + ? prev.preferredTimes.filter((t) => t !== time) + : [...prev.preferredTimes, time]; + return { ...prev, preferredTimes: times }; + }); + }; + const formatDateTime = (dateString: string) => { const date = new Date(dateString); return date.toLocaleString("en-US", { @@ -219,7 +261,7 @@ export default function BookNowPage() {
Therapy session with diverse clients -
- - -
- -
+
- - handleChange("preferredDate", e.target.value) - } - required - min={new Date().toISOString().split("T")[0]} - className={`h-11 ${isDark ? 'bg-gray-700 border-gray-600 text-white' : 'bg-white border-gray-300 text-gray-900'}`} - /> +
+ {['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'].map((day) => ( + + ))} +
- +
+ {[ + { value: 'morning', label: 'Morning' }, + { value: 'lunchtime', label: 'Lunchtime' }, + { value: 'afternoon', label: 'Afternoon' } + ].map((time) => ( + + ))} +
diff --git a/components/ClientFocus.tsx b/components/ClientFocus.tsx index d32cd26..237a374 100644 --- a/components/ClientFocus.tsx +++ b/components/ClientFocus.tsx @@ -152,10 +152,8 @@ export function ClientFocus() { className="bg-card/50 backdrop-blur-sm rounded-2xl p-6 border border-border/50 hover:border-rose-500/50 hover:shadow-lg hover:shadow-rose-500/10 hover:scale-105 transition-all duration-300" >
-
- -
-

Communities

+ +

Providing Support to all of South Florida's Diverse Communities

@@ -166,7 +164,7 @@ export function ClientFocus() { className="relative w-full max-w-md h-auto" >