pifi 0.4.9 → 0.4.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/INSTALL.md +3 -3
  3. data/README.md +21 -10
  4. data/lib/pifi/public/asset-manifest.json +14 -14
  5. data/lib/pifi/public/index.html +1 -1
  6. data/lib/pifi/public/locales/{en → en-US}/translation.json +0 -0
  7. data/lib/pifi/public/{precache-manifest.fcc3d04ae31f62d65a121704ace339bd.js → precache-manifest.a42dd152c6982ffc7cb91240d1006fe8.js} +10 -10
  8. data/lib/pifi/public/service-worker.js +1 -1
  9. data/lib/pifi/public/static/css/2.1781c263.chunk.css +2 -0
  10. data/lib/pifi/public/static/css/2.1781c263.chunk.css.map +1 -0
  11. data/lib/pifi/public/static/css/main.2ea3c026.chunk.css +2 -0
  12. data/lib/pifi/public/static/css/main.2ea3c026.chunk.css.map +1 -0
  13. data/lib/pifi/public/static/js/2.5ec5bba8.chunk.js +3 -0
  14. data/lib/pifi/public/static/js/{2.6c0ded8a.chunk.js.LICENSE.txt → 2.5ec5bba8.chunk.js.LICENSE.txt} +0 -0
  15. data/lib/pifi/public/static/js/2.5ec5bba8.chunk.js.map +1 -0
  16. data/lib/pifi/public/static/js/main.f8812632.chunk.js +2 -0
  17. data/lib/pifi/public/static/js/main.f8812632.chunk.js.map +1 -0
  18. data/lib/pifi/public/vendor/bootswatch_4.4.1/darkly.min.css +12 -0
  19. data/lib/pifi/public/vendor/bootswatch_4.4.1/lux.min.css +12 -0
  20. data/lib/pifi/version.rb +1 -1
  21. metadata +19 -17
  22. data/lib/pifi/public/static/css/2.d34346ea.chunk.css +0 -2
  23. data/lib/pifi/public/static/css/2.d34346ea.chunk.css.map +0 -1
  24. data/lib/pifi/public/static/css/main.221e80d3.chunk.css +0 -2
  25. data/lib/pifi/public/static/css/main.221e80d3.chunk.css.map +0 -1
  26. data/lib/pifi/public/static/js/2.6c0ded8a.chunk.js +0 -3
  27. data/lib/pifi/public/static/js/2.6c0ded8a.chunk.js.map +0 -1
  28. data/lib/pifi/public/static/js/main.6c9ebb8a.chunk.js +0 -2
  29. data/lib/pifi/public/static/js/main.6c9ebb8a.chunk.js.map +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 92b71511ff7180fc66c335e917c62d12beb7173e6d08ed166aa099122f328d4a
4
- data.tar.gz: b668a49a14375d6a32087c56d2af11e5f5ed3401c8e9e20464a0675119ed24f8
3
+ metadata.gz: 8dc0a4f510d889f6eed7ec596681e0d661dd69dc935b92a6d6c9daba74c4a5dd
4
+ data.tar.gz: 3101dd320d96e559079b36cba95eb2d8c183cc63d749db20f5eb72c858d14e2f
5
5
  SHA512:
6
- metadata.gz: c86f56411d9aa6b5a85f202fd4f16ca7716746e01b4e4f0b8e544b6a51b8480a29555baf051cb2e3b231eb4bdea41474afecdd30abce4f381f3ff54849cb78e9
7
- data.tar.gz: ab820754ba603d74504d611933631613d647dce313938bbd1affa7d4dfd5050664e3365dfbf83dd01ef3d3838e782167033fc3d5004e59981493879d896a8485
6
+ metadata.gz: 0f17da06e70a8ee4245d9806743ff5f65ac878b735a30ac3c05621fb03404ffc032e3fbf6a1a4efa74984330f520e557ef787c55e2912df30f8f4869518c2d27
7
+ data.tar.gz: 7252e0ce4b9c7d919cdbd475345d53904495ec1bc05140e60b23d5f7e6bb0047efc2f271720f89425c8f1d2b75213a5d248dba480f9273b9b1a32e68ddacbbf3
data/INSTALL.md CHANGED
@@ -26,7 +26,7 @@ $ sudo gem install pifi --no-document
26
26
 
