1
0
This commit is contained in:
matt 2025-02-01 21:33:19 +01:00
parent 2cc59ff4b8
commit 894a001f4e
12 changed files with 433 additions and 11 deletions

BIN
icons/copy-clipboard.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

1
icons/copy.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M384 336l-192 0c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l140.1 0L400 115.9 400 320c0 8.8-7.2 16-16 16zM192 384l192 0c35.3 0 64-28.7 64-64l0-204.1c0-12.7-5.1-24.9-14.1-33.9L366.1 14.1c-9-9-21.2-14.1-33.9-14.1L192 0c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-32-48 0 0 32c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l32 0 0-48-32 0z"/></svg>

After

Width:  |  Height:  |  Size: 683 B

1
icons/email.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M64 112c-8.8 0-16 7.2-16 16l0 22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1l0-22.1c0-8.8-7.2-16-16-16L64 112zM48 212.2L48 384c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-171.8L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64l384 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128z"/></svg>

After

Width:  |  Height:  |  Size: 576 B

1
icons/instagram.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

1
icons/pinterest.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z"/></svg>

After

Width:  |  Height:  |  Size: 726 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 883 KiB

1
icons/telegram.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M248 8C111 8 0 119 0 256S111 504 248 504 496 393 496 256 385 8 248 8zM363 176.7c-3.7 39.2-19.9 134.4-28.1 178.3-3.5 18.6-10.3 24.8-16.9 25.4-14.4 1.3-25.3-9.5-39.3-18.7-21.8-14.3-34.2-23.2-55.3-37.2-24.5-16.1-8.6-25 5.3-39.5 3.7-3.8 67.1-61.5 68.3-66.7 .2-.7 .3-3.1-1.2-4.4s-3.6-.8-5.1-.5q-3.3 .7-104.6 69.1-14.8 10.2-26.9 9.9c-8.9-.2-25.9-5-38.6-9.1-15.5-5-27.9-7.7-26.8-16.3q.8-6.7 18.5-13.7 108.4-47.2 144.6-62.3c68.9-28.6 83.2-33.6 92.5-33.8 2.1 0 6.6 .5 9.6 2.9a10.5 10.5 0 0 1 3.5 6.7A43.8 43.8 0 0 1 363 176.7z"/></svg>

After

Width:  |  Height:  |  Size: 748 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

