SHA256
first commit
This commit is contained in:
commit
027e752e25
6 files changed
+269
No files matched your search
@@ -0,0 +1,101 @@
|
||||
/*
|
||||
* Please dont remove this attribution its required by the license of this code.
|
||||
* This code is licensed under the CPSL License.
|
||||
*
|
||||
* Original code by: @chillcog
|
||||
* See https://git.chillcog.com/chillcog/azuracast-themes
|
||||
* Copyright (c) 2024-2026 ChillCog
|
||||
*/
|
||||
|
||||
:root {
|
||||
--backrooms-yellow: #d1c28a;
|
||||
--backrooms-dark-yellow: #a3955e;
|
||||
--backrooms-shadow: #2b281a;
|
||||
--backrooms-fluorescent: #f4eedb;
|
||||
--backrooms-alert: #8b0000;
|
||||
}
|
||||
|
||||
body, .public-page {
|
||||
background-image: url('https://chillcog.com/back.gif') !important;
|
||||
background-size: cover !important;
|
||||
background-position: center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
background-attachment: fixed !important;
|
||||
background-color: var(--backrooms-dark-yellow) !important;
|
||||
font-family: 'Courier New', Courier, monospace !important;
|
||||
color: var(--backrooms-shadow) !important;
|
||||
}
|
||||
|
||||
.card, .player-page .card {
|
||||
background-color: rgba(209, 194, 138, 0.9) !important;
|
||||
border: 3px solid var(--backrooms-shadow) !important;
|
||||
border-radius: 0px !important;
|
||||
box-shadow: 10px 10px 0px var(--backrooms-shadow) !important;
|
||||
backdrop-filter: blur(2px);
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, .now-playing-title {
|
||||
color: var(--backrooms-shadow) !important;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
|
||||
.now-playing-artist, .text-muted {
|
||||
color: #4a4531 !important;
|
||||
}
|
||||
|
||||
.album-art img, .now-playing-art img {
|
||||
border-radius: 0px !important;
|
||||
border: 2px solid var(--backrooms-shadow);
|
||||
filter: sepia(0.6) contrast(1.2) brightness(0.9);
|
||||
}
|
||||
|
||||
.btn-player, .play-pause-btn {
|
||||
background-color: var(--backrooms-shadow) !important;
|
||||
color: var(--backrooms-fluorescent) !important;
|
||||
border-radius: 0px !important;
|
||||
border: 1px solid var(--backrooms-dark-yellow) !important;
|
||||
transition: all 0.2s ease-in-out;
|
||||
}
|
||||
|
||||
.btn-player:hover, .play-pause-btn:hover {
|
||||
background-color: var(--backrooms-fluorescent) !important;
|
||||
color: var(--backrooms-shadow) !important;
|
||||
box-shadow: 0px 0px 8px var(--backrooms-fluorescent);
|
||||
}
|
||||
|
||||
.progress {
|
||||
background-color: #544f37 !important;
|
||||
border-radius: 0px !important;
|
||||
height: 10px !important;
|
||||
border: 1px solid var(--backrooms-shadow);
|
||||
}
|
||||
|
||||
.progress-bar {
|
||||
background-color: var(--backrooms-fluorescent) !important;
|
||||
box-shadow: 0 0 5px var(--backrooms-fluorescent);
|
||||
}
|
||||
|
||||
input[type=range] {
|
||||
accent-color: var(--backrooms-shadow) !important;
|
||||
}
|
||||
|
||||
.list-group-item {
|
||||
background-color: transparent !important;
|
||||
border-bottom: 1px dashed var(--backrooms-shadow) !important;
|
||||
color: var(--backrooms-shadow) !important;
|
||||
}
|
||||
|
||||
.now-playing-title::after {
|
||||
content: " [LIVE_FEED]";
|
||||
font-size: 0.65em;
|
||||
color: var(--backrooms-alert);
|
||||
vertical-align: super;
|
||||
animation: blink 1.5s infinite steps(2);
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
0%, 100% { opacity: 1; }
|
||||
50% { opacity: 0; }
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
// Please dont remove this attribution its required by the license of this code.
|
||||
// This code is licensed under the CPSL License.
|
||||
//
|
||||
// Original code by: @chillcog
|
||||
// See https://git.chillcog.com/chillcog/azuracast-themes
|
||||
// Copyright (c) 2024-2026 ChillCog
|
||||
//
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
const scanline = document.createElement('div');
|
||||
scanline.id = 'backrooms-scanlines';
|
||||
Object.assign(scanline.style, {
|
||||
position: 'fixed',
|
||||
top: '0',
|
||||
left: '0',
|
||||
width: '100vw',
|
||||
height: '100vh',
|
||||
background: 'linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.15) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.03), rgba(0, 255, 0, 0.01), rgba(0, 0, 255, 0.03))',
|
||||
backgroundSize: '100% 4px, 6px 100%',
|
||||
zIndex: '9999',
|
||||
pointerEvents: 'none'
|
||||
});
|
||||
document.body.appendChild(scanline);
|
||||
|
||||
let audioCtx = null;
|
||||
let humOsc = null;
|
||||
let buzzOsc = null;
|
||||
let gainNode = null;
|
||||
|
||||
function startFluorescentHum() {
|
||||
if (audioCtx) return;
|
||||
audioCtx = new (window.AudioContext || window.webkitAudioContext)();
|
||||
gainNode = audioCtx.createGain();
|
||||
gainNode.gain.setValueAtTime(0.015, audioCtx.currentTime);
|
||||
gainNode.connect(audioCtx.destination);
|
||||
humOsc = audioCtx.createOscillator();
|
||||
humOsc.type = 'sine';
|
||||
humOsc.frequency.setValueAtTime(60, audioCtx.currentTime);
|
||||
humOsc.connect(gainNode);
|
||||
humOsc.start();
|
||||
buzzOsc = audioCtx.createOscillator();
|
||||
buzzOsc.type = 'sawtooth';
|
||||
buzzOsc.frequency.setValueAtTime(120, audioCtx.currentTime);
|
||||
const filter = audioCtx.createBiquadFilter();
|
||||
filter.type = 'lowpass';
|
||||
filter.frequency.setValueAtTime(200, audioCtx.currentTime);
|
||||
buzzOsc.connect(filter);
|
||||
filter.connect(gainNode);
|
||||
buzzOsc.start();
|
||||
}
|
||||
|
||||
window.addEventListener('click', startFluorescentHum, { once: true });
|
||||
window.addEventListener('touchstart', startFluorescentHum, { once: true });
|
||||
});
|
||||
Reference in new issue
Block a user