diff options
author | lassulus <lassulus@lassul.us> | 2021-10-25 19:56:30 +0200 |
---|---|---|
committer | lassulus <lassulus@lassul.us> | 2021-10-25 19:56:30 +0200 |
commit | ae9b7488fa5af6233a38a52bf53fc3c0e2da6532 (patch) | |
tree | 21a3273d899ef458e834565d4fe93778693f42fe /lass | |
parent | 3a7c33394328108cc9159de89367a90701fcbc80 (diff) |
l radio: add controls page
Diffstat (limited to 'lass')
-rw-r--r-- | lass/2configs/radio.nix | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/lass/2configs/radio.nix b/lass/2configs/radio.nix index b1e1ed4d9..4a061244d 100644 --- a/lass/2configs/radio.nix +++ b/lass/2configs/radio.nix @@ -356,6 +356,89 @@ in { locations."= /good".extraConfig = '' proxy_pass http://localhost:8001; ''; + locations."= /controls".extraConfig = '' + default_type "text/html"; + alias ${pkgs.writeText "controls.html" '' +<!doctype html> + +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + + <title>The_Playlist Voting!</title> +<style> +#good { + display: block; + width: 100%; + border: none; + background-color: #04AA6D; + padding: 14px; + margin: 14px 0 0 0; + height: 100px; + font-size: 16px; + cursor: pointer; + text-align: center; +} +#bad { + display: block; + width: 100%; + border: none; + background-color: red; + padding: 14px; + height: 100px; + + margin: 14px 0 0 0; + font-size: 16px; + cursor: pointer; + text-align: center; +} +</style> + +</head> + +<body> + <div id=votenote></div> + <button id=good type="button"> GUT </button> + + <button id=bad type="button"> SCHLECHT </button> + <center> + Currently Running: <br/><div> + <b id=current></b> + </div> + <div id=vote> + </div> + <audio controls autoplay="autoplay"> + <source src="https://radio.lassul.us/radio.ogg" type="audio/ogg"> + Your browser does not support the audio element. + </audio> + </center> + + <script> + document.getElementById("good").onclick=async ()=>{ + let result = await fetch("https://radio.lassul.us/good", {"method": "POST"}) + document.getElementById("vote").textContent = "Dieses Lied findest du gut" + }; + document.getElementById("bad").onclick=async ()=>{ + let result = await fetch("https://radio.lassul.us/skip", {"method": "POST"}) + document.getElementById("vote").textContent = "Dieses Lied findest du schlecht" + }; + + async function current() { + let result = await fetch("https://radio.lassul.us/current", {"method": "GET"}) + let data = await result.json() + document.getElementById("current").textContent = data.name + } + window.onload = function() { + window.setInterval('current()', 10000) + current() + } + + </script> +</body> +</html> + ''}; + ''; extraConfig = '' add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; |