Skip to content

Commit 24e2d2f

Browse files
authored
Merge pull request #16 from svader0/horn-mode
Improved Horn Mode (If you guys want it in main)
2 parents 15ddb8f + 2074d12 commit 24e2d2f

3 files changed

Lines changed: 72 additions & 27 deletions

File tree

public/images/drhorn.jpg

98.4 KB
Loading

public/sounds/wow.mp3

66.1 KB
Binary file not shown.

views/partials/footer.ejs

Lines changed: 72 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,79 @@
11
</main>
22
<footer class="bg-terminal-accent p-4 w-full">
3-
<div class="footer-flex flex justify-between items-center text-terminal-light-gray font-mono">
4-
<p>&copy; <%= new Date().getFullYear() %> Social Stuff. All rights reserved.</p>
5-
<div class="footer-items flex space-x-4">
6-
<div class="flex items-center space-x-2">
7-
<label for="horn-mode" class="text-terminal-light-gray font-mono">HORN MODE</label>
8-
<input type="checkbox" id="horn-mode" class="toggle-checkbox">
9-
</div>
10-
<p>SYSTEM STATUS: <span class="text-terminal-green">ONLINE</span></p>
11-
<p>VERSION 0.0.1</p>
12-
<a href="/agreements/tos" class="hover:underline text-terminal-green" target="_blank">Terms of Service</a>
13-
<a href="/agreements/eula" class="hover:underline text-terminal-green" target="_blank">EULA</a>
14-
</div>
3+
<div class="footer-flex flex justify-between items-center text-terminal-light-gray font-mono">
4+
<p>&copy; <%= new Date().getFullYear() %> Social Stuff. All rights reserved.</p>
5+
<div class="footer-items flex space-x-4">
6+
<div class="flex items-center space-x-2">
7+
<label for="horn-mode" class="text-terminal-light-gray font-mono">HORN MODE</label>
8+
<input type="checkbox" id="horn-mode" class="toggle-checkbox">
9+
</div>
10+
<p>SYSTEM STATUS: <span class="text-terminal-green">ONLINE</span></p>
11+
<p>VERSION 0.0.1</p>
12+
<a href="/agreements/tos" class="hover:underline text-terminal-green" target="_blank">Terms of Service</a>
13+
<a href="/agreements/eula" class="hover:underline text-terminal-green" target="_blank">EULA</a>
1514
</div>
16-
<style>
17-
@media (max-width: 700px) {
18-
.footer-flex {
19-
flex-direction: column !important;
20-
align-items: flex-start !important;
21-
gap: 1rem;
22-
}
23-
.footer-items {
24-
flex-direction: column !important;
25-
align-items: flex-start !important;
26-
gap: 0.5rem;
27-
width: 100%;
28-
}
29-
}
30-
</style>
15+
</div>
16+
<style>
17+
@media (max-width: 700px) {
18+
.footer-flex {
19+
flex-direction: column !important;
20+
align-items: flex-start !important;
21+
gap: 1rem;
22+
}
23+
24+
.footer-items {
25+
flex-direction: column !important;
26+
align-items: flex-start !important;
27+
gap: 0.5rem;
28+
width: 100%;
29+
}
30+
}
31+
</style>
3132
</footer>
3233
</body>
34+
<script>
35+
// Horn button functionality
36+
const hornButton = document.getElementById('horn-mode');
37+
38+
const hornImage = new Image();
39+
hornImage.src = '/images/drhorn.jpg';
40+
41+
const wow = new Audio();
42+
wow.src = '/sounds/wow.mp3';
43+
44+
hornButton.addEventListener('change', () => {
45+
if (event.target.checked) { //only trigger when activated, not when deactivated
46+
47+
//Sound stuff
48+
const hornSound = new Audio(wow.src);
49+
hornSound.play();
50+
51+
//Image stuff
52+
const hornImage = document.createElement('img');
53+
hornImage.src = '/images/drhorn.jpg';
54+
hornImage.alt = 'Horn';
55+
hornImage.style.position = 'fixed';
56+
hornImage.style.width = '400px';
57+
hornImage.style.height = '400px';
58+
hornImage.style.left = `-500px`;
59+
hornImage.style.bottom = `-500px`;
60+
document.body.appendChild(hornImage);
61+
62+
//Arc
63+
let angle = 180;
64+
const interval = setInterval(() => {
65+
angle += 1;
66+
const x = Math.cos(angle * Math.PI / 180) * window.innerWidth / 2 + window.innerWidth / 2 - 200;
67+
const y = Math.sin(angle * Math.PI / 180) * window.innerHeight + window.innerHeight;
68+
hornImage.style.left = `${x}px`;
69+
hornImage.style.top = `${y}px`;
70+
if (angle >= 360) {
71+
clearInterval(interval);
72+
document.body.removeChild(hornImage);
73+
}
74+
}, 15);
75+
}
76+
});
77+
</script>
3378

3479
</html>

0 commit comments

Comments
 (0)