diff options
| author | Joe Carstairs <65492573+Sycamost@users.noreply.github.com> | 2023-08-31 10:20:51 +0100 |
|---|---|---|
| committer | Joe Carstairs <65492573+Sycamost@users.noreply.github.com> | 2023-08-31 10:20:51 +0100 |
| commit | 30a256d434f5cab7feeef16836fbf1e00ad5f83b (patch) | |
| tree | fe24b6b13f0317508f23c3d460c8a1bb54265d23 /src | |
| parent | 737e6161f47657b96a567de20ea5e3f0ef08e3bb (diff) | |
Adds RSS button
Diffstat (limited to 'src')
| -rw-r--r-- | src/components/Button.astro | 10 | ||||
| -rw-r--r-- | src/components/Footer.astro | 13 | ||||
| -rw-r--r-- | src/i18n/translations/components/footer.ts | 15 | ||||
| -rw-r--r-- | src/i18n/translations/site.ts | 4 | ||||
| -rw-r--r-- | src/pages/[locale]/index.astro | 4 |
5 files changed, 30 insertions, 16 deletions
diff --git a/src/components/Button.astro b/src/components/Button.astro index 9cc3885..20b6087 100644 --- a/src/components/Button.astro +++ b/src/components/Button.astro @@ -1,17 +1,13 @@ --- -import type Digit from '$types/Digit'; - -type LayoutClasses = `grid-span-${Digit}${'' | ' grid-end' | ' grid-prose-end'}`; - interface Props { href: string; - layoutClasses: LayoutClasses; + classNames: string; } -const { href, layoutClasses } = Astro.props; +const { href, classNames } = Astro.props; --- -<a class={`btn ${layoutClasses}`} href={href}> +<a class={`btn ${classNames}`} href={href}> <p> <slot /> </p> diff --git a/src/components/Footer.astro b/src/components/Footer.astro index 62b3b82..40fdddb 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -1,6 +1,6 @@ --- import translate from '$i18n/translate'; -import tSite from '$i18n/translations/site'; +import tComponent from '$i18n/translations/components/footer'; import { getLocaleFromPathOrDefault } from '$lib/getLocaleFromPath'; import Button from './Button.astro'; @@ -9,7 +9,14 @@ const t = translate(locale); --- <footer> - <Button layoutClasses="grid-span-3 grid-end" href="#top"> - ▲ {t(tSite, { key: 'back-to-top' })} + <a href={`/${locale}/rss.xml`} class="footer__rss-button"> + <span class="footer__rss-button__label"> + {t(tComponent, { key: 'subscribe-to-rss' })} + </span> + <img class="footer__rss-button__img" src="/images/rss.svg" /> + </a> + + <Button classNames="footer__back-to-top" href="#top"> + ▲ {t(tComponent, { key: 'back-to-top' })} </Button> </footer> diff --git a/src/i18n/translations/components/footer.ts b/src/i18n/translations/components/footer.ts new file mode 100644 index 0000000..c7d6055 --- /dev/null +++ b/src/i18n/translations/components/footer.ts @@ -0,0 +1,15 @@ +import type { TranslationsDictionary } from '$types/TranslationsDictionary'; + +const tComponent = { + 'back-to-top': { + sco: () => 'Back til tap', + 'en-GB': () => 'Back to top', + }, + 'subscribe-to-rss': { + sco: () => 'Subscrive til oor RSS feed', + 'en-GB': () => 'Subscribe to our RSS feed', + }, +}; + +type Raw = typeof tComponent; +export default tComponent as TranslationsDictionary<Raw>; diff --git a/src/i18n/translations/site.ts b/src/i18n/translations/site.ts index 7d48670..59a8cd4 100644 --- a/src/i18n/translations/site.ts +++ b/src/i18n/translations/site.ts @@ -32,10 +32,6 @@ const tSite = { sco: () => 'an', 'en-GB': () => 'and', }, - 'back-to-top': { - sco: () => 'Back til tap', - 'en-GB': () => 'Back to top', - }, locale: { sco: ({ locale }: { locale: Locale }) => { switch (locale) { diff --git a/src/pages/[locale]/index.astro b/src/pages/[locale]/index.astro index 39db161..f031e8e 100644 --- a/src/pages/[locale]/index.astro +++ b/src/pages/[locale]/index.astro @@ -27,7 +27,7 @@ const mostRecentNewsItem = await getMostRecentNewsItem(locale); <NewsIndex newsItems={mostRecentNewsItem ? [mostRecentNewsItem] : []} headingLevel="h3" /> { mostRecentNewsItem && ( - <Button layoutClasses="grid-span-3 grid-prose-end" href={`/${locale}/news`}> + <Button classNames="grid-span-3 grid-prose-end" href={`/${locale}/news`}> {t(tPage, { key: 'aw-news' })} ▶ </Button> ) @@ -73,7 +73,7 @@ const mostRecentNewsItem = await getMostRecentNewsItem(locale); <section> <h2 set:html={t(tPage, { key: 'furthsettins' })} /> <p set:html={t(tPage, { key: 'furthsettins-para' })} /> - <Button layoutClasses="grid-span-3 grid-prose-end" href={`/${locale}/furthsettins`}> + <Button classNames="grid-span-3 grid-prose-end" href={`/${locale}/furthsettins`}> {t(tPage, { key: 'aw-furthsettins' })} ▶ </Button> </section> |
