Extract admin dashboard from ghabilee-frontend2 into a dedicated Next.js app for backoffice.ghabilee.ir (no SEO indexing / Clarity).
38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
import { texts } from '@/texts'
|
|
|
|
export interface PriorityLandingContent {
|
|
categorySlug: string
|
|
citySlug: string
|
|
title: string
|
|
description: string
|
|
intro: string
|
|
highlights: readonly string[]
|
|
faqs: readonly { question: string; answer: string }[]
|
|
}
|
|
|
|
const PRIORITY_LANDING_KEYS = [
|
|
{ categorySlug: 'arts-culture', citySlug: 'tehran' },
|
|
{ categorySlug: 'learning-experience', citySlug: 'tehran' },
|
|
{ categorySlug: 'games-entertainment', citySlug: 'tehran' },
|
|
{ categorySlug: 'sports-adventure', citySlug: 'tehran' },
|
|
{ categorySlug: 'food-gatherings', citySlug: 'tehran' },
|
|
{ categorySlug: 'conversation-connection', citySlug: 'tehran' },
|
|
] as const
|
|
|
|
export const PRIORITY_LANDINGS: PriorityLandingContent[] = PRIORITY_LANDING_KEYS.map(({ categorySlug, citySlug }) => {
|
|
const content = texts.seo.priorityLandings[categorySlug][citySlug]
|
|
|
|
return {
|
|
categorySlug,
|
|
citySlug,
|
|
title: content.title,
|
|
description: content.description,
|
|
intro: content.intro,
|
|
highlights: content.highlights,
|
|
faqs: content.faqs,
|
|
}
|
|
})
|
|
|
|
export const getPriorityLanding = (categorySlug: string, citySlug: string) =>
|
|
PRIORITY_LANDINGS.find((landing) => landing.categorySlug === categorySlug && landing.citySlug === citySlug)
|