initial commit: project completion with proper gitignore
This commit is contained in:
55
app/admin/(dashboard)/partners/page.tsx
Normal file
55
app/admin/(dashboard)/partners/page.tsx
Normal file
@@ -0,0 +1,55 @@
|
||||
import { getPartnersAdmin, deletePartner } from '../../actions';
|
||||
import { Plus } from 'lucide-react';
|
||||
import { revalidatePath } from 'next/cache';
|
||||
import PartnerRow from './PartnerRow';
|
||||
|
||||
export default async function PartnersAdminPage() {
|
||||
const partners = await getPartnersAdmin();
|
||||
|
||||
async function handleDelete(formData: FormData) {
|
||||
'use server';
|
||||
const id = Number(formData.get('id'));
|
||||
await deletePartner(id);
|
||||
revalidatePath('/admin/partners');
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="space-y-8">
|
||||
<div className="flex justify-between items-center">
|
||||
<div>
|
||||
<h1 className="text-3xl font-black uppercase tracking-widest text-white mb-2">Partnerler</h1>
|
||||
<p className="text-white/40">Referans markaların listesi.</p>
|
||||
</div>
|
||||
<button className="bg-primary text-white px-6 py-2 rounded-xl font-bold hover:bg-primary/80 transition-colors flex items-center gap-2">
|
||||
<Plus className="w-4 h-4" />
|
||||
Yeni Partner Ekle
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div className="bg-zinc-950 border border-white/10 rounded-2xl overflow-hidden shadow-2xl">
|
||||
<table className="w-full text-left">
|
||||
<thead className="bg-white/5 border-b border-white/10">
|
||||
<tr>
|
||||
<th className="px-6 py-4 text-[10px] font-bold uppercase tracking-widest text-white/40 w-24">Sıra</th>
|
||||
<th className="px-6 py-4 text-[10px] font-bold uppercase tracking-widest text-white/40">Logo Önizleme</th>
|
||||
<th className="px-6 py-4 text-[10px] font-bold uppercase tracking-widest text-white/40">Marka Adı</th>
|
||||
<th className="px-6 py-4 text-[10px] font-bold uppercase tracking-widest text-white/40 text-right">İşlemler</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{partners.map((partner: any) => (
|
||||
<PartnerRow key={partner.id} partner={partner} onDelete={handleDelete} />
|
||||
))}
|
||||
{(!partners || partners.length === 0) && (
|
||||
<tr>
|
||||
<td colSpan={4} className="px-6 py-8 text-center text-white/40">
|
||||
Henüz partner eklenmemiş.
|
||||
</td>
|
||||
</tr>
|
||||
)}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user