newWebsite2.0
1
mini/assets/icons/arrow_down.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="6.163" height="4.265" viewBox="0 0 6.163 4.265"><path fill="none" stroke="#000" stroke-linecap="round" stroke-miterlimit="10" stroke-width=".5" d="m.25.25 2.831 3.765m0 0L5.913.25"/></svg>
|
||||
|
After Width: | Height: | Size: 235 B |
1
mini/assets/icons/arrow_left.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="4.265" height="6.163" viewBox="0 0 4.265 6.163"><path fill="none" stroke="#000" stroke-linecap="round" stroke-miterlimit="10" stroke-width=".5" d="M4.015.25.25 3.081m0 0 3.765 2.832"/></svg>
|
||||
|
After Width: | Height: | Size: 237 B |
1
mini/assets/icons/arrow_right.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="4.265" height="6.163" viewBox="0 0 4.265 6.163"><path fill="none" stroke="#000" stroke-linecap="round" stroke-miterlimit="10" stroke-width=".5" d="m.25.25 3.765 2.831m0 0L.25 5.913"/></svg>
|
||||
|
After Width: | Height: | Size: 236 B |
1
mini/assets/icons/book.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="21.052" height="16.147" viewBox="0 0 21.052 16.147"><g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.5"><path d="M1.47 14.706a.72.72 0 0 1-.72-.72V1.47a.72.72 0 0 1 .72-.72h7.596c.577 0 .983.625 1.448.625.44 0 1.075-.625 1.613-.625h7.455a.72.72 0 0 1 .72.72v12.516a.72.72 0 0 1-.72.72H12.03c-.527 0-1.018.691-1.449.691-.456 0-.983-.69-1.547-.69z"/><path stroke-linecap="round" d="m10.416 1.433.098 13.561"/></g></svg>
|
||||
|
After Width: | Height: | Size: 483 B |
1
mini/assets/icons/church.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="5.339" height="5.067" viewBox="0 0 5.339 5.067"><g fill="none" stroke="#000" stroke-linecap="round" stroke-miterlimit="10" stroke-width=".5"><path d="M.25 4.817V2.56l.893-.438v-.624L2.626.25M2.12 2.024h.506"/><path d="M1.146 2.12v2.697H.219h2.494-.556s.043-.16.028-.504c-.013-.31.098-.548.443-.575M2.713.25l1.483 1.247v.624l.893.438v2.258M2.644 1.59v1.062m.488-.628h-.506"/><path d="M4.194 2.12v2.697h.927-2.495.557s-.044-.16-.029-.504c.014-.31-.098-.548-.442-.575"/></g></svg>
|
||||
|
After Width: | Height: | Size: 524 B |
1
mini/assets/icons/download.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="8.138" height="8.863" viewBox="0 0 8.138 8.863"><g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".5"><path d="M1.268 8.6C.715 8.6.208 8.017.253 7.524l.015-2.007c0-.071-.06 1.188-.006 2.014.028.288.163 1.074 1.036 1.055.93-.02 3.957.057 5.584.026.863-.016.99-.772 1-1.023.033-.794.006-2.148.006-2.072v2.081c0 .553-.447 1.015-.985 1z"/><path stroke-linecap="round" stroke-linejoin="round" d="M4.062.25v6.477L.475 2.877m7.188 0-3.6 3.85V.25"/></g></svg>
|
||||
|
After Width: | Height: | Size: 514 B |
1
mini/assets/icons/file.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="9.444" height="12.174" viewBox="0 0 9.444 12.174"><g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".5"><path d="M1.415 11.924c-.643 0-1.165-.448-1.165-1V1.25c0-.552.522-1 1.165-1h5.474l2.305 2.266v8.408c0 .552-.522 1-1.165 1z"/><path stroke-linecap="round" d="M8.977 2.482H6.89V.284M2.143 6.087H7.3M2.143 3.892H7.3M2.143 1.697h3.363M2.143 8.282H7.3m-5.157 2.195H7.3"/></g></svg>
|
||||
|
After Width: | Height: | Size: 442 B |
1
mini/assets/icons/list.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="21.951" height="21.08" viewBox="0 0 21.951 21.08"><g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.5"><path d="M.75 3.19A2.44 2.44 0 0 1 3.188.753c1.346 0 12.76.065 12.76.065S19.135.74 18.99 3.821c-.016.35.005 10.811.005 10.811s.606.062 1.466.014c1.453-.081 1.49 1.304 1.49 1.304s.05.572.038 1.214c-.054 2.806-2.626 3.165-2.626 3.165s-10.042-.132-11.893-.09c-2.904.066-2.93-2.738-2.93-2.738L4.486 7.185s-1.174-.021-1.298-.021c-1.181 0-2.211-.591-2.435-1.706C.72 5.302.75 3.355.75 3.19z"/><path stroke-linecap="round" d="M2.204.93c2.225-.94 2.249 2.106 2.249 2.106l.044 4.003m3.856-1.328h6.718m-6.718 4.688h6.718m4.037 4.201s-8.07.071-9.791.062c-.84-.004 1.256 5.853-2.865 5.407"/></g></svg>
|
||||
|
After Width: | Height: | Size: 756 B |
1
mini/assets/icons/settings.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="9.952" height="9.714" viewBox="0 0 9.952 9.714"><g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".5"><path stroke-linecap="round" stroke-linejoin="round" d="M3.73 1.824V.25h2.492v1.481m-.007.125L7.369.702l1.826 1.827L8.11 3.614m.019-.005h1.573V6.1h-1.48M1.843 3.614.757 2.53 2.584.702l1.154 1.154M1.731 6.1H.25V3.61h1.574M6.23 7.983v1.481H3.737V7.891M8.117 6.1l1.085 1.086-1.826 1.826L6.222 7.86M3.73 7.859 2.577 9.012.75 7.186 1.836 6.1"/><path d="M3.404 4.854a1.572 1.572 0 1 1 3.145 0 1.572 1.572 0 0 1-3.145 0z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 591 B |
1
mini/assets/icons/shirt.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="15.471" height="18.719" viewBox="0 0 15.471 18.719"><g fill="none" stroke="#000" stroke-linecap="round" stroke-miterlimit="10"><path stroke-linejoin="round" d="m4.09 8.1-.954 6.067L.5 8.348l1.94-6.181L5.257.5 6.56 2.59h1.818"/><path d="M8.742 18.22H3.106v-4.185"/><path d="M12.316 14.035v4.184H6.679"/><path stroke-linejoin="round" d="M7.092 2.59H8.91L10.213.5l2.818 1.667 1.94 6.181-2.637 5.819-.953-6.066"/></g></svg>
|
||||
|
After Width: | Height: | Size: 466 B |
1
mini/assets/icons/sun.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="17.973" height="18.286" viewBox="0 0 17.973 18.286"><g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.5"><path d="M5.795 9.1a3.192 3.192 0 1 1 6.384 0 3.192 3.192 0 0 1-6.384 0z"/><path stroke-linecap="round" d="M8.987.75v3.17m8.236 5.18h-3.17m1.126-6.191L12.938 5.15m2.241 10.143-2.241-2.241M3.92 8.922H.75m4.286-3.951-2.242-2.24m2.242 10.142-2.242 2.242m6.193 2.421v-3.17"/></g></svg>
|
||||
|
After Width: | Height: | Size: 451 B |
1
mini/assets/icons/users.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="8.296" height="8.83" viewBox="0 0 8.296 8.83"><path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".5" d="M.25 8.58v-.914a2 2 0 0 1 2-2h3.796a2 2 0 0 1 2 2v.914zm1.62-6.053a2.277 2.277 0 1 1 4.555 0 2.277 2.277 0 0 1-4.554 0z"/></svg>
|
||||
|
After Width: | Height: | Size: 297 B |
1
mini/assets/icons/x.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="7.623" height="7.623" viewBox="0 0 7.623 7.623"><path fill="none" stroke="#000" stroke-linecap="round" stroke-miterlimit="10" stroke-width=".5" d="m.25.25 7.123 7.123m-7.123 0L7.373.25"/></svg>
|
||||
|
After Width: | Height: | Size: 240 B |
1
mini/assets/images/placement/background.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="64.338" height="41.66" viewBox="0 0 64.338 41.66"><g stroke-miterlimit="10"><path fill="#faeccb" d="M.283 41.35V.37h63.783v40.98z"/><path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".5" d="M32.194 29.421h-4.238c-3.81 0-17.322-3.704-23.964-3.704-2.272 0-3.74.146-3.74.146V5.05H15.83V.257h16.339"/><path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".5" d="M32.168.257h16.34V5.05h15.576v20.813s-1.467-.146-3.74-.146c-6.641 0-20.154 3.704-23.964 3.704h-4.237"/><path fill="#fff" stroke="#000" stroke-width=".5" d="M25.76 24.947a1.5 1.5 0 0 1-1.5-1.5v-4.189a1.5 1.5 0 0 1 1.5-1.5h12.685a1.5 1.5 0 0 1 1.5 1.5v4.19a1.5 1.5 0 0 1-1.5 1.5z"/><path fill="#d86161" stroke="#000" stroke-width=".5" d="M17.109 23.66a1.237 1.237 0 0 1-1.238-1.238v-2.138c0-.684.554-1.238 1.238-1.238h2.138c.683 0 1.237.554 1.237 1.238v2.138c0 .683-.554 1.237-1.237 1.237z"/><path fill="none" stroke="#000" stroke-width=".5" d="M21.965 19.827a.69.69 0 1 1 1.38 0 .69.69 0 0 1-1.38 0zm0 3.052a.69.69 0 1 1 1.38 0 .69.69 0 0 1-1.38 0z"/><path fill="#ffcd48" stroke="#000" stroke-width=".5" d="M21.965 19.827a.69.69 0 1 1 1.38 0 .69.69 0 0 1-1.38 0zm0 3.052a.69.69 0 1 1 1.38 0 .69.69 0 0 1-1.38 0zm19.108-3.052a.69.69 0 1 1 1.38 0 .69.69 0 0 1-1.38 0zm0 3.052a.69.69 0 1 1 1.38 0 .69.69 0 0 1-1.38 0z"/><path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".5" d="M32.194 33.125h-4.238c-3.81 0-17.322-3.704-23.964-3.704-2.272 0-3.74.145-3.74.145v-5.01"/><path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".5" d="M64.084 24.549v5.01s-1.467-.146-3.74-.146c-6.641 0-20.154 3.704-23.964 3.704h-4.237"/><path fill="#bc2d2d" stroke="#000" stroke-width=".5" d="M18.127 30.68a.426.426 0 0 1-.328-.506l.257-1.207a.426.426 0 0 1 .505-.328l6.07 1.29c.23.05.377.275.328.505l-.256 1.207a.426.426 0 0 1-.505.328zm20.496 1.436a.426.426 0 0 1-.505-.329l-.256-1.206a.426.426 0 0 1 .328-.505l6.07-1.29a.426.426 0 0 1 .505.328l.257 1.207a.426.426 0 0 1-.328.505z"/><path fill="#fff" stroke="#000" stroke-width=".5" d="M47.58 19.551c-.463-.47-.52-1.165-.126-1.553l1.23-1.214c.394-.388 1.089-.321 1.552.149l1.45 1.47c.463.47.52 1.165.126 1.553L50.58 21.17c-.394.388-1.088.322-1.552-.148zM4.134 17.685a.597.597 0 0 1-.844 0l-2.165-2.166a.597.597 0 0 1 0-.843L9.839 5.96a.597.597 0 0 1 .844 0l2.165 2.165a.597.597 0 0 1 0 .844z"/><path fill="#bc2d2d" stroke="#000" stroke-width=".5" d="M6.082 21.666a.5.5 0 0 1-.708 0L3.61 19.902a.5.5 0 0 1 0-.707l1.764-1.765a.5.5 0 0 1 .708 0l1.764 1.765a.5.5 0 0 1 0 .707zm2.97-2.97a.5.5 0 0 1-.707 0L6.58 16.93a.5.5 0 0 1 0-.707l1.765-1.765a.5.5 0 0 1 .707 0l1.765 1.765a.5.5 0 0 1 0 .707zm2.97-2.971a.5.5 0 0 1-.707 0l-1.764-1.764a.5.5 0 0 1 0-.707l1.764-1.765a.5.5 0 0 1 .707 0l1.765 1.765a.5.5 0 0 1 0 .707z"/><path fill="#fff" stroke="#000" stroke-width=".5" d="M51.567 9.007a.597.597 0 0 1 0-.844l2.165-2.165a.597.597 0 0 1 .844 0l8.714 8.714a.597.597 0 0 1 0 .844l-2.165 2.165a.597.597 0 0 1-.844 0z"/><path fill="#bc2d2d" stroke="#000" stroke-width=".5" d="M14.993 12.755a.5.5 0 0 1-.707 0L12.52 10.99a.5.5 0 0 1 0-.707l1.765-1.764a.5.5 0 0 1 .707 0l1.764 1.764a.5.5 0 0 1 0 .707zm36.011 1.085a.5.5 0 0 1-.707 0l-1.765-1.764a.5.5 0 0 1 0-.707l1.765-1.764a.5.5 0 0 1 .707 0l1.765 1.764a.5.5 0 0 1 0 .707zm6.758 6.684a.5.5 0 0 1-.707 0L55.29 18.76a.5.5 0 0 1 0-.707l1.765-1.765a.5.5 0 0 1 .707 0l1.764 1.765a.5.5 0 0 1 0 .707zm-3.615-2.456a.64.64 0 0 1-.904 0l-2.255-2.255a.64.64 0 0 1 0-.903l2.255-2.255c.25-.25.654-.25.904 0l2.255 2.255c.25.25.25.654 0 .903z"/><path fill="#fff" stroke="#000" stroke-width=".5" d="M20.507 4.86a.5.5 0 0 1-.5-.5V.29L44.233.252V4.36a.5.5 0 0 1-.5.5z"/><path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".5" d="M32.856 41.41H.25V29.428"/><path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".5" d="M64.071 29.417v11.982H31.465"/><path stroke="#000" stroke-width=".5" d="M.253 5.033V.25h15.602v4.783zm48.232.007V.256h15.603V5.04z"/><path fill="#ffcd48" stroke="#d8ca2d" stroke-width=".5" d="M19.16 26.924a.277.277 0 1 1 .553 0 .277.277 0 0 1-.553 0zm.955.272a.277.277 0 1 1 .553 0 .277.277 0 0 1-.553 0zm-.698-1.182a.277.277 0 1 1 .554 0 .277.277 0 0 1-.554 0zm.983.271a.277.277 0 1 1 .554 0 .277.277 0 0 1-.553 0zm23.224 1.245a.277.277 0 1 1 0-.554.277.277 0 0 1 0 .553zm-.954.27a.277.277 0 1 1 0-.553.277.277 0 0 1 0 .554zm.697-1.181a.277.277 0 1 1 0-.554.277.277 0 0 1 0 .554zm-.984.271a.277.277 0 1 1 0-.554.277.277 0 0 1 0 .554z"/><path fill="#ffcd48" stroke="#000" stroke-width=".5" d="M4.487 14.548a.69.69 0 1 1 1.38 0 .69.69 0 0 1-1.38 0zM9.008 10a.69.69 0 1 1 1.38 0 .69.69 0 0 1-1.38 0z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 4.6 KiB |
1
mini/assets/images/placement/entrance.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="64.327" height="41.52" viewBox="0 0 64.327 41.52"><g stroke="#000" stroke-miterlimit="10"><path fill="#b38969" stroke-width=".25" d="M.97 36.476a2.413 2.413 0 1 1 4.825 0 2.413 2.413 0 0 1-4.826 0z"/><path fill="#b38969" stroke-width=".25" d="M.97 31.65a2.413 2.413 0 1 1 4.825 0 2.413 2.413 0 0 1-4.826 0z"/><path fill="none" stroke-width=".25" d="M1.53 36.618a.17.17 0 0 1-.173-.172v-.224c0-.095.077-.172.172-.172h3.706c.095 0 .172.077.172.172v.224a.17.17 0 0 1-.172.172z"/><path fill="none" stroke-width=".25" d="M5.351 36.734c0 .734-.881 1.328-1.969 1.328-1.087 0-1.969-.594-1.969-1.328 0-.043.01-.128.01-.128l3.92.003s.008.083.008.125z"/><path fill="none" stroke-linecap="round" stroke-width=".25" d="m2.086 36.665 1.238 1.379m-.568-1.379 1.181 1.315m-.511-1.315 1.036 1.154m.448-.249-.814-.905m1.14.523-.47-.523M2.525 37.9l-1.109-1.235"/><path fill="none" stroke-width=".25" d="M1.53 31.792a.17.17 0 0 1-.173-.171v-.224c0-.095.077-.172.172-.172h3.706c.095 0 .172.077.172.172v.224a.17.17 0 0 1-.172.171z"/><path fill="none" stroke-width=".25" d="M5.351 31.908c0 .734-.881 1.329-1.969 1.329-1.087 0-1.969-.595-1.969-1.329 0-.043.01-.127.01-.127l3.92.002s.008.083.008.125z"/><path fill="none" stroke-linecap="round" stroke-width=".25" d="m2.086 31.84 1.238 1.378m-.568-1.378 1.181 1.314m-.511-1.314 1.036 1.153m.448-.248-.814-.905m1.14.522-.47-.522m-2.241 1.234L1.416 31.84"/><path fill="#cede59" stroke-width=".25" d="M5.795 31.65a2.413 2.413 0 1 1 4.826 0 2.413 2.413 0 0 1-4.826 0z"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width=".25" d="M8.593 29.977s-.116.282.038.544c.166.282.574.563.739.949.06.141.16.573.054.907-.023.074-.124.406-.388.61s-.691.281-.866.276a1.5 1.5 0 0 1-.739-.256 1.2 1.2 0 0 1-.409-.546c-.103-.315-.074-.713.042-1.071.155-.477.43-.878.43-.878s.011.163.073.339c.081.232.213.343.25.402.03.046.103-.565.324-.858.208-.276.452-.418.452-.418"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width=".25" d="M8.517 32.153a.55.55 0 0 1 .192.388c0 .201-.164.49-.504.486-.323-.005-.494-.314-.486-.495a1 1 0 0 1 .214-.526c.148-.18.32-.272.32-.272a1 1 0 0 0 .264.42"/><path fill="#cede59" stroke-width=".25" d="M5.795 36.476a2.413 2.413 0 1 1 4.826 0 2.413 2.413 0 0 1-4.826 0z"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width=".25" d="M8.593 34.803s-.116.281.038.544c.166.282.574.563.739.948.06.142.16.574.054.908-.023.074-.124.405-.388.61s-.691.28-.866.276a1.5 1.5 0 0 1-.739-.257 1.2 1.2 0 0 1-.409-.546c-.103-.314-.074-.713.042-1.07.155-.477.43-.878.43-.878s.011.162.073.339c.081.232.213.343.25.402.03.046.103-.566.324-.858.208-.276.452-.418.452-.418"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width=".25" d="M8.517 36.979a.55.55 0 0 1 .192.388c0 .2-.164.49-.504.485-.323-.004-.494-.314-.486-.495a1 1 0 0 1 .214-.525c.148-.18.32-.272.32-.272a1 1 0 0 0 .264.419"/><path fill="none" stroke-width=".25" d="M.97 31.65a2.413 2.413 0 1 1 4.825 0 2.413 2.413 0 0 1-4.826 0z"/><path fill="none" stroke-width=".25" d="M.97 36.476a2.413 2.413 0 1 1 4.825 0 2.413 2.413 0 0 1-4.826 0z"/><path fill="#5997de" stroke-width=".25" d="M10.62 31.65a2.413 2.413 0 1 1 4.826 0 2.413 2.413 0 0 1-4.825 0z"/><path fill="none" stroke-linejoin="round" stroke-width=".25" d="M11.196 31.87h3.675s-.823 1.28-1.837 1.28-1.838-1.28-1.838-1.28z"/><path fill="none" stroke-width=".25" d="M11.854 31.33a1.18 1.18 0 0 1 2.359 0c0 .185-.119.516-.119.516l-2.108.027s-.132-.347-.132-.543z"/><path fill="#5997de" stroke-width=".25" d="M10.62 36.476a2.413 2.413 0 1 1 4.826 0 2.413 2.413 0 0 1-4.825 0z"/><path fill="none" stroke-linejoin="round" stroke-width=".25" d="M11.196 36.695h3.675s-.823 1.28-1.837 1.28-1.838-1.28-1.838-1.28z"/><path fill="none" stroke-width=".25" d="M11.854 36.156a1.18 1.18 0 0 1 2.359 0c0 .185-.119.516-.119.516l-2.108.027s-.132-.347-.132-.543z"/><path fill="none" stroke-width=".5" d="M.25 41.27V.25h63.827v41.02z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
1
mini/assets/images/placement/entrance_incense.svg
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
1
mini/assets/images/placement/kneel.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="64.327" height="41.52" viewBox="0 0 64.327 41.52"><g stroke="#000" stroke-miterlimit="10"><path fill="#b38969" stroke-width=".25" d="M33.184 36.008a2.413 2.413 0 1 1 4.825 0 2.413 2.413 0 0 1-4.825 0z"/><path fill="none" stroke-width=".25" d="M33.743 36.15a.17.17 0 0 1-.171-.172v-.224c0-.095.077-.172.171-.172h3.707c.094 0 .171.077.171.172v.224a.17.17 0 0 1-.171.171z"/><path fill="none" stroke-width=".25" d="M37.565 36.266c0 .733-.881 1.328-1.968 1.328-1.088 0-1.97-.595-1.97-1.328 0-.044.01-.128.01-.128l3.92.002s.008.083.008.126z"/><path fill="none" stroke-linecap="round" stroke-width=".25" d="m34.3 36.197 1.239 1.378m-.569-1.378 1.181 1.314m-.511-1.314 1.037 1.153m.447-.248-.813-.905m1.139.523-.47-.523m-2.24 1.235-1.11-1.235"/><path fill="#b38969" stroke-width=".25" d="M23.864 35.69a2.413 2.413 0 1 1 4.826 0 2.413 2.413 0 0 1-4.826 0z"/><path fill="none" stroke-width=".25" d="M24.424 35.832a.17.17 0 0 1-.172-.171v-.225c0-.094.077-.171.172-.171h3.706c.095 0 .172.077.172.171v.225a.17.17 0 0 1-.172.171z"/><path fill="none" stroke-width=".25" d="M28.246 35.948c0 .734-.882 1.329-1.97 1.329-1.087 0-1.968-.595-1.968-1.329 0-.043.009-.127.009-.127l3.92.002s.009.083.009.125z"/><path fill="none" stroke-linecap="round" stroke-width=".25" d="m24.98 35.88 1.239 1.378m-.569-1.378 1.182 1.314m-.512-1.314 1.037 1.153m.447-.248-.813-.905m1.139.522-.469-.522m-2.241 1.234-1.11-1.234"/><path fill="#cede59" stroke-width=".25" d="M38.01 35.222a2.413 2.413 0 1 1 4.825 0 2.413 2.413 0 0 1-4.826 0z"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width=".25" d="M40.808 33.549s-.117.281.037.543c.166.283.574.563.739.949.06.142.16.573.054.908-.023.074-.123.405-.388.61-.263.204-.69.28-.866.276a1.5 1.5 0 0 1-.738-.257 1.2 1.2 0 0 1-.41-.546c-.102-.314-.074-.713.042-1.07.155-.477.43-.878.43-.878s.012.162.073.338c.082.233.213.344.25.402.03.047.103-.565.324-.857.208-.276.453-.418.453-.418"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width=".25" d="M40.731 35.725a.55.55 0 0 1 .192.388c0 .2-.164.49-.504.485-.322-.005-.494-.314-.485-.495a1 1 0 0 1 .213-.526c.148-.18.32-.271.32-.271a1 1 0 0 0 .264.419"/><path fill="#cede59" stroke-width=".25" d="M19.038 34.69a2.413 2.413 0 1 1 4.826 0 2.413 2.413 0 0 1-4.826 0z"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width=".25" d="M21.837 33.017s-.117.282.037.544c.166.282.574.563.739.948.06.142.16.574.054.908-.023.074-.123.406-.388.61-.263.204-.69.281-.866.276a1.5 1.5 0 0 1-.738-.256 1.2 1.2 0 0 1-.41-.547c-.102-.314-.074-.712.042-1.07.155-.477.43-.878.43-.878s.012.163.073.339c.082.232.213.343.25.402.03.046.103-.565.324-.858.208-.276.453-.418.453-.418"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width=".25" d="M21.76 35.193a.55.55 0 0 1 .192.388c0 .201-.164.49-.504.486-.322-.005-.494-.315-.485-.495a1 1 0 0 1 .213-.526c.148-.18.32-.272.32-.272a1 1 0 0 0 .264.42"/><path fill="none" stroke-width=".25" d="M33.184 36.008a2.413 2.413 0 1 1 4.825 0 2.413 2.413 0 0 1-4.825 0zm-9.32-.318a2.413 2.413 0 1 1 4.826 0 2.413 2.413 0 0 1-4.826 0z"/><path fill="#5997de" stroke-width=".25" d="M14.213 33.508a2.413 2.413 0 1 1 4.825 0 2.413 2.413 0 0 1-4.825 0z"/><path fill="none" stroke-linejoin="round" stroke-width=".25" d="M14.788 33.726h3.675s-.823 1.281-1.837 1.281-1.838-1.28-1.838-1.28z"/><path fill="none" stroke-width=".25" d="M15.446 33.187a1.18 1.18 0 0 1 2.359 0c0 .185-.119.516-.119.516l-2.108.027s-.132-.347-.132-.543z"/><path fill="#5997de" stroke-width=".25" d="M42.835 33.72a2.413 2.413 0 1 1 4.826 0 2.413 2.413 0 0 1-4.826 0z"/><path fill="none" stroke-linejoin="round" stroke-width=".25" d="M43.41 33.939h3.675s-.823 1.28-1.837 1.28-1.837-1.28-1.837-1.28z"/><path fill="none" stroke-width=".25" d="M44.069 33.4a1.18 1.18 0 0 1 2.358 0c0 .185-.118.515-.118.515l-2.108.027s-.132-.347-.132-.542z"/><path fill="none" stroke-width=".5" d="M.25 41.27V.25h63.827v41.02z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
1
mini/assets/images/placement/kneel_incense.svg
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
1
mini/assets/images/placement/sit.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="64.327" height="41.52" viewBox="0 0 64.327 41.52"><g stroke="#000" stroke-miterlimit="10"><path fill="#b38969" stroke-width=".25" d="M55.12 18.47a2.413 2.413 0 1 1 4.825 0 2.413 2.413 0 0 1-4.825 0z"/><path fill="none" stroke-width=".25" d="M55.68 18.612a.17.17 0 0 1-.172-.172v-.224c0-.095.077-.172.172-.172h3.706c.095 0 .171.077.171.172v.224a.17.17 0 0 1-.171.172z"/><path fill="none" stroke-width=".25" d="M59.502 18.728c0 .734-.882 1.328-1.97 1.328-1.087 0-1.968-.594-1.968-1.328 0-.043.009-.128.009-.128l3.92.003s.009.083.009.125z"/><path fill="none" stroke-linecap="round" stroke-width=".25" d="m56.237 18.66 1.238 1.378m-.568-1.378 1.18 1.314m.526-.162-1.036-1.153m1.483.906-.813-.906m1.139.523-.47-.523m-2.24 1.235-1.11-1.235"/><path fill="#b38969" stroke-width=".25" d="M47.605 11.386a2.413 2.413 0 1 1 4.825 0 2.413 2.413 0 0 1-4.825 0z"/><path fill="none" stroke-width=".25" d="M48.164 11.528a.17.17 0 0 1-.171-.172v-.224c0-.095.076-.172.171-.172h3.707c.094 0 .171.077.171.172v.224a.17.17 0 0 1-.171.172z"/><path fill="none" stroke-width=".25" d="M51.986 11.644c0 .733-.881 1.328-1.969 1.328-1.087 0-1.968-.595-1.968-1.328 0-.043.008-.128.008-.128l3.92.002s.01.084.01.126z"/><path fill="none" stroke-linecap="round" stroke-width=".25" d="m49.96 12.953-1.239-1.378m.67 0 1.181 1.315m.525-.162-1.035-1.153m1.483.905-.813-.905m1.138.522-.468-.522M49.16 12.81l-1.109-1.235"/><path fill="#cede59" stroke-width=".25" d="M13.31 9.902a2.413 2.413 0 1 1 4.826 0 2.413 2.413 0 0 1-4.826 0z"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width=".25" d="M16.109 8.23s-.117.28.037.543c.166.282.574.563.739.948.06.142.16.574.054.908-.023.074-.124.406-.388.61s-.691.281-.866.276a1.5 1.5 0 0 1-.739-.256 1.2 1.2 0 0 1-.409-.547c-.103-.314-.074-.712.042-1.07.155-.477.43-.878.43-.878s.011.163.073.339c.082.232.213.343.25.402.03.046.103-.565.324-.858.208-.276.453-.418.453-.418"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width=".25" d="M16.032 10.405a.55.55 0 0 1 .192.388c0 .2-.164.49-.504.485-.322-.004-.494-.314-.486-.494a1 1 0 0 1 .214-.526c.148-.18.32-.272.32-.272a1 1 0 0 0 .264.42"/><path fill="#cede59" stroke-width=".25" d="M2.629 20.198a2.413 2.413 0 1 1 4.825 0 2.413 2.413 0 0 1-4.825 0z"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width=".25" d="M5.427 18.525s-.117.281.037.543c.166.283.575.563.74.949.06.142.159.573.053.908-.023.074-.123.405-.388.61-.263.204-.69.28-.866.276a1.5 1.5 0 0 1-.738-.257 1.2 1.2 0 0 1-.41-.546c-.102-.314-.074-.713.043-1.07.154-.477.43-.878.43-.878s.01.162.073.338c.081.233.212.344.25.402.029.047.103-.565.323-.857.209-.276.453-.418.453-.418"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width=".25" d="M5.35 20.7a.55.55 0 0 1 .192.389c0 .2-.164.49-.504.485-.322-.005-.494-.314-.485-.495a1 1 0 0 1 .214-.526c.147-.18.32-.271.32-.271a1 1 0 0 0 .264.419"/><path fill="none" stroke-width=".25" d="M55.12 18.47a2.413 2.413 0 1 1 4.825 0 2.413 2.413 0 0 1-4.825 0zm-7.515-7.084a2.413 2.413 0 1 1 4.825 0 2.413 2.413 0 0 1-4.825 0z"/><path fill="#5997de" stroke-width=".25" d="M6.089 16.79a2.413 2.413 0 1 1 4.825 0 2.413 2.413 0 0 1-4.825 0z"/><path fill="none" stroke-linejoin="round" stroke-width=".25" d="M6.664 17.008h3.675s-.823 1.28-1.838 1.28c-1.014 0-1.837-1.28-1.837-1.28z"/><path fill="none" stroke-width=".25" d="M7.322 16.47a1.18 1.18 0 0 1 2.359 0c0 .184-.119.515-.119.515l-2.108.027s-.132-.347-.132-.543z"/><path fill="#5997de" stroke-width=".25" d="M9.688 13.238a2.413 2.413 0 1 1 4.826 0 2.413 2.413 0 0 1-4.826 0z"/><path fill="none" stroke-linejoin="round" stroke-width=".25" d="M10.264 13.457h3.674s-.822 1.28-1.837 1.28-1.837-1.28-1.837-1.28z"/><path fill="none" stroke-width=".25" d="M10.922 12.918a1.18 1.18 0 0 1 2.358 0c0 .185-.118.516-.118.516l-2.108.027s-.132-.347-.132-.543z"/><path fill="none" stroke-width=".5" d="M.25 41.27V.25h63.827v41.02z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
1
mini/assets/images/placement/sit_incense.svg
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
1
mini/assets/images/tasks/basket.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12.295" height="6.36" viewBox="0 0 12.295 6.36"><g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".5"><path d="M.75 1.903a.5.5 0 0 1-.5-.5V.75a.5.5 0 0 1 .5-.5h10.795a.5.5 0 0 1 .5.5v.653a.5.5 0 0 1-.5.5z"/><path d="M11.882 2.24c0 2.138-2.568 3.87-5.735 3.87S.413 4.378.413 2.24c0-.125.026-.371.026-.371l11.418.007s.025.242.025.365z"/><path stroke-linecap="round" d="M5.978 6.055 2.372 2.041M7.763 5.87 4.324 2.04M9.293 5.4 6.276 2.04m4.32 2.638L8.227 2.041m3.319 1.521L10.179 2.04M3.651 5.637.421 2.041"/></g></svg>
|
||||
|
After Width: | Height: | Size: 579 B |
1
mini/assets/images/tasks/bread-wine.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="8.88" height="7.339" viewBox="0 0 8.88 7.339"><g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".5"><path stroke-linejoin="round" d="M.25 4.169h8.38s-1.876 2.92-4.19 2.92S.25 4.17.25 4.17z"/><path d="M1.75 2.94a2.69 2.69 0 0 1 5.38 0c0 .421-.27 1.175-.27 1.175l-4.808.062S1.75 3.386 1.75 2.94z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 369 B |
1
mini/assets/images/tasks/candle.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="8.235" height="10.812" viewBox="0 0 8.235 10.812"><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width=".5"><path d="M5.38.25s-.768.445-1.42 1.311c-.693.919-.926 2.837-1.017 2.692-.117-.183-.529-.533-.784-1.261-.194-.554-.228-1.063-.228-1.063S1.065 3.188.58 4.683C.215 5.806.126 7.056.449 8.043.586 8.46 1 9.206 1.732 9.757c.32.241 1.327.778 2.318.805.55.015 1.891-.226 2.718-.866.83-.642 1.144-1.683 1.217-1.914.332-1.05.02-2.404-.17-2.85-.516-1.21-1.798-2.09-2.318-2.976C5.013 1.133 5.38.25 5.38.25"/><path d="M4.311 5.764s-.54.287-1.004.852c-.419.511-.642 1.17-.67 1.65-.027.568.511 1.539 1.523 1.553 1.066.015 1.583-.893 1.581-1.523-.02-.375-.146-.785-.601-1.217a3.13 3.13 0 0 1-.829-1.315"/></g></svg>
|
||||
|
After Width: | Height: | Size: 812 B |
1
mini/assets/images/tasks/incense.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="5.89" height="8.112" viewBox="0 0 5.89 8.112"><g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".5"><path d="M5.454 3.707c0 1.37-1.123 2.482-2.509 2.482S.435 5.078.435 3.707c0-1.37 1.124-2.481 2.51-2.481s2.51 1.11 2.51 2.481z"/><path d="M1.867 1.43V.75a.5.5 0 0 1 .5-.5h1.156a.5.5 0 0 1 .5.5v.662c0 .046-.545-.263-1.023-.257-.589.008-1.133.321-1.133.275zM5.64 7.862c0 .23-5.39.077-5.39 0 0-.627.831-1.154 1.965-1.316.232-.033.496-.33.749-.33.29 0 .55.303.812.346 1.082.177 1.864.692 1.864 1.3z"/><path stroke-linecap="round" d="M.547 3.707h4.796"/></g></svg>
|
||||
|
After Width: | Height: | Size: 621 B |
11
mini/data/knowledge/Ambo.html
Normal file
@@ -0,0 +1,11 @@
|
||||
<p>
|
||||
Der <a href="https://de.wikipedia.org/wiki/Ambo" title="Ambo auf Wikipedia">Ambo</a> ist das feststehende, leicht
|
||||
erhöhte Lesepult in der Kirche.
|
||||
</p>
|
||||
<p>
|
||||
An dem Ambo findet das Lektorat statt, dies sind die Lesungen aus der Bibel und die
|
||||
Fürbitten.
|
||||
</p>
|
||||
<p>
|
||||
In unserer Gemeinde ist der Ambo (vom Pfarrer aus gesehen) rechts neben dem Altar platziert.
|
||||
</p>
|
||||
4
mini/data/knowledge/Kollekte.html
Normal file
@@ -0,0 +1,4 @@
|
||||
<p>Die <a href="https://de.wikipedia.org/wiki/Kollekte" title="Kollekte auf Wikipedia">Kollekte</a> ist eine
|
||||
Geldsammlung während oder am Ende eines Gottesdienstes.</p>
|
||||
<p>Sie dient dazu, Geld für kirchliche, soziale oder wohltätige Zwecke zu sammeln.</p>
|
||||
<p>Der Begriff kommt aus dem Lateinischen und bedeutet "sammeln".</p>
|
||||
7
mini/data/knowledge/Liturgische_Farben.html
Normal file
@@ -0,0 +1,7 @@
|
||||
<p>Die Farben der Gewänder folgen dem Kirchenjahr:</p>
|
||||
<ul>
|
||||
<li><strong>Grün</strong> – Zeit im Jahreskreis</li>
|
||||
<li><strong>Lila</strong> – Fastenzeit und Advent</li>
|
||||
<li><strong>Rot</strong> – Feste des Heiligen Geistes und der Märtyrer</li>
|
||||
<li><strong>Weiß/Gold</strong> – Hochfeste wie Weihnachten und Ostern</li>
|
||||
</ul>
|
||||
13
mini/data/knowledge/Praefation.html
Normal file
@@ -0,0 +1,13 @@
|
||||
<p>Der Pfarrer wendet sich zur Gemeinde:</p>
|
||||
<div class="dialog-box">
|
||||
<p><span class="dialog-speaker">Pfarrer:</span> Der Herr sei mit euch.<br>
|
||||
<span class="dialog-speaker">Gemeinde:</span> Und mit deinem Geist.
|
||||
</p>
|
||||
<p><span class="dialog-speaker">Pfarrer:</span> Erhebet die Herzen.<br>
|
||||
<span class="dialog-speaker">Gemeinde:</span> Wir haben sie beim Herrn.
|
||||
</p>
|
||||
<p><span class="dialog-speaker">Pfarrer:</span> Lasset uns danken dem Herrn, unserm Gott.<br>
|
||||
<span class="dialog-speaker">Gemeinde:</span> Das ist würdig und recht.
|
||||
</p>
|
||||
</div>
|
||||
<p>„In Wahrheit ist es würdig und recht, dir, Herr, heiliger Vater, immer und überall zu danken…“</p>
|
||||
22
mini/data/knowledge/knowledge.json
Normal file
@@ -0,0 +1,22 @@
|
||||
[
|
||||
{
|
||||
"title": "Liturgische Farben",
|
||||
"category": "Tradition",
|
||||
"file": "Liturgische_Farben.html"
|
||||
},
|
||||
{
|
||||
"title": "Ambo",
|
||||
"category": "Gegenstand",
|
||||
"file": "Ambo.html"
|
||||
},
|
||||
{
|
||||
"title": "Kollekte",
|
||||
"category": "Tradition",
|
||||
"file": "Kollekte.html"
|
||||
},
|
||||
{
|
||||
"title": "Präfation (Dialog)",
|
||||
"category": "Ablauf",
|
||||
"file": "Praefation.html"
|
||||
}
|
||||
]
|
||||
30
mini/data/placements.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"standard": [
|
||||
{
|
||||
"label": "Einzug",
|
||||
"image": "assets/images/placement/entrance.svg"
|
||||
},
|
||||
{
|
||||
"label": "Hinknien",
|
||||
"image": "assets/images/placement/kneel.svg"
|
||||
},
|
||||
{
|
||||
"label": "Hinsetzen",
|
||||
"image": "assets/images/placement/sit.svg"
|
||||
}
|
||||
],
|
||||
"withWeihrauch": [
|
||||
{
|
||||
"label": "Einzug (mit Weihrauch)",
|
||||
"image": "assets/images/placement/entrance_incense.svg"
|
||||
},
|
||||
{
|
||||
"label": "Hinknien (mit Weihrauch)",
|
||||
"image": "assets/images/placement/kneel_incense.svg"
|
||||
},
|
||||
{
|
||||
"label": "Hinsetzen (mit Weihrauch)",
|
||||
"image": "assets/images/placement/sit_incense.svg"
|
||||
}
|
||||
]
|
||||
}
|
||||
13
mini/data/prayers/Vater_unser.html
Normal file
@@ -0,0 +1,13 @@
|
||||
<p>Vater unser im Himmel,<br>
|
||||
geheiligt werde dein Name.<br>
|
||||
Dein Reich komme.<br>
|
||||
Dein Wille geschehe,<br>
|
||||
wie im Himmel so auf Erden.<br>
|
||||
Unser tägliches Brot gib uns heute.<br>
|
||||
Und vergib uns unsere Schuld,<br>
|
||||
wie auch wir vergeben unsern Schuldigern.<br>
|
||||
Und führe uns nicht in Versuchung,<br>
|
||||
sondern erlöse uns von dem Bösen.<br>
|
||||
Denn dein ist das Reich und die Kraft<br>
|
||||
und die Herrlichkeit in Ewigkeit.<br>
|
||||
Amen.</p>
|
||||
6
mini/data/prayers/prayers.json
Normal file
@@ -0,0 +1,6 @@
|
||||
[
|
||||
{
|
||||
"title": "Vater unser",
|
||||
"file": "Vater_unser.html"
|
||||
}
|
||||
]
|
||||
9
mini/data/sequence/00-Vorbereitung.html
Normal file
@@ -0,0 +1,9 @@
|
||||
Bespricht kurz, wer welche Aufgabe übernimmt.<br><br>
|
||||
Sollten nur 4 Minis anwesend sein, entfällt der Weihrauchdienst, die beiden Minis, die sich um die Kerze kümmern,
|
||||
übernehmen dann zusätzlich die Körbe.<br>
|
||||
Der Kollekte-Dienst ist nicht immer vorgesehen, fragt daher sicherheitshalber beim Pfarrer nach, falls ihr unsicher
|
||||
seid.
|
||||
<br><br>
|
||||
Stellt euch nun vor dem Kreuz in der Sakristei auf (so wie ihr später auch beim Einzug gehen werdet).<br>
|
||||
Der Pfarrer sagt: "Unsere Hilfe ist im Namen des Herrn."<br>
|
||||
Ihr antwortet: "Der Himmel und Erde erschaffen hat." und macht dabei das Kreuzzeichen.
|
||||
6
mini/data/sequence/01-Einzug.html
Normal file
@@ -0,0 +1,6 @@
|
||||
Die Minis, die für die Gabenbereitung zuständig sind, bleiben beim Einzug kurz neben der Glocke bei der Tür stehen.<br>
|
||||
Stoßt die Glocke so an, dass sie etwa zweimal läutet.<br><br>
|
||||
|
||||
Danach geht ihr zu euren Knieplätzen auf der Stufe vor dem Altar.<br>
|
||||
Sobald der Pfarrer ein Zeichen gibt (Handzeichen o. Ä.), macht ihr gemeinsam eine kurze Kniebeuge,<br>
|
||||
geht dann hoch auf eure Sitzplätze und setzt euch möglichst synchron hin.
|
||||
1
mini/data/sequence/02-Eroeffnung.html
Normal file
@@ -0,0 +1 @@
|
||||
EMPTY
|
||||
31
mini/data/sequence/sequence.json
Normal file
@@ -0,0 +1,31 @@
|
||||
[
|
||||
{
|
||||
"title": "Vorbereitung",
|
||||
"categories": [
|
||||
"gabenbereitung",
|
||||
"kerze",
|
||||
"koerbchen",
|
||||
"weihrauch"
|
||||
],
|
||||
"file": "00-Vorbereitung.html"
|
||||
},
|
||||
{
|
||||
"title": "Einzug",
|
||||
"categories": [
|
||||
"allgemein",
|
||||
"gabenbereitung",
|
||||
"kerze",
|
||||
"koerbchen",
|
||||
"weihrauch"
|
||||
],
|
||||
"file": "01-Einzug.html"
|
||||
},
|
||||
{
|
||||
"title": "Eröffnung",
|
||||
"categories": [
|
||||
"kerze",
|
||||
"weihrauch"
|
||||
],
|
||||
"file": "02-Eroeffnung.html"
|
||||
}
|
||||
]
|
||||
72
mini/data/tasks.json
Normal file
@@ -0,0 +1,72 @@
|
||||
{
|
||||
"gabenbereitung": {
|
||||
"icon": "assets/images/tasks/bread-wine.svg",
|
||||
"title": "Gabenbereitung",
|
||||
"description": "Vorbereitung der Gaben für die Eucharistie und Handwaschung des Priesters",
|
||||
"steps": [
|
||||
{
|
||||
"title": "Vorbereitung",
|
||||
"steps": [
|
||||
"Sobald der Pfarrer euch ein Zeichen gibt, geht ihr gemeinsam zum Gabentisch.",
|
||||
"Ein Mini nimmt Kelch und Schale, der andere übernimmt Wasser und Wein.",
|
||||
"Achtet darauf, dass die Henkel der Gläser zum Pfarrer zeigen, so kann er sie leichter greifen.",
|
||||
"Macht ein leichtes Kopfnicken, dreht euch zueinander und geht zurück zum Gabentisch.",
|
||||
"Dort nimmt einer die Karaffe mit Wasser und das Auffangschälchen, der andere das Handtuch.",
|
||||
"Ihr geht wieder zum Pfarrer und wascht ihm die Hände (in der Regel genügen ein paar Tropfen Wasser).",
|
||||
"Legt Handtuch und Karaffe zurück auf den Tisch, ihr könnt nun mit den anderen Ministranten zur Stufe gehen und euch dort gemeinsam hinknien."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Klingeln",
|
||||
"steps": [
|
||||
"Nach der Wandlung läutet ihr mit der Schelle.",
|
||||
"Einmal, wenn der Pfarrer die Hostie hochhebt, und einmal, wenn er den Kelch hochhebt.",
|
||||
"Zuerst läutet der Mini, der rechts neben dem Altar kniet, dann der links neben dem Altar.",
|
||||
"Jedes Läuten sollte etwa 2–3 Sekunden dauern."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Abtragen",
|
||||
"steps": [
|
||||
"Nach dem Kommunionganges geht ihr zurück zum Gabentisch.",
|
||||
"Nehmt das kleine Wasserschälchen und geht damit zum Pfarrer.",
|
||||
"Er reicht euch den Kelch, und ihr könnt das restliche Wasser darin ausleeren.",
|
||||
"Der Pfarrer trinkt das Wasser, reinigt Kelch und Schale mit einem Tuch und gibt sie euch zurück.",
|
||||
"Stellt die Gefäße wieder auf den Gabentisch und kehrt auf eure Plätze zurück."
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"kerze": {
|
||||
"icon": "assets/images/tasks/candle.svg",
|
||||
"title": "Kerze",
|
||||
"description": "Die Kerze für das Evangelium tragen",
|
||||
"steps": [
|
||||
"Hinter euren Sitzplätzen stehen zwei kleinere Kerzen, nicht zu verwechseln mit den großen Kerzen weiter hinten.",
|
||||
"Normalerweise sind sie bereits entzündet. Falls nicht, gebt der Mesnerin kurz ein Zeichen.",
|
||||
"Nehmt die Kerzen und stellt euch hinter den Pfarrer. Folgt ihm mit etwa einem Schritt Abstand.",
|
||||
"Geht vorsichtig mit den Kerzen um, heißes Wachs kann tropfen (Achtet auf die Kleidung!).",
|
||||
"Während der Pfarrer am Ambo das Evangelium liest, stellt ihr euch gut sichtbar hinter ihn.",
|
||||
"Macht das Kreuzzeichen mit, sobald der Pfarrer es auf seiner Stirn macht (dazu müsst ihr die Kerze kurz mit einer Hand halten).",
|
||||
"Danach bleibt ihr still stehen, bis der Pfarrer fertig ist oder euch ein Zeichen zum Gehen gibt.",
|
||||
"Dann geht ihr gemeinsam zurück und stellt die Kerzen ab.",
|
||||
"WICHTIG: Falls es keinen separaten Kollekte-Dienst gibt, übernehmt ihr zusätzlich während der Gabenbereitung das Sammeln der Spenden mit den Körben."
|
||||
]
|
||||
},
|
||||
"kollekte": {
|
||||
"icon": "assets/images/tasks/basket.svg",
|
||||
"title": "Kollekte",
|
||||
"description": "Die Körbe für die Kollekte austeilen und wieder einsammeln",
|
||||
"steps": [
|
||||
"Sobald die Gabenbereitung beginnt, nehmt ihr die Körbe. Sie liegen entweder hinter euch oder auf der anderen Seite bei den anderen Mini-Plätzen.",
|
||||
"Gemeinsam geht ihr nach vorne zum Altar, macht dort eine Kniebeuge und dreht euch dann zu den Bänken um.",
|
||||
"Der Mini mit den drei Körben schaut am besten schon vorher, ob oben in der Kirche auch Leute sitzen.",
|
||||
"Danach gebt ihr links und rechts jeweils ein Korb her, einmal zu Beginn und einmal nach dem ersten Durchgang.",
|
||||
"Die Person mit dem zusätzlichen Korb geht dann noch nach oben (falls dort jemand steht. Besser einmal zu viel hochgehen, als jemanden zu vergessen).",
|
||||
"Die andere Person wartet hinten in der Kirche, bis sie die Körbe von oben zurückbekommt.",
|
||||
"Anschließend geht ihr nach vorne und sammelt die gefüllten Körbe ein.",
|
||||
"Legt sie dann hinter der Altarstufe auf den Boden und kniet euch auf eure Plätze.",
|
||||
"Dort wartet ihr, bis die anderen Minis mit der Gabenbereitung fertig sind und ebenfalls zu euch nach unten kommen."
|
||||
]
|
||||
}
|
||||
}
|
||||
100
mini/index.html
Normal file
@@ -0,0 +1,100 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
|
||||
<title>Ministranten Guide</title>
|
||||
<link rel="stylesheet" href="style.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<header class="top-bar">
|
||||
<div class="brand">
|
||||
<div class="header-icon">
|
||||
<img src="assets/icons/church.svg" alt="Ministranten Guide Icon">
|
||||
</div>
|
||||
<div>
|
||||
<div class="header-title">Ministranten-Guide</div>
|
||||
<div class="header-subtitle"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<nav class="desktop-nav">
|
||||
<a href="#" class="tab-btn active" data-file="pages/today.html">Heute</a>
|
||||
<a href="#" class="tab-btn" data-file="pages/sequence.html">Ablauf</a>
|
||||
<a href="#" class="tab-btn" data-file="pages/knowledge.html">Wissen</a>
|
||||
</nav>
|
||||
|
||||
<button class="settings-btn" id="settingsBtn" aria-label="Einstellungen">
|
||||
<img src="assets/icons/settings.svg" alt="Einstellungen">
|
||||
</button>
|
||||
</header>
|
||||
|
||||
<main class="content" id="content-container">
|
||||
</main>
|
||||
|
||||
<nav class="bottom-nav">
|
||||
<a href="#" class="bottom-tab active" data-file="pages/today.html">
|
||||
<img src="assets/icons/sun.svg" alt="Heute Icon">
|
||||
<span>Heute</span>
|
||||
</a>
|
||||
<a href="#" class="bottom-tab" data-file="pages/sequence.html">
|
||||
<img src="assets/icons/list.svg" alt="Ablauf Icon">
|
||||
<span>Ablauf</span>
|
||||
</a>
|
||||
<a href="#" class="bottom-tab" data-file="pages/knowledge.html">
|
||||
<img src="assets/icons/book.svg" alt="Wissen Icon">
|
||||
<span>Wissen</span>
|
||||
</a>
|
||||
</nav>
|
||||
|
||||
<div class="modal-overlay" id="settingsModal">
|
||||
<div class="modal-content settings-modal">
|
||||
<div class="modal-top-row">
|
||||
<div class="modal-icon">
|
||||
<img src="assets/icons/settings.svg" alt="Einstellungen Icon">
|
||||
</div>
|
||||
<button class="modal-close" id="closeSettingsBtn" aria-label="Schließen">
|
||||
<img src="assets/icons/x.svg" alt="Schließen">
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<h2 class="modal-title">Einstellungen</h2>
|
||||
|
||||
<div class="setting-item">
|
||||
<div class="setting-label">
|
||||
<span>Dark Mode</span>
|
||||
</div>
|
||||
<label class="switch">
|
||||
<input type="checkbox" id="darkModeToggle">
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<hr class="settings-divider">
|
||||
|
||||
<div class="settings-info">
|
||||
<p><strong>Ministranten-Guide</strong> v0.1.0-beta</p>
|
||||
<p>Entwickelt von <strong></strong></p>
|
||||
<p>
|
||||
<a href="https://github.com/dein-repo/ministranten-guide" target="_blank" rel="noopener">
|
||||
GitHub Repository
|
||||
</a>
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://github.com/dein-repo/ministranten-guide/issues/new" target="_blank" rel="noopener">
|
||||
Problem melden (Issue)
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="module" src="js/main.js"></script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
102
mini/js/main.js
Normal file
@@ -0,0 +1,102 @@
|
||||
import { initTodayPage } from './modules/today.js';
|
||||
import { initSequencePage } from './modules/sequence.js';
|
||||
import { initKnowledgePage } from './modules/knowledge.js';
|
||||
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
const container = document.getElementById("content-container");
|
||||
const triggers = document.querySelectorAll("[data-file]");
|
||||
const settingsBtn = document.getElementById('settingsBtn');
|
||||
const settingsModal = document.getElementById('settingsModal');
|
||||
const closeSettingsBtn = document.getElementById('closeSettingsBtn');
|
||||
const darkModeToggle = document.getElementById('darkModeToggle');
|
||||
|
||||
settingsBtn.addEventListener('click', () => {
|
||||
settingsModal.classList.add('active');
|
||||
});
|
||||
|
||||
closeSettingsBtn.addEventListener('click', () => {
|
||||
settingsModal.classList.remove('active');
|
||||
});
|
||||
|
||||
settingsModal.addEventListener('click', (e) => {
|
||||
if (e.target === settingsModal) {
|
||||
settingsModal.classList.remove('active');
|
||||
}
|
||||
});
|
||||
|
||||
document.addEventListener('keydown', (e) => {
|
||||
if (e.key === 'Escape' && settingsModal.classList.contains('active')) {
|
||||
settingsModal.classList.remove('active');
|
||||
}
|
||||
});
|
||||
|
||||
const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
|
||||
const systemPrefersDark = mediaQuery.matches;
|
||||
|
||||
const storedDarkMode = localStorage.getItem('darkMode');
|
||||
|
||||
let isDark;
|
||||
if (storedDarkMode !== null) {
|
||||
isDark = storedDarkMode === 'true';
|
||||
} else {
|
||||
isDark = systemPrefersDark;
|
||||
}
|
||||
|
||||
function applyDarkMode(enable) {
|
||||
document.body.classList.toggle('dark-mode', enable);
|
||||
if (darkModeToggle) {
|
||||
darkModeToggle.checked = enable;
|
||||
}
|
||||
}
|
||||
|
||||
applyDarkMode(isDark);
|
||||
|
||||
darkModeToggle.addEventListener('change', () => {
|
||||
const isDarkNow = darkModeToggle.checked;
|
||||
applyDarkMode(isDarkNow);
|
||||
localStorage.setItem('darkMode', isDarkNow);
|
||||
});
|
||||
|
||||
function handleSystemChange(e) {
|
||||
if (localStorage.getItem('darkMode') === null) {
|
||||
applyDarkMode(e.matches);
|
||||
}
|
||||
}
|
||||
|
||||
if (mediaQuery.addEventListener) {
|
||||
mediaQuery.addEventListener('change', handleSystemChange);
|
||||
} else {
|
||||
mediaQuery.addListener(handleSystemChange);
|
||||
}
|
||||
|
||||
|
||||
async function loadPage(file) {
|
||||
try {
|
||||
const response = await fetch(file);
|
||||
if (!response.ok) throw new Error("Error loading page: " + response.statusText);
|
||||
|
||||
container.innerHTML = await response.text();
|
||||
|
||||
triggers.forEach(item => {
|
||||
item.classList.toggle("active", item.getAttribute("data-file") === file);
|
||||
});
|
||||
|
||||
if (file.includes("today")) initTodayPage();
|
||||
if (file.includes("sequence")) initSequencePage();
|
||||
if (file.includes("knowledge")) initKnowledgePage();
|
||||
|
||||
} catch (error) {
|
||||
container.innerHTML = "<p>Error loading content.</p>";
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
|
||||
loadPage("pages/today.html");
|
||||
|
||||
triggers.forEach(trigger => {
|
||||
trigger.addEventListener("click", (e) => {
|
||||
e.preventDefault();
|
||||
loadPage(trigger.getAttribute("data-file"));
|
||||
});
|
||||
});
|
||||
});
|
||||
95
mini/js/modules/knowledge.js
Normal file
@@ -0,0 +1,95 @@
|
||||
export async function initKnowledgePage() {
|
||||
const wissenList = document.getElementById('wissen-list');
|
||||
const gebeteList = document.getElementById('gebete-list');
|
||||
|
||||
if (wissenList) {
|
||||
try {
|
||||
const knowledgeResponse = await fetch('data/knowledge/knowledge.json');
|
||||
const knowledgeItems = await knowledgeResponse.json();
|
||||
renderKnowledgeList(wissenList, knowledgeItems);
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Laden der Wissens-Übersicht:', error);
|
||||
}
|
||||
}
|
||||
|
||||
if (gebeteList) {
|
||||
try {
|
||||
const gebeteResponse = await fetch('data/prayers/prayers.json');
|
||||
const gebeteItems = await gebeteResponse.json();
|
||||
renderGebeteList(gebeteList, gebeteItems);
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Laden der Gebete:', error);
|
||||
}
|
||||
}
|
||||
|
||||
const tabs = document.querySelectorAll('.wissen-tab');
|
||||
const panelGebete = document.getElementById('panel-gebete');
|
||||
const panelWissen = document.getElementById('panel-wissen');
|
||||
|
||||
tabs.forEach(tab => {
|
||||
tab.addEventListener('click', () => {
|
||||
tabs.forEach(t => t.classList.remove('active'));
|
||||
tab.classList.add('active');
|
||||
|
||||
const target = tab.dataset.tab;
|
||||
if (panelGebete) panelGebete.classList.toggle('active', target === 'gebete');
|
||||
if (panelWissen) panelWissen.classList.toggle('active', target === 'wissen');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function createAccordionItem(title, filename, basePath) {
|
||||
const element = document.createElement('div');
|
||||
element.className = 'wissen-item';
|
||||
|
||||
element.innerHTML = `
|
||||
<button class="wissen-header">
|
||||
<span class="wissen-title">${title}</span>
|
||||
<img src="assets/icons/arrow_down.svg" alt="Pfeil nach unten" class="wissen-arrow">
|
||||
</button>
|
||||
<div class="wissen-content">
|
||||
<p class="loading">Loading...</p>
|
||||
</div>
|
||||
`;
|
||||
|
||||
const header = element.querySelector('.wissen-header');
|
||||
const contentDiv = element.querySelector('.wissen-content');
|
||||
let isLoaded = false;
|
||||
|
||||
header.addEventListener('click', async () => {
|
||||
element.classList.toggle('active');
|
||||
|
||||
if (element.classList.contains('active') && !isLoaded) {
|
||||
try {
|
||||
const contentResponse = await fetch(`${basePath}/${filename}`);
|
||||
if (!contentResponse.ok) throw new Error('Failed to load file');
|
||||
|
||||
const htmlContent = await contentResponse.text();
|
||||
contentDiv.innerHTML = htmlContent;
|
||||
isLoaded = true;
|
||||
} catch (err) {
|
||||
contentDiv.innerHTML = '<p>Failed to load content.</p>';
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return element;
|
||||
}
|
||||
|
||||
function renderKnowledgeList(container, items) {
|
||||
container.innerHTML = '';
|
||||
items.forEach(item => {
|
||||
const title = item.titel || item.title;
|
||||
const element = createAccordionItem(title, item.file, 'data/knowledge');
|
||||
container.appendChild(element);
|
||||
});
|
||||
}
|
||||
|
||||
function renderGebeteList(container, items) {
|
||||
container.innerHTML = '';
|
||||
items.forEach(item => {
|
||||
const title = item.title || item.titel;
|
||||
const element = createAccordionItem(title, item.file, 'data/prayers');
|
||||
container.appendChild(element);
|
||||
});
|
||||
}
|
||||
120
mini/js/modules/sequence.js
Normal file
@@ -0,0 +1,120 @@
|
||||
export async function initSequencePage() {
|
||||
|
||||
const listContainer = document.getElementById('sequence-list') || document.getElementById('ablauf-list');
|
||||
const filterChips = document.querySelectorAll('.filter-chip');
|
||||
|
||||
if (!listContainer) {
|
||||
console.warn('Sequence container not found.');
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await fetch('data/sequence/sequence.json');
|
||||
if (!response.ok) throw new Error('Sequence data could not be loaded.');
|
||||
|
||||
const sequenceSteps = await response.json();
|
||||
|
||||
renderSequenceList(listContainer, sequenceSteps);
|
||||
setupFilterLogic(filterChips);
|
||||
|
||||
} catch (error) {
|
||||
console.error('Error loading sequence:', error);
|
||||
listContainer.innerHTML = '<p>Sequence could not be loaded.</p>';
|
||||
}
|
||||
}
|
||||
|
||||
function renderSequenceList(container, steps) {
|
||||
container.innerHTML = '';
|
||||
|
||||
steps.forEach(step => {
|
||||
const item = document.createElement('div');
|
||||
item.className = 'ablauf-item';
|
||||
item.dataset.categories = step.categories.join(',');
|
||||
|
||||
item.innerHTML = `
|
||||
<button class="sequence-header">
|
||||
<span class="sequence-title">${step.title}</span>
|
||||
<i data-lucide="chevron-down" class="ablauf-arrow"></i>
|
||||
</button>
|
||||
<div class="sequence-content">
|
||||
<p class="loading">Loading...</p>
|
||||
</div>
|
||||
`;
|
||||
|
||||
const header = item.querySelector('.sequence-header');
|
||||
const contentDiv = item.querySelector('.sequence-content');
|
||||
let isLoaded = false;
|
||||
|
||||
header.addEventListener('click', async () => {
|
||||
item.classList.toggle('active');
|
||||
|
||||
if (item.classList.contains('active') && !isLoaded) {
|
||||
try {
|
||||
const contentResponse = await fetch(`data/sequence/${step.file}`);
|
||||
if (!contentResponse.ok) throw new Error('Content not found.');
|
||||
|
||||
const htmlContent = await contentResponse.text();
|
||||
contentDiv.innerHTML = htmlContent;
|
||||
isLoaded = true;
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
contentDiv.innerHTML = '<p>Content could not be loaded.</p>';
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
container.appendChild(item);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function setupFilterLogic(filterChips) {
|
||||
if (!filterChips || filterChips.length === 0) return;
|
||||
|
||||
let activeFilters = new Set(['alle']);
|
||||
|
||||
function applyFilters() {
|
||||
document.querySelectorAll('.ablauf-item').forEach(item => {
|
||||
const categories = item.dataset.categories ? item.dataset.categories.split(',') : [];
|
||||
|
||||
const isVisible = activeFilters.has('alle') ||
|
||||
categories.some(cat => activeFilters.has(cat));
|
||||
|
||||
item.style.display = isVisible ? '' : 'none';
|
||||
});
|
||||
}
|
||||
|
||||
filterChips.forEach(chip => {
|
||||
chip.addEventListener('click', () => {
|
||||
const filter = chip.dataset.filter;
|
||||
|
||||
if (filter === 'alle') {
|
||||
activeFilters = new Set(['alle']);
|
||||
filterChips.forEach(c => c.classList.remove('active'));
|
||||
chip.classList.add('active');
|
||||
} else {
|
||||
if (activeFilters.has('alle')) {
|
||||
activeFilters.delete('alle');
|
||||
document.querySelector('.filter-chip[data-filter="alle"]')?.classList.remove('active');
|
||||
}
|
||||
|
||||
if (activeFilters.has(filter)) {
|
||||
activeFilters.delete(filter);
|
||||
chip.classList.remove('active');
|
||||
} else {
|
||||
activeFilters.add(filter);
|
||||
chip.classList.add('active');
|
||||
}
|
||||
|
||||
if (activeFilters.size === 0) {
|
||||
activeFilters.add('alle');
|
||||
document.querySelector('.filter-chip[data-filter="alle"]')?.classList.add('active');
|
||||
}
|
||||
}
|
||||
|
||||
applyFilters();
|
||||
});
|
||||
});
|
||||
|
||||
applyFilters();
|
||||
}
|
||||
227
mini/js/modules/today.js
Normal file
@@ -0,0 +1,227 @@
|
||||
export async function initTodayPage() {
|
||||
|
||||
const today = new Date();
|
||||
document.getElementById('weekday').textContent = today.toLocaleDateString('de-DE', { weekday: 'long' });
|
||||
document.getElementById('date').textContent = today.toLocaleDateString('de-DE', { day: '2-digit', month: 'long', year: 'numeric' });
|
||||
|
||||
const miniColor = getMiniColor(today);
|
||||
const miniAmount = getMiniAmount(today);
|
||||
|
||||
document.getElementById('summary-color').textContent = miniColor;
|
||||
document.getElementById('summary-count').textContent = miniAmount;
|
||||
|
||||
const modal = document.getElementById('task-modal');
|
||||
if (!modal) return;
|
||||
|
||||
try {
|
||||
const [tasksResponse, placementsResponse] = await Promise.all([
|
||||
fetch('data/tasks.json'),
|
||||
fetch('data/placements.json')
|
||||
]);
|
||||
|
||||
const taskData = await tasksResponse.json();
|
||||
const placementData = await placementsResponse.json();
|
||||
|
||||
setupTaskModal(modal, taskData);
|
||||
setupPlacementViewer(placementData);
|
||||
} catch (error) {
|
||||
console.error('Error while loading data:', error);
|
||||
}
|
||||
}
|
||||
|
||||
function setupTaskModal(modal, taskData) {
|
||||
const modalIcon = document.getElementById('modal-icon');
|
||||
const modalTitle = document.getElementById('modal-title');
|
||||
const modalDescription = document.getElementById('modal-description');
|
||||
const modalSteps = document.getElementById('modal-steps');
|
||||
const closeBtn = modal.querySelector('.modal-close');
|
||||
const segContainer = document.getElementById('task-segmented-control');
|
||||
|
||||
document.querySelectorAll('.task-card').forEach(card => {
|
||||
card.addEventListener('click', () => {
|
||||
const data = taskData[card.dataset.task];
|
||||
if (!data) return;
|
||||
|
||||
modalIcon.src = data.icon;
|
||||
modalTitle.textContent = data.title;
|
||||
|
||||
if (data.description) {
|
||||
modalDescription.textContent = data.description;
|
||||
modalDescription.style.display = '';
|
||||
} else {
|
||||
modalDescription.style.display = 'none';
|
||||
}
|
||||
|
||||
const steps = data.steps;
|
||||
let sections = [];
|
||||
let isFlat = false;
|
||||
|
||||
if (Array.isArray(steps) && steps.length > 0) {
|
||||
if (typeof steps[0] === 'object' && steps[0].steps && Array.isArray(steps[0].steps)) {
|
||||
sections = steps;
|
||||
} else {
|
||||
sections = [{ title: null, steps: steps }];
|
||||
isFlat = true;
|
||||
}
|
||||
} else {
|
||||
sections = [{ title: null, steps: [] }];
|
||||
isFlat = true;
|
||||
}
|
||||
|
||||
const renderSteps = (stepsArray) => {
|
||||
modalSteps.innerHTML = stepsArray.map(step => `<li>${step}</li>`).join('');
|
||||
};
|
||||
|
||||
if (sections.length > 1 && !isFlat) {
|
||||
segContainer.style.display = 'flex';
|
||||
segContainer.innerHTML = '';
|
||||
|
||||
sections.forEach((section, index) => {
|
||||
const btn = document.createElement('button');
|
||||
btn.className = 'segmented-btn' + (index === 0 ? ' active' : '');
|
||||
btn.textContent = section.title;
|
||||
btn.dataset.index = index;
|
||||
btn.addEventListener('click', () => {
|
||||
segContainer.querySelectorAll('.segmented-btn').forEach(b => b.classList.remove('active'));
|
||||
btn.classList.add('active');
|
||||
renderSteps(sections[index].steps);
|
||||
});
|
||||
segContainer.appendChild(btn);
|
||||
});
|
||||
|
||||
renderSteps(sections[0].steps);
|
||||
} else {
|
||||
segContainer.style.display = 'none';
|
||||
if (sections.length === 1) {
|
||||
renderSteps(sections[0].steps);
|
||||
} else {
|
||||
renderSteps(steps); // Fallback
|
||||
}
|
||||
}
|
||||
|
||||
modal.classList.add('active');
|
||||
});
|
||||
});
|
||||
|
||||
// Schließen
|
||||
closeBtn?.addEventListener('click', () => modal.classList.remove('active'));
|
||||
modal.addEventListener('click', (e) => {
|
||||
if (e.target === modal) modal.classList.remove('active');
|
||||
});
|
||||
}
|
||||
function setupPlacementViewer(placementData) {
|
||||
let currentIndex = 0;
|
||||
let showIncense = false;
|
||||
|
||||
const placementImage = document.getElementById('placement-image');
|
||||
const placementLabel = document.getElementById('placement-label');
|
||||
const prevBtn = document.getElementById('placement-prev');
|
||||
const nextBtn = document.getElementById('placement-next');
|
||||
const weihrauchToggle = document.getElementById('incense-toggle');
|
||||
const koerbchenLegend = document.getElementById('basket-toggle');
|
||||
const weihrauchLegend = document.getElementById('incense-legend');
|
||||
const kerzeLabel = document.getElementById('kerze-label');
|
||||
|
||||
function updatePlacement() {
|
||||
const dataset = showIncense ? placementData.withWeihrauch : placementData.standard;
|
||||
const currentItem = dataset[currentIndex];
|
||||
|
||||
if (!currentItem) return;
|
||||
|
||||
placementImage.src = currentItem.image;
|
||||
placementLabel.textContent = currentItem.label;
|
||||
kerzeLabel.textContent = showIncense ? 'Kerze & Kollekte' : 'Kerze';
|
||||
|
||||
const isEntranceWithIncense = showIncense && currentIndex === 0;
|
||||
koerbchenLegend.style.display = isEntranceWithIncense ? 'none' : '';
|
||||
weihrauchLegend.style.display = isEntranceWithIncense ? '' : 'none';
|
||||
}
|
||||
|
||||
prevBtn?.addEventListener('click', () => {
|
||||
currentIndex = (currentIndex - 1 + 3) % 3;
|
||||
updatePlacement();
|
||||
});
|
||||
|
||||
nextBtn?.addEventListener('click', () => {
|
||||
currentIndex = (currentIndex + 1) % 3;
|
||||
updatePlacement();
|
||||
});
|
||||
|
||||
weihrauchToggle?.addEventListener('click', () => {
|
||||
showIncense = !showIncense;
|
||||
weihrauchToggle.classList.toggle('active', showIncense);
|
||||
updatePlacement();
|
||||
});
|
||||
|
||||
updatePlacement();
|
||||
}
|
||||
|
||||
function getOstern(jahr) {
|
||||
const a = jahr % 19;
|
||||
const b = jahr % 4;
|
||||
const c = jahr % 7;
|
||||
const k = Math.floor(jahr / 100);
|
||||
const p = Math.floor((13 + 8 * k) / 25);
|
||||
const q = Math.floor(k / 4);
|
||||
const M = (15 - p + k - q) % 30;
|
||||
const N = (4 + k - q) % 7;
|
||||
const d = (19 * a + M) % 30;
|
||||
const e = (2 * b + 4 * c + 6 * d + N) % 7;
|
||||
const days = 22 + d + e;
|
||||
|
||||
if (days <= 31) {
|
||||
return new Date(jahr, 2, days);
|
||||
} else {
|
||||
return new Date(jahr, 3, days - 31);
|
||||
}
|
||||
}
|
||||
|
||||
function tageDifferenz(datum1, datum2) {
|
||||
const day = 24 * 60 * 60 * 1000;
|
||||
return Math.round((datum1 - datum2) / day);
|
||||
}
|
||||
|
||||
function getMiniColor(targetDate) {
|
||||
const year = targetDate.getFullYear();
|
||||
const easter = getOstern(year);
|
||||
const diffToEaster = tageDifferenz(targetDate, easter);
|
||||
|
||||
const month = targetDate.getMonth();
|
||||
const day = targetDate.getDate();
|
||||
const wochentag = targetDate.getDay();
|
||||
|
||||
if ((month === 11 && day >= 24) || (month === 0 && day <= 10)) {
|
||||
return "GRÜN";
|
||||
}
|
||||
|
||||
if (diffToEaster >= -46 && diffToEaster <= -1) {
|
||||
if (diffToEaster === -7 || diffToEaster === -2) {
|
||||
return "ROT";
|
||||
}
|
||||
return "LILA";
|
||||
}
|
||||
|
||||
if (diffToEaster >= 0 && diffToEaster <= 50) {
|
||||
if (diffToEaster === 50) {
|
||||
return "ROT";
|
||||
}
|
||||
return "GRÜN";
|
||||
}
|
||||
|
||||
let holyEvening = new Date(year, 11, 24);
|
||||
let fourthAdvent = new Date(year, 11, 24 - holyEvening.getDay());
|
||||
let firstAdvent = new Date(fourthAdvent);
|
||||
firstAdvent.setDate(fourthAdvent.getDate() - 21);
|
||||
|
||||
if (targetDate >= firstAdvent && targetDate < holyEvening) {
|
||||
return "LILA";
|
||||
}
|
||||
|
||||
return "GRÜN";
|
||||
}
|
||||
|
||||
function getMiniAmount(targetDate) {
|
||||
const amount = (targetDate.getDay() === 0 || targetDate.getDay() === 6) ? 6 : 4;
|
||||
|
||||
return amount;
|
||||
}
|
||||
13
mini/pages/knowledge.html
Normal file
@@ -0,0 +1,13 @@
|
||||
<section class="wissen-page">
|
||||
<div class="wissen-tabs">
|
||||
<button class="wissen-tab active" data-tab="gebete">Gebete</button>
|
||||
<button class="wissen-tab" data-tab="wissen">Wissen & Traditionen</button>
|
||||
</div>
|
||||
<div class="wissen-panel active" id="panel-gebete">
|
||||
<div class="wissen-list" id="gebete-list"></div>
|
||||
</div>
|
||||
|
||||
<div class="wissen-panel" id="panel-wissen">
|
||||
<div class="wissen-list" id="wissen-list"></div>
|
||||
</div>
|
||||
</section>
|
||||
20
mini/pages/sequence.html
Normal file
@@ -0,0 +1,20 @@
|
||||
<section class="ablauf-page">
|
||||
<div class="filter-bar">
|
||||
<span class="filter-label">Aufgaben:</span>
|
||||
<div class="filter-chips">
|
||||
<button class="filter-chip active" data-filter="alle">Alle</button>
|
||||
<button class="filter-chip" data-filter="allgemein">Allgemein</button>
|
||||
<button class="filter-chip" data-filter="gabenbereitung">Gabenbereitung</button>
|
||||
<button class="filter-chip" data-filter="kerze">Kerze</button>
|
||||
<button class="filter-chip" data-filter="koerbchen">Kollekte</button>
|
||||
<button class="filter-chip" data-filter="weihrauch">Weihrauch</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sequence-list" id="sequence-list"></div>
|
||||
|
||||
<div class="ablauf-download-bar">
|
||||
<a href="pdf/ablauf-uebersicht.pdf" download class="btn-download btn-download-large">
|
||||
<img src="assets/icons/download.svg" alt="Download Icon"> Gesamten Ablauf als PDF herunterladen
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
161
mini/pages/today.html
Normal file
@@ -0,0 +1,161 @@
|
||||
<section class="today-dashboard">
|
||||
<article class="card today-summary-card">
|
||||
<div class="summary-date">
|
||||
<span id="weekday">Sonntag</span>
|
||||
<span id="date">15. August 2026</span>
|
||||
</div>
|
||||
<div class="summary-details">
|
||||
<div class="summary-item">
|
||||
<img src="assets/icons/shirt.svg" alt="Shirt Icon">
|
||||
<div>
|
||||
<strong>Gewand</strong>
|
||||
<span id="summary-color">Grün</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="summary-item">
|
||||
<img src="assets/icons/users.svg" alt="Users Icon">
|
||||
<div>
|
||||
<strong>Ministranten</strong>
|
||||
<span id="summary-count">4</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
<article class="card liturgical-card">
|
||||
<div class="liturgical-title-row">
|
||||
<h3>Gewand</h3>
|
||||
</div>
|
||||
<p class="card-hint">
|
||||
Die Gewandfarbe richtet sich nach dem Kirchenjahr. Ihr übernehmt einfach die Farbe, die auch der Pfarrer
|
||||
trägt.<br>
|
||||
<small>(Bei Weiß oder Gold zieht ihr stattdessen Grün an.)</small>
|
||||
</p>
|
||||
<div class="info-stack">
|
||||
<div class="info-line">
|
||||
<div class="info-line-icon info-line-icon-green">
|
||||
<img src="assets/icons/shirt.svg" alt="Shirt Icon">
|
||||
</div>
|
||||
<div>
|
||||
<strong>Grünes Gewand</strong>
|
||||
<span>An Tagen im Jahreskreis</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-line">
|
||||
<div class="info-line-icon info-line-icon-lilac">
|
||||
<img src="assets/icons/shirt.svg" alt="Shirt Icon">
|
||||
</div>
|
||||
<div>
|
||||
<strong>Lilanes Gewand</strong>
|
||||
<span>An Tagen der Buße und Fastenzeit</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-line">
|
||||
<div class="info-line-icon info-line-icon-red">
|
||||
<img src="assets/icons/shirt.svg" alt="Shirt Icon">
|
||||
</div>
|
||||
<div>
|
||||
<strong>Rotes Gewand</strong>
|
||||
<span>An Festtagen des Heiligen Geistes und der Märtyrer</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article class="card placement-card">
|
||||
<div class="placement-header">
|
||||
<h3>Sitzordnung</h3>
|
||||
<button class="placement-toggle" id="incense-toggle">
|
||||
<img src="assets/images/tasks/incense.svg" alt="Weihrauch Icon" class="task-icon"> Weihrauch
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="placement-stage">
|
||||
<img id="placement-background" src="assets/images/placement/background.svg" alt="Platzierung Altar">
|
||||
<img id="placement-image" src="assets/images/placement/entrance.svg" alt="Platzierung Einzug">
|
||||
</div>
|
||||
|
||||
<div class="placement-controls">
|
||||
<button id="placement-prev"><img src="assets/icons/arrow_left.svg" alt="Pfeil Links Icon"></button>
|
||||
<span id="placement-label">Einzug</span>
|
||||
<button id="placement-next"><img src="assets/icons/arrow_right.svg" alt="Pfeil Rechts Icon"></button>
|
||||
</div>
|
||||
|
||||
<div class="placement-legend">
|
||||
<div class="legend-item"><img src="assets/images/tasks/bread-wine.svg" alt="Gabenbereitung Icon"
|
||||
class="task-icon"> Gabenbereitung</div>
|
||||
<div class="legend-item"><img src="assets/images/tasks/candle.svg" alt="Kerze Icon" class="task-icon">
|
||||
<p id="kerze-label">Kerze</p>
|
||||
</div>
|
||||
<div class="legend-item" id="basket-toggle"><img src="assets/images/tasks/basket.svg" alt="Kollekte Icon"
|
||||
class="task-icon">
|
||||
Kollekte</div>
|
||||
<div class="legend-item" id="incense-legend"><img src="assets/images/tasks/incense.svg" alt="Weihrauch Icon"
|
||||
class="task-icon"> Weihrauch</div>
|
||||
</div>
|
||||
</article>
|
||||
<div class="card pdf-download-card">
|
||||
<div class="pdf-download-content">
|
||||
<img src="assets/icons/file.svg" alt="File Icon">
|
||||
<div>
|
||||
<strong>Kurzübersicht</strong>
|
||||
<span>Gewand, Platzierungen & Aufgaben als PDF</span>
|
||||
</div>
|
||||
</div>
|
||||
<a href="pdf/heute-kurzuebersicht.pdf" download class="btn-download">
|
||||
<img src="assets/icons/download.svg" alt="Download Icon"> PDF herunterladen
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="tasks-section">
|
||||
<h2>Deine Aufgaben</h2>
|
||||
<div class="tasks-grid">
|
||||
<button class="task-card" data-task="gabenbereitung">
|
||||
<image src="assets/images/tasks/bread-wine.svg" alt="Gabenbereitung Icon">
|
||||
<span class="task-name">Gabenbereitung</span>
|
||||
<span class="task-arrow"><img src="assets/icons/arrow_right.svg" alt="Pfeil Icon"></span>
|
||||
</button>
|
||||
<button class="task-card" data-task="kerze">
|
||||
<img src="assets/images/tasks/candle.svg" alt="Kerze Icon">
|
||||
<span class="task-name">Kerze</span>
|
||||
<span class="task-arrow"><img src="assets/icons/arrow_right.svg" alt="Pfeil Icon"></span>
|
||||
</button>
|
||||
<button class="task-card" data-task="kollekte">
|
||||
<img src="assets/images/tasks/basket.svg" alt="Kollekte Icon">
|
||||
<span class="task-name">Kollekte</span>
|
||||
<span class="task-arrow"><img src="assets/icons/arrow_right.svg" alt="Pfeil Icon"></span>
|
||||
</button>
|
||||
<button class="task-card" data-task="weihrauch">
|
||||
<img src="assets/images/tasks/incense.svg" alt="Weihrauch Icon">
|
||||
<span class="task-name">Weihrauch</span>
|
||||
<span class="task-arrow"><img src="assets/icons/arrow_right.svg" alt="Pfeil Icon"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-overlay" id="task-modal">
|
||||
<div class="modal-content">
|
||||
|
||||
<div class="modal-header">
|
||||
<div class="modal-top-row">
|
||||
<div class="modal-icon">
|
||||
<img id="modal-icon" src="" alt="Aufgaben Icon">
|
||||
</div>
|
||||
<button class="modal-close" aria-label="Schließen">
|
||||
<img src="assets/icons/x.svg" alt="Schließen Icon">
|
||||
</button>
|
||||
</div>
|
||||
<h3 class="modal-title" id="modal-title">Titel</h3>
|
||||
<p class="modal-description" id="modal-description">
|
||||
Hier steht eine kurze Erklärung.
|
||||
</p>
|
||||
</div>
|
||||
<div id="task-segmented-control" class="segmented-control" style="display:none;"></div>
|
||||
<ol class="modal-steps" id="modal-steps">
|
||||
<li>Schritt 1</li>
|
||||
<li>Schritt 2</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||