first commit

This commit is contained in:
AyrisAI
2026-07-12 20:18:55 +03:00
commit cbc59222c2
65 changed files with 16871 additions and 0 deletions
+79
View File
@@ -0,0 +1,79 @@
import { getTranslations, setRequestLocale } from 'next-intl/server'
import { mockDb } from '@/lib/mockDb'
import Navbar from '@/components/Navbar'
import Footer from '@/components/Footer'
import BusinessForm from './BusinessForm'
interface AddBusinessPageProps {
params: Promise<{ locale: string }>
}
export default async function AddBusinessPage({ params }: AddBusinessPageProps) {
const { locale } = await params
setRequestLocale(locale)
const t = await getTranslations('forms')
const navT = await getTranslations('nav')
// Fetch categories and neighborhoods to populate form select options
const categories = await mockDb.getCategories()
const neighborhoods = await mockDb.getNeighborhoods()
const getLocalizedName = (obj: any) => {
if (!obj) return ''
return locale === 'ru' ? obj.nameRu : locale === 'en' ? obj.nameEn : obj.nameTr
}
const categoryOptions = categories.map(c => ({
value: c.id,
label: getLocalizedName(c)
}))
const neighborhoodOptions = neighborhoods.map(n => ({
value: n.id,
label: getLocalizedName(n)
}))
return (
<div className="flex-1 flex flex-col min-h-screen bg-stone text-ink">
<Navbar />
<main className="max-w-2xl mx-auto px-4 sm:px-6 lg:px-8 py-12 flex-1 w-full">
<div className="bg-paper p-8 rounded-3xl border border-pine/8 shadow-sm">
<div className="mb-8 border-b border-dashed border-pine/8 pb-6">
<h1 className="text-3xl font-heading font-extrabold text-pine lowercase">
{navT('addBusiness')}
</h1>
<p className="text-xs text-shutter font-mono uppercase tracking-wider mt-1.5">
marmaris local yeni başvuru
</p>
</div>
<BusinessForm
translations={{
businessName: t('businessName'),
category: t('category'),
neighborhood: t('neighborhood'),
address: t('address'),
phone: t('phone'),
whatsapp: t('whatsapp'),
description: t('description'),
image: t('image'),
submit: t('submit'),
sending: t('sending'),
success: t('success'),
contactName: 'Yetkili Adı Soyadı',
contactEmail: 'İletişim E-postası'
}}
categories={categoryOptions}
neighborhoods={neighborhoodOptions}
/>
</div>
</main>
<Footer />
</div>
)
}