diff --git a/src/pages/Order.jsx b/src/pages/Order.jsx index 7c7c32fb..7f2c6c35 100644 --- a/src/pages/Order.jsx +++ b/src/pages/Order.jsx @@ -25,7 +25,7 @@ const Order = () => { const navigate = useNavigate(); const [currentStep, setCurrentStep] = useState(0); const [loading, setLoading] = useState(false); - const [pricing, setPricing] = useState({ price_per_gallon: 0, date: null }); + const [pricing, setPricing] = useState({ price_per_gallon: 0, price_same_day: 0, price_prime: 0, price_emergency: 0, date: null }); const [totalPrice, setTotalPrice] = useState(0); const [selectedGallons, setSelectedGallons] = useState(100); const [selectedDate, setSelectedDate] = useState(dayjs().add(1, 'day')); @@ -36,7 +36,7 @@ const Order = () => { gallons_ordered: 100, expected_delivery_date: dayjs().add(1, 'day'), dispatcher_notes: '', - payment_type: 1, // credit + payment_type: 11, // credit (Authorize.net) }); const [notesLength, setNotesLength] = useState(0); @@ -126,12 +126,12 @@ const Order = () => { }; const handleGallonsChange = (value) => { - setFormData({ ...formData, gallons_ordered: value }); + setFormData(prev => ({ ...prev, gallons_ordered: value })); setSelectedGallons(value); }; const handleDateChange = (date) => { - setFormData({ ...formData, expected_delivery_date: date }); + setFormData(prev => ({ ...prev, expected_delivery_date: date })); setSelectedDate(date); }; @@ -157,9 +157,9 @@ const Order = () => { // Get surcharge based on service type and prime const getSurcharge = () => { let surcharge = 0; - if (serviceType === 'same_day') surcharge += 45; - if (serviceType === 'emergency') surcharge += 250; - if (primeSelected) surcharge += serviceType === 'emergency' ? 50 : 25; + if (serviceType === 'same_day') surcharge += pricing.price_same_day; + if (serviceType === 'emergency') surcharge += pricing.price_emergency; + if (primeSelected) surcharge += pricing.price_prime; return surcharge; }; @@ -247,7 +247,7 @@ const Order = () => { const onFinish = async () => { setLoading(true); try { - if (formData.payment_type === 1) { + if (formData.payment_type === 11) { // Validate card selection if (!selectedCardId) { message.error('Please select a payment card or add a new one'); @@ -288,7 +288,7 @@ const Order = () => { gallons_ordered: 100, expected_delivery_date: dayjs().add(1, 'day'), dispatcher_notes: '', - payment_type: 1, + payment_type: 11, }); setServiceType(null); setPrimeSelected(false); @@ -318,7 +318,7 @@ const Order = () => { gallons_ordered: 100, expected_delivery_date: dayjs().add(1, 'day'), dispatcher_notes: '', - payment_type: 1, + payment_type: 11, }); setServiceType(null); setPrimeSelected(false); @@ -411,7 +411,7 @@ const Order = () => { onClick={handleSameDaySelect} style={{ marginRight: 10 }} > - Same Day (+$45) + Same Day (+${pricing.price_same_day}) )} {!isSameDayAvailable() && ( @@ -423,7 +423,7 @@ const Order = () => { type={serviceType === 'emergency' ? "primary" : "default"} onClick={handleEmergencySelect} > - Emergency (+$250) + Emergency (+${pricing.price_emergency}) )} @@ -446,7 +446,7 @@ const Order = () => { type={primeSelected ? "primary" : "default"} onClick={() => setPrimeSelected(!primeSelected)} > - Prime (+${serviceType === 'emergency' ? 50 : 25}) + Prime (+${pricing.price_prime}) @@ -475,10 +475,10 @@ const Order = () => { Cash - Credit + Credit - {formData.payment_type === 1 && ( + {formData.payment_type === 11 && (
{loadingCards ? ( @@ -561,17 +561,17 @@ const Order = () => { {formData.gallons_ordered} ${pricing.price_per_gallon.toFixed(2)} {serviceType && ( - ${serviceType === 'same_day' ? 45 : 250} ({serviceType === 'same_day' ? 'Same Day' : 'Emergency'}) + ${serviceType === 'same_day' ? pricing.price_same_day : pricing.price_emergency} ({serviceType === 'same_day' ? 'Same Day' : 'Emergency'}) )} {primeSelected && ( - ${serviceType === 'emergency' ? 50 : 25} + ${pricing.price_prime} )} ${totalPrice.toFixed(2)} {formData.expected_delivery_date.format('YYYY-MM-DD')} {formData.dispatcher_notes || 'None'} {formData.payment_type === 0 ? 'Cash' : 'Credit Card'} - {formData.payment_type === 1 && getSelectedCard() && ( + {formData.payment_type === 11 && getSelectedCard() && ( { + const params = new URLSearchParams(location.search); + if (params.get('registered') === 'true') { + setShowConfirmationBanner(true); + } + }, [location]); const onFinish = async (values) => { try { @@ -21,6 +30,17 @@ function Login() { return ( + {showConfirmationBanner && ( + setShowConfirmationBanner(false)} + style={{ marginBottom: '16px' }} + /> + )}
{ try { await api.post('/auth/register', values); - message.success('Registration successful, please login'); - navigate('/login'); + message.success('Registration successful, please check your email to confirm your account'); + navigate('/login?registered=true'); } catch (error) { message.error('Registration failed: ' + (error.response?.data?.detail || 'Unknown error')); } diff --git a/src/pages/auth/new.jsx b/src/pages/auth/new.jsx index 31a27859..f5b24148 100644 --- a/src/pages/auth/new.jsx +++ b/src/pages/auth/new.jsx @@ -147,7 +147,7 @@ function New() { } message.success('Customer registration completed successfully!'); - navigate('/'); + navigate('/login?registered=true'); } catch (error) { if (error.response?.status === 400 && error.response.data?.detail) { message.error(error.response.data.detail);