pifi 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +28 -2
- data/lib/pifi/controllers/application_controller.rb +0 -4
- data/lib/pifi/public/asset-manifest.json +12 -12
- data/lib/pifi/public/index.html +1 -1
- data/lib/pifi/public/locales/pl-PL/translation.json +26 -0
- data/lib/pifi/public/{precache-manifest.91762315d3372889e680b8497d590c91.js → precache-manifest.5dbdf662d076c5f2d13288a700dab9d6.js} +9 -9
- data/lib/pifi/public/service-worker.js +1 -1
- data/lib/pifi/public/static/css/main.93c9cd50.chunk.css +2 -0
- data/lib/pifi/public/static/css/main.93c9cd50.chunk.css.map +1 -0
- data/lib/pifi/public/static/js/2.89cb5725.chunk.js +3 -0
- data/lib/pifi/public/static/js/{2.9b0b7c5f.chunk.js.LICENSE → 2.89cb5725.chunk.js.LICENSE} +0 -0
- data/lib/pifi/public/static/js/2.89cb5725.chunk.js.map +1 -0
- data/lib/pifi/public/static/js/main.f1b7c0d0.chunk.js +2 -0
- data/lib/pifi/public/static/js/main.f1b7c0d0.chunk.js.map +1 -0
- data/lib/pifi/version.rb +1 -1
- metadata +11 -10
- data/lib/pifi/public/static/css/main.75888152.chunk.css +0 -2
- data/lib/pifi/public/static/css/main.75888152.chunk.css.map +0 -1
- data/lib/pifi/public/static/js/2.9b0b7c5f.chunk.js +0 -3
- data/lib/pifi/public/static/js/2.9b0b7c5f.chunk.js.map +0 -1
- data/lib/pifi/public/static/js/main.7d7142ee.chunk.js +0 -2
- data/lib/pifi/public/static/js/main.7d7142ee.chunk.js.map +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8b4927d3d3e4b6a64a5ef191af0efa68d13d87ff1a4fdf595c7acd43763c836b
|
|
4
|
+
data.tar.gz: 13e47a9058abf35d191b3e6e2cfe977330a7d17695bfebca4ef87ea52ee37776
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 32eb0e5eeebd9434721ccdffe41cd02e9930878d712e774c64a5097e358606cfe684a969a729d2d32b9c86d4f9a03d2fd3a42a397b510a45e2f4d0e1e4a2cbf6
|
|
7
|
+
data.tar.gz: 3ee8f3ebfa9067be16744ac9397e239d245a3a7e77ede9f6851d7bea9bf7c5fe409c7db659ab5da622fa30c2bc15b132870db0b7a9996dc7b749b277f6afc63f
|
data/README.md
CHANGED
|
@@ -11,9 +11,12 @@
|
|
|
11
11
|
- [Some features](#some-features)
|
|
12
12
|
- [Demo](#demo)
|
|
13
13
|
- [Installation](#installation)
|
|
14
|
+
- [Updating](#updating)
|
|
14
15
|
- [Configuration](#configuration)
|
|
15
16
|
- [List of streams](#list-of-streams)
|
|
16
17
|
- [PiFi configuration](#pifi-configuration)
|
|
18
|
+
- [Usage](#usage)
|
|
19
|
+
- [Help me translate](#help-me-translate)
|
|
17
20
|
- [Credits](#credits)
|
|
18
21
|
- [License](#license)
|
|
19
22
|
|
|
@@ -143,10 +146,30 @@ PiFi can be run:
|
|
|
143
146
|
|
|
144
147
|
On your mobile browser, I suggest you add PiFi Radio to your home screen, for easier access.
|
|
145
148
|
|
|
149
|
+
## Help me translate
|
|
150
|
+
|
|
151
|
+
You can help me adding a new language to PiFi or improving an existing translation. [The translation files are placed here.](https://github.com/rccavalcanti/pifi-radio/tree/master/frontend/public/locales)
|
|
152
|
+
|
|
153
|
+
### Improving an existing translation
|
|
154
|
+
|
|
155
|
+
The default language for PiFi is English, so you should use it as a reference.
|
|
156
|
+
|
|
157
|
+
1. Open [the translation file](https://github.com/rccavalcanti/pifi-radio/tree/master/frontend/public/locales) and [the English file](https://github.com/rccavalcanti/pifi-radio/blob/master/frontend/public/locales/en/translation.json).
|
|
158
|
+
2. Fill empty strings and fix any bad translations.
|
|
159
|
+
3. Send a pull request.
|
|
160
|
+
|
|
161
|
+
### Adding a new language
|
|
162
|
+
|
|
163
|
+
1. Copy the `en` folder, renaming it to the new language code (e.g. `es-ES`).
|
|
164
|
+
2. On `translation.json`, translate the strings. If you aren't sure of some, please make them empty.
|
|
165
|
+
3. Send a pull request.
|
|
166
|
+
|
|
146
167
|
## Credits
|
|
147
168
|
|
|
148
|
-
-
|
|
149
|
-
-
|
|
169
|
+
- fr-fr: Francis Chavanon "rimeno"
|
|
170
|
+
- pl-pl: "Struart88"
|
|
171
|
+
- nl-nl: Heimen Stoffels "Vistaus"
|
|
172
|
+
|
|
150
173
|
- Icon made by [iconixar](https://www.flaticon.com/authors/iconixar) from [www.flaticon.com](https://www.flaticon.com/), licensed by [Flaticon Basic License](docs/icon/license.pdf).
|
|
151
174
|
|
|
152
175
|
## License
|
|
@@ -154,3 +177,6 @@ On your mobile browser, I suggest you add PiFi Radio to your home screen, for ea
|
|
|
154
177
|
Released under [GNU GPL v3](LICENSE).
|
|
155
178
|
|
|
156
179
|
Copyright 2017-2020 Rafael Cavalcanti <hi@rafaelc.org>
|
|
180
|
+
|
|
181
|
+
If you find PiFi useful, please consider:
|
|
182
|
+
<a href="https://www.buymeacoffee.com/rafaelc" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" width="200" ></a>
|
|
@@ -5,10 +5,6 @@ require "sinatra/base"
|
|
|
5
5
|
module PiFi
|
|
6
6
|
class ApplicationController < Sinatra::Base
|
|
7
7
|
set :static, false
|
|
8
|
-
configure :development do
|
|
9
|
-
before { response.headers["Access-Control-Allow-Origin"] = "*" }
|
|
10
|
-
end
|
|
11
|
-
|
|
12
8
|
set ConfigGetter.new.config
|
|
13
9
|
set :streams, Streams.new(settings.streams_path, settings.streams_path_priv)
|
|
14
10
|
end
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
|
-
"main.css": "/static/css/main.
|
|
4
|
-
"main.js": "/static/js/main.
|
|
5
|
-
"main.js.map": "/static/js/main.
|
|
3
|
+
"main.css": "/static/css/main.93c9cd50.chunk.css",
|
|
4
|
+
"main.js": "/static/js/main.f1b7c0d0.chunk.js",
|
|
5
|
+
"main.js.map": "/static/js/main.f1b7c0d0.chunk.js.map",
|
|
6
6
|
"runtime-main.js": "/static/js/runtime-main.f04a0f25.js",
|
|
7
7
|
"runtime-main.js.map": "/static/js/runtime-main.f04a0f25.js.map",
|
|
8
8
|
"static/css/2.5dbdccff.chunk.css": "/static/css/2.5dbdccff.chunk.css",
|
|
9
|
-
"static/js/2.
|
|
10
|
-
"static/js/2.
|
|
9
|
+
"static/js/2.89cb5725.chunk.js": "/static/js/2.89cb5725.chunk.js",
|
|
10
|
+
"static/js/2.89cb5725.chunk.js.map": "/static/js/2.89cb5725.chunk.js.map",
|
|
11
11
|
"index.html": "/index.html",
|
|
12
|
-
"precache-manifest.
|
|
12
|
+
"precache-manifest.5dbdf662d076c5f2d13288a700dab9d6.js": "/precache-manifest.5dbdf662d076c5f2d13288a700dab9d6.js",
|
|
13
13
|
"service-worker.js": "/service-worker.js",
|
|
14
14
|
"static/css/2.5dbdccff.chunk.css.map": "/static/css/2.5dbdccff.chunk.css.map",
|
|
15
|
-
"static/css/main.
|
|
16
|
-
"static/js/2.
|
|
17
|
-
"static/media/
|
|
15
|
+
"static/css/main.93c9cd50.chunk.css.map": "/static/css/main.93c9cd50.chunk.css.map",
|
|
16
|
+
"static/js/2.89cb5725.chunk.js.LICENSE": "/static/js/2.89cb5725.chunk.js.LICENSE",
|
|
17
|
+
"static/media/logo.svg": "/static/media/logo.91554ce9.svg"
|
|
18
18
|
},
|
|
19
19
|
"entrypoints": [
|
|
20
20
|
"static/js/runtime-main.f04a0f25.js",
|
|
21
21
|
"static/css/2.5dbdccff.chunk.css",
|
|
22
|
-
"static/js/2.
|
|
23
|
-
"static/css/main.
|
|
24
|
-
"static/js/main.
|
|
22
|
+
"static/js/2.89cb5725.chunk.js",
|
|
23
|
+
"static/css/main.93c9cd50.chunk.css",
|
|
24
|
+
"static/js/main.f1b7c0d0.chunk.js"
|
|
25
25
|
]
|
|
26
26
|
}
|
data/lib/pifi/public/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,user-scalable=no"/><meta name="description" content="MPD web client to listen to radio"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5"><meta name="apple-mobile-web-app-title" content="PiFi Radio"><meta name="application-name" content="PiFi Radio"><meta name="msapplication-TileColor" content="#2b5797"><meta name="theme-color" content="#375a7f"><title>PiFi Radio</title><link rel="preload" href="https://stackpath.bootstrapcdn.com/bootswatch/4.4.1/darkly/bootstrap.min.css" as="style"><link href="https://stackpath.bootstrapcdn.com/bootswatch/4.4.1/darkly/bootstrap.min.css" rel="stylesheet" title="theme"><link href="/static/css/2.5dbdccff.chunk.css" rel="stylesheet"><link href="/static/css/main.
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,user-scalable=no"/><meta name="description" content="MPD web client to listen to radio"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5"><meta name="apple-mobile-web-app-title" content="PiFi Radio"><meta name="application-name" content="PiFi Radio"><meta name="msapplication-TileColor" content="#2b5797"><meta name="theme-color" content="#375a7f"><title>PiFi Radio</title><link rel="preload" href="https://stackpath.bootstrapcdn.com/bootswatch/4.4.1/darkly/bootstrap.min.css" as="style"><link href="https://stackpath.bootstrapcdn.com/bootswatch/4.4.1/darkly/bootstrap.min.css" rel="stylesheet" title="theme"><link href="/static/css/2.5dbdccff.chunk.css" rel="stylesheet"><link href="/static/css/main.93c9cd50.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>var isIE=window.document.documentMode,unsupportedMsg='<img src="/assets/logo80.png" class="mx-auto d-block my-5">';if(unsupportedMsg+='<h5 class="text-center my-5">This browser is not supported</h5>',isIE){var root=document.getElementById("root");root.innerHTML=unsupportedMsg,root.setAttribute("id","")}</script><script>!function(l){function e(e){for(var r,t,n=e[0],o=e[1],u=e[2],f=0,i=[];f<n.length;f++)t=n[f],Object.prototype.hasOwnProperty.call(a,t)&&a[t]&&i.push(a[t][0]),a[t]=0;for(r in o)Object.prototype.hasOwnProperty.call(o,r)&&(l[r]=o[r]);for(s&&s(e);i.length;)i.shift()();return c.push.apply(c,u||[]),p()}function p(){for(var e,r=0;r<c.length;r++){for(var t=c[r],n=!0,o=1;o<t.length;o++){var u=t[o];0!==a[u]&&(n=!1)}n&&(c.splice(r--,1),e=f(f.s=t[0]))}return e}var t={},a={1:0},c=[];function f(e){if(t[e])return t[e].exports;var r=t[e]={i:e,l:!1,exports:{}};return l[e].call(r.exports,r,r.exports,f),r.l=!0,r.exports}f.m=l,f.c=t,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(r,e){if(1&e&&(r=f(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var n in r)f.d(t,n,function(e){return r[e]}.bind(null,n));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},f.p="/";var r=this.webpackJsonppifi_frontend=this.webpackJsonppifi_frontend||[],n=r.push.bind(r);r.push=e,r=r.slice();for(var o=0;o<r.length;o++)e(r[o]);var s=n;p()}([])</script><script src="/static/js/2.89cb5725.chunk.js"></script><script src="/static/js/main.f1b7c0d0.chunk.js"></script></body></html>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"about": "O projekcie",
|
|
3
|
+
"cancel": "Anuluj",
|
|
4
|
+
"close": "Zamknij",
|
|
5
|
+
"disconnectedMPD": "Nie połączono z MPD",
|
|
6
|
+
"environment": "Środowisko",
|
|
7
|
+
"errorForbidden": "Niedozwolone żądanie. Sprawdź hasło i uprawnienia MPD.",
|
|
8
|
+
"errorNetwork": "Nie połączono z serwerem PiFi",
|
|
9
|
+
"errorNotFound": "Strumień nie znaleziony.",
|
|
10
|
+
"errorUnexpected": "Nieoczekiwany błąd.",
|
|
11
|
+
"language": "Język",
|
|
12
|
+
"mpdHost": "MPD host",
|
|
13
|
+
"mpdPort": "MPD port",
|
|
14
|
+
"noStreams": "Brak dostępnych stacji.",
|
|
15
|
+
"ok": "OK",
|
|
16
|
+
"playing": "Odtwarzanie",
|
|
17
|
+
"playURL": "Odtwórz URL",
|
|
18
|
+
"search": "Szukaj...",
|
|
19
|
+
"settings": "Ustawienia",
|
|
20
|
+
"stopped": "Zatrzymano",
|
|
21
|
+
"theme": "Motyw",
|
|
22
|
+
"tryingURL": "Próba odtworzenia URL...",
|
|
23
|
+
"tunning": "Strojenie...",
|
|
24
|
+
"version": "Wersja",
|
|
25
|
+
"volume": "Głośność"
|
|
26
|
+
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
self.__precacheManifest = (self.__precacheManifest || []).concat([
|
|
2
2
|
{
|
|
3
|
-
"revision": "
|
|
3
|
+
"revision": "b3377f9d3c31f7620f1f03f58238c435",
|
|
4
4
|
"url": "/index.html"
|
|
5
5
|
},
|
|
6
6
|
{
|
|
7
|
-
"revision": "
|
|
7
|
+
"revision": "ea331bc68a45987234e3",
|
|
8
8
|
"url": "/static/css/2.5dbdccff.chunk.css"
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
|
-
"revision": "
|
|
12
|
-
"url": "/static/css/main.
|
|
11
|
+
"revision": "2efeeef7a345c7c307fc",
|
|
12
|
+
"url": "/static/css/main.93c9cd50.chunk.css"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
|
-
"revision": "
|
|
16
|
-
"url": "/static/js/2.
|
|
15
|
+
"revision": "ea331bc68a45987234e3",
|
|
16
|
+
"url": "/static/js/2.89cb5725.chunk.js"
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
"revision": "19a6755ca1e5087f391e80db627b30f5",
|
|
20
|
-
"url": "/static/js/2.
|
|
20
|
+
"url": "/static/js/2.89cb5725.chunk.js.LICENSE"
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
|
-
"revision": "
|
|
24
|
-
"url": "/static/js/main.
|
|
23
|
+
"revision": "2efeeef7a345c7c307fc",
|
|
24
|
+
"url": "/static/js/main.f1b7c0d0.chunk.js"
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
"revision": "92793784c9eb98d269de",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
|
|
15
15
|
|
|
16
16
|
importScripts(
|
|
17
|
-
"/precache-manifest.
|
|
17
|
+
"/precache-manifest.5dbdf662d076c5f2d13288a700dab9d6.js"
|
|
18
18
|
);
|
|
19
19
|
|
|
20
20
|
self.addEventListener('message', (event) => {
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
.navbar{position:-webkit-sticky!important;position:sticky!important;top:0;z-index:5}.player{height:70vh;width:420px;min-width:250px;display:flex;flex-direction:column;justify-content:space-between;align-items:center}.player-logo{width:130px}.loader{z-index:10;display:flex;justify-content:center;align-items:center;height:100%}.streams{min-width:300px;width:450px}.streams__item{cursor:pointer}.streams__item.active{cursor:default}.streams__header{font-size:1.3rem;margin-top:1em;padding:.5rem 1.25rem}.list-group{margin-bottom:1rem!important}@media (max-width:750px){.list-group{margin-bottom:6rem!important}}.mini-player{width:100%;height:100%;max-width:600px;margin:auto;display:flex;align-items:center;justify-content:space-between}.mini-player button{padding:10px 20px}.drawer{z-index:5!important;height:5rem;display:flex;justify-content:flex-start;align-items:center;cursor:pointer;touch-action:none;-webkit-transition:height .25s ease-out;transition:height .25s ease-out}.drawer--open{height:100%;flex-direction:column;justify-content:space-between}@media (max-width:750px){.body--drawer{overflow:hidden}}.drawer .player{height:90vh;width:100%;margin-top:20px}.backdrop{z-index:10;position:fixed;width:100%;height:100%;background-color:#222;opacity:0;visibility:hidden;-webkit-transition:all .2s ease;transition:all .2s ease;cursor:default;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.backdrop--visible{opacity:.94;visibility:visible}.body--backdrop{overflow:hidden}.app-main{display:flex;justify-content:space-around}@supports not (-ms-ime-align:auto){.app-main{justify-content:space-evenly}}.app-main>.player{position:-webkit-sticky;position:sticky;top:4rem}.drawer{visibility:hidden}@media (max-width:750px){.drawer{visibility:visible}}@media (max-width:750px){.app-main>.player{display:none}}*{box-sizing:border-box}body{height:100vh;overflow-y:scroll}#root{height:100%}button[disabled]{cursor:default}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
|
2
|
+
/*# sourceMappingURL=main.93c9cd50.chunk.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["navBar.scss","player.scss","loader.scss","streams.scss","miniPlayer.scss","drawer.scss","../styles/_variables.scss","backdrop.scss","App.scss","index.scss"],"names":[],"mappings":"AAAA,QACE,iCAA2B,CAA3B,yBAA2B,CAC3B,KAAM,CACN,SAAU,CCHZ,QACE,WAAY,CACZ,WAAY,CACZ,eAAgB,CAChB,YAAa,CACb,qBAAsB,CACtB,6BAA8B,CAC9B,kBAAmB,CACpB,aAGC,WAAY,CCXd,QACE,UAAW,CACX,YAAa,CACb,sBAAuB,CACvB,kBAAmB,CACnB,WAAY,CCHd,SACE,eAAgB,CAChB,WAAY,CACb,eAGC,cAAe,CADjB,sBAII,cAAe,CAChB,iBAID,gBAAiB,CACjB,cAAe,CACf,qBAAuB,CACxB,YAGC,4BAA8B,CAE9B,yBAHF,YAII,4BAA+C,CAElD,CC3BD,aACE,UAAW,CACX,WAAY,CACZ,eAAgB,CAChB,WAAY,CACZ,YAAa,CACb,kBAAmB,CACnB,6BAA8B,CAPhC,oBAUI,iBAAkB,CCRtB,QACE,mBAAqB,CACrB,WCHkB,CDIlB,YAAa,CACb,0BAA2B,CAC3B,kBAAmB,CACnB,cAAe,CACf,iBAAkB,CAClB,uCAAA,CAAA,+BAAiC,CAEjC,cACE,WAAY,CACZ,qBAAsB,CACtB,6BAA8B,CAC/B,yBAKH,cAEI,eAAgB,CAEnB,CAED,gBACE,WAAY,CACZ,UAAW,CACX,eAAgB,CE9BlB,UACE,UAAW,CACX,cAAe,CACf,UAAW,CACX,WAAY,CACZ,qBAAyB,CACzB,SAAU,CACV,iBAAkB,CAClB,+BAAyB,CAAzB,uBAAyB,CACzB,cAAe,CACf,YAAa,CACb,qBAAsB,CACtB,sBAAuB,CACvB,kBAAmB,CACnB,iBAAkB,CAElB,mBACE,WAAa,CACb,kBAAmB,CACpB,gBAID,eAAgB,CCrBlB,UACE,YAAa,CACb,4BAA6B,CAGM,mCALrC,UAMI,4BAA6B,CAEhC,CAED,kBACE,uBAAgB,CAAhB,eAAgB,CAChB,QAAS,CACV,QAGC,iBAAkB,CAElB,yBAHF,QAII,kBAAmB,CAEtB,CAGC,yBADF,kBAEI,YAAa,CAEhB,CC7BD,EACE,qBAAsB,CACvB,KAGC,YAAa,CACb,iBAAkB,CACnB,MAGC,WAAY,CACb,iBAGC,cAAe,CAChB,UAGC,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB","file":"main.93c9cd50.chunk.css","sourcesContent":[".navbar {\n position: sticky !important;\n top: 0;\n z-index: 5;\n}\n",".player {\n height: 70vh;\n width: 420px;\n min-width: 250px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n}\n\n.player-logo {\n width: 130px;\n}\n",".loader {\n z-index: 10;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n}\n","@import '../styles/variables';\n\n.streams {\n min-width: 300px;\n width: 450px;\n}\n\n.streams__item {\n cursor: pointer;\n\n &.active {\n cursor: default;\n }\n}\n\n.streams__header {\n font-size: 1.3rem;\n margin-top: 1em;\n padding: 0.5rem 1.25rem;\n}\n\n.list-group {\n margin-bottom: 1rem !important;\n\n @media (max-width: $mobile-width) {\n margin-bottom: 1rem + $drawer-height !important; /* drawer */\n }\n}\n",".mini-player {\n width: 100%;\n height: 100%;\n max-width: 600px;\n margin: auto;\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n button {\n padding: 10px 20px;\n }\n}\n","@import '../styles/variables';\n\n.drawer {\n z-index: 5 !important;\n height: $drawer-height;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n cursor: pointer;\n touch-action: none; // don't scroll on touch\n transition: height 0.25s ease-out;\n\n &--open {\n height: 100%;\n flex-direction: column;\n justify-content: space-between;\n }\n}\n\n// The media query is for the edge case of an open drawer and the\n// window resized past the breakpoint. This brings the scrollbar back.\n.body--drawer {\n @media (max-width: $mobile-width) {\n overflow: hidden;\n }\n}\n\n.drawer .player {\n height: 90vh;\n width: 100%;\n margin-top: 20px;\n}\n","$mobile-width: 750px;\n$drawer-height: 5rem;\n",".backdrop {\n z-index: 10;\n position: fixed;\n width: 100%;\n height: 100%;\n background-color: #222222;\n opacity: 0;\n visibility: hidden;\n transition: all 0.2s ease;\n cursor: default;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n\n &--visible {\n opacity: 0.94;\n visibility: visible;\n }\n}\n\n.body--backdrop {\n overflow: hidden;\n}\n","@import './styles/variables';\n\n.app-main {\n display: flex;\n justify-content: space-around;\n\n // Not Edge 18-. It partially supports space-evenly.\n @supports not (-ms-ime-align: auto) {\n justify-content: space-evenly;\n }\n}\n\n.app-main > .player {\n position: sticky;\n top: 4rem; // we set this dynamically\n}\n\n.drawer {\n visibility: hidden;\n\n @media (max-width: $mobile-width) {\n visibility: visible;\n }\n}\n\n.app-main > .player {\n @media (max-width: $mobile-width) {\n display: none;\n }\n}\n","* {\n box-sizing: border-box;\n}\n\nbody {\n height: 100vh;\n overflow-y: scroll; // so elements don't move if page fits view\n}\n\n#root {\n height: 100%;\n}\n\nbutton[disabled] {\n cursor: default;\n}\n\n.ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n"]}
|