Add full FOCO investor management system with CRUD, investments, and transactions

This commit is contained in:
sazzadulalambd
2026-04-22 01:02:45 +06:00
parent 5338038ea2
commit dab0c11b15
32 changed files with 7673 additions and 89 deletions

62
src/app/bikes/page.tsx Normal file
View File

@@ -0,0 +1,62 @@
'use client';
import { useState } from 'react';
import BikeCard from '@/components/BikeCard';
import { availableBikes } from '@/data/mockData';
import { Search, Filter } from 'lucide-react';
export default function BikesPage() {
const [filter, setFilter] = useState<string>('all');
const [sort, setSort] = useState<string>('location');
return (
<div className="p-4 lg:p-6">
<div className="mb-6">
<h1 className="text-xl lg:text-2xl font-extrabold text-slate-800">Browse EVs</h1>
<p className="text-sm text-slate-500">Find the perfect bike for your needs</p>
</div>
<div className="flex flex-wrap gap-3 mb-6">
<select
value={filter}
onChange={(e) => setFilter(e.target.value)}
className="px-4 py-2 bg-white border border-slate-200 rounded-lg text-sm font-medium"
>
<option value="all">All Locations</option>
<option value="gulshan">Gulshan</option>
<option value="banani">Banani</option>
<option value="uttara">Uttara</option>
<option value="dhanmondi">Dhanmondi</option>
<option value="mirpur">Mirpur</option>
</select>
<select
value={sort}
onChange={(e) => setSort(e.target.value)}
className="px-4 py-2 bg-white border border-slate-200 rounded-lg text-sm font-medium"
>
<option value="location">Sort by Location</option>
<option value="battery">Sort by Battery</option>
<option value="model">Sort by Model</option>
</select>
<button className="px-4 py-2 bg-accent text-white rounded-lg text-sm font-medium hover:bg-accent-dark flex items-center gap-2">
<Search className="w-4 h-4" /> Search
</button>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4">
{availableBikes.map(bike => (
<BikeCard key={bike.id} bike={bike} />
))}
</div>
{availableBikes.length === 0 && (
<div className="text-center py-12">
<p className="text-slate-400 text-lg">No bikes available</p>
<p className="text-slate-400 text-sm">Check back later for availability</p>
</div>
)}
</div>
);
}