admin/content/becomeHostPage.ts
alisaza e1eaf5eff5 feat: initial ghabilee-admin backoffice app
Extract admin dashboard from ghabilee-frontend2 into a dedicated Next.js
app for backoffice.ghabilee.ir (no SEO indexing / Clarity).
2026-09-05 13:12:59 +03:30

140 lines
2.7 KiB
TypeScript

import becomeHostPageData from '@/content/becomeHostPage.json'
export type BecomeHostBenefitIcon = 'dollar' | 'payment' | 'users' | 'bell'
export interface BecomeHostStat {
value: string
label: string
}
export interface BecomeHostBenefit {
icon: BecomeHostBenefitIcon
title: string
subtitle: string
}
export interface BecomeHostTimelineItem {
label: string
title: string
description: string
mockTitle: string
mockBadge: string
mockType: 'lines' | 'avatars'
}
export interface BecomeHostFeatureItem {
title: string
description: string
visualType: 'location' | 'coupon' | 'change'
}
export interface BecomeHostFaqItem {
question: string
answer: string
}
export interface BecomeHostPricingPoint {
title: string
subtitle: string
}
export interface BecomeHostPage {
eyebrow: string
metaTitle: string
metaDescription: string
hero: {
title: string
lead: string[]
ctaLabel: string
ctaHref: string
ctaNote: string
stats: BecomeHostStat[]
benefits: BecomeHostBenefit[]
}
pain: {
eyebrow: string
title: string
titleHighlight: string
bubbles: string[]
closing: string
}
attendance: {
eyebrow: string
title: string
titleHighlight: string
lead: string
emphasis: string
notification: { title: string; body: string; meta: string }
punches: [string, string]
}
timeline: {
eyebrow: string
title: string
titleHighlight: string
lead: string
items: BecomeHostTimelineItem[]
}
features: {
eyebrow: string
title: string
titleHighlight: string
items: BecomeHostFeatureItem[]
}
dashboard: {
eyebrow: string
title: string
titleHighlight: string
lead: string
summaryTitle: string
summaryBadge: string
stats: BecomeHostStat[]
nav: string[]
footnote: string
ctaLabel: string
ctaHref: string
}
pricing: {
eyebrow: string
title: string
titleHighlight: string
percent: string
subtitle: string
points: BecomeHostPricingPoint[]
}
steps: {
eyebrow: string
title: string
titleHighlight: string
items: { title: string; description: string }[]
}
guide: {
eyebrow: string
title: string
titleHighlight: string
lead: string
items: BecomeHostFaqItem[]
}
faq: {
eyebrow: string
title: string
titleHighlight: string
items: BecomeHostFaqItem[]
}
final: {
eyebrow: string
title: string
titleHighlight: string
lead: string
ctaLabel: string
ctaHref: string
ctaNote: string
}
stickyCta: {
priceLabel: string
priceNote: string
buttonLabel: string
}
}
export const becomeHostPage = becomeHostPageData as BecomeHostPage