1
icons/whatsapp.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7 .9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -285,13 +285,20 @@
<h2>Share with:</h2>
<div class="social-icons">
<a href="#" onclick="shareViaWhatsApp()">
<img src="/icons/whatsapp-icon.png" alt="WhatsApp" />
<img src="/icons/whatsapp.svg" alt="WhatsApp" />
</a>
<a href="#" onclick="shareViaPinterest()">
<img src="/icons/pinterest.svg" />
</a>
<a href="#" onclick="shareViaTelegram()">
<img src="/icons/telegram-icon.png" alt="Telegram" />
<img src="/icons/telegram.svg" alt="Telegram" />
</a>
<a href="#" onclick="shareViaEmail()">
<img src="/icons/email-icon.png" alt="E-Mail" />
<img src="/icons/email.svg" alt="E-Mail" />
</a>
<!-- Kopieren -->
<a href="#" onclick="copyToClipboard()">
<img src="/icons/copy.svg" />
</a>
<!-- Weitere Sharing-Optionen kannst du hier hinzufügen -->
</div>
@ -325,24 +332,46 @@
// Teilen via WhatsApp
function shareViaWhatsApp() {
const text = encodeURIComponent('Schau dir dieses fantastische Spiel an! https://test.creative-crafter.de/programmieren/spiele/Flappy-Witch/');
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
const url = 'https://api.whatsapp.com/send?text=' + text;
window.open(url, '_blank');
}
// Teilen via Telegram
function shareViaTelegram() {
const text = encodeURIComponent('Schau dir dieses fantastische Spiel an! https://test.creative-crafter.de/programmieren/spiele/Flappy-Witch/');
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
const url = 'https://t.me/share/url?url=' + text;
window.open(url, '_blank');
}
function shareViaPinterest() {
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
const url = 'https://pinterest.com/pin/create/button/?url=' + text;
window.open(url, '_blank');
}
function shareViaPinterest() {
const media = encodeURIComponent('URL_ZU_DEINEM_BILD'); // Ersetze dies durch den tatsächlichen Bild-Link
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
const url = 'https://pinterest.com/pin/create/button/?url=' + text + '&media=' + media;
window.open(url, '_blank');
}
// Teilen via E-Mail
function shareViaEmail() {
const subject = encodeURIComponent('Flappy Witch');
const body = encodeURIComponent('Schau dir dieses fantastische Spiel an! https://test.creative-crafter.de/programmieren/spiele/Flappy-Witch/');
const subject = encodeURIComponent('Klick the Witch');
const body = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
window.location.href = 'mailto:?subject=' + subject + '&body=' + body;
}
function copyToClipboard() {
const text = 'Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/';
navigator.clipboard.writeText(text).then(function() {
alert('Text wurde in die Zwischenablage kopiert!');
}, function(err) {
alert('Fehler beim Kopieren in die Zwischenablage: ', err);
});
}
// Schließt das Popup bei Klick außerhalb des Inhalts
window.onclick = function(event) {

View File

@ -72,9 +72,9 @@
<a href="/programmieren/spiele/Flappy-Witch">Mehr erfahren</a>
</div>
<div class="category">
<div class="category-title">Puzzle</div>
<div class="category-description">Teste deine Logik und Problemlösungsfähigkeiten mit unseren herausfordernden Puzzlespielen.</div>
<a href="/programmieren/spiele/puzzle">Mehr erfahren</a>
<div class="category-title">Klick the Witch</div>
<div class="category-description">Klick the Witch is a mini-game. Tap evil witches for points, avoid good ones, and manage 3 lives.</div>
<a href="/programmieren/spiele/klick-the-witch">Mehr erfahren</a>
</div>
<div class="category">
<div class="category-title">Action</div>

View File

@ -0,0 +1,387 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Creative Crafter</title>
<!-- Ladeanimation -->
<script type="module" src="https://cdn.jsdelivr.net/npm/ldrs/dist/auto/quantum.js"></script>
<!-- Stylesheet -->
<style>
@font-face { font-family: "Titillium"; src: url("/Titillium-Web-Regular.ttf"); }
body, html {
font-family: 'Titillium';
height: 100%;
margin: 0;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
background-color: #e6f7ff;
}
h1, h2 { text-align: center; }
/* Ladeanimation */
.loader-container {
display: none;
justify-content: center;
align-items: center;
height: 100%;
width: 100%;
position: fixed;
top: 0;
left: 0;
background-color: rgba(173, 216, 230, 0.8);
z-index: 9999;
}
.loading .loader-container { display: flex; }
/* Button-Style */
.button-share {
--white: #fff;
cursor: pointer;
background: linear-gradient(to bottom, #6e3bff, #7e51ff);
color: #fff;
border: 1px solid #af93ff;
border-radius: 8px;
position: relative;
font-family: Arial, Helvetica, sans-serif;
text-shadow: 0 2px 0 rgba(0, 0, 0, 0.25);
box-shadow: 0 8px 10px -4px #503b89, 0 0 0 2px #562cce;
font-size: 25px;
display: inline-flex;
align-items: center;
gap: 8px;
margin-top: 20px;
}
.button {
padding: 16px 32px; /* Doppelte Größe */
border-radius: 8px;
background: linear-gradient(to bottom, #007bff, #0056b3); /* Blau */
box-shadow: 0 2px 4px rgba(0,0,0,0.7);
transition: all 0.2s;
display: flex;
align-items: center;
gap: 8px;
margin-top: 20px; /* Abstand zum oberen Inhalt */
}
.button:hover {
box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}
.button:active {
box-shadow: 0 0px 1px rgba(0,0,0,0.8);
transform: scale(0.995);
}
.button-text {
font-weight: 600;
color: white;
font-size: 1.5em; /* Textgröße anpassen */
}
.icon path.bm {
stroke-dasharray: 3;
stroke-dashoffset: 3;
stroke-width: 1px;
transform: translateX(-23px) translateY(16px) scale(2) rotate(-44deg);
}
.icon-container {
display: flex;
align-items: center;
justify-content: center;
padding: 8px 10px;
background-color: #fff;
border-radius: 50%;
box-shadow: inset 0 -2px 4px 0 #c6c6c6, 0 3px 6px rgba(0, 0, 0, 0.25);
text-align: center;
z-index: 10;
}
.icon-container .icon {
width: 25px;
height: 30px;
stroke: #592cd6;
margin-top: -2px;
z-index: 4;
/* Für das Teilen-Icon die Rotation entfernen */
}
.content {
pointer-events: none;
display: flex;
align-items: center;
justify-content: center;
z-index: 1;
position: relative;
height: 100%;
width: 100%;
padding: 4px;
gap: 16px;
border-radius: 7px;
font-weight: 600;
transition: all 0.3s ease;
}
.letters {
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
padding: 4px;
}
.letters span {
display: block;
color: transparent;
position: relative;
left: 6px;
animation: letterShow 1.2s ease backwards calc(var(--i) * 0.03s);
}
.letters span::before, .letters span::after {
content: attr(data-label);
position: absolute;
color: var(--white);
text-shadow: -1px 1px 2px var(--purple-500);
left: 0;
}
.letters span::before {
opacity: 0;
transform: translateY(-100%);
}
.button:hover .letters span::before {
animation: letterShow 0.7s ease calc(var(--i) * 0.03s);
}
.button:hover .letters span::after {
opacity: 1;
animation: letterHide 0.7s ease calc(var(--i) * 0.03s);
}
@keyframes letterShow {
0% { transform: translateY(50%); opacity: 0; filter: blur(20px); }
20% { transform: translateY(70%); opacity: 1; }
50% { transform: translateY(-15%); opacity: 1; filter: blur(0); }
100% { transform: translateY(0); opacity: 1; }
}
@keyframes letterHide {
0% { transform: translateY(0); opacity: 1; }
100% { transform: translateY(-70%); opacity: 0; filter: blur(3px); }
}
/* Modal-Stile */
.modal {
display: none;
position: fixed;
z-index: 1000;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0,0,0,0.5);
}
.modal-content {
background-color: #fefefe;
margin: 15% auto;
padding: 20px;
border: 1px solid #888;
width: 80%;
max-width: 400px;
text-align: center;
border-radius: 10px;
}
.close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
cursor: pointer;
}
.close:hover,
.close:focus {
color: black;
}
.social-icons {
display: flex;
justify-content: center;
gap: 20px;
margin-top: 20px;
}
.social-icons a img {
width: 60px;
height: 60px;
transition: transform 0.2s;
}
.social-icons a img:hover {
transform: scale(1.1);
}
</style>
</head>
<body>
<!-- Ladeanimation -->
<div class="loader-container">
<l-quantum size="90" speed="1.75" color="black"></l-quantum>
</div>
<h1><img src="/icons/Controller.png" height="150"><br/>Creative Crafter</h1>
<h1>Klick the Witch</h1>
<div align='center'>
<img src="/programmieren/spiele/klick-the-witch/logo.png" width="250">
</div>
<br/>
<div align='center'>
<!-- Spielen-Button -->
<button class="button" onclick="window.location.href=`/programmieren/spiele/klick-the-witch/witc1h.html`">
<div class="button-inner">
<span class="button-text"><img src="/icons/playbutton.png" alt="Icon" style="width:20px; height:20px; margin-right:5px;"> Play</span>
</div>
</button>
</a>
<br/><br/>
<!-- Neuer Teilen-Button -->
<button class="button-share" onclick="openSharePopup()">
<div class="icon-container">
<svg viewBox="0 0 24 24" fill="none" class="icon">
<!-- Teilen-Icon -->
<path d="M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"></path>
<polyline points="16 6 12 2 8 6"></polyline>
<line x1="12" y1="2" x2="12" y2="15"></line>
</svg>
</div>
<div class="content">
<div class="letters">
<span data-label="S" style="--i:0;">S</span>
<span data-label="h" style="--i:1;">h</span>
<span data-label="a" style="--i:2;">a</span>
<span data-label="r" style="--i:3;">r</span>
<span data-label="e" style="--i:4;">e</span>
</div>
</div>
</button>
</div>
<!-- Popup-Fenster zum Teilen -->
<div id="shareModal" class="modal">
<div class="modal-content">
<span class="close" onclick="closeSharePopup()">&times;</span>
<h2>Share with:</h2>
<div class="social-icons">
<a href="#" onclick="shareViaWhatsApp()">
<img src="/icons/whatsapp.svg" alt="WhatsApp" />
</a>
<a href="#" onclick="shareViaPinterest()">
<img src="/icons/pinterest.svg" />
</a>
<a href="#" onclick="shareViaTelegram()">
<img src="/icons/telegram.svg" alt="Telegram" />
</a>
<a href="#" onclick="shareViaEmail()">
<img src="/icons/email.svg" alt="E-Mail" />
</a>
<!-- Kopieren -->
<a href="#" onclick="copyToClipboard()">
<img src="/icons/copy.svg" />
</a>
<!-- Weitere Sharing-Optionen kannst du hier hinzufügen -->
</div>
</div>
</div>
<br/><br/><br/>
<div align='center'>
<img src="/programmieren/spiele/klick-the-witch/screenshot01.png" height="250">
<img src="/programmieren/spiele/klick-the-witch/screenshot02.png" height="250">
</div>
<!-- JavaScript für Ladeanimation und Teilen-Funktion -->
<script>
// Ladeanimation beim Laden der Seite anzeigen
document.body.classList.add('loading');
// Ladeanimation entfernen, wenn die Seite vollständig geladen ist
window.addEventListener('load', () => {
document.body.classList.remove('loading');
});
// Funktion zum Öffnen des Popup-Fensters
function openSharePopup() {
document.getElementById("shareModal").style.display = "block";
}
// Funktion zum Schließen des Popup-Fensters
function closeSharePopup() {
document.getElementById("shareModal").style.display = "none";
}
// Teilen via WhatsApp
function shareViaWhatsApp() {
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
const url = 'https://api.whatsapp.com/send?text=' + text;
window.open(url, '_blank');
}
// Teilen via Telegram
function shareViaTelegram() {
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
const url = 'https://t.me/share/url?url=' + text;
window.open(url, '_blank');
}
function shareViaPinterest() {
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
const url = 'https://pinterest.com/pin/create/button/?url=' + text;
window.open(url, '_blank');
}
function shareViaPinterest() {
const media = encodeURIComponent('URL_ZU_DEINEM_BILD'); // Ersetze dies durch den tatsächlichen Bild-Link
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
const url = 'https://pinterest.com/pin/create/button/?url=' + text + '&media=' + media;
window.open(url, '_blank');
}
// Teilen via E-Mail
function shareViaEmail() {
const subject = encodeURIComponent('Klick the Witch');
const body = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
window.location.href = 'mailto:?subject=' + subject + '&body=' + body;
}
function copyToClipboard() {
const text = 'Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/';
navigator.clipboard.writeText(text).then(function() {
alert('Text wurde in die Zwischenablage kopiert!');
}, function(err) {
alert('Fehler beim Kopieren in die Zwischenablage: ', err);
});
}
// Schließt das Popup bei Klick außerhalb des Inhalts
window.onclick = function(event) {
const modal = document.getElementById('shareModal');
if (event.target == modal) {
closeSharePopup();
}
}
</script>
</body>
</html>