diff --git a/app/account/orders/[id]/loading.tsx b/app/account/(orderId)/orders/[id]/loading.tsx
similarity index 100%
rename from app/account/orders/[id]/loading.tsx
rename to app/account/(orderId)/orders/[id]/loading.tsx
diff --git a/app/account/orders/[id]/page.tsx b/app/account/(orderId)/orders/[id]/page.tsx
similarity index 96%
rename from app/account/orders/[id]/page.tsx
rename to app/account/(orderId)/orders/[id]/page.tsx
index 5088165d6..8868b2f2a 100644
--- a/app/account/orders/[id]/page.tsx
+++ b/app/account/(orderId)/orders/[id]/page.tsx
@@ -1,5 +1,5 @@
import { ArrowLeftIcon, CheckCircleIcon, TruckIcon } from '@heroicons/react/24/outline';
-import { Button } from 'components/button';
+import ActivateWarranty from 'components/orders/activate-warranty';
import OrderSummary from 'components/orders/order-summary';
import OrderSummaryMobile from 'components/orders/order-summary-mobile';
import Price from 'components/price';
@@ -8,7 +8,7 @@ import { Card } from 'components/ui/card';
import Heading from 'components/ui/heading';
import Label from 'components/ui/label';
import Text from 'components/ui/text';
-import { getCustomerOrder } from 'lib/shopify';
+import { getCustomerOrder, getOrderMetafields } from 'lib/shopify';
import { Fulfillment, Order } from 'lib/shopify/types';
import { toPrintDate } from 'lib/utils';
import Image from 'next/image';
@@ -228,7 +228,10 @@ function OrderDetails({ order }: { order: Order }) {
}
export default async function OrderPage({ params }: { params: { id: string } }) {
- const order = await getCustomerOrder(params.id);
+ const [order, orderMetafields] = await Promise.all([
+ getCustomerOrder(params.id),
+ getOrderMetafields(params.id)
+ ]);
return (
<>
@@ -244,9 +247,7 @@ export default async function OrderPage({ params }: { params: { id: string } })
-
-
-
+
diff --git a/app/account/loading.tsx b/app/account/(orders)/loading.tsx
similarity index 100%
rename from app/account/loading.tsx
rename to app/account/(orders)/loading.tsx
diff --git a/app/account/page.tsx b/app/account/(orders)/page.tsx
similarity index 93%
rename from app/account/page.tsx
rename to app/account/(orders)/page.tsx
index 160c5feb8..03fa41fd7 100644
--- a/app/account/page.tsx
+++ b/app/account/(orders)/page.tsx
@@ -4,7 +4,7 @@ import MobileOrderActions from 'components/orders/mobile-order-actions';
import OrdersHeader from 'components/orders/orders-header';
import Price from 'components/price';
import { getCustomerOrders, getOrdersMetafields } from 'lib/shopify';
-import { isBeforeToday, toPrintDate } from 'lib/utils';
+import { toPrintDate } from 'lib/utils';
import Image from 'next/image';
import Link from 'next/link';
@@ -64,12 +64,7 @@ export default async function AccountPage() {
View Order
{order.normalizedId}
- {!isBeforeToday(ordersMetafields[order.id]?.warrantyActivationDeadline) && (
-
- )}
+
diff --git a/components/orders/activate-warranty.tsx b/components/orders/activate-warranty.tsx
index 68325d27b..a8f9bb707 100644
--- a/components/orders/activate-warranty.tsx
+++ b/components/orders/activate-warranty.tsx
@@ -1,6 +1,7 @@
'use client';
import { Order, OrderMetafield, WarrantyStatus } from 'lib/shopify/types';
+import { isBeforeToday } from 'lib/utils';
import { useState } from 'react';
import ActivateWarrantyModal from './activate-warranty-modal';
import WarrantyActivatedBadge from './warranty-activated-badge';
@@ -13,15 +14,20 @@ type ActivateWarrantyModalProps = {
const ActivateWarranty = ({ order, orderMetafields }: ActivateWarrantyModalProps) => {
const [isOpen, setIsOpen] = useState(false);
const isWarrantyActivated = orderMetafields?.warrantyStatus === WarrantyStatus.Activated;
+ const isPassDeadline = isBeforeToday(orderMetafields?.warrantyActivationDeadline);
if (isWarrantyActivated) {
return ;
}
+ if (isPassDeadline) {
+ return null;
+ }
+
return (
<>