27
27
  ```
28
28
  $ sudo mkdir -p /etc/pifi
29
- $ sudo wget https://raw.githubusercontent.com/rccavalcanti/pifi-radio/master/docs/streams.json.sample -O /etc/pifi/streams.json
29
+ $ sudo wget https://raw.githubusercontent.com/rc2dev/pifi-radio/master/docs/streams.json.sample -O /etc/pifi/streams.json
30
30
  ```
31
31
 
32
32
  _Later, you can edit that list [as described here](README.md#list-of-streams)._
@@ -36,7 +36,7 @@ _Later, you can edit that list [as described here](README.md#list-of-streams)._
36
36
  Download a sample and edit [following the documentation](README.md#pifi-configuration):
37
37
 
38
38
  ```
39
- $ sudo wget https://raw.githubusercontent.com/rccavalcanti/pifi-radio/master/docs/config.json.sample -O /etc/pifi/config.json
39
+ $ sudo wget https://raw.githubusercontent.com/rc2dev/pifi-radio/master/docs/config.json.sample -O /etc/pifi/config.json
40
40
  $ sudo -e /etc/pifi/config.json
41
41
  ```
42
42
 
@@ -49,7 +49,7 @@ It makes sense to run PiFi as a different user, such as `www-data`. You may also
49
49
  1. Download the service sample.
50
50
 
51
51
  ```
52
- $ sudo wget https://raw.githubusercontent.com/rccavalcanti/pifi-radio/master/docs/pifi.service.sample -O /etc/systemd/system/pifi.service
52
+ $ sudo wget https://raw.githubusercontent.com/rc2dev/pifi-radio/master/docs/pifi.service.sample -O /etc/systemd/system/pifi.service
53
53
  ```
54
54
 
55
55
  2. Make any changes relevant to your system.
data/README.md CHANGED
@@ -1,10 +1,12 @@
1
1
  # PiFi Radio
2
2
 
3
3
  <p align="center">
4
- <img src="https://raw.githubusercontent.com/rccavalcanti/pifi-radio/master/docs/icon/radio-original.svg?sanitize=true" width=250>
4
+ <img src="https://raw.githubusercontent.com/rc2dev/pifi-radio/master/docs/icon/radio-original.svg?sanitize=true" width=250>
5
5
  </p>
6
6
  <p align="center">PiFi Radio: A MPD web client to listen to radio.</p>
7
7
 
8
+ **Notice:** This project was archived in July 2021 and shouldn't receive updates in the foreseeable future.
9
+
8
10
  ## Table of contents
9
11
 
10
12
  - [Meet PiFi Radio](#meet-pifi-radio)
@@ -17,6 +19,7 @@
17
19
  - [PiFi configuration](#pifi-configuration)
18
20
  - [Usage](#usage)
19
21
  - [Help me translate](#help-me-translate)
22
+ - [Some projects using PiFi Radio](#some-projects-using-pifi-radio)
20
23
  - [Credits](#credits)
21
24
  - [Buy me a coffee](#buy-me-a-coffee)
22
25
  - [License](#license)
@@ -29,7 +32,7 @@ If you have no idea what this means... You install it on a device such as the Ra
29
32
 
30
33
  PiFi is an interface for MPD, so it has some advantages compared to other solutions, e.g. bluetooth or AirPlay. One of them is that the playback is completely independent from your phone. So you can continue to use it normally, play a video, lose connection or even turn it off, and your Pi will still continue to play the radio.
31
34
 
32
- [I started this project in early 2017. At that time, I wanted to configure Raspbian so my parents could listen to radio with ease, but couldn't find any good solution to it.](https://rafaelc.org/blog/the-motivation-for-pifi-radio/)
35
+ [I started this project in early 2017. At that time, I wanted to configure Raspbian so my parents could listen to radio with ease, but couldn't find any good solution to it.](https://rafaelc.org/posts/the-motivation-for-pifi-radio/)
33
36
 
34
37
  ## Some features
35
38
 
@@ -46,11 +49,15 @@ PiFi is an interface for MPD, so it has some advantages compared to other soluti
46
49
 
47
50
  ## Demo
48
51
 
49
- ![](docs/demo/mobile-01.png)
52
+ On phone:
53
+
54
+ ![Demo on mobile](docs/demo/mobile.gif)
55
+
56
+ On desktop:
50
57
 
51
- ![](docs/demo/desktop-01.png)
58
+ ![Demo on desktop](docs/demo/desktop-01.png)
52
59
 
53
- ![](docs/demo/desktop-02.png)
60
+ ![Demo on desktop](docs/demo/desktop-02.png)
54
61
 
55
62
  ## Installation
56
63
 
@@ -119,7 +126,7 @@ If you want to change any of these options, download the sample file and edit it
119
126
 
120
127
  ```
121
128
  $ sudo mkdir -p /etc/pifi
122
- $ sudo wget https://raw.githubusercontent.com/rccavalcanti/pifi-radio/master/docs/config.json.sample -O /etc/pifi/config.json
129
+ $ sudo wget https://raw.githubusercontent.com/rc2dev/pifi-radio/master/docs/config.json.sample -O /etc/pifi/config.json
123
130
  $ sudo -e /etc/pifi/config.json
124
131
  ```
125
132
 
@@ -135,13 +142,13 @@ On your mobile browser, I suggest you add PiFi Radio to your home screen, for ea
135
142
 
136
143
  ## Help me translate
137
144
 
138
- 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)
145
+ You can help me adding a new language to PiFi or improving an existing translation. [The translation files are placed here.](https://github.com/rc2dev/pifi-radio/tree/master/frontend/public/locales)
139
146
 
140
147
  ### Improving an existing translation
141
148
 
142
149
  The default language for PiFi is English, so you should use it as a reference.
143
150
 
144
- 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).
151
+ 1. Open [the translation file](https://github.com/rc2dev/pifi-radio/tree/master/frontend/public/locales) and [the English file](https://github.com/rc2dev/pifi-radio/blob/master/frontend/public/locales/en-US/translation.json).
145
152
  2. Fill empty strings and fix any bad translations.
146
153
  3. Send a pull request.
147
154
 
@@ -151,6 +158,10 @@ The default language for PiFi is English, so you should use it as a reference.
151
158
  2. On `translation.json`, translate the strings. If you aren't sure of some, please make them empty.
152
159
  3. Send a pull request.
153
160
 
161
+ ## Some projects using PiFi Radio
162
+
163
+ - [Internet Radio from broken Bose Dockstation](https://piamble.wordpress.com/2021/01/30/internet-radio-from-broken-bose-dockstation-part-1/)
164
+
154
165
  ## Credits
155
166
 
156
167
  - de-de: [cedege](https://github.com/cedege)
@@ -164,10 +175,10 @@ The default language for PiFi is English, so you should use it as a reference.
164
175
 
165
176
  If you find PiFi useful, you can show your support here:
166
177
 
167
- <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>
178
+ <a href="https://rafaelc.org/coffee" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" width="200" ></a>
168
179
 
169
180
  ## License
170
181
 
171
182
  Licensed under [GPLv3](LICENSE)
172
183
 
173
- Copyright (C) 2017-2020 [Rafael Cavalcanti](https://rafaelc.org/)
184
+ Copyright (C) 2017-2021 [Rafael Cavalcanti](https://rafaelc.org/)
@@ -1,27 +1,27 @@
1
1
  {
2
2
  "files": {
3
- "main.css": "/static/css/main.221e80d3.chunk.css",
4
- "main.js": "/static/js/main.6c9ebb8a.chunk.js",
5
- "main.js.map": "/static/js/main.6c9ebb8a.chunk.js.map",
3
+ "main.css": "/static/css/main.2ea3c026.chunk.css",
4
+ "main.js": "/static/js/main.f8812632.chunk.js",
5
+ "main.js.map": "/static/js/main.f8812632.chunk.js.map",
6
6
  "runtime-main.js": "/static/js/runtime-main.5aae5a31.js",
7
7
  "runtime-main.js.map": "/static/js/runtime-main.5aae5a31.js.map",
8
- "static/css/2.d34346ea.chunk.css": "/static/css/2.d34346ea.chunk.css",
9
- "static/js/2.6c0ded8a.chunk.js": "/static/js/2.6c0ded8a.chunk.js",
10
- "static/js/2.6c0ded8a.chunk.js.map": "/static/js/2.6c0ded8a.chunk.js.map",
8
+ "static/css/2.1781c263.chunk.css": "/static/css/2.1781c263.chunk.css",
9
+ "static/js/2.5ec5bba8.chunk.js": "/static/js/2.5ec5bba8.chunk.js",
10
+ "static/js/2.5ec5bba8.chunk.js.map": "/static/js/2.5ec5bba8.chunk.js.map",
11
11
  "index.html": "/index.html",
12
- "precache-manifest.fcc3d04ae31f62d65a121704ace339bd.js": "/precache-manifest.fcc3d04ae31f62d65a121704ace339bd.js",
12
+ "precache-manifest.a42dd152c6982ffc7cb91240d1006fe8.js": "/precache-manifest.a42dd152c6982ffc7cb91240d1006fe8.js",
13
13
  "service-worker.js": "/service-worker.js",
14
- "static/css/2.d34346ea.chunk.css.map": "/static/css/2.d34346ea.chunk.css.map",
15
- "static/css/main.221e80d3.chunk.css.map": "/static/css/main.221e80d3.chunk.css.map",
16
- "static/js/2.6c0ded8a.chunk.js.LICENSE.txt": "/static/js/2.6c0ded8a.chunk.js.LICENSE.txt",
14
+ "static/css/2.1781c263.chunk.css.map": "/static/css/2.1781c263.chunk.css.map",
15
+ "static/css/main.2ea3c026.chunk.css.map": "/static/css/main.2ea3c026.chunk.css.map",
16
+ "static/js/2.5ec5bba8.chunk.js.LICENSE.txt": "/static/js/2.5ec5bba8.chunk.js.LICENSE.txt",
17
17
  "static/media/getFetch.cjs": "/static/media/getFetch.5e98861f.cjs",
18
18
  "static/media/logo.svg": "/static/media/logo.91554ce9.svg"
19
19
  },
20
20
  "entrypoints": [
21
21
  "static/js/runtime-main.5aae5a31.js",
22
- "static/css/2.d34346ea.chunk.css",
23
- "static/js/2.6c0ded8a.chunk.js",
24
- "static/css/main.221e80d3.chunk.css",
25
- "static/js/main.6c9ebb8a.chunk.js"
22
+ "static/css/2.1781c263.chunk.css",
23
+ "static/js/2.5ec5bba8.chunk.js",
24
+ "static/css/main.2ea3c026.chunk.css",
25
+ "static/js/main.f8812632.chunk.js"
26
26
  ]
27
27
  }
@@ -1 +1 @@
1
- <!doctype html><html><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"><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.d34346ea.chunk.css" rel="stylesheet"><link href="/static/css/main.221e80d3.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(e){function r(r){for(var n,f,i=r[0],l=r[1],p=r[2],c=0,s=[];c<i.length;c++)f=i[c],Object.prototype.hasOwnProperty.call(o,f)&&o[f]&&s.push(o[f][0]),o[f]=0;for(n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n]);for(a&&a(r);s.length;)s.shift()();return u.push.apply(u,p||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var l=t[i];0!==o[l]&&(n=!1)}n&&(u.splice(r--,1),e=f(f.s=t[0]))}return e}var n={},o={1:0},u=[];function f(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,f),t.l=!0,t.exports}f.m=e,f.c=n,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(e,r){if(1&r&&(e=f(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)f.d(t,n,function(r){return e[r]}.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 i=this.webpackJsonppifi_frontend=this.webpackJsonppifi_frontend||[],l=i.push.bind(i);i.push=r,i=i.slice();for(var p=0;p<i.length;p++)r(i[p]);var a=l;t()}([])</script><script src="/static/js/2.6c0ded8a.chunk.js"></script><script src="/static/js/main.6c9ebb8a.chunk.js"></script></body></html>
1
+ <!doctype html><html><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"><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 href="/vendor/bootswatch_4.4.1/darkly.min.css" rel="stylesheet" title="theme"><link href="/static/css/2.1781c263.chunk.css" rel="stylesheet"><link href="/static/css/main.2ea3c026.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(e){function r(r){for(var n,f,i=r[0],l=r[1],p=r[2],c=0,s=[];c<i.length;c++)f=i[c],Object.prototype.hasOwnProperty.call(o,f)&&o[f]&&s.push(o[f][0]),o[f]=0;for(n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n]);for(a&&a(r);s.length;)s.shift()();return u.push.apply(u,p||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var l=t[i];0!==o[l]&&(n=!1)}n&&(u.splice(r--,1),e=f(f.s=t[0]))}return e}var n={},o={1:0},u=[];function f(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,f),t.l=!0,t.exports}f.m=e,f.c=n,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(e,r){if(1&r&&(e=f(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)f.d(t,n,function(r){return e[r]}.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 i=this.webpackJsonppifi_frontend=this.webpackJsonppifi_frontend||[],l=i.push.bind(i);i.push=r,i=i.slice();for(var p=0;p<i.length;p++)r(i[p]);var a=l;t()}([])</script><script src="/static/js/2.5ec5bba8.chunk.js"></script><script src="/static/js/main.f8812632.chunk.js"></script></body></html>
@@ -1,27 +1,27 @@
1
1
  self.__precacheManifest = (self.__precacheManifest || []).concat([
2
2
  {
3
- "revision": "05279d03d5aed9519c3113af703b98cc",
3
+ "revision": "b52ffd0f5c21c7659977d90fb6a93361",
4
4
  "url": "/index.html"
5
5
  },
6
6
  {
7
- "revision": "bb0434579066e3f071dd",
8
- "url": "/static/css/2.d34346ea.chunk.css"
7
+ "revision": "05854d9f510491a51187",
8
+ "url": "/static/css/2.1781c263.chunk.css"
9
9
  },
10
10
  {
11
- "revision": "b26c55a532c13681eb15",
12
- "url": "/static/css/main.221e80d3.chunk.css"
11
+ "revision": "8eb89bf3b60bc6bf67ca",
12
+ "url": "/static/css/main.2ea3c026.chunk.css"
13
13
  },
14
14
  {
15
- "revision": "bb0434579066e3f071dd",
16
- "url": "/static/js/2.6c0ded8a.chunk.js"
15
+ "revision": "05854d9f510491a51187",
16
+ "url": "/static/js/2.5ec5bba8.chunk.js"
17
17
  },
18
18
  {
19
19
  "revision": "ed4400b9109211e81cc70e71e3c03c2c",
20
- "url": "/static/js/2.6c0ded8a.chunk.js.LICENSE.txt"
20
+ "url": "/static/js/2.5ec5bba8.chunk.js.LICENSE.txt"
21
21
  },
22
22
  {
23
- "revision": "b26c55a532c13681eb15",
24
- "url": "/static/js/main.6c9ebb8a.chunk.js"
23
+ "revision": "8eb89bf3b60bc6bf67ca",
24
+ "url": "/static/js/main.f8812632.chunk.js"
25
25
  },
26
26
  {
27
27
  "revision": "af7ed8886109d8666769",
@@ -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.fcc3d04ae31f62d65a121704ace339bd.js"
17
+ "/precache-manifest.a42dd152c6982ffc7cb91240d1006fe8.js"
18
18
  );
19
19
 
20
20
  self.addEventListener('message', (event) => {
@@ -0,0 +1,2 @@
1
+ .Toastify__toast-container{z-index:9999;-webkit-transform:translateZ(9999px);position:fixed;padding:4px;width:320px;box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:1em;left:1em}.Toastify__toast-container--top-center{top:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--top-right{top:1em;right:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;padding:0;left:0;margin:0}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{right:0;left:auto}}.Toastify__toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--dark{background:#121212;color:#fff}.Toastify__toast--default{background:#fff;color:#aaa}.Toastify__toast--info{background:#3498db}.Toastify__toast--success{background:#07bc0c}.Toastify__toast--warning{background:#f1c40f}.Toastify__toast--error{background:#e74c3c}.Toastify__toast-body{margin:auto 0;flex:1 1 auto}@media only screen and (max-width:480px){.Toastify__toast{margin-bottom:0}}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;align-self:flex-start}.Toastify__close-button--default{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:5px;z-index:9999;opacity:.7;background-color:hsla(0,0%,100%,.7);transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:auto;transform-origin:right}.Toastify__progress-bar--default{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55)}.Toastify__progress-bar--dark{background:#bb86fc}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{transform:perspective(400px) rotateX(-20deg);opacity:1}to{transform:perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(110%,0,0)}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(-110%,0,0)}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}
2
+ /*# sourceMappingURL=2.1781c263.chunk.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../scss/_toastContainer.scss","../scss/_variables.scss","ReactToastify.css","../scss/_toast.scss","../scss/_closeButton.scss","../scss/_progressBar.scss","../scss/animations/_bounce.scss","../scss/animations/_zoom.scss","../scss/animations/_flip.scss","../scss/animations/_slide.scss"],"names":[],"mappings":"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","file":"2.1781c263.chunk.css"}
@@ -0,0 +1,2 @@
1
+ .navbar{position:-webkit-sticky!important;position:sticky!important;top:0;z-index:5;margin-bottom:2rem;padding:.8rem 1rem;min-height:4.7793rem}.loader{height:100vh}.backdrop,.loader{z-index:10;display:flex;justify-content:center;align-items:center}.backdrop{position:fixed;width:100%;height:100%;background-color:#222;opacity:0;visibility:hidden;transition:all .2s ease;cursor:default;flex-direction:column;text-align:center}.backdrop--visible{opacity:.94;visibility:visible}.body--backdrop{overflow:hidden}.player{width:100%;max-width:450px;display:flex;flex-direction:column;justify-content:space-between;align-items:center}.player-logo{width:130px}@media (max-height:430px){.player-logo{display:none}}.streams{max-width:450px}.streams__header{font-size:1.3rem;margin-top:1em;padding:.5rem 1.25rem}.streams__item{padding:0}.streams__btn{padding:.75rem 1.25rem;width:100%;text-align:left}.active .streams__btn{color:#fff}.mini-player{display:flex;align-items:center;justify-content:space-between}.mini-player button{padding:10px 20px}.mini-player__left{max-width:calc(100vw - 160px);margin-right:1rem}.drawer{z-index:5!important;height:5rem;cursor:pointer;touch-action:none;display:flex;align-items:center;transition:height .25s ease-out}.drawer>.mini-player{flex-grow:1;margin:0 .5rem 0 .25rem}.drawer--open{height:100%;flex-direction:column;justify-content:flex-end}.drawer--open .player{flex-grow:1}.drawer--open .drawer__toggler{margin-bottom:20px}@media (max-width:770px){.body--drawer{overflow:hidden}}.main__primary{padding-bottom:7rem}.main__primary .player{display:none}.main__primary .streams{margin:0 auto}@media (min-width:770px){.main__primary{padding-bottom:2rem;display:flex;justify-content:space-between}.main__primary>*{min-width:0;width:100%}.main__primary .player{display:inherit;position:-webkit-sticky;position:sticky;top:6.7793rem;margin-left:2rem;height:calc(100vh - 8.7793rem);max-height:550px}.main__primary .streams{margin:0}.drawer{display:none}}html{height:100%}body{min-height:100%;overflow-y:scroll}button[disabled]{cursor:default}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
2
+ /*# sourceMappingURL=main.2ea3c026.chunk.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["navBar.scss","../_variables.scss","loader.scss","backdrop.scss","player.scss","streams.scss","miniPlayer.scss","drawer.scss","main.scss","index.scss"],"names":[],"mappings":"AAEA,QACE,iCAA2B,CAA3B,yBAA2B,CAC3B,KAAM,CACN,SAAU,CACV,kBCFe,CDKf,kBAAoB,CAEpB,oBCRoB,CCHtB,QAKE,YAAa,CCLf,kBDCE,UAAW,CACX,YAAa,CACb,sBAAuB,CACvB,kBCUkB,CAdpB,UAEE,cAAe,CACf,UAAW,CACX,WAAY,CACZ,qBAAyB,CACzB,SAAU,CACV,iBAAkB,CAClB,uBAAyB,CACzB,cAAe,CAEf,qBAAsB,CAGtB,iBAAkB,CAElB,mBACE,WAAa,CACb,kBAAmB,CACpB,gBAID,eAAgB,CCrBlB,QACE,UAAW,CACX,eAAgB,CAChB,YAAa,CACb,qBAAsB,CACtB,6BAA8B,CAC9B,kBAAmB,CACpB,aAGC,WAAY,CACb,0BAGC,aACE,YAAa,CACd,CChBH,SACE,eAAgB,CACjB,iBAGC,gBAAiB,CACjB,cAAe,CACf,qBAAuB,CACxB,eAGC,SAAU,CACX,cAGC,sBAAwB,CACxB,UAAW,CACX,eAAgB,CACjB,sBAIC,UAAW,CCxBb,aACE,YAAa,CACb,kBAAmB,CACnB,6BAA8B,CAHhC,oBAMI,iBAAkB,CACnB,mBAKD,6BAA8B,CAC9B,iBAAkB,CCXpB,QACE,mBAAqB,CACrB,WNFkB,CMGlB,cAAe,CACf,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,+BAAiC,CAPnC,qBAUI,WAAY,CACZ,uBAA0B,CAC3B,cAGC,WAAY,CACZ,qBAAsB,CACtB,wBAAyB,CAH1B,sBAMG,WAAY,CANf,+BAUG,kBAAmB,CACpB,yBAOH,cACE,eAAgB,CACjB,CChCH,eAGE,mBAAwC,CAH1C,uBAMI,YAAa,CANjB,wBAUI,aAAc,CACf,yBAID,eACE,mBAlBS,CAmBT,YAAa,CACb,6BAA8B,CAHhC,iBAMI,WAAY,CACZ,UAAW,CAPf,uBAWI,eAAgB,CAChB,uBAAgB,CAAhB,eAAgB,CAChB,aP3B8B,CO4B9B,gBAAiB,CACjB,8BAA4C,CAC5C,gBAAiB,CAhBrB,wBAoBI,QAAS,CACV,QAID,YAAa,CACd,CC7CH,KACE,WAAY,CACb,KAGC,eAAgB,CAChB,iBAAkB,CACnB,iBAGC,cAAe,CAChB,UAGC,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB","file":"main.2ea3c026.chunk.css","sourcesContent":["@import '../variables';\n\n.navbar {\n position: sticky !important;\n top: 0;\n z-index: 5;\n margin-bottom: $nav-margin;\n // The following let us have the same height on all themes.\n // 1. prevent lux to increment padding\n padding: 0.8rem 1rem;\n // 2. make darkly as high as lux\n min-height: $nav-height;\n}\n","$for-medium-up: 770px;\n$for-short-down: 430px;\n$drawer-height: 5rem;\n$nav-height: 4.7793rem; // calculated value for higher theme\n$nav-margin: 2rem;\n$nav-size: $nav-height + $nav-margin;\n",".loader {\n z-index: 10;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100vh;\n}\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 '../../variables';\n\n.player {\n width: 100%;\n max-width: 450px;\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\n@media(max-height: $for-short-down) {\n .player-logo {\n display: none;\n }\n}\n","@import '../variables';\n\n.streams {\n max-width: 450px;\n}\n\n.streams__header {\n font-size: 1.3rem;\n margin-top: 1em;\n padding: 0.5rem 1.25rem;\n}\n\n.streams__item {\n padding: 0; // transfer .list-group-item padding to .streams__btn\n}\n\n.streams__btn {\n padding: 0.75rem 1.25rem;\n width: 100%;\n text-align: left;\n}\n\n// Fix for Lux theme.\n.active .streams__btn {\n color: #fff;\n}\n",".mini-player {\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n button {\n padding: 10px 20px;\n }\n}\n\n.mini-player__left {\n // Dirty workaround for ellipsis to work\n max-width: calc(100vw - 160px);\n margin-right: 1rem;\n}\n","@import '../variables';\n\n.drawer {\n z-index: 5 !important;\n height: $drawer-height;\n cursor: pointer;\n touch-action: none; // don't scroll on touch\n display: flex;\n align-items: center;\n transition: height 0.25s ease-out;\n\n & > .mini-player {\n flex-grow: 1;\n margin: 0 0.5rem 0 0.25rem;\n }\n\n &--open {\n height: 100%;\n flex-direction: column;\n justify-content: flex-end;\n\n .player {\n flex-grow: 1;\n }\n\n .drawer__toggler {\n margin-bottom: 20px;\n }\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@media (max-width: $for-medium-up) {\n .body--drawer {\n overflow: hidden;\n }\n}\n","@import '../variables';\n\n$margin: 2rem;\n\n.main__primary {\n // Use padding instead of margin.\n // This is as workaround for Chrome 87 ignoring margin-bottom on .main__primary.\n padding-bottom: $margin + $drawer-height;\n\n .player {\n display: none;\n }\n\n .streams {\n margin: 0 auto;\n }\n}\n\n@media (min-width: $for-medium-up) {\n .main__primary {\n padding-bottom: $margin; /* no drawer */\n display: flex;\n justify-content: space-between;\n\n & > * {\n min-width: 0; /* don't get bigger when text overflows */\n width: 100%; /* divide space equally */\n }\n\n .player {\n display: inherit;\n position: sticky;\n top: $nav-size;\n margin-left: 2rem;\n height: calc(100vh - #{$nav-size + $margin});\n max-height: 550px;\n }\n\n .streams {\n margin: 0;\n }\n }\n\n .drawer {\n display: none;\n }\n}\n","html {\n height: 100%;\n}\n\nbody {\n min-height: 100%;\n overflow-y: scroll; // so elements don't move if page fits view\n}\n\nbutton[disabled] {\n cursor: default;\n}\n\n.ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n"]}