import { getCurrentUrl, Link, route } from 'preact-router' import { Btn, BtnMenu, Icons, Octicon } from '.' import config from '../../config.json' import { locale } from '../Locales' import type { VersionId } from '../services' import { checkVersion } from '../services' import { cleanUrl, getGenerator } from '../Utils' const Themes: Record = { system: 'device_desktop', dark: 'moon', light: 'sun', } type HeaderProps = { lang: string, title: string, version: VersionId, theme: string, changeTheme: (theme: string) => unknown, language: string, changeLanguage: (language: string) => unknown, } export function Header({ lang, title, version, theme, changeTheme, language, changeLanguage }: HeaderProps) { const loc = locale.bind(null, lang) const gen = getGenerator(getCurrentUrl()) return
{Icons.home}

{title}

{gen && {config.generators .filter(g => g.category === gen?.category && checkVersion(version, g.minVersion)) .map(g => route(cleanUrl(g.url))} /> )} }
}