Compare commits
14 Commits
9d15059965
...
donlongsch
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ff110a1a07 | ||
|
|
b78c0ac907 | ||
|
|
1dae066a1e | ||
|
|
fbf74ae7c6 | ||
|
|
4b6995a59d | ||
|
|
c646e5c38d | ||
|
|
dff85309e8 | ||
|
a23b9ab6b9
|
|||
|
35968e62c1
|
|||
|
|
7c5f33504c | ||
|
|
6111fd9584 | ||
|
|
f6f1791f67 | ||
|
|
50bb75bdab | ||
|
|
c8d1972bd7 |
25
README
@@ -1,25 +0,0 @@
|
|||||||
This is the PMT version of J. Hobbs' HTML5-bingo.
|
|
||||||
Geared towards the swiss PMT initiative.
|
|
||||||
|
|
||||||
Original Readme:
|
|
||||||
|
|
||||||
HTML5-bingo
|
|
||||||
by J. Hobbs June 2012
|
|
||||||
---
|
|
||||||
|
|
||||||
WHAT IT IS:
|
|
||||||
|
|
||||||
* A bingo board
|
|
||||||
* Randomizes content on each load
|
|
||||||
* Reads square data from the data.js file
|
|
||||||
* Uses data attributes to check for win condition
|
|
||||||
* Uses CSS transitions for all animation
|
|
||||||
* Uses Media Queries for optimized mobile experience
|
|
||||||
* Uses "Hide Address Bar" (via @scottjehl) to hide mobile URL bar
|
|
||||||
* Uses HTML5 audio for UI feedback
|
|
||||||
* Uses jquery.tappable.js to improve UI performance on mobile
|
|
||||||
|
|
||||||
HOW TO USE:
|
|
||||||
|
|
||||||
All data is kept in the "data.js" file. Customize the .json in the data.js file to change the language on the board.
|
|
||||||
|
|
||||||
30
README.md
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# bs-bingo
|
||||||
|
|
||||||
|
## What is it?
|
||||||
|
|
||||||
|
It's a bullshit bingo.
|
||||||
|
|
||||||
|
## How to deploy?
|
||||||
|
|
||||||
|
Use the `docker-compose` file. I don't care if you don't like it. Fuck off.
|
||||||
|
|
||||||
|
## Why?
|
||||||
|
|
||||||
|
Because.
|
||||||
|
|
||||||
|
## I'm too stupid to find out where to edit the data
|
||||||
|
|
||||||
|
Good for you.
|
||||||
|
|
||||||
|
## Here is a chat message containing xyz additions!
|
||||||
|
|
||||||
|
Fuck off, this is a public repository, create a PR like normal people do.
|
||||||
|
|
||||||
|
## Hey, your HTML/JS is shit.
|
||||||
|
|
||||||
|
Yes.
|
||||||
|
|
||||||
|
## Authors
|
||||||
|
|
||||||
|
- aaron
|
||||||
|
- your name could be added to this list
|
||||||
@@ -13,9 +13,9 @@
|
|||||||
body {
|
body {
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
background-image: url('../img/police.background.png');
|
background-image: url('../img/police.background.png');
|
||||||
background-position: center;
|
background-position: center;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
font-family: "BodoniSvtyTwoOSITCTT-Bold", "Georgia", serif;
|
font-family: "BodoniSvtyTwoOSITCTT-Bold", "Georgia", serif;
|
||||||
text-rendering: optimizeLegibility;
|
text-rendering: optimizeLegibility;
|
||||||
}
|
}
|
||||||
@@ -29,21 +29,21 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#header, #footer {
|
#header, #footer {
|
||||||
|
text-align: center;
|
||||||
display: block;
|
display: block;
|
||||||
float: left;
|
float: left;
|
||||||
width: 600px;
|
width: 600px;
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
background-color: none;
|
background-color: none;
|
||||||
font-size: 2.0em;
|
font-size: 2.0em;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
padding: 8px 20px 8px 20px;
|
padding: 8px 20px 8px 20px;
|
||||||
text-shadow: 0px 2px 0px #000000;
|
text-shadow: 0px 2px 0px #000000;
|
||||||
transition-property: background-color;
|
transition-property: background-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
#footer {
|
#footer {
|
||||||
text-align: center;
|
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
padding: 3px 20px;
|
padding: 3px 20px;
|
||||||
margin-bottom: 80px;
|
margin-bottom: 80px;
|
||||||
@@ -90,7 +90,7 @@ body {
|
|||||||
.text {
|
.text {
|
||||||
font-family: "HelveticaNeue-CondensedBold", "Helvetica Neue", Arial, sans-serif;
|
font-family: "HelveticaNeue-CondensedBold", "Helvetica Neue", Arial, sans-serif;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
font-size: 1.0em;
|
font-size: 0.8em;
|
||||||
line-height: 1.2em;
|
line-height: 1.2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
23
docker-compose.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
version: '3'
|
||||||
|
|
||||||
|
networks:
|
||||||
|
web:
|
||||||
|
external: true
|
||||||
|
internal:
|
||||||
|
external: false
|
||||||
|
|
||||||
|
services:
|
||||||
|
nginx:
|
||||||
|
restart: always
|
||||||
|
image: nginx:latest
|
||||||
|
container_name: bsbingo
|
||||||
|
volumes:
|
||||||
|
- /mnt/docker/bs_bingo/HTML5-bingo:/usr/share/nginx/html
|
||||||
|
labels:
|
||||||
|
- traefik.http.routers.bingo.rule=Host(`bingo.0x29a.ch`)
|
||||||
|
- traefik.http.routers.bingo.tls=true
|
||||||
|
- traefik.http.routers.bingo.tls.certresolver=lets-encrypt
|
||||||
|
- traefik.port=80
|
||||||
|
networks:
|
||||||
|
- web
|
||||||
|
- internal
|
||||||
BIN
img/android-chrome-192x192.png
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
BIN
img/android-chrome-512x512.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
img/apple-touch-icon.png
Normal file
|
After Width: | Height: | Size: 8.5 KiB |
BIN
img/favicon-16x16.png
Normal file
|
After Width: | Height: | Size: 595 B |
BIN
img/favicon-32x32.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
img/favicon.ico
Normal file
|
After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 153 KiB After Width: | Height: | Size: 80 KiB |
1
img/site.webmanifest
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
|
||||||
23
index.html
@@ -1,37 +1,24 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
|
<title>Puzzle Bullshit Bingo</title>
|
||||||
<title>PMT-Bingo</title>
|
|
||||||
|
|
||||||
<meta name="viewport" width=device-width">
|
<meta name="viewport" width=device-width">
|
||||||
|
|
||||||
<link href="css/style.css" rel="stylesheet" type="text/css">
|
<link href="css/style.css" rel="stylesheet" type="text/css">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="img/apple-touch-icon.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="img/favicon-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="img/favicon-16x16.png">
|
||||||
|
<link rel="manifest" href="img/site.webmanifest">
|
||||||
<script src="js/jquery.js" type="text/javascript"></script>
|
<script src="js/jquery.js" type="text/javascript"></script>
|
||||||
|
|
||||||
<script src="js/jquery.tappable.js" type="text/javascript"></script>
|
<script src="js/jquery.tappable.js" type="text/javascript"></script>
|
||||||
|
|
||||||
<script src="js/data.js" type="text/javascript"></script>
|
<script src="js/data.js" type="text/javascript"></script>
|
||||||
|
|
||||||
<script src="js/script.js" type="text/javascript"></script>
|
<script src="js/script.js" type="text/javascript"></script>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<div id="container">
|
<div id="container">
|
||||||
|
|
||||||
<div id="header"></div>
|
<div id="header"></div>
|
||||||
|
|
||||||
<div id="board"></div>
|
<div id="board"></div>
|
||||||
|
|
||||||
<div id="footer"></div>
|
<div id="footer"></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
134
js/data.js
@@ -1,53 +1,101 @@
|
|||||||
var headerText = "Polizeiterror-Bingo";
|
var headerText = "Puzzle Bingo";
|
||||||
|
|
||||||
var footerText = "<a href='https://github.com/id101010/HTML5-bingo/' target='_blank'>This versions is code available on github</a><br/><a href='https://github.com/jeffehobbs/HTML5-bingo/' target='_blank'>Original code</a>";
|
var footerText = "<a href='https://github.com/id101010/HTML5-bingo/' target='_blank'>This versions is code available on github</a><br/><a href='https://www.youtube.com/watch?v=HIcSWuKMwOw' target='_blank'>Original code</a>";
|
||||||
|
|
||||||
var winText = "Gratulation, du wirst verhaftet.";
|
var winText = "Gratulation, du erhälst (k)einen Teuerungsausgleich!";
|
||||||
|
|
||||||
var clickSnd = new Audio("audio/click.mp3");
|
var clickSnd = new Audio("audio/click.mp3");
|
||||||
|
|
||||||
var winSnd = new Audio("audio/win.mp3");
|
var winSnd = new Audio("audio/win.mp3");
|
||||||
|
|
||||||
var JSONBingo = {"squares": [
|
var JSONBingo = {"squares": [
|
||||||
{"square": "Attentäter polizeibekannt"},
|
{"square":"Verrechnbare Pensen"},
|
||||||
{"square": "Attentäter bereits überwacht"},
|
{"square":"Unterstuetzende Pensen"},
|
||||||
{"square": "Attentäter auf Terrorliste"},
|
{"square":"Kapitalisten Arschloecher!"},
|
||||||
{"square": "Pass am Tatort gefunden"},
|
{"square":"Schwierige Situation"},
|
||||||
{"square": "Geheimdienst- Connection"},
|
{"square":"Verrechenbarkeit"},
|
||||||
{"square": "Schärfere Gesetze!"},
|
{"square":"aktuelle Situation"},
|
||||||
{"square": "Vorratsdaten- speicherung"},
|
{"square":"kein Bonus"},
|
||||||
{"square": "Syrien!"},
|
{"square":"Lohnband"},
|
||||||
{"square": "Immigration!"},
|
{"square":"Stufenwechsel"},
|
||||||
{"square": "Killerspiele"},
|
{"square":"Teurungsausgleich"},
|
||||||
{"square": "Fußschuss"},
|
{"square":"Ruby"},
|
||||||
{"square": "Total glaubwürdige Herleitung"},
|
{"square":"Members Coach"},
|
||||||
{"square": "Keine Herleitung der Fahndungserfolge"},
|
{"square":"Division Owner"},
|
||||||
{"square": "PR-Gelegenheit genutzt"},
|
{"square":"Wertschaetzung"},
|
||||||
{"square": "Tatwaffe aus staatlichen Beständen"},
|
{"square":"Gesamtzufriedenheit"},
|
||||||
{"square": "In letzter Sekunde verhindert"},
|
{"square":"Fringe Benefits"},
|
||||||
{"square": "Datenschutz ist Terroristenschutz"},
|
{"square":"Java"},
|
||||||
{"square": "Privacy ist Schuld!"},
|
{"square":"Generelle Lohnerhoehung"},
|
||||||
{"square": "Details würden die Bevölkerung verunsichern"},
|
{"square":"Finanzen"},
|
||||||
{"square": "Aus Mangel an Beweisen freigelassen"},
|
{"square":"Lohnmodell"},
|
||||||
{"square": "Verschlüsselung verhindert Strafverfolgung"},
|
{"square":"Stundenansaetze erhoehen"},
|
||||||
{"square": "Terroristen haben verschlüsselt"},
|
{"square":"Massnahmenpaket"},
|
||||||
{"square": "War doch nicht verschlüsselt"},
|
{"square":"Swisscom"},
|
||||||
{"square": "Snowden ist Schuld!"},
|
{"square":"MOBI"},
|
||||||
{"square": "Mehr Befugnisse für die Dienste"},
|
{"square":"BLS"},
|
||||||
{"square": "Mehr Befugnisse für die Polizei"},
|
{"square":"SBB"},
|
||||||
{"square": "Pflegte Kontakte zu bekannten Terroristen"},
|
{"square":"Unverrechenbare Pensen"},
|
||||||
{"square": "Enthauptung"},
|
{"square":"Kundenauftraege"},
|
||||||
{"square": "Salafisten"},
|
{"square":"Leistungsprozente"},
|
||||||
{"square": "Grenzen zu!"},
|
{"square":"Apfelvideo"},
|
||||||
{"square": "\"Wir brauchen mehr Überwachung!\""},
|
{"square":"Apfelbaum"},
|
||||||
{"square": "Schützenverein"},
|
{"square":"Apfel"},
|
||||||
{"square": "SVP"},
|
{"square":"Sales-Aktivitaet"},
|
||||||
{"square": "Geheimdienst- Quellen"},
|
{"square":"Ueberzeit abbauen"},
|
||||||
{"square": "Terrorwarnung aus nur einer Quelle"},
|
{"square":"bewusst verbuchen"},
|
||||||
{"square": "Bloß ein verwirrter Einzeltäter"},
|
{"square":"interne Projekte"},
|
||||||
{"square": "Koran"},
|
{"square":"spannende Technologien"},
|
||||||
{"square": "Fahne gefunden"},
|
{"square":"Weihnachtsessen"},
|
||||||
{"square": "\"Chemische Substanzen\""},
|
{"square":"Mainachtsessen"},
|
||||||
{"square": "(mehr) Datenbanken (zusammen- führen)"},
|
{"square":"Minimum"},
|
||||||
|
{"square":"schweren Herzens"},
|
||||||
|
{"square":"Auftraege aquirieren"},
|
||||||
|
{"square":"keine einfache Zeit"},
|
||||||
|
{"square":"Kuendigungen"},
|
||||||
|
{"square":"Entschuldigen"},
|
||||||
|
{"square":"Austritte"},
|
||||||
|
{"square":"Eintritte"},
|
||||||
|
{"square":"Geburten"},
|
||||||
|
{"square":"Gratifikationen"},
|
||||||
|
{"square":"Pensionskasse"},
|
||||||
|
{"square":"besondere Leistungen"},
|
||||||
|
{"square":"Ueberflieger*innen"},
|
||||||
|
{"square":"Subscriptions"},
|
||||||
|
{"square":"Infrastruktur"},
|
||||||
|
{"square":"Belpstrasse 37"},
|
||||||
|
{"square":"Personalmarketing"},
|
||||||
|
{"square":"Hitobito"},
|
||||||
|
{"square":"Racoon"},
|
||||||
|
{"square":"Harpoon"},
|
||||||
|
{"square":"Lagoon"},
|
||||||
|
{"square":"Acrevis"},
|
||||||
|
{"square":"Swissflirt"},
|
||||||
|
{"square":"Kundenprojekte"},
|
||||||
|
{"square":"Finanzen"},
|
||||||
|
{"square":"Membersumfrage"},
|
||||||
|
{"square":"Absolute Verrechenbarkeit"},
|
||||||
|
{"square":"Divisionsrentabilitaet"},
|
||||||
|
{"square":"Hyperscaler"},
|
||||||
|
{"square":"Lockerung"},
|
||||||
|
{"square":"Massnahmen"},
|
||||||
|
{"square":"Entscheid"},
|
||||||
|
{"square":"Pizza"},
|
||||||
|
{"square":"Apero"},
|
||||||
|
{"square":"Infoanlass"},
|
||||||
|
{"square":"Bingo"},
|
||||||
|
{"square":"Contribution"},
|
||||||
|
{"square":"Operations"},
|
||||||
|
{"square":"New Tech"},
|
||||||
|
{"square":"Agile Teams"},
|
||||||
|
{"square":"OKR"},
|
||||||
|
{"square":"Bonus"},
|
||||||
|
{"square":"Tim"},
|
||||||
|
{"square":"Lars"},
|
||||||
|
{"square":"cryptopus"},
|
||||||
|
{"square":"frontend"},
|
||||||
|
{"square":"security"},
|
||||||
|
{"square":"datenschutz"},
|
||||||
|
{"square":"Audit"},
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ $(document).ready(function() {
|
|||||||
for (i=0; i<24; i++) {
|
for (i=0; i<24; i++) {
|
||||||
|
|
||||||
if (i==12) {
|
if (i==12) {
|
||||||
$('#board').append("<div data-value='1' class='selected freesquare' id='sqfree'><div class='text'><br/>Karin Keller-Sutter Joker</div></div>");
|
$('#board').append("<div data-value='1' class='selected freesquare' id='sqfree'><div class='text'><br/>Turnaround Joker</div></div>");
|
||||||
$('#board').append("<div data-value='0' class='square' id='sq12'><div class='text'><br/>"+JSONBingo.squares[i].square+"</div></div>");
|
$('#board').append("<div data-value='0' class='square' id='sq12'><div class='text'><br/>"+JSONBingo.squares[i].square+"</div></div>");
|
||||||
} else {
|
} else {
|
||||||
$('#board').append("<div data-value='0' class='square' id='sq"+i+"'><div class='text'><br/>"+JSONBingo.squares[i].square+"</div></div>");
|
$('#board').append("<div data-value='0' class='square' id='sq"+i+"'><div class='text'><br/>"+JSONBingo.squares[i].square+"</div></div>");
|
||||||
|
|||||||