- Multi-step wizard for listing creation (basic info, location, details, pricing, images) - Listing detail page with image gallery, property specs, seller/agent info, stats - Listings index page with filters (transaction type, property type) and pagination - Edit page with tab-based form (read-only until backend PATCH endpoint available) - Drag & drop image upload component with preview and multi-file support - Dashboard layout with navigation bar - New UI primitives: textarea, select, badge, tabs - Listings API client with typed endpoints matching backend contract - Zod validation schemas for all form steps - Status badges with Vietnamese labels for all listing states - Responsive design across all pages Co-Authored-By: Paperclip <noreply@paperclip.ing>
55 lines
1.8 KiB
TypeScript
55 lines
1.8 KiB
TypeScript
import Link from 'next/link';
|
|
import { Button } from '@/components/ui/button';
|
|
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
|
|
|
|
export default function HomePage() {
|
|
return (
|
|
<div className="space-y-8">
|
|
<div>
|
|
<h1 className="text-3xl font-bold">Chào mừng đến GoodGo</h1>
|
|
<p className="mt-2 text-muted-foreground">
|
|
Nền tảng bất động sản thông minh tại Việt Nam
|
|
</p>
|
|
</div>
|
|
|
|
<div className="grid gap-6 sm:grid-cols-2 lg:grid-cols-3">
|
|
<Card>
|
|
<CardHeader>
|
|
<CardTitle>Đăng tin mới</CardTitle>
|
|
<CardDescription>Tạo tin đăng bán hoặc cho thuê bất động sản</CardDescription>
|
|
</CardHeader>
|
|
<CardContent>
|
|
<Link href="/listings/new">
|
|
<Button className="w-full">Đăng tin ngay</Button>
|
|
</Link>
|
|
</CardContent>
|
|
</Card>
|
|
|
|
<Card>
|
|
<CardHeader>
|
|
<CardTitle>Tin đăng của tôi</CardTitle>
|
|
<CardDescription>Quản lý các tin đăng đã tạo</CardDescription>
|
|
</CardHeader>
|
|
<CardContent>
|
|
<Link href="/listings">
|
|
<Button variant="outline" className="w-full">Xem danh sách</Button>
|
|
</Link>
|
|
</CardContent>
|
|
</Card>
|
|
|
|
<Card>
|
|
<CardHeader>
|
|
<CardTitle>Tìm kiếm</CardTitle>
|
|
<CardDescription>Tìm bất động sản phù hợp nhu cầu</CardDescription>
|
|
</CardHeader>
|
|
<CardContent>
|
|
<Link href="/listings">
|
|
<Button variant="outline" className="w-full">Tìm kiếm</Button>
|
|
</Link>
|
|
</CardContent>
|
|
</Card>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|