1
0
This commit is contained in:
matt 2025-02-01 15:08:14 +01:00
parent 6ca4ff1a5b
commit 35449c8697

View File

@ -5,35 +5,64 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Creative Crafter</title>
<script type="module" src="https://cdn.jsdelivr.net/npm/ldrs/dist/auto/quantum.js"></script>
<link href="" rel="stylesheet">
<!-- Entferne leeren Link zum Stylesheet -->
<!-- <link href="" rel="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; }
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; }
.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; }
.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 { --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; }
.icon path.bm { stroke-dasharray: 3; stroke-dashoffset: 3; stroke-width: 1px; transform: translateX(-23px) translateY(16px) scale(2) rotate(-44deg); }
.toggle-checkbox:checked + .button .icon path.bm { animation: bump 1s ease forwards; }
.toggle-checkbox:checked + .button .icon { animation: beat 1s ease-in-out forwards; }
.letters span:nth-child(5) { margin-left: 5px; }
.letters span:nth-child(6) { margin-left: 1px; }
.button:active .content { box-shadow: inset -1px 12px 8px -5px rgba(71, 0, 137, 0.4), inset 0px -3px 8px 0px #d190ff; }
@keyframes bump { 20% { stroke-dasharray: 3; stroke-dashoffset: 3; } 30% { stroke-dasharray: 5; stroke-dashoffset: 3; } 30.1% { stroke-dasharray: 3; stroke-dashoffset: 6; } 75% { stroke-dasharray: 3; stroke-dashoffset: 3; } 100% { stroke-dasharray: 3; stroke-dashoffset: 3; } }
@keyframes beat { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); } }
.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; transform: rotate(180deg); }
.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; }
.content::before { content: ""; inset: 0; position: absolute; z-index: 10; width: 80%; top: 45%; bottom: 35%; opacity: 0.7; margin: auto; background: linear-gradient(to bottom, transparent, var(--purple-400)); filter: brightness(1.3) blur(5px); }
.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 .words { opacity: 1; }
.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); } }
.button {
--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;
}
/* Icon- und Animationsstile bleiben unverändert */
.icon path.bm { /* ... */ }
/* ... weitere vorhandene CSS-Stile ... */
/* Anpassungen für den Teilen-Button */
.button .icon-container .icon {
width: 25px;
height: 30px;
stroke: #592cd6;
margin-top: -2px;
z-index: 4;
/* Entferne die Rotation für das Teilen-Icon */
/* transform: rotate(180deg); */
}
</style>
</head>
<body>
@ -44,38 +73,71 @@
<h1><img src="/icons/Controller.png" height="150svh"><br/>Creative Crafter</h1>
<h1>Flappy Witch</h1>
<div align='center'><img src="/programmieren/spiele/Flappy-Witch/logo.png" width="250vh"></div>
<div align='center'>
<img src="/programmieren/spiele/Flappy-Witch/logo.png" width="250vh">
</div>
<br/>
<div align='center'><a href="/programmieren/spiele/Flappy-Witch/FlappyWitch.html">
<button class="button">
<div align='center'>
<!-- Spielen-Button -->
<a href="/programmieren/spiele/Flappy-Witch/FlappyWitch.html">
<img src="/icons/spielen-button.png" width="500vh">
</a>
<br/><br/>
<!-- Neuer Teilen-Button -->
<button class="button" onclick="shareText()">
<div class="icon-container">
<svg viewBox="0 0 24 24" fill="none" class="icon">
<path d="M12 2v20m10-10H2" stroke="currentColor" stroke-width="2"/>
<path class="bm" d="M3 3h18v18H3z" stroke="currentColor"/>
<!-- 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="P" style="--i:0;">P</span>
<span data-label="l" style="--i:1;">l</span>
<span data-label="a" style="--i:2;">a</span>
<span data-label="y" style="--i:3;">y</span>
<span data-label="T" style="--i:0;">T</span>
<span data-label="e" style="--i:1;">e</span>
<span data-label="i" style="--i:2;">i</span>
<span data-label="l" style="--i:3;">l</span>
<span data-label="e" style="--i:4;">e</span>
<span data-label="n" style="--i:5;">n</span>
</div>
</div>
</button>
</a>
<br/><br/>
<button class="button" onclick="navigator.clipboard.writeText('www.creative-crafter.de/programmieren/spiele/Flappy-Witch/'); alert('copied')">
<div class="icon-container">
<svg viewBox="0 0 24 24" fill="none" class="icon">
<path d="M12 2v20m10-10H2" stroke="currentColor" stroke-width="2"/>
<path class="bm" d="M3 3h18v18H3z" stroke="currentColor"/>
</svg>
</div>
<div class="content">
<div class="letters">
<span data-label="C" style="--i:0;">C</span>
<span data-label="o" style="--i:1;">o</span>
<span data-label="p" style="--i:2;">p</span>
<span data-label="y" style="--i:3;">y</span>
</[_{{{CITATION{{{_1{](https://github.com/hd-code/pandoc-docker/tree/07f83c6deeafbff1710c5f7992a97955c298ad61/example%2Fexample.md)[_{{{CITATION{{{_2{](https://github.com/AndreasHeine/opcua-sub-to-websocket/tree/b272dca8c8abf371e5e35f05ce93949bdb775723/README.md)
</div>
<br/><br/><br/>
<div align='center'>
<img src="/programmieren/spiele/Flappy-Witch/FlappyWitch1.png" width="250vh">
<img src="/programmieren/spiele/Flappy-Witch/FlappyWitch2.png" width="250vh">
</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');
});
// Teilen-Funktion
function shareText() {
const shareData = {
title: 'Flappy Witch',
text: 'Schau dir dieses fantastische Spiel an!',
url: 'https://www.creative-crafter.de/programmieren/spiele/Flappy-Witch/'
};
if (navigator.share) {
navigator.share(shareData)
.then(() => console.log('Erfolgreich geteilt'))
.catch((error) => console.log('Fehler beim Teilen', error));
} else {
// Fallback für Browser ohne Web Share API
// Öffnet den WhatsApp-Share-Link
const whatsappUrl = 'https://api.whatsapp.com/send?text=' + encodeURIComponent(shareData.text + ' ' + shareData.url);
window.open(whatsappUrl, '_blank');
}
}
</script>
</body>
</html>