1
0

newWebsite2.0

This commit is contained in:
Br0tcraft
2026-08-20 20:36:47 +02:00
parent 7020f970d8
commit 7d975feae4
100 changed files with 6774 additions and 3327 deletions

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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
View 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

View 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

View 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

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 4.9 KiB

View 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

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.0 KiB

View 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

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 4.9 KiB

View 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

View 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

View 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

View 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

View 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>

View 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>

View 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>

View 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>

View 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
View 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"
}
]
}

View 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>

View File

@@ -0,0 +1,6 @@
[
{
"title": "Vater unser",
"file": "Vater_unser.html"
}
]

View 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.

View 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.

View File

@@ -0,0 +1 @@
EMPTY

View 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
View 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 23 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
View 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
View 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"));
});
});
});

View 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
View 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
View 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
View 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
View 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
View 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>

1538
mini/style.css Normal file

File diff suppressed because it is too large Load Diff