github-docs-arabic-enhanced / src /app /lib /server-context-utils.ts
AbdulElahGwaith's picture
Upload folder using huggingface_hub
88df9e4 verified
import { extractLanguageFromPath } from '@/app/lib/language-utils'
import { extractVersionFromPath } from '@/app/lib/version-utils'
import { getUIDataMerged } from '@/data-directory/lib/get-data'
import { type LanguageCode } from '@/languages/lib/languages'
import { createTranslationFunctions, translate } from '@/languages/lib/translation-utils'
import type { UIStrings } from '@/frame/components/context/MainContext'
export interface ServerAppRouterContext {
currentLanguage: LanguageCode
currentVersion: string
sitename: string
site: { data: { ui: UIStrings } }
}
/**
* Server-side context creation using filesystem data
* Use in server components where filesystem access is available
*/
export function createServerAppRouterContext(pathname: string): ServerAppRouterContext {
const language = extractLanguageFromPath(pathname)
const currentVersion = extractVersionFromPath(pathname)
const uiData = getUIDataMerged(language)
const siteName = translate(uiData, 'header.github_docs', 'GitHub Docs')
return {
currentLanguage: language,
currentVersion,
sitename: siteName,
site: { data: { ui: uiData } },
}
}
/**
* Create server-side footer with translations
*/
export function createServerFooterContent(language: LanguageCode) {
const uiData = getUIDataMerged(language)
const { t } = createTranslationFunctions(uiData, 'footer')
return {
t,
language,
footerData: uiData.footer || {},
}
}