2023-01-29 16:44:02 +01:00
|
|
|
import Head from 'next/head'
|
2023-03-24 21:30:04 +01:00
|
|
|
import { useLanguage } from 'shared/hooks/use-language.mjs'
|
2023-01-29 16:44:02 +01:00
|
|
|
|
|
|
|
const rss = (lang, type, title) => ({
|
|
|
|
title,
|
|
|
|
type: 'application/rss+xml',
|
|
|
|
href: `/feeds/${type}-${lang}.rss.xml`,
|
|
|
|
})
|
|
|
|
const atom = (lang, type, title) => ({
|
|
|
|
title,
|
|
|
|
type: 'application/rss+atom',
|
|
|
|
href: `/feeds/${type}-${lang}.atom.xml`,
|
|
|
|
})
|
|
|
|
const json = (lang, type, title) => ({
|
|
|
|
title,
|
|
|
|
type: 'application/json',
|
|
|
|
href: `/feeds/${type}-${lang}.json`,
|
|
|
|
})
|
|
|
|
|
|
|
|
const feeds = {
|
|
|
|
en: [
|
|
|
|
atom('en', 'blog', 'Atom feed of FreeSewing.org blog posts'),
|
|
|
|
json('en', 'blog', 'JSON feed of FreeSewing.org blog posts'),
|
|
|
|
rss('en', 'blog', 'RSS feed of FreeSewing.org blog posts'),
|
|
|
|
atom('en', 'showcase', 'Atom feed of FreeSewing.org showcase posts'),
|
|
|
|
json('en', 'showcase', 'JSON feed of FreeSewing.org showcase posts'),
|
|
|
|
rss('en', 'showcase', 'RSS feed of FreeSewing.org showcase posts'),
|
|
|
|
],
|
|
|
|
de: [
|
|
|
|
atom('de', 'blog', 'Atom-Feed von FreeSewing.org-Blogbeiträgen'),
|
|
|
|
json('de', 'blog', 'JSON-Feed von FreeSewing.org-Blogbeiträgen'),
|
|
|
|
rss('de', 'blog', 'RSS-Feed von FreeSewing.org-Blogbeiträgen'),
|
|
|
|
atom('de', 'showcase', 'Atom-Feed von FreeSewing.org-Galeriebeiträgen'),
|
|
|
|
json('de', 'showcase', 'JSON-Feed von FreeSewing.org-Galeriebeiträgen'),
|
|
|
|
rss('de', 'showcase', 'RSS-Feed von FreeSewing.org-Galeriebeiträgen'),
|
|
|
|
],
|
|
|
|
es: [
|
|
|
|
atom('es', 'blog', 'Fuente Atom de las publicaciones del blog FreeSewing.org'),
|
|
|
|
json('es', 'blog', 'Fuente JSON de las publicaciones del blog FreeSewing.org'),
|
|
|
|
rss('es', 'blog', 'Fuente RSS de las publicaciones del blog FreeSewing.org'),
|
|
|
|
atom('es', 'showcase', 'Fuente Atom de publicaciones de exhibición de FreeSewing.org'),
|
|
|
|
json('es', 'showcase', 'Fuente JSON de publicaciones de exhibición de FreeSewing.org'),
|
|
|
|
rss('es', 'showcase', 'Fuente RSS de publicaciones de exhibición de FreeSewing.org'),
|
|
|
|
],
|
|
|
|
fr: [
|
|
|
|
atom('fr', 'blog', 'Flux Atom des articles du blog FreeSewing.org'),
|
|
|
|
json('fr', 'blog', 'Flux JSON des articles du blog FreeSewing.org'),
|
|
|
|
rss('fr', 'blog', 'Flux RSS des articles du blog FreeSewing.org'),
|
|
|
|
atom('fr', 'showcase', 'Flux Atom des articles du galerie FreeSewing.org'),
|
|
|
|
json('fr', 'showcase', 'Flux JSON des articles du galerie FreeSewing.org'),
|
|
|
|
rss('fr', 'showcase', 'Flux RSS des articles du galerie FreeSewing.org'),
|
|
|
|
],
|
|
|
|
nl: [
|
|
|
|
atom('nl', 'blog', 'Atom feed van FreeSewing.org blog posts'),
|
|
|
|
json('nl', 'blog', 'JSON feed van FreeSewing.org blog posts'),
|
|
|
|
rss('nl', 'blog', 'RSS feed van FreeSewing.org blog posts'),
|
|
|
|
atom('nl', 'showcase', 'Atom feed van FreeSewing.org voorbeelden'),
|
|
|
|
json('nl', 'showcase', 'JSON feed van FreeSewing.org voorbeelden'),
|
|
|
|
rss('nl', 'showcase', 'RSS feed van FreeSewing.org voorbeelden'),
|
|
|
|
],
|
2023-07-11 20:17:24 +02:00
|
|
|
uk: [
|
|
|
|
atom('uk', 'blog', 'Atom-канал публікацій блогу FreeSewing.org'),
|
|
|
|
json('uk', 'blog', 'JSON-канал публікацій блогу FreeSewing.org'),
|
|
|
|
rss('uk', 'blog', 'RSS-канал публікацій блогу FreeSewing.org'),
|
|
|
|
atom('uk', 'showcase', 'Atom-канал демонстраційних публікацій FreeSewing.org'),
|
|
|
|
json('uk', 'showcase', 'JSON-канал демонстраційних публікацій FreeSewing.org'),
|
|
|
|
rss('uk', 'showcase', 'RSS-канал демонстраційних публікацій FreeSewing.org'),
|
|
|
|
],
|
2023-01-29 16:44:02 +01:00
|
|
|
}
|
|
|
|
|
2023-04-16 19:30:56 +02:00
|
|
|
export const Feeds = () => {
|
|
|
|
const language = useLanguage()
|
|
|
|
|
|
|
|
return language ? (
|
|
|
|
<Head>
|
|
|
|
{feeds[language].map((feed) => (
|
|
|
|
<link key={feed.href} {...feed} />
|
|
|
|
))}
|
|
|
|
</Head>
|
|
|
|
) : null
|
|
|
|
}
|