This commit is contained in:
shafi54 2026-02-02 00:45:53 +05:30
parent e447ab0205
commit 4d70717fb0
13 changed files with 40 additions and 40 deletions

View file

@ -246,7 +246,7 @@ export default function OrderDetails() {
<View style={tw`flex-row items-center bg-gray-50 p-3 rounded-xl mb-2 ${order.isFlashDelivery ? 'bg-amber-50' : 'bg-brand50'}`}>
<MaterialIcons name="access-time" size={20} color={order.isFlashDelivery ? "#D97706" : theme.colors.brand800} />
<MyText style={tw`ml-2 font-medium ${order.isFlashDelivery ? 'text-amber-800' : 'text-brand800'}`}>
{order.isFlashDelivery ? "Flash Delivery:" : "Delivery at:"} {order.isFlashDelivery
{order.isFlashDelivery ? "1 Hr Delivery:" : "Delivery at:"} {order.isFlashDelivery
? dayjs(order.createdAt).add(30, 'minutes').format("MMM DD, YYYY • h:mm A")
: order.slotInfo?.time ? dayjs(order.slotInfo.time).format("MMM DD, YYYY • h:mm A") : 'Not scheduled'}
</MyText>
@ -255,7 +255,7 @@ export default function OrderDetails() {
<View style={tw`flex-row items-center bg-amber-50 p-3 rounded-xl border border-amber-200`}>
<MaterialIcons name="bolt" size={18} color="#D97706" />
<MyText style={tw`ml-2 text-amber-800 font-bold text-sm`}>
30-Minute Flash Delivery High Priority
1 Hr Delivery High Priority
</MyText>
</View>
)}
@ -505,7 +505,7 @@ export default function OrderDetails() {
</View>
</View>
{/* Flash Delivery Priority Notice */}
{/* 1 Hr Delivery Priority Notice */}
{order.isFlashDelivery && (
<View
style={tw`bg-gradient-to-r from-amber-50 to-yellow-50 p-5 rounded-2xl border border-amber-200 mb-4`}
@ -513,11 +513,11 @@ export default function OrderDetails() {
<View style={tw`flex-row items-center mb-2`}>
<MaterialIcons name="bolt" size={24} color="#D97706" />
<MyText style={tw`text-amber-900 font-bold text-lg ml-3`}>
Flash Delivery Order
1 Hr Delivery Order
</MyText>
</View>
<MyText style={tw`text-amber-800 text-sm leading-5`}>
This is a high-priority flash delivery order that must be delivered within 30 minutes of placement.
This is a high-priority flash delivery order that must be delivered within 1 hr of placement.
</MyText>
<View style={tw`mt-3 p-3 bg-amber-100 rounded-lg border border-amber-300`}>
<MyText style={tw`text-amber-900 font-semibold text-sm`}>

View file

@ -249,14 +249,14 @@ const OrderItem = ({ order, refetch }: { order: OrderType; refetch: () => void }
<View style={tw`flex-row items-center mt-2`}>
<MaterialIcons name="event" size={14} color="#6B7280" />
<MyText style={tw`text-xs text-gray-600 ml-1`}>
{order.isFlashDelivery ? "Flash Delivery:" : "Slot:"} {order.isFlashDelivery ? dayjs(order.createdAt).add(30, 'minutes').format('MMM D, h:mm A') : order.deliveryTime ? dayjs(order.deliveryTime).format("ddd, MMM D • h:mm A") : 'Not scheduled'}
{order.isFlashDelivery ? "1 Hr Delivery:" : "Slot:"} {order.isFlashDelivery ? dayjs(order.createdAt).add(30, 'minutes').format('MMM D, h:mm A') : order.deliveryTime ? dayjs(order.deliveryTime).format("ddd, MMM D • h:mm A") : 'Not scheduled'}
</MyText>
</View>
{order.isFlashDelivery && (
<View style={tw`flex-row items-center mt-1 bg-amber-50 px-2 py-1 rounded`}>
<MaterialIcons name="bolt" size={12} color="#D97706" />
<MyText style={tw`text-xs text-amber-700 ml-1 font-medium`}>
30-Minute Delivery High Priority
1 Hour Delivery High Priority
</MyText>
</View>
)}
@ -761,7 +761,7 @@ export default function Orders() {
}
}}
/>
<MyText style={tw`ml-2`}> Flash Delivery</MyText>
<MyText style={tw`ml-2`}> 1 Hr Delivery</MyText>
</View>
<View style={tw`flex-row items-center`}>
<Checkbox

View file

@ -32,10 +32,10 @@ export default function FlashDeliveryBaseLayout() {
<MaterialIcons name="flash-off" size={64} color="#9ca3af" />
</View>
<MyText style={tw`text-2xl font-bold text-gray-800 mb-4 text-center`}>
Flash Delivery Unavailable
1 Hr Delivery Unavailable
</MyText>
<MyText style={tw`text-base text-gray-600 text-center mb-8`}>
Flash Delivery is not available at the moment. Please opt for a scheduled delivery.
1 Hr Delivery is not available at the moment. Please opt for a scheduled delivery.
</MyText>
<MyTouchableOpacity
onPress={() => router.replace('/(drawer)/(tabs)/home')}

View file

@ -27,7 +27,7 @@ export default function FlashDeliveryOrderSuccess() {
weight="bold"
style={tw`text-3xl mb-4 text-center text-gray-900`}
>
Flash Order Placed!
1 Hr Order Placed!
</MyText>
<MyText style={tw`text-lg text-center text-gray-600 mb-2`}>
@ -35,14 +35,14 @@ export default function FlashDeliveryOrderSuccess() {
</MyText>
<MyText style={tw`text-base text-center text-gray-500 mb-8`}>
Your order will be delivered in just 30 minutes
Your order will be delivered in just within 1 hour
</MyText>
{/* Order Details (if available) */}
{orderId && (
<View style={tw`bg-gray-50 px-4 py-3 rounded-lg mb-8`}>
<MyText style={tw`text-sm text-gray-600 text-center`}>
Flash Order #{orderId}
1 Hr Order #{orderId}
</MyText>
{totalAmount && (
<MyText weight="semibold" style={tw`text-lg text-gray-900 text-center mt-1`}>

View file

@ -138,7 +138,7 @@ export default function OrderDetails() {
<MyText style={tw`text-slate-900 font-bold text-lg`}>Order #{order.orderId}</MyText>
<MyText style={tw`text-slate-400 text-xs`}>{dayjs(order.orderDate).format("DD MMM, h:mm A")}</MyText>
{order.isFlashDelivery && (
<MyText style={tw`text-amber-600 text-xs font-bold mt-1`}> 30-Minute Flash Delivery</MyText>
<MyText style={tw`text-amber-600 text-xs font-bold mt-1`}> 1 Hr Delivery</MyText>
)}
</View>
</View>
@ -157,15 +157,15 @@ export default function OrderDetails() {
</View>
<ScrollView showsVerticalScrollIndicator={false} contentContainerStyle={tw`p-4 pb-12`}>
{/* Flash Delivery Banner */}
{/* 1 Hr Delivery Banner */}
{order.isFlashDelivery && (
<View style={tw`bg-gradient-to-r from-amber-50 to-yellow-50 border border-amber-200 rounded-2xl p-4 mb-4`}>
<View style={tw`flex-row items-center`}>
<MaterialIcons name="bolt" size={24} color="#D97706" />
<View style={tw`ml-3 flex-1`}>
<MyText style={tw`text-amber-900 font-bold text-sm`}>Flash Delivery Order</MyText>
<MyText style={tw`text-amber-900 font-bold text-sm`}>1 Hr Delivery Order</MyText>
<MyText style={tw`text-amber-700 text-xs mt-1`}>
Your order will be delivered within 30 minutes of placement
Your order will be delivered within 1 hr of placement
</MyText>
</View>
</View>
@ -208,12 +208,12 @@ export default function OrderDetails() {
</View>
)}
{/* Flash Delivery Info */}
{/* 1 Hr Delivery Info */}
{order.isFlashDelivery && !["delivered", "success"].includes(order.deliveryStatus?.toLowerCase() || "") && (
<View style={tw`flex-row items-center pt-4 border-t border-slate-50`}>
<MaterialIcons name="bolt" size={18} color="#D97706" />
<MyText style={tw`text-amber-700 text-xs ml-2 font-medium`}>
Flash Delivery: {dayjs(order.createdAt || order.orderDate).add(30, 'minutes').format("DD MMM YYYY, h:mm A")}
1 Hr Delivery: {dayjs(order.createdAt || order.orderDate).add(30, 'minutes').format("DD MMM YYYY, h:mm A")}
</MyText>
</View>
)}

View file

@ -165,7 +165,7 @@ const OrderItem: React.FC<OrderItemProps> = ({
</View>
<View>
<MyText style={[tw`text-[10px] font-bold uppercase`, item.isFlashDelivery ? tw`text-amber-700` : tw`text-brand700`]}>
{item.isFlashDelivery ? "Flash Delivery" : "Delivery Time"}
{item.isFlashDelivery ? "1 Hr Delivery" : "Delivery Time"}
</MyText>
<MyText style={[tw`text-sm font-extrabold`, item.isFlashDelivery ? tw`text-amber-900` : tw`text-brand900`]}>
{item.isFlashDelivery
@ -262,7 +262,7 @@ const OrderItem: React.FC<OrderItemProps> = ({
)}
</View>
<MyText style={tw`text-[10px] font-bold text-slate-400 uppercase mr-2`}>
{item.isFlashDelivery ? "Flash Delivery:" : "Shipping Status:"}
{item.isFlashDelivery ? "1 Hr Delivery:" : "Shipping Status:"}
</MyText>
<MyText style={[tw`text-xs font-bold`, item.isFlashDelivery ? tw`text-amber-700` : { color: deliveryStatus.color }]} numberOfLines={1}>
{item.deliveryStatus}

View file

@ -88,7 +88,7 @@ export default function Layout() {
>
<Ionicons name="flash" size={28} color="white" />
</LinearGradient>
<MyText numberOfLines={1} style={tw`text-[10px] font-bold mt-0.5 ${props.accessibilityState?.selected ? 'text-brand600' : 'text-gray-500'}`}>Flash Delivery</MyText>
<MyText numberOfLines={1} style={tw`text-[10px] font-bold mt-0.5 ${props.accessibilityState?.selected ? 'text-brand600' : 'text-gray-500'}`}>1 Hr Delivery</MyText>
</View>
</MyTouchableOpacity>
),

View file

@ -45,10 +45,10 @@ const FlashDeliveryNote: React.FC<FlashDeliveryNoteProps> = ({
</View>
<View style={tw`flex-1`}>
<MyText style={tw`text-amber-900 font-bold text-sm mb-1`}>
Flash Delivery Notice
1 Hr Delivery Notice
</MyText>
<MyText style={tw`text-amber-800 text-sm leading-5`}>
Prices may differ for Flash Delivery and not all products are available for flash delivery
Prices may differ for 1 Hr Delivery and not all products are available for flash delivery
</MyText>
</View>
</View>

View file

@ -236,7 +236,7 @@ const ProductDetail: React.FC<ProductDetailProps> = ({ productId, isFlashDeliver
{productDetail.isFlashAvailable && (
<View style={tw`bg-pink-100 px-3 py-1 rounded-full flex-row items-center`}>
<MaterialIcons name="bolt" size={12} color="#EC4899" style={tw`mr-1`} />
<MyText style={tw`text-pink-700 text-xs font-bold`}>Flash Delivery</MyText>
<MyText style={tw`text-pink-700 text-xs font-bold`}>1 Hr Delivery</MyText>
</View>
)}
{productDetail.isOutOfStock && (
@ -272,7 +272,7 @@ const ProductDetail: React.FC<ProductDetailProps> = ({ productId, isFlashDeliver
{productDetail.isFlashAvailable && productDetail.flashPrice && productDetail.flashPrice !== productDetail.price && (
<View style={tw`mt-1`}>
<MyText style={tw`text-pink-600 text-lg font-bold`}>
Flash Delivery: {productDetail.flashPrice} / {formatQuantity(productDetail.productQuantity || 1, productDetail.unitNotation).display}
1 Hr Delivery: {productDetail.flashPrice} / {formatQuantity(productDetail.productQuantity || 1, productDetail.unitNotation).display}
</MyText>
</View>
)}

View file

@ -77,7 +77,7 @@ const QuickDeliveryAddressSelector: React.FC<QuickDeliveryAddressSelectorProps>
// Get current selected slot display
const getCurrentSlotDisplay = () => {
if (isForFlashDelivery) return '30 minutes';
if (isForFlashDelivery) return 'within 1 hour';
if (slotId) {
const slot = slotsData?.slots?.find(s => s.id === slotId);
return slot ? formatTimeRange(slot.deliveryTime) : 'Select time';
@ -115,7 +115,7 @@ const QuickDeliveryAddressSelector: React.FC<QuickDeliveryAddressSelectorProps>
<MaterialIcons name="chevron-left" size={24} color="#f81260" />
</MyTouchableOpacity>
<MyText style={[tw`text-lg font-bold ml-2`, { color: '#f81260' }]}>
Delivery in 30 minutes
Delivery in within 1 hour
</MyText>
</View>
)}
@ -196,7 +196,7 @@ const QuickDeliveryAddressSelector: React.FC<QuickDeliveryAddressSelectorProps>
<View style={tw`flex-row items-center`}>
<MaterialIcons name="bolt" size={20} color="#16a34a" />
<MyText style={tw`text-green-800 font-medium ml-2`}>
Flash Delivery - 30 minutes
1 Hr Delivery - within 1 hour
</MyText>
</View>
<MyText style={tw`text-green-700 text-xs mt-1`}>

View file

@ -449,7 +449,7 @@ export function FlashDeliveryProducts({ storeId:storeIdParent, baseUrl, onProduc
return (
<AppContainer>
<View style={tw`flex-1 justify-center items-center bg-gray-50`}>
<MyText style={tw`text-gray-500 font-medium`}>Loading Flash Delivery...</MyText>
<MyText style={tw`text-gray-500 font-medium`}>Loading 1 Hr Delivery...</MyText>
</View>
</AppContainer>
);
@ -461,7 +461,7 @@ export function FlashDeliveryProducts({ storeId:storeIdParent, baseUrl, onProduc
<View style={tw`flex-1 justify-center items-center bg-gray-50`}>
<MaterialIcons name="error-outline" size={48} color="#D84343" />
<MyText style={tw`text-gray-900 text-lg font-bold mt-4`}>Oops!</MyText>
<MyText style={tw`text-gray-500 mt-2`}>Failed to load Flash Delivery</MyText>
<MyText style={tw`text-gray-500 mt-2`}>Failed to load 1 Hr Delivery</MyText>
</View>
</AppContainer>
);
@ -502,7 +502,7 @@ export function FlashDeliveryProducts({ storeId:storeIdParent, baseUrl, onProduc
onRefresh={() => productsQuery.refetch()}
ListEmptyComponent={
<View style={tw`items-center justify-center py-10`}>
<MyText style={tw`text-gray-400 font-medium`}>No Flash Delivery products available.</MyText>
<MyText style={tw`text-gray-400 font-medium`}>No 1 Hr Delivery products available.</MyText>
</View>
}
/>

View file

@ -359,7 +359,7 @@ export default function CartPage({ isFlashDelivery = false }: CartPageProps) {
tw`text-lg font-bold ml-2`,
{ color: isFlashDelivery ? '#f81260' : '#374151' }
]}>
{isFlashDelivery ? "Flash Delivery Cart" : "Scheduled Delivery Cart"}
{isFlashDelivery ? "1 Hr Delivery Cart" : "Scheduled Delivery Cart"}
</MyText>
</View>
</View>
@ -508,7 +508,7 @@ export default function CartPage({ isFlashDelivery = false }: CartPageProps) {
</View>
</View>
{/* Delivery Slot Selection per Product - Hidden for Flash Delivery */}
{/* Delivery Slot Selection per Product - Hidden for 1 Hr Delivery */}
{!isFlashDelivery && (
<View style={tw`flex flex-row items-center justify-between mt-2`}>
<View style={tw`flex-1 mr-4`}>
@ -608,7 +608,7 @@ export default function CartPage({ isFlashDelivery = false }: CartPageProps) {
</View>
)}
{/* Price for Flash Delivery (already in same row as slot) */}
{/* Price for 1 Hr Delivery (already in same row as slot) */}
{isFlashDelivery && (
<View style={tw`flex-row justify-end mt-2`}>
<View style={tw`flex-row items-center gap-2`}>
@ -699,11 +699,11 @@ export default function CartPage({ isFlashDelivery = false }: CartPageProps) {
</View>
<View style={tw`flex-1`}>
<MyText style={tw`text-base font-bold text-gray-900`}>
{isFlashDelivery ? "Flash Delivery" : "Scheduled Delivery"}
{isFlashDelivery ? "1 Hr Delivery" : "Scheduled Delivery"}
</MyText>
<MyText style={tw`text-sm text-gray-500 mt-0.5`}>
{isFlashDelivery
? "30 min delivery • Immediate pickup"
? "within 1 hour delivery • Immediate pickup"
: "Choose your preferred delivery time"
}
</MyText>
@ -725,7 +725,7 @@ export default function CartPage({ isFlashDelivery = false }: CartPageProps) {
activeOpacity={0.8}
>
<MyText style={tw`text-gray-700 font-medium mr-1`}>
{isFlashDelivery ? "Go to Scheduled Delivery" : "Go to Flash Delivery"}
{isFlashDelivery ? "Go to Scheduled Delivery" : "Go to 1 Hr Delivery"}
</MyText>
<MaterialIcons
name="arrow-forward"
@ -914,7 +914,7 @@ export default function CartPage({ isFlashDelivery = false }: CartPageProps) {
flashEligibleProductIds.has(item.productId)
);
if (flashEligibleItems.length === 0) {
errorTitle = "Flash Delivery Unavailable";
errorTitle = "1 Hr Delivery Unavailable";
errorMessage = "None of the items in your cart are available for flash delivery. Please remove ineligible items or switch to regular delivery.";
} else {
errorTitle = "Some Items Not Available";

View file

@ -223,7 +223,7 @@ const CheckoutPage: React.FC<CheckoutPageProps> = ({ isFlashDelivery = false })
tw`text-lg font-bold ml-2`,
{ color: isFlashDelivery ? '#f81260' : '#374151' }
]}>
{isFlashDelivery ? "Flash Delivery Checkout" : "Scheduled Delivery Checkout"}
{isFlashDelivery ? "1 Hr Delivery Checkout" : "Scheduled Delivery Checkout"}
</MyText>
</View>
</View>