···
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
<xsl:output method="html"
+
doctype-system="about:legacy-compat"
+
<xsl:template match="/icestats">
+
<html xmlns="http://www.w3.org/1999/xhtml">
+
<meta charset="utf-8" />
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+
<title>Radio Rita.moe</title>
+
<link rel="icon" href="https://rita.moe/rita-icon.png" />
+
<link rel="stylesheet" type="text/css" href="style-status.css" />
+
<link rel="stylesheet" href="https://cdn.plyr.io/3.5.8/plyr.css" />
+
<script src="https://cdn.plyr.io/3.5.8/plyr.polyfilled.js"></script>
+
<h1 id="header">Radio Rita.moe</h1>
+
<!--mount point stats-->
+
<xsl:for-each select="source">
+
<xsl:when test="listeners">
+
<div class="roundbox" data-mount="{@mount}">
+
<div class="mounthead">
+
<xsl:value-of select="server_name" />
+
<small>(<xsl:value-of select="@mount" />)</small>
+
<xsl:when test="authenticator">
+
<a class="auth" href="/auth.xsl">Login</a>
+
<a class="play" href="{@mount}.m3u">M3U</a>
+
<a class="play" href="{@mount}.xspf">XSPF</a>
+
<a class="play" href="{@mount}.vclt">VCLT</a>
+
<div class="mountcont">
+
<xsl:if test="server_type">
+
<div class="audioplayer">
+
<audio controls="controls" preload="none">
+
<source src="{@mount}" type="{server_type}" />
+
<xsl:value-of select="artist" />
+
<xsl:value-of select="title" />
+
<a href="/" onclick="ss('{@mount}'); return false;">(search)</a>
+
<xsl:value-of select="@mount" />
+
Powered by <a href="https://www.icecast.org">Icecast</a>
+
and <a href="https://www.liquidsoap.info">Liquidsoap</a>.
+
<script type="text/javascript">
+
let title = document.querySelector('[data-mount="' + mount + '"] .playing').innerHTML
+
let se = document.querySelector('[data-mount="' + mount + '"] .search a')
+
se.innerHTML = 'Please wait...'
+
fetch('https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=1&safeSearch=none&type=video&videoCategoryId=10&key=AIzaSyB0PbGfWP_AwEXx7_DypkJiB0qIjHxedi0&q=' + encodeURIComponent(title))
+
se.innerHTML = '(search)'
+
if (j.items.length > 0) {
+
window.open('https://combine.fm/youtube/track/' + j.items[0].id.videoId, '_blank')
+
fetch('https://radio.rita.moe/status-json.xsl')
+
document.querySelector('[data-mount="/music"] .playing').innerHTML = j.icestats.source.title
+
document.querySelectorAll('audio').forEach(e => {
+
controls: ['play', 'current-time', 'mute', 'volume'],