A music player that connects to your cloud/distributed storage.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: proper view transitions

+17 -3
+3 -3
src/_includes/layouts/diffuse.vto
··· 37 37 38 38 <!-- Styles --> 39 39 {{ for url of styles }} 40 - <link rel="stylesheet" href="{{ url }}" /> 40 + <link rel="stylesheet" href="{{ url }}" blocking="render" /> 41 41 {{ /for }} 42 42 </head> 43 43 <body> ··· 45 45 46 46 <!-- Make every touched URL available offline --> 47 47 <do-offline></do-offline> 48 - <script src="components/orchestrator/offline/element.js" type="module"></script> 48 + <script src="components/orchestrator/offline/element.js" type="module" blocking="render"></script> 49 49 50 50 <!-- Scripts --> 51 51 {{ for url of scripts }} 52 - <script src="{{ url }}" type="module"></script> 52 + <script src="{{ url }}" type="module" blocking="render"></script> 53 53 {{ /for }} 54 54 </body> 55 55 </html>
+10
src/index.vto
··· 48 48 desc: > 49 49 Generate tracks based on HTTPS servers that provide JSON (directory) listings. 50 50 todo: true 51 + - url: "components/input/icecast/element.js" 52 + title: "Icecast" 53 + desc: > 54 + Icecast internet radio streams. Fetches ICY metadata to populate track information. 51 55 - url: "components/input/local/element.js" 52 56 title: "Local" 53 57 desc: > ··· 80 84 - url: "components/orchestrator/media-session/element.js" 81 85 title: "Media Session" 82 86 desc: "Keeps the browser/os media session in sync with queue and audio state. Adds handlers for previous, next, seek to, etc." 87 + - url: "components/orchestrator/offline/element.js" 88 + title: "Offline" 89 + desc: "Registers a service worker that makes the page available offline. Resources (except audio & video) are cached as they load and served from cache when offline." 83 90 - url: "components/orchestrator/output/element.js" 84 91 title: "Output" 85 92 desc: "**A default output configuration.** Contains all the outputs provided here along with the relevant transformers." 93 + - url: "components/orchestrator/path-collections/element.js" 94 + title: "Path Collections" 95 + desc: "Wraps an output element to generate ephemeral playlists based on the first path segment of each track's URI. Ephemeral items are excluded from storage." 86 96 - url: "components/orchestrator/process-tracks/element.js" 87 97 title: "Process inputs into tracks" 88 98 desc: "Whenever the cached tracks are initially loaded through the passed output element it will list tracks by using the passed input element. Afterwards it loops over all tracks and checks if metadata needs to be fetched. If anything has changed, it'll pass the results to the output element."
+4
src/styles/diffuse/page.css
··· 1 + @view-transition { 2 + navigation: auto; 3 + } 4 + 1 5 body { 2 6 background-color: var(--bg-color); 3 7 color: var(--text-color);