diff --git a/package.json b/package.json
index 47f4870e..10cdcd3f 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "homepage",
- "version": "1.66.0",
+ "version": "1.67.0",
"private": true,
"type": "module",
"scripts": {
diff --git a/src/lib/components/faith/prayers/HilfMaria.svelte b/src/lib/components/faith/prayers/HilfMaria.svelte
new file mode 100644
index 00000000..7099f7a8
--- /dev/null
+++ b/src/lib/components/faith/prayers/HilfMaria.svelte
@@ -0,0 +1,23 @@
+
+
+
+ {#snippet children(showLatin, urlLang)}
+
+ {#if urlLang === 'de'}Hilf, Maria, es ist Zeit, hilf, Mutter der Barmherzigkeit.{/if}
+ {#if urlLang === 'en'}Help, Blessed Mother, it is highest time, help Mother of Mercy.{/if}
+ {#if urlLang === 'de'}Du bist berufen, uns aus Nöten und Gefahren zu erretten,{/if}
+ {#if urlLang === 'en'}You are mighty, deliver us from distress and danger,{/if}
+ {#if urlLang === 'de'}denn wo Menschenhilf' gebricht, mangelt doch die deine nicht.{/if}
+ {#if urlLang === 'en'}for where human help is lacking, yours is not.{/if}
+ {#if urlLang === 'de'}Nein, du kannst das heiße Flehen deiner Kinder nicht verschmähen.{/if}
+ {#if urlLang === 'en'}No, you cannot spurn the fervent supplication of your children.{/if}
+ {#if urlLang === 'de'}Zeige, dass du Mutter bist, wo die Not am größten ist.{/if}
+ {#if urlLang === 'en'}Show that you are our mother where the need is greatest.{/if}
+ {#if urlLang === 'de'}Hilf, Maria, es ist Zeit, hilf, Mutter der Barmherzigkeit.{/if}
+ {#if urlLang === 'en'}Help, Blessed Mother, it is highest time, help Mother of Mercy.{/if}
+ Amen.
+
+ {/snippet}
+
diff --git a/src/lib/components/faith/prayers/JungfrauMutterGottes.svelte b/src/lib/components/faith/prayers/JungfrauMutterGottes.svelte
new file mode 100644
index 00000000..4f5e54df
--- /dev/null
+++ b/src/lib/components/faith/prayers/JungfrauMutterGottes.svelte
@@ -0,0 +1,84 @@
+
+
+
+ {#snippet children(showLatin, urlLang)}
+
+ {#if urlLang === 'de'}Jungfrau, Mutter Gottes mein,{/if}
+ {#if urlLang === 'en'}Virgin, Mother of God of mine,{/if}
+ {#if urlLang === 'de'}lass mich ganz dein Eigen sein!{/if}
+ {#if urlLang === 'en'}let me be wholly thine own!{/if}
+ {#if urlLang === 'de'}Dein im Leben, dein im Tod,{/if}
+ {#if urlLang === 'en'}Thine in life, thine in death,{/if}
+ {#if urlLang === 'de'}dein in Unglück, Angst und Not;{/if}
+ {#if urlLang === 'en'}thine in misfortune, fear and need;{/if}
+ {#if urlLang === 'de'}dein in Kreuz und bitt'rem Leid,{/if}
+ {#if urlLang === 'en'}thine in cross and bitter sorrow,{/if}
+ {#if urlLang === 'de'}dein für Zeit und Ewigkeit.{/if}
+ {#if urlLang === 'en'}thine for time and eternity.{/if}
+ {#if urlLang === 'de'}Jungfrau, Mutter Gottes mein,{/if}
+ {#if urlLang === 'en'}Virgin, Mother of God of mine,{/if}
+ {#if urlLang === 'de'}lass mich ganz dein Eigen sein!{/if}
+ {#if urlLang === 'en'}let me be wholly thine own!{/if}
+
+
+ {#if urlLang === 'de'}Mutter, auf dich hoff' und baue ich!{/if}
+ {#if urlLang === 'en'}Mother, in thee I hope and trust!{/if}
+ {#if urlLang === 'de'}Mutter, zu dir ruf' und seufze ich!{/if}
+ {#if urlLang === 'en'}Mother, to thee I call and sigh!{/if}
+ {#if urlLang === 'de'}Mutter, du Gütigste, steh mir bei!{/if}
+ {#if urlLang === 'en'}Mother, most kind, stand by me!{/if}
+ {#if urlLang === 'de'}Mutter, du Mächtigste, Schutz mir verleih!{/if}
+ {#if urlLang === 'en'}Mother, most mighty, grant me protection!{/if}
+
+
+ {#if urlLang === 'de'}O Mutter, so komm, hilf beten mir!{/if}
+ {#if urlLang === 'en'}O Mother, come and help me pray!{/if}
+ {#if urlLang === 'de'}O Mutter, so komm, hilf streiten mir!{/if}
+ {#if urlLang === 'en'}O Mother, come and help me strive!{/if}
+ {#if urlLang === 'de'}O Mutter, so komm, hilf leiden mir!{/if}
+ {#if urlLang === 'en'}O Mother, come and help me suffer!{/if}
+ {#if urlLang === 'de'}O Mutter, so komm und bleib bei mir!{/if}
+ {#if urlLang === 'en'}O Mother, come and stay with me!{/if}
+
+
+ {#if urlLang === 'de'}Du kannst mir ja helfen, o Mächtigste!{/if}
+ {#if urlLang === 'en'}Thou canst help me, O most mighty!{/if}
+ {#if urlLang === 'de'}Du willst mir ja helfen, o Gütigste!{/if}
+ {#if urlLang === 'en'}Thou wilt help me, O most kind!{/if}
+ {#if urlLang === 'de'}Du musst mir nun helfen, o Treueste!{/if}
+ {#if urlLang === 'en'}Thou must help me now, O most faithful!{/if}
+ {#if urlLang === 'de'}Du wirst mir auch helfen, Barmherzigste!{/if}
+ {#if urlLang === 'en'}Thou wilt help me also, O most merciful!{/if}
+
+
+ {#if urlLang === 'de'}O Mutter der Gnade, der Christen Hort,{/if}
+ {#if urlLang === 'en'}O Mother of grace, refuge of Christians,{/if}
+ {#if urlLang === 'de'}du Zuflucht der Sünder, des Heiles Pfort',{/if}
+ {#if urlLang === 'en'}refuge of sinners, gate of salvation,{/if}
+ {#if urlLang === 'de'}du Hoffnung der Erde, des Himmels Zier,{/if}
+ {#if urlLang === 'en'}hope of the earth, ornament of heaven,{/if}
+ {#if urlLang === 'de'}du Trost der Betrübten, ihr Schutzpanier.{/if}
+ {#if urlLang === 'en'}comfort of the afflicted, their shielding banner.{/if}
+
+
+ {#if urlLang === 'de'}Wer hat je umsonst deine Hilf' angefleht?{/if}
+ {#if urlLang === 'en'}Who has ever begged thy help in vain?{/if}
+ {#if urlLang === 'de'}Wann hast du vergessen ein kindlich' Gebet?{/if}
+ {#if urlLang === 'en'}When hast thou forgotten a childlike prayer?{/if}
+ {#if urlLang === 'de'}Drum ruf' ich beharrlich in Kreuz und in Leid:{/if}
+ {#if urlLang === 'en'}Therefore I call out steadfastly in cross and sorrow:{/if}
+ {#if urlLang === 'de'}„Maria hilft immer! Sie hilft jederzeit!"{/if}
+ {#if urlLang === 'en'}"Mary helps always! She helps at all times!"{/if}
+ {#if urlLang === 'de'}Ich ruf' voll Vertrauen in Leiden und Tod:{/if}
+ {#if urlLang === 'en'}I call full of trust in suffering and death:{/if}
+ {#if urlLang === 'de'}„Maria hilft immer, in jeglicher Not!"{/if}
+ {#if urlLang === 'en'}"Mary helps always, in every distress!"{/if}
+ {#if urlLang === 'de'}So glaub' ich und lebe und sterbe darauf:{/if}
+ {#if urlLang === 'en'}So I believe and live and die upon it:{/if}
+ {#if urlLang === 'de'}„Maria hilft mir in den Himmel hinauf."{/if}
+ {#if urlLang === 'en'}"Mary helps me up into heaven."{/if}
+
+ {/snippet}
+
diff --git a/src/lib/components/faith/prayers/Memorare.svelte b/src/lib/components/faith/prayers/Memorare.svelte
new file mode 100644
index 00000000..5c3bb8ed
--- /dev/null
+++ b/src/lib/components/faith/prayers/Memorare.svelte
@@ -0,0 +1,32 @@
+
+
+
+ {#snippet children(showLatin, urlLang)}
+
+ {#if showLatin}Meménto, o piíssima Virgo María, non esse audítum a sǽculo,{/if}
+ {#if urlLang === 'de'}Gedenke, o gütigste Jungfrau Maria, es ist noch nie gehört worden,{/if}
+ {#if urlLang === 'en'}Remember, O most gracious Virgin Mary, that never was it known{/if}
+ {#if showLatin}quemquam ad tua curréntem præsídia, tua implorántem auxília,{/if}
+ {#if urlLang === 'de'}dass jemand, der zu dir seine Zuflucht nahm, deine Hilfe anrief{/if}
+ {#if urlLang === 'en'}that anyone who fled to thy protection, implored thy help,{/if}
+ {#if showLatin}tua peténtem suffrágia, esse derelíctum.{/if}
+ {#if urlLang === 'de'}und um deine Fürbitte flehte, von dir verlassen worden ist.{/if}
+ {#if urlLang === 'en'}or sought thine intercession, was left unaided.{/if}
+ {#if showLatin}Ego tali animátus confidéntia, ad te, Virgo Vírginum, Mater, curro,{/if}
+ {#if urlLang === 'de'}Von diesem Vertrauen beseelt, nehme ich meine Zuflucht zu dir, o Jungfrau der Jungfrauen, meine Mutter.{/if}
+ {#if urlLang === 'en'}Inspired by this confidence, I fly unto thee, O Virgin of virgins, my Mother;{/if}
+ {#if showLatin}ad te vénio, coram te gemens peccátor assísto.{/if}
+ {#if urlLang === 'de'}Zu dir komme ich, vor dir stehe ich als ein sündiger Mensch.{/if}
+ {#if urlLang === 'en'}to thee do I come, before thee I stand, sinful and sorrowful.{/if}
+ {#if showLatin}Noli, Mater Verbi, verba mea despícere;{/if}
+ {#if urlLang === 'de'}O Mutter des Ewigen Wortes, verschmähe nicht meine Worte,{/if}
+ {#if urlLang === 'en'}O Mother of the Word Incarnate, despise not my petitions,{/if}
+ {#if showLatin}sed audi propítia et exáudi.{/if}
+ {#if urlLang === 'de'}sondern höre sie gnädig an und erhöre mich.{/if}
+ {#if urlLang === 'en'}but in thy mercy hear and answer me.{/if}
+ Amen.
+
+ {/snippet}
+
diff --git a/src/lib/components/faith/prayers/ODominaMea.svelte b/src/lib/components/faith/prayers/ODominaMea.svelte
new file mode 100644
index 00000000..98a26807
--- /dev/null
+++ b/src/lib/components/faith/prayers/ODominaMea.svelte
@@ -0,0 +1,29 @@
+
+
+
+ {#snippet children(showLatin, urlLang)}
+
+ {#if showLatin}O Dómina mea, o Mater mea, tibi me totum óffero,{/if}
+ {#if urlLang === 'de'}O meine Gebieterin, o meine Mutter! Dir bringe ich mich ganz dar;{/if}
+ {#if urlLang === 'en'}O my Queen, O my Mother, I give myself entirely to thee;{/if}
+ {#if showLatin}atque, ut me tibi probem devótum,{/if}
+ {#if urlLang === 'de'}und um dir meine Hingabe zu bezeigen,{/if}
+ {#if urlLang === 'en'}and to show my devotion to thee,{/if}
+ {#if showLatin}cónsecro tibi hódie óculos meos, aures meas, os meum,{/if}
+ {#if urlLang === 'de'}weihe ich dir heute meine Augen, meine Ohren, meinen Mund,{/if}
+ {#if urlLang === 'en'}I consecrate to thee this day my eyes, my ears, my mouth,{/if}
+ {#if showLatin}cor meum, plane me totum.{/if}
+ {#if urlLang === 'de'}mein Herz, mich selber ganz und gar.{/if}
+ {#if urlLang === 'en'}my heart, my whole being without reserve.{/if}
+ {#if showLatin}Quóniam ítaque tuus sum, o bona Mater,{/if}
+ {#if urlLang === 'de'}Weil ich also dir gehöre, o gute Mutter,{/if}
+ {#if urlLang === 'en'}Wherefore, good Mother, as I am thine own,{/if}
+ {#if showLatin}serva me, defénde me, ut rem ac possessiónem tuam.{/if}
+ {#if urlLang === 'de'}bewahre mich und beschütze mich als dein Gut und dein Eigentum.{/if}
+ {#if urlLang === 'en'}keep me, defend me, as thy property and possession.{/if}
+ Amen.
+
+ {/snippet}
+
diff --git a/src/lib/components/faith/prayers/TischgebetNach.svelte b/src/lib/components/faith/prayers/TischgebetNach.svelte
new file mode 100644
index 00000000..f26bfce8
--- /dev/null
+++ b/src/lib/components/faith/prayers/TischgebetNach.svelte
@@ -0,0 +1,65 @@
+
+
+
+ {#snippet children(showLatin, urlLang)}
+
+ {#if urlLang === 'de'}Dir sei, o Gott, für Speis' und Trank,{/if}
+ {#if urlLang === 'en'}To Thee, O God, for food and drink,{/if}
+ {#if urlLang === 'de'}für alles Gute Lob und Dank.{/if}
+ {#if urlLang === 'en'}for all good things, be praise and thanks.{/if}
+ {#if urlLang === 'de'}Du gabst, Du wirst auch ferner geben,{/if}
+ {#if urlLang === 'en'}Thou hast given, Thou wilt give still more,{/if}
+ {#if urlLang === 'de'}Dich preise unser ganzes Leben! Amen.{/if}
+ {#if urlLang === 'en'}may our whole life praise Thee! Amen.{/if}
+
+ {/snippet}
+
+
+
· · ·
+
+
+ {#snippet children(showLatin, urlLang)}
+
+ {#if showLatin}Ágimus tibi grátias, omnípotens Deus,{/if}
+ {#if urlLang === 'de'}Wir danken Dir, allmächtiger Gott,{/if}
+ {#if urlLang === 'en'}We give Thee thanks, almighty God,{/if}
+ {#if showLatin}pro univérsis benefíciis tuis:{/if}
+ {#if urlLang === 'de'}für all Deine Wohltaten,{/if}
+ {#if urlLang === 'en'}for all Thy benefits:{/if}
+ {#if showLatin}Qui vivis et regnas in sǽcula sæculórum.{/if}
+ {#if urlLang === 'de'}der Du lebst und herrschest von Ewigkeit zu Ewigkeit.{/if}
+ {#if urlLang === 'en'}Who livest and reignest, world without end.{/if}
+ Amen.
+
+ {/snippet}
+
+
+· · ·
+
+
+ {#snippet children(showLatin, urlLang)}
+
+ {#if showLatin}Retribúere dignáre, Dómine,{/if}
+ {#if urlLang === 'de'}Herr, vergilt allen,{/if}
+ {#if urlLang === 'en'}Vouchsafe, O Lord, to reward{/if}
+ {#if showLatin}ómnibus, nobis bona faciéntibus propter nomen tuum,{/if}
+ {#if urlLang === 'de'}die uns um Deines Namens willen Gutes getan haben,{/if}
+ {#if urlLang === 'en'}all those who do good to us for Thy name's sake{/if}
+ {#if showLatin}vitam ætérnam.{/if}
+ {#if urlLang === 'de'}mit dem ewigen Leben.{/if}
+ {#if urlLang === 'en'}with eternal life.{/if}
+ Amen.
+
+ {/snippet}
+
+
+
diff --git a/src/lib/components/faith/prayers/TischgebetVor.svelte b/src/lib/components/faith/prayers/TischgebetVor.svelte
new file mode 100644
index 00000000..f118c4d0
--- /dev/null
+++ b/src/lib/components/faith/prayers/TischgebetVor.svelte
@@ -0,0 +1,83 @@
+
+
+
+ {#snippet children(showLatin, urlLang)}
+
+ {#if urlLang === 'de'}O Gott, von dem wir alles haben,{/if}
+ {#if urlLang === 'en'}O God, from whom we have all things,{/if}
+ {#if urlLang === 'de'}wir preisen Dich für Deine Gaben!{/if}
+ {#if urlLang === 'en'}we praise Thee for Thy gifts!{/if}
+ {#if urlLang === 'de'}Du speisest uns, weil Du uns liebst,{/if}
+ {#if urlLang === 'en'}Thou feedest us because Thou lovest us;{/if}
+ {#if urlLang === 'de'}drum segne auch, was Du uns gibst. Amen.{/if}
+ {#if urlLang === 'en'}so bless what Thou hast given us. Amen.{/if}
+
+ {/snippet}
+
+
+· · ·
+
+
+ {#snippet children(showLatin, urlLang)}
+
+ {#if urlLang === 'de'}Komm, Herr Jesus, sei unser Gast,{/if}
+ {#if urlLang === 'en'}Come, Lord Jesus, be our guest,{/if}
+ {#if urlLang === 'de'}und segne, was Du uns bescheret hast. Amen.{/if}
+ {#if urlLang === 'en'}and let these gifts to us be blessed. Amen.{/if}
+
+ {/snippet}
+
+
+· · ·
+
+
+ {#snippet children(showLatin, urlLang)}
+
+ {#if showLatin}Óculi ómnium in te sperant, Dómine,{/if}
+ {#if urlLang === 'de'}Aller Augen warten auf Dich, o Herr,{/if}
+ {#if urlLang === 'en'}The eyes of all hope in Thee, O Lord,{/if}
+ {#if showLatin}et tu das escam illórum in témpore opportúno.{/if}
+ {#if urlLang === 'de'}Du gibst ihnen Speise zur rechten Zeit.{/if}
+ {#if urlLang === 'en'}and Thou givest them meat in due season.{/if}
+ {#if showLatin}Áperis tu manum tuam,{/if}
+ {#if urlLang === 'de'}Du öffnest Deine milde Hand{/if}
+ {#if urlLang === 'en'}Thou openest Thy hand,{/if}
+ {#if showLatin}et imples omne ánimal benedictióne.{/if}
+ {#if urlLang === 'de'}und erfüllest alles, was da lebt, mit Segen.{/if}
+ {#if urlLang === 'en'}and fillest every living creature with blessing.{/if}
+
+ {/snippet}
+
+
+
+
+· · ·
+
+
+ {#snippet children(showLatin, urlLang)}
+
+ {#if showLatin}Bénedic, Dómine, nos et hæc tua dona,{/if}
+ {#if urlLang === 'de'}Herr, segne uns und diese Deine Gaben,{/if}
+ {#if urlLang === 'en'}Bless us, O Lord, and these Thy gifts,{/if}
+ {#if showLatin}quæ de tua largitáte sumus sumptúri.{/if}
+ {#if urlLang === 'de'}die wir von Deiner Güte nun empfangen werden,{/if}
+ {#if urlLang === 'en'}which we are about to receive from Thy bounty.{/if}
+ {#if showLatin}Per Christum Dóminum nostrum.{/if}
+ {#if urlLang === 'de'}durch Christus, unseren Herrn.{/if}
+ {#if urlLang === 'en'}Through Christ our Lord.{/if}
+ Amen.
+
+ {/snippet}
+
+
+
diff --git a/src/lib/data/prayerSlugs.ts b/src/lib/data/prayerSlugs.ts
index 0fcd8245..07ec1841 100644
--- a/src/lib/data/prayerSlugs.ts
+++ b/src/lib/data/prayerSlugs.ts
@@ -21,4 +21,10 @@ export const validPrayerSlugs = new Set([
'tantum-ergo',
'angelus',
'regina-caeli',
+ 'jungfrau-mutter-gottes-mein', 'virgin-mother-of-god',
+ 'o-meine-gebieterin', 'o-my-queen',
+ 'gedenke-o-guetigste-jungfrau-maria', 'memorare',
+ 'hilf-maria-es-ist-zeit', 'help-mary',
+ 'tischgebet-vor-dem-essen', 'grace-before-meals',
+ 'tischgebet-nach-dem-essen', 'grace-after-meals',
]);
diff --git a/src/lib/i18n/faith/de.ts b/src/lib/i18n/faith/de.ts
index d611a082..5f5c207c 100644
--- a/src/lib/i18n/faith/de.ts
+++ b/src/lib/i18n/faith/de.ts
@@ -56,6 +56,13 @@ export const de = {
prayer_before_crucifix: 'Gebet vor einem Kruzifix',
guardian_angel_prayer: 'Schutzengel-Gebet',
apostles_creed: 'Apostolisches Glaubensbekenntnis',
+ jungfrau_mutter_prayer: 'Jungfrau, Mutter Gottes mein',
+ o_my_queen_prayer: 'O meine Gebieterin',
+ memorare_prayer: 'Gedenke, o gütigste Jungfrau Maria',
+ hilf_maria_prayer: 'Hilf, Maria, es ist Zeit',
+ grace_before_meals: 'Tischgebet vor dem Essen',
+ grace_after_meals: 'Tischgebet nach dem Essen',
+ category_meal: 'Tischgebete',
search_prayers: 'Gebete suchen…',
clear_search: 'Suche löschen',
text_match: 'Treffer im Gebetstext',
diff --git a/src/lib/i18n/faith/en.ts b/src/lib/i18n/faith/en.ts
index a8984be6..2a9cfbc0 100644
--- a/src/lib/i18n/faith/en.ts
+++ b/src/lib/i18n/faith/en.ts
@@ -56,6 +56,13 @@ export const en = {
prayer_before_crucifix: 'Prayer Before a Crucifix',
guardian_angel_prayer: 'Guardian Angel Prayer',
apostles_creed: "Apostles' Creed",
+ jungfrau_mutter_prayer: 'Virgin, Mother of God',
+ o_my_queen_prayer: 'O My Queen',
+ memorare_prayer: 'Memorare',
+ hilf_maria_prayer: 'Help, Mary, it is Time',
+ grace_before_meals: 'Grace Before Meals',
+ grace_after_meals: 'Grace After Meals',
+ category_meal: 'Meal Prayers',
search_prayers: 'Search prayers…',
clear_search: 'Clear search',
text_match: 'Match in prayer text',
diff --git a/src/lib/i18n/faith/la.ts b/src/lib/i18n/faith/la.ts
index 17528e28..3680dfdd 100644
--- a/src/lib/i18n/faith/la.ts
+++ b/src/lib/i18n/faith/la.ts
@@ -56,6 +56,13 @@ export const la = {
prayer_before_crucifix: 'Oratio ante Crucifixum',
guardian_angel_prayer: 'Angele Dei',
apostles_creed: 'Symbolum Apostolorum',
+ jungfrau_mutter_prayer: 'Jungfrau, Mutter Gottes mein',
+ o_my_queen_prayer: 'O Domina Mea',
+ memorare_prayer: 'Memorare',
+ hilf_maria_prayer: 'Hilf, Maria, es ist Zeit',
+ grace_before_meals: 'Benedictio Mensae',
+ grace_after_meals: 'Gratiarum Actio post Mensam',
+ category_meal: 'Mensae',
search_prayers: 'Orationes quaerere…',
clear_search: 'Quaestionem delere',
text_match: 'In textu orationis',
diff --git a/src/routes/[faithLang=faithLang]/[prayers=prayersLang]/+page.svelte b/src/routes/[faithLang=faithLang]/[prayers=prayersLang]/+page.svelte
index 4aec5a0f..0a279c3d 100644
--- a/src/routes/[faithLang=faithLang]/[prayers=prayersLang]/+page.svelte
+++ b/src/routes/[faithLang=faithLang]/[prayers=prayersLang]/+page.svelte
@@ -28,6 +28,12 @@
import AnimaChristi from "$lib/components/faith/prayers/AnimaChristi.svelte";
import PrayerBeforeACrucifix from "$lib/components/faith/prayers/PrayerBeforeACrucifix.svelte";
import Postcommunio from "$lib/components/faith/prayers/Postcommunio.svelte";
+ import JungfrauMutterGottes from "$lib/components/faith/prayers/JungfrauMutterGottes.svelte";
+ import ODominaMea from "$lib/components/faith/prayers/ODominaMea.svelte";
+ import Memorare from "$lib/components/faith/prayers/Memorare.svelte";
+ import HilfMaria from "$lib/components/faith/prayers/HilfMaria.svelte";
+ import TischgebetVor from "$lib/components/faith/prayers/TischgebetVor.svelte";
+ import TischgebetNach from "$lib/components/faith/prayers/TischgebetNach.svelte";
import Prayer from "$lib/components/faith/prayers/Prayer.svelte";
import { isEastertide as checkEastertide } from "$lib/js/easter.svelte";
@@ -79,17 +85,24 @@
apostlesCreed: t.apostles_creed,
tantumErgo: 'Tantum Ergo',
angelus: 'Angelus',
- reginaCaeli: 'Regína Cæli'
+ reginaCaeli: 'Regína Cæli',
+ jungfrauMutter: t.jungfrau_mutter_prayer,
+ oMyQueen: t.o_my_queen_prayer,
+ memorare: t.memorare_prayer,
+ hilfMaria: t.hilf_maria_prayer,
+ tischgebetVor: t.grace_before_meals,
+ tischgebetNach: t.grace_after_meals
});
- // TODO: Add categories: 'meal' (Tischgebete/Meal) and 'morning_evening' (Morgen-/Abendgebete/Morning & Evening)
- // when corresponding prayers are added to the collection
+ // TODO: Add 'morning_evening' (Morgen-/Abendgebete/Morning & Evening)
+ // category when corresponding prayers are added to the collection
const categories = [
{ id: 'essential', de: 'Grundgebete', en: 'Essential', la: 'Fundamentales' },
{ id: 'marian', de: 'Marianisch', en: 'Marian', la: 'Mariana' },
{ id: 'saints', de: 'Heilige', en: 'Saints', la: 'Sancti' },
{ id: 'eucharistic', de: 'Eucharistie', en: 'Eucharistic', la: 'Eucharistica' },
+ { id: 'meal', de: 'Tischgebete', en: 'Meal', la: 'Mensae' },
{ id: 'praise', de: 'Lobpreis', en: 'Praise', la: 'Laudatio' },
{ id: 'penitential', de: 'Busse', en: 'Penitential', la: 'Paenitentialia' },
];
@@ -115,6 +128,12 @@
animachristi: ['eucharistic'],
prayerbeforeacrucifix: ['eucharistic', 'penitential'],
postcommunio: ['eucharistic'],
+ jungfrauMutter: ['marian'],
+ oMyQueen: ['marian'],
+ memorare: ['marian'],
+ hilfMaria: ['marian'],
+ tischgebetVor: ['meal'],
+ tischgebetNach: ['meal'],
};
// svelte-ignore state_referenced_locally
@@ -170,7 +189,13 @@
{ id: 'reginaCaeli', searchTerms: ['regina caeli', 'regina coeli', 'himmelskönigin', 'queen of heaven'], slug: 'regina-caeli' },
{ id: 'animachristi', searchTerms: ['anima christi', 'seele christi', 'soul of christ'], slug: 'anima-christi' },
{ id: 'prayerbeforeacrucifix', searchTerms: ['kruzifix', 'crucifix', 'kreuz', 'cross', 'en ego'], slug: isEnglish ? 'prayer-before-a-crucifix' : 'gebet-vor-einem-kruzifix' },
- { id: 'postcommunio', searchTerms: ['postcommunio', 'nachkommunion', 'kommunion', 'communion'], slug: 'postcommunio' }
+ { id: 'postcommunio', searchTerms: ['postcommunio', 'nachkommunion', 'kommunion', 'communion'], slug: 'postcommunio' },
+ { id: 'jungfrauMutter', searchTerms: ['jungfrau mutter gottes', 'maria hilft immer', 'virgin mother of god'], slug: isEnglish ? 'virgin-mother-of-god' : 'jungfrau-mutter-gottes-mein' },
+ { id: 'oMyQueen', searchTerms: ['o domina mea', 'gebieterin', 'o my queen', 'queen mother'], slug: isEnglish ? 'o-my-queen' : 'o-meine-gebieterin' },
+ { id: 'memorare', searchTerms: ['memorare', 'gedenke', 'remember o most gracious', 'bernard'], slug: isEnglish ? 'memorare' : 'gedenke-o-guetigste-jungfrau-maria' },
+ { id: 'hilfMaria', searchTerms: ['hilf maria', 'help mary', 'mutter der barmherzigkeit'], slug: isEnglish ? 'help-mary' : 'hilf-maria-es-ist-zeit' },
+ { id: 'tischgebetVor', searchTerms: ['tischgebet vor', 'grace before meals', 'benedic domine', 'aller augen', 'komm herr jesus'], slug: isEnglish ? 'grace-before-meals' : 'tischgebet-vor-dem-essen' },
+ { id: 'tischgebetNach', searchTerms: ['tischgebet nach', 'grace after meals', 'agimus tibi gratias', 'wir danken dir'], slug: isEnglish ? 'grace-after-meals' : 'tischgebet-nach-dem-essen' }
]);
// Base URL for prayer links
@@ -202,7 +227,13 @@
reginaCaeli: labels.reginaCaeli,
animachristi: labels.animachristi,
prayerbeforeacrucifix: labels.prayerbeforeacrucifix,
- postcommunio: labels.postcommunio
+ postcommunio: labels.postcommunio,
+ jungfrauMutter: labels.jungfrauMutter,
+ oMyQueen: labels.oMyQueen,
+ memorare: labels.memorare,
+ hilfMaria: labels.hilfMaria,
+ tischgebetVor: labels.tischgebetVor,
+ tischgebetNach: labels.tischgebetNach
};
return /** @type {Record} */(nameMap)[id] || id;
}
@@ -325,7 +356,13 @@
reginaCaeli: { bilingue: true },
animachristi: { bilingue: true },
prayerbeforeacrucifix: { bilingue: true },
- postcommunio: { bilingue: true }
+ postcommunio: { bilingue: true },
+ jungfrauMutter: { bilingue: false },
+ oMyQueen: { bilingue: true },
+ memorare: { bilingue: true },
+ hilfMaria: { bilingue: false },
+ tischgebetVor: { bilingue: true },
+ tischgebetNach: { bilingue: true }
};
const isEastertide = $derived(checkEastertide());
@@ -471,15 +508,23 @@ h1{
:global(:root[data-theme="light"]) .postcommunio-section {
background-color: var(--nord5);
}
-/* Seasonal badge */
+/* Anchor for the absolute-positioned seasonal-badge below */
+:global(.prayer-wrapper .gebet_wrapper) {
+ position: relative;
+}
+/* Seasonal badge — pinned top-right of the prayer card to match the
+ placement of the same badge on the rosary mystery cards */
.seasonal-badge {
- display: inline-block;
- margin-top: 0.5em;
- padding: 0.2em 0.7em;
+ position: absolute;
+ top: 0.75rem;
+ right: 0.75rem;
+ padding: 0.25em 0.7em;
font-size: 0.75em;
- border-radius: 999px;
+ font-weight: 700;
+ border-radius: var(--radius-sm);
background-color: var(--nord14);
color: var(--nord0);
+ z-index: 1;
}
/* Search is hidden without JS */
@@ -575,6 +620,18 @@ h1{
{:else if prayer.id === 'postcommunio'}
+ {:else if prayer.id === 'jungfrauMutter'}
+
+ {:else if prayer.id === 'oMyQueen'}
+
+ {:else if prayer.id === 'memorare'}
+
+ {:else if prayer.id === 'hilfMaria'}
+
+ {:else if prayer.id === 'tischgebetVor'}
+
+ {:else if prayer.id === 'tischgebetNach'}
+
{/if}
{#if prayer.id === 'reginaCaeli' && isEastertide}
{t.eastertide_badge}
diff --git a/src/routes/[faithLang=faithLang]/[prayers=prayersLang]/[prayer]/+page.svelte b/src/routes/[faithLang=faithLang]/[prayers=prayersLang]/[prayer]/+page.svelte
index fdfecdb9..95719cc1 100644
--- a/src/routes/[faithLang=faithLang]/[prayers=prayersLang]/[prayer]/+page.svelte
+++ b/src/routes/[faithLang=faithLang]/[prayers=prayersLang]/[prayer]/+page.svelte
@@ -22,6 +22,12 @@
import TantumErgo from "$lib/components/faith/prayers/TantumErgo.svelte";
import AngelusComponent from "$lib/components/faith/prayers/Angelus.svelte";
import ReginaCaeli from "$lib/components/faith/prayers/ReginaCaeli.svelte";
+ import JungfrauMutterGottes from "$lib/components/faith/prayers/JungfrauMutterGottes.svelte";
+ import ODominaMea from "$lib/components/faith/prayers/ODominaMea.svelte";
+ import Memorare from "$lib/components/faith/prayers/Memorare.svelte";
+ import HilfMaria from "$lib/components/faith/prayers/HilfMaria.svelte";
+ import TischgebetVor from "$lib/components/faith/prayers/TischgebetVor.svelte";
+ import TischgebetNach from "$lib/components/faith/prayers/TischgebetNach.svelte";
import StickyImage from "$lib/components/faith/StickyImage.svelte";
import AngelusStreakCounter from "$lib/components/faith/AngelusStreakCounter.svelte";
import { m, faithSlugFromLang, prayersSlug } from '$lib/js/faithI18n';
@@ -79,7 +85,19 @@
'apostles-creed': { id: 'apostlesCreed', name: t.apostles_creed, bilingue: true },
'tantum-ergo': { id: 'tantumErgo', name: 'Tantum Ergo', bilingue: true },
'angelus': { id: 'angelus', name: 'Angelus', bilingue: true },
- 'regina-caeli': { id: 'reginaCaeli', name: 'Regína Cæli', bilingue: true }
+ 'regina-caeli': { id: 'reginaCaeli', name: 'Regína Cæli', bilingue: true },
+ 'jungfrau-mutter-gottes-mein': { id: 'jungfrauMutter', name: t.jungfrau_mutter_prayer, bilingue: false },
+ 'virgin-mother-of-god': { id: 'jungfrauMutter', name: t.jungfrau_mutter_prayer, bilingue: false },
+ 'o-meine-gebieterin': { id: 'oMyQueen', name: t.o_my_queen_prayer, bilingue: true },
+ 'o-my-queen': { id: 'oMyQueen', name: t.o_my_queen_prayer, bilingue: true },
+ 'gedenke-o-guetigste-jungfrau-maria': { id: 'memorare', name: t.memorare_prayer, bilingue: true },
+ 'memorare': { id: 'memorare', name: t.memorare_prayer, bilingue: true },
+ 'hilf-maria-es-ist-zeit': { id: 'hilfMaria', name: t.hilf_maria_prayer, bilingue: false },
+ 'help-mary': { id: 'hilfMaria', name: t.hilf_maria_prayer, bilingue: false },
+ 'tischgebet-vor-dem-essen': { id: 'tischgebetVor', name: t.grace_before_meals, bilingue: true },
+ 'grace-before-meals': { id: 'tischgebetVor', name: t.grace_before_meals, bilingue: true },
+ 'tischgebet-nach-dem-essen': { id: 'tischgebetNach', name: t.grace_after_meals, bilingue: true },
+ 'grace-after-meals': { id: 'tischgebetNach', name: t.grace_after_meals, bilingue: true }
});
const prayer = $derived(/** @type {Record} */(prayerDefs)[data.prayer]);
@@ -279,6 +297,18 @@ h1 {
{:else if prayerId === 'reginaCaeli'}
+ {:else if prayerId === 'jungfrauMutter'}
+
+ {:else if prayerId === 'oMyQueen'}
+
+ {:else if prayerId === 'memorare'}
+
+ {:else if prayerId === 'hilfMaria'}
+
+ {:else if prayerId === 'tischgebetVor'}
+
+ {:else if prayerId === 'tischgebetNach'}
+
{/if}