commerce/app/checkout/page.tsx
2024-09-05 00:49:35 -05:00

112 lines
4.0 KiB
TypeScript

import { CheckoutCart } from '@/components/checkout/checkout-cart';
import { LoadingCart } from '@/components/checkout/loading-cart';
import { Button } from '@/components/ui/button';
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';
import { Input } from '@/components/ui/input';
import { Label } from '@/components/ui/label';
import {
Select,
SelectContent,
SelectItem,
SelectTrigger,
SelectValue
} from '@/components/ui/select';
import { Suspense } from 'react';
export default function CheckoutPage() {
return (
<div className="container mx-auto p-4 md:p-8">
<h1 className="mb-8 text-2xl font-bold">Checkout</h1>
<div className="grid gap-8 md:grid-cols-2">
<div className="space-y-8">
<Card>
<CardHeader>
<CardTitle>Contact</CardTitle>
</CardHeader>
<CardContent>
<div className="space-y-2">
<Label htmlFor="email">Email</Label>
<Input id="email" type="email" placeholder="jdoe@acme.com" />
</div>
</CardContent>
</Card>
<Card>
<CardHeader>
<CardTitle>Shipping Address</CardTitle>
</CardHeader>
<CardContent>
<div className="space-y-4">
<div className="grid grid-cols-2 gap-4">
<div className="space-y-2">
<Label htmlFor="firstName">First Name</Label>
<Input id="firstName" placeholder="John" />
</div>
<div className="space-y-2">
<Label htmlFor="lastName">Last Name</Label>
<Input id="lastName" placeholder="Doe" />
</div>
</div>
<div className="space-y-2">
<Label htmlFor="address">Address</Label>
<Input id="address" placeholder="123 Main St" />
</div>
<div className="space-y-2">
<Label htmlFor="apartment">Apartment, suite, etc. (optional)</Label>
<Input id="apartment" placeholder="" />
</div>
<div className="grid grid-cols-2 gap-4">
<div className="space-y-2">
<Label htmlFor="city">City</Label>
<Input id="city" placeholder="Chicago" />
</div>
<div className="space-y-2">
<Label htmlFor="state">State</Label>
<Input id="state" placeholder="Illinois" />
</div>
</div>
<div className="grid grid-cols-2 gap-4">
<div className="space-y-2">
<Label htmlFor="zipCode">ZIP Code</Label>
<Input id="zipCode" placeholder="60606" />
</div>
<div className="space-y-2">
<Label htmlFor="country">Country</Label>
<Select>
<SelectTrigger id="country">
<SelectValue placeholder="Select country" />
</SelectTrigger>
<SelectContent>
<SelectItem value="us">United States</SelectItem>
<SelectItem value="ca">Canada</SelectItem>
<SelectItem value="uk">United Kingdom</SelectItem>
</SelectContent>
</Select>
</div>
</div>
</div>
</CardContent>
</Card>
<Button disabled className="w-full">
Continue to Shipping
</Button>
</div>
<div>
<Card>
<CardHeader>
<CardTitle>Order Summary</CardTitle>
</CardHeader>
<CardContent>
<Suspense fallback={<LoadingCart />}>
<CheckoutCart />
</Suspense>
</CardContent>
</Card>
</div>
</div>
</div>
);
}