feat: analytics
Deploy / Deploy to Stapler (push) Successful in 28s

This commit is contained in:
2026-06-23 23:00:12 +02:00
parent f6673149c7
commit 658a08ed2f
+157 -73
View File
@@ -1,75 +1,159 @@
<!DOCTYPE html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8" />
<title>Startle Machine</title> <title>Startle Machine</title>
<link rel="stylesheet" href="style.css"> <link rel="stylesheet" href="style.css" />
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script> <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script type="text/javascript" src="main.js"></script> <script type="text/javascript" src="main.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- card related --> <!-- card related -->
<meta property="og:title" content="Startle Machine"> <meta property="og:title" content="Startle Machine" />
<meta property="og:description" content="Generates silence occasionally broken up by random sound effects"> <meta
<meta property="org:url" content="https://prank.klemek.fr"> property="og:description"
</head> content="Generates silence occasionally broken up by random sound effects"
<body> />
<main id="app" style="display:none"> <meta property="org:url" content="https://prank.klemek.fr" />
<h1>Startle Machine</h1> <script
<p>Generates silence occasionally broken up by random sound effects.<br>Click the button below and leave this tab to start the prank.</p> defer
<button class="start" :disabled="started || !canStart" @click="start">{{ started ? 'You can leave this tab now...' : (canStart ? 'Start the prank' : 'Select at least one sound') }}</button> src="https://tics.klemek.fr/script.js"
<br> data-website-id="a711dcac-b6d4-47ec-bfc2-ca36c25ff4fd"
<h2>Configuration</h2> ></script>
<table class="config"> </head>
<colgroup> <body>
<col style="width: 25%"> <main id="app" style="display: none">
<col> <h1>Startle Machine</h1>
<col style="width: 25%"> <p>
</colgroup> Generates silence occasionally broken up by random sound
<tr> effects.<br />Click the button below and leave this tab to start
<td><label for="minDelay">Minimum delay:</label></td> the prank.
<td><input id="minDelay" type="range" v-model="minDelay" min="1" max="60" /></td> </p>
<td>{{ minDelay }} minutes</td> <button
</tr> class="start"
<tr> :disabled="started || !canStart"
<td><label for="maxDelay">Maximum delay:</label></td> @click="start"
<td><input id="maxDelay" type="range" v-model="maxDelay" min="1" max="60" /></td> >
<td>{{ maxDelay }} minutes</td> {{ started ? 'You can leave this tab now...' : (canStart ?
</tr> 'Start the prank' : 'Select at least one sound') }}
<tr> </button>
<td><label for="volume">Volume:</label></td> <br />
<td><input id="volume" type="range" v-model="volume" min="0" max="100" /></td> <h2>Configuration</h2>
<td>{{ volume }}%</td> <table class="config">
</tr> <colgroup>
<tr> <col style="width: 25%" />
<td><label for="disguise">Disguise as:</label></td> <col />
<td colspan="2"> <col style="width: 25%" />
<select v-model="fakeId"> </colgroup>
<option v-for="fake, i in fakes" :value="i">{{ fake.name }} ({{ fake.url }})</option> <tr>
</select> <td><label for="minDelay">Minimum delay:</label></td>
</td> <td>
</tr> <input
<tr> id="minDelay"
<td colspan="3"> type="range"
<button title="Change sound pitch on every play" :class="randomPitch ? '' : 'inactive'" @click="randomPitch = !randomPitch">Random pitch: {{ randomPitch ? '✅' : '❌' }}</button> v-model="minDelay"
</td> min="1"
</tr> max="60"
<tr> />
<td colspan="3"> </td>
<button title="Clear page content on start" :class="hidePrank ? '' : 'inactive'" @click="hidePrank = !hidePrank">Blank page on start: {{ hidePrank ? '✅' : '❌' }}</button> <td>{{ minDelay }} minutes</td>
</td> </tr>
</tr> <tr>
<tr> <td><label for="maxDelay">Maximum delay:</label></td>
<td colspan="3"> <td>
<button title="Redirect to another page when prank is found" :class="redirect ? '' : 'inactive'" @click="redirect = !redirect">Redirect when found: {{ redirect ? '✅' : '❌' }}</button> <input
</td> id="maxDelay"
</tr> type="range"
</table> v-model="maxDelay"
<h3>Sounds <small><a href="#" @click="selectAll">Select all</a> - <a href="#" @click="unselectAll">Unselect all</a></small></h3> min="1"
<div class="sound-container"> max="60"
<button v-for="sound in sounds" :class="sound.active ? '' : 'inactive'" @click="sound.active = !sound.active">{{ sound.name }}</button> />
</div> </td>
<br> <td>{{ maxDelay }} minutes</td>
<small><a href="https://github.com/klemek" target="_blank">@klemek</a> - <a href="https://github.com/klemek/startle-machine" target="_blank">Github Repository</a> - 2024</small> </tr>
</main> <tr>
</body> <td><label for="volume">Volume:</label></td>
<td>
<input
id="volume"
type="range"
v-model="volume"
min="0"
max="100"
/>
</td>
<td>{{ volume }}%</td>
</tr>
<tr>
<td><label for="disguise">Disguise as:</label></td>
<td colspan="2">
<select v-model="fakeId">
<option v-for="fake, i in fakes" :value="i">
{{ fake.name }} ({{ fake.url }})
</option>
</select>
</td>
</tr>
<tr>
<td colspan="3">
<button
title="Change sound pitch on every play"
:class="randomPitch ? '' : 'inactive'"
@click="randomPitch = !randomPitch"
>
Random pitch: {{ randomPitch ? '✅' : '❌' }}
</button>
</td>
</tr>
<tr>
<td colspan="3">
<button
title="Clear page content on start"
:class="hidePrank ? '' : 'inactive'"
@click="hidePrank = !hidePrank"
>
Blank page on start: {{ hidePrank ? '✅' : '❌' }}
</button>
</td>
</tr>
<tr>
<td colspan="3">
<button
title="Redirect to another page when prank is found"
:class="redirect ? '' : 'inactive'"
@click="redirect = !redirect"
>
Redirect when found: {{ redirect ? '✅' : '❌' }}
</button>
</td>
</tr>
</table>
<h3>
Sounds
<small
><a href="#" @click="selectAll">Select all</a> -
<a href="#" @click="unselectAll">Unselect all</a></small
>
</h3>
<div class="sound-container">
<button
v-for="sound in sounds"
:class="sound.active ? '' : 'inactive'"
@click="sound.active = !sound.active"
>
{{ sound.name }}
</button>
</div>
<br />
<small
><a href="https://github.com/klemek" target="_blank">@klemek</a>
-
<a
href="https://github.com/klemek/startle-machine"
target="_blank"
>Github Repository</a
>
- 2024</small
>
</main>
</body>
</html> </html>