feat: enhance rosary with final prayer and mystery titles
All checks were successful
CI / update (push) Successful in 25s
All checks were successful
CI / update (push) Successful in 25s
- Add RosaryFinalPrayer component with Latin and German text - Display short mystery titles in decade headings (e.g., "5. Gesätz: Kreuzigung") - Add descriptive titles to initial three Ave Marias (Glaube, Hoffnung, Liebe) - Add closing cross symbol to signal final sign of the cross - Mystery titles update dynamically when switching between rosary types
This commit is contained in:
@@ -44,5 +44,10 @@
|
|||||||
"mongoose": "^8.0.0",
|
"mongoose": "^8.0.0",
|
||||||
"node-cron": "^4.2.1",
|
"node-cron": "^4.2.1",
|
||||||
"sharp": "^0.33.0"
|
"sharp": "^0.33.0"
|
||||||
|
},
|
||||||
|
"pnpm": {
|
||||||
|
"onlyBuiltDependencies": [
|
||||||
|
"esbuild"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
24
src/lib/components/prayers/RosaryFinalPrayer.svelte
Normal file
24
src/lib/components/prayers/RosaryFinalPrayer.svelte
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<p>
|
||||||
|
<v lang="la">Orémus:</v>
|
||||||
|
<v lang="de">Lasset uns beten:</v>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<v lang="la">Déus, cújus Unigénitus,</v>
|
||||||
|
<v lang="de">O Gott, dessen eingeborner Sohn</v>
|
||||||
|
<v lang="la">pér vítam, mórtem ét resurrectiónem súam</v>
|
||||||
|
<v lang="de">durch sein Leben, seinen Tod und seine Auferstehung</v>
|
||||||
|
<v lang="la">nóbis salútis ætérnæ præmia comparávit:</v>
|
||||||
|
<v lang="de">uns die Belohnung des ewigen Lebens verdient hat,</v>
|
||||||
|
<v lang="la">concéde, quæsumus;</v>
|
||||||
|
<v lang="de">verleihe uns, wir bitten dich,</v>
|
||||||
|
<v lang="la">út, hæc mystéria sanctíssimo beátæ Maríæ Vírginis Rosário recoléntes;</v>
|
||||||
|
<v lang="de">daß wir, indem wir die Geheimisse des heiligen Rosenkranzes der allerseligsten Jungfrau ehren,</v>
|
||||||
|
<v lang="la">ét imitémur quód cóntinent,</v>
|
||||||
|
<v lang="de">was sie enthalten nachahmen</v>
|
||||||
|
<v lang="la">ét quód promíttunt, assequámur.</v>
|
||||||
|
<v lang="de">und dadurch erlangen, was uns in denselben verheißen ist.</v>
|
||||||
|
<v lang="la">Pér eúmdem Chrístum Dóminum nóstrum.</v>
|
||||||
|
<v lang="de">Durch unsern Herrn Jesus Christus.</v>
|
||||||
|
<v lang="la">Ámen.</v>
|
||||||
|
<v lang="de">Amen.</v>
|
||||||
|
</p>
|
||||||
@@ -9,6 +9,7 @@ import AveMaria from "$lib/components/prayers/AveMaria.svelte";
|
|||||||
import GloriaPatri from "$lib/components/prayers/GloriaPatri.svelte";
|
import GloriaPatri from "$lib/components/prayers/GloriaPatri.svelte";
|
||||||
import FatimaGebet from "$lib/components/prayers/FatimaGebet.svelte";
|
import FatimaGebet from "$lib/components/prayers/FatimaGebet.svelte";
|
||||||
import SalveRegina from "$lib/components/prayers/SalveRegina.svelte";
|
import SalveRegina from "$lib/components/prayers/SalveRegina.svelte";
|
||||||
|
import RosaryFinalPrayer from "$lib/components/prayers/RosaryFinalPrayer.svelte";
|
||||||
import BenedictusMedal from "$lib/components/BenedictusMedal.svelte";
|
import BenedictusMedal from "$lib/components/BenedictusMedal.svelte";
|
||||||
import CounterButton from "$lib/components/CounterButton.svelte";
|
import CounterButton from "$lib/components/CounterButton.svelte";
|
||||||
|
|
||||||
@@ -75,6 +76,38 @@ const mysteriesLatin = {
|
|||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Short titles for mysteries (for display in headings)
|
||||||
|
const mysteryTitles = {
|
||||||
|
freudenreich: [
|
||||||
|
"Verkündigung",
|
||||||
|
"Heimsuchung",
|
||||||
|
"Geburt",
|
||||||
|
"Darstellung",
|
||||||
|
"Wiederfindung"
|
||||||
|
],
|
||||||
|
schmerzhaften: [
|
||||||
|
"Todesangst",
|
||||||
|
"Geißelung",
|
||||||
|
"Dornenkrönung",
|
||||||
|
"Kreuzweg",
|
||||||
|
"Kreuzigung"
|
||||||
|
],
|
||||||
|
glorreichen: [
|
||||||
|
"Auferstehung",
|
||||||
|
"Himmelfahrt",
|
||||||
|
"Geistsendung",
|
||||||
|
"Aufnahme Mariens",
|
||||||
|
"Krönung Mariens"
|
||||||
|
],
|
||||||
|
lichtreichen: [
|
||||||
|
"Taufe",
|
||||||
|
"Hochzeit zu Kana",
|
||||||
|
"Verkündigung des Reiches",
|
||||||
|
"Verklärung",
|
||||||
|
"Einsetzung der Eucharistie"
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
// Toggle for including Luminous mysteries
|
// Toggle for including Luminous mysteries
|
||||||
let includeLuminous = true;
|
let includeLuminous = true;
|
||||||
|
|
||||||
@@ -113,12 +146,14 @@ function getMysteryForWeekday(date, includeLuminous) {
|
|||||||
let selectedMystery = getMysteryForWeekday(new Date(), includeLuminous);
|
let selectedMystery = getMysteryForWeekday(new Date(), includeLuminous);
|
||||||
let currentMysteries = mysteries[selectedMystery];
|
let currentMysteries = mysteries[selectedMystery];
|
||||||
let currentMysteriesLatin = mysteriesLatin[selectedMystery];
|
let currentMysteriesLatin = mysteriesLatin[selectedMystery];
|
||||||
|
let currentMysteryTitles = mysteryTitles[selectedMystery];
|
||||||
|
|
||||||
// Function to switch mysteries
|
// Function to switch mysteries
|
||||||
function selectMystery(mysteryType) {
|
function selectMystery(mysteryType) {
|
||||||
selectedMystery = mysteryType;
|
selectedMystery = mysteryType;
|
||||||
currentMysteries = mysteries[mysteryType];
|
currentMysteries = mysteries[mysteryType];
|
||||||
currentMysteriesLatin = mysteriesLatin[mysteryType];
|
currentMysteriesLatin = mysteriesLatin[mysteryType];
|
||||||
|
currentMysteryTitles = mysteryTitles[mysteryType];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Function to handle toggle change
|
// Function to handle toggle change
|
||||||
@@ -1153,7 +1188,7 @@ l536 389l-209 -629zM1671 934l-370 267l150 436l-378 -271l-371 271q8 -34 15 -68q10
|
|||||||
bind:this={sectionElements.start1}
|
bind:this={sectionElements.start1}
|
||||||
data-section="start1"
|
data-section="start1"
|
||||||
>
|
>
|
||||||
<h3>Ave Maria</h3>
|
<h3>Ave Maria: Glaube</h3>
|
||||||
<AveMaria
|
<AveMaria
|
||||||
mysteryLatin="Jesus, qui adáugeat nobis fidem"
|
mysteryLatin="Jesus, qui adáugeat nobis fidem"
|
||||||
mystery="Jesus, der in uns den Glauben vermehre"
|
mystery="Jesus, der in uns den Glauben vermehre"
|
||||||
@@ -1166,7 +1201,7 @@ l536 389l-209 -629zM1671 934l-370 267l150 436l-378 -271l-371 271q8 -34 15 -68q10
|
|||||||
bind:this={sectionElements.start2}
|
bind:this={sectionElements.start2}
|
||||||
data-section="start2"
|
data-section="start2"
|
||||||
>
|
>
|
||||||
<h3>Ave Maria</h3>
|
<h3>Ave Maria: Hoffnung</h3>
|
||||||
<AveMaria
|
<AveMaria
|
||||||
mysteryLatin="Jesus, qui corróboret nobis spem"
|
mysteryLatin="Jesus, qui corróboret nobis spem"
|
||||||
mystery="Jesus, der in uns die Hoffnung stärke"
|
mystery="Jesus, der in uns die Hoffnung stärke"
|
||||||
@@ -1179,7 +1214,7 @@ l536 389l-209 -629zM1671 934l-370 267l150 436l-378 -271l-371 271q8 -34 15 -68q10
|
|||||||
bind:this={sectionElements.start3}
|
bind:this={sectionElements.start3}
|
||||||
data-section="start3"
|
data-section="start3"
|
||||||
>
|
>
|
||||||
<h3>Ave Maria</h3>
|
<h3>Ave Maria: Liebe</h3>
|
||||||
<AveMaria
|
<AveMaria
|
||||||
mysteryLatin="Jesus, qui perficiat in nobis caritátem"
|
mysteryLatin="Jesus, qui perficiat in nobis caritátem"
|
||||||
mystery="Jesus, der in uns die Liebe entzünde"
|
mystery="Jesus, der in uns die Liebe entzünde"
|
||||||
@@ -1206,7 +1241,7 @@ l536 389l-209 -629zM1671 934l-370 267l150 436l-378 -271l-371 271q8 -34 15 -68q10
|
|||||||
bind:this={sectionElements[`secret${decadeNum}`]}
|
bind:this={sectionElements[`secret${decadeNum}`]}
|
||||||
data-section="secret{decadeNum}"
|
data-section="secret{decadeNum}"
|
||||||
>
|
>
|
||||||
<h2>{decadeNum}. Gesätz</h2>
|
<h2>{decadeNum}. Gesätz: {currentMysteryTitles[decadeNum - 1]}</h2>
|
||||||
<h3>Ave Maria <span class="repeat-count">(10×)</span></h3>
|
<h3>Ave Maria <span class="repeat-count">(10×)</span></h3>
|
||||||
<AveMaria
|
<AveMaria
|
||||||
mysteryLatin={currentMysteriesLatin[decadeNum - 1]}
|
mysteryLatin={currentMysteriesLatin[decadeNum - 1]}
|
||||||
@@ -1252,6 +1287,11 @@ l536 389l-209 -629zM1671 934l-370 267l150 436l-378 -271l-371 271q8 -34 15 -68q10
|
|||||||
|
|
||||||
<h3>Salve Regina</h3>
|
<h3>Salve Regina</h3>
|
||||||
<SalveRegina />
|
<SalveRegina />
|
||||||
|
|
||||||
|
<h3>Schlussgebet</h3>
|
||||||
|
<RosaryFinalPrayer />
|
||||||
|
|
||||||
|
<h3 style="text-align: center; font-size: 2.5rem; margin-top: 2rem;">♱</h3>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user