···6767- [Node.js](https://nodejs.org/) programming language with the [Yarn](https://yarnpkg.com/) package manager
6868- [Just](https://github.com/casey/just) command runner (improved `make`)
6969- [Devd](https://github.com/cortesi/devd) web server for development (optional)
7070+- [Elm Format](https://github.com/avh4/elm-format) elm code formatter (optional)
7071- [Watchexec](https://github.com/watchexec/watchexec) watching for file changes (optional)
7172- [Elm Proofread](https://github.com/icidasset/elm-proofread) documentation tests (optional)
7273
···33import Keyboard
44import Maybe.Extra as Maybe
55import Return
66-import Return.Ext as Return exposing (communicate)
66+import Return.Ext as Return
77import UI.Alfred.State as Alfred
88import UI.Authentication as Authentication
99import UI.Interface.State exposing (hideOverlay)
+1-8
src/Applications/UI/Alfred/State.elm
···33import Alfred exposing (Alfred)
44import Browser.Dom as Dom
55import Chunky exposing (..)
66-import Css.Classes as C
77-import Html exposing (Html, text)
88-import Html.Attributes exposing (autofocus, id, placeholder, type_)
99-import Html.Events exposing (onInput)
1010-import Html.Ext exposing (onTapPreventDefault)
1111-import Keyboard
126import List.Extra as List
1313-import Material.Icons as Icons
147import Material.Icons.Types exposing (Coloring(..))
1515-import Return exposing (andThen, return)
88+import Return exposing (return)
169import Return.Ext as Return
1710import String.Ext as String
1811import Task
-2
src/Applications/UI/Audio/State.elm
···2233import Dict
44import LastFm
55-import Management
65import Maybe.Extra as Maybe
77-import Monocle.Lens as Lens exposing (Lens)
86import Return exposing (return)
97import Return.Ext as Return exposing (communicate)
108import UI.Ports as Ports
+1-2
src/Applications/UI/Authentication/State.elm
···44import Common exposing (Switch(..))
55import Http
66import Json.Decode as Json
77-import Monocle.Lens as Lens
87import Notifications
98import Return exposing (andThen, return)
1010-import Return.Ext as Return exposing (communicate)
99+import Return.Ext as Return
1110import UI.Common.State as Common exposing (showNotification, showNotificationWithModel)
1211import UI.Reply as Reply exposing (Reply(..))
1312import UI.Reply.Translate as Reply
+2-2
src/Applications/UI/Backdrop.elm
···11module UI.Backdrop exposing (..)
2233import Chunky exposing (..)
44-import Color exposing (Color)
44+import Color
55import Css.Classes as C
66import Html exposing (Html)
77import Html.Attributes exposing (src, style)
88import Html.Events exposing (on)
99import Html.Lazy as Lazy
1010import Json.Decode
1111-import Return exposing (andThen, return)
1111+import Return exposing (return)
1212import Return.Ext as Return
1313import UI.Ports as Ports
1414import UI.Reply as Reply exposing (Reply(..))
+1-6
src/Applications/UI/Equalizer/State.elm
···11module UI.Equalizer.State exposing (..)
2233-import Color exposing (Color)
44-import Color.Ext as Color
55-import Coordinates exposing (Coordinates)
33+import Coordinates
64import Equalizer exposing (..)
75import Html.Events.Extra.Pointer as Pointer
88-import Json.Decode as Decode
99-import Management
1010-import Material.Icons as Icons
116import Return exposing (andThen, return)
127import UI.Ports as Ports
138import UI.Reply exposing (Reply(..))
+3-12
src/Applications/UI/EtCetera/State.elm
···2233import Alien
44import Common exposing (Switch(..))
55-import Debouncer.Basic as Debouncer
66-import Maybe.Extra as Maybe
75import Monocle.Lens as Lens
86import Notifications
99-import Return exposing (return)
1010-import Return.Ext as Return exposing (communicate)
77+import Return
88+import Return.Ext as Return
119import Time
1210import UI.Authentication as Authentication
1313-import UI.Common.State as Common exposing (modifySingleton)
1414-import UI.DnD as DnD
1515-import UI.Page as Page
1111+import UI.Common.State as Common
1612import UI.Ports as Ports
1717-import UI.Queue as Queue
1818-import UI.Queue.State as Queue
1919-import UI.Reply as Reply
2013import UI.Sources.State as Sources
2121-import UI.Tracks as Tracks
2222-import UI.Tracks.State as Tracks
2314import UI.Types as UI exposing (..)
2415import User.Layer exposing (..)
2516
+1-5
src/Applications/UI/Interface/State.elm
···2233import Common exposing (Switch(..))
44import Debouncer.Basic as Debouncer
55-import Maybe.Extra as Maybe
66-import Monocle.Lens as Lens
75import Return exposing (return)
88-import Return.Ext as Return exposing (communicate)
66+import Return.Ext as Return
97import UI.Common.State as Common exposing (modifySingleton)
108import UI.DnD as DnD
119import UI.Page as Page
1212-import UI.Ports as Ports
1310import UI.Queue as Queue
1411import UI.Queue.State as Queue
1515-import UI.Sources.State as Sources
1612import UI.Tracks as Tracks
1713import UI.Tracks.Scene.List
1814import UI.Tracks.State as Tracks
+1-2
src/Applications/UI/Playlists/State.elm
···66import Html.Events.Extra.Mouse as Mouse
77import Json.Encode
88import List.Extra as List
99-import Monocle.Lens as Lens
109import Notifications
1110import Playlists exposing (..)
1211import Playlists.Encoding as Playlists
1312import Return exposing (andThen, return)
1414-import Return.Ext as Return exposing (communicate)
1313+import Return.Ext as Return
1514import UI.Common.State as Common
1615import UI.Page as Page
1716import UI.Playlists.ContextMenu as Playlists
-3
src/Applications/UI/Playlists/View.elm
···44import Color exposing (Color)
55import Color.Ext as Color
66import Common
77-import Conditional exposing (ifThenElse)
88-import Coordinates
97import Css.Classes as C
108import Html exposing (Html, text)
119import Html.Attributes exposing (href, placeholder, style, value)
1210import Html.Events exposing (onInput, onSubmit)
1313-import Html.Events.Extra.Mouse as Mouse
1411import List.Extra as List
1512import Material.Icons as Icons
1613import Material.Icons.Types exposing (Coloring(..))
+2-12
src/Applications/UI/Reply/Translate.elm
···66import Chunky exposing (..)
77import Common exposing (Switch(..))
88import Conditional exposing (..)
99-import ContextMenu exposing (ContextMenu)
1010-import Css exposing (url)
1111-import Css.Classes as C
1212-import Debouncer.Basic as Debouncer
139import Dict
1410import Dict.Ext as Dict
1511import File.Download
1612import File.Select
1717-import Html exposing (Html, section)
1818-import Html.Attributes exposing (class, id, style)
1919-import Html.Events exposing (on, onClick)
2020-import Html.Events.Extra.Pointer as Pointer
2121-import Html.Lazy as Lazy
1313+import Html.Attributes exposing (id)
2214import Json.Encode
2315import LastFm
2416import List.Ext as List
···4436import UI.Common.State exposing (showNotification, showNotificationWithModel)
4537import UI.Demo as Demo
4638import UI.Interface.State as Interface
4747-import UI.Navigation as Navigation
4839import UI.Notifications
4949-import UI.Page as Page
5040import UI.Playlists.Alfred
5141import UI.Playlists.ContextMenu as Playlists
5242import UI.Playlists.Directory
···6353import UI.Tracks.Scene.List
6454import UI.Tracks.State as Tracks
6555import UI.Types as UI exposing (..)
6666-import Url exposing (Protocol(..), Url)
5656+import Url exposing (Protocol(..))
6757import Url.Ext as Url
6858import User.Layer exposing (..)
6959import User.Layer.Methods.RemoteStorage as RemoteStorage
+2-3
src/Applications/UI/Services/State.elm
···2233import Http
44import LastFm
55-import Monocle.Lens as Lens
65import Notifications
77-import Return exposing (andThen, return)
88-import Return.Ext as Return exposing (communicate)
66+import Return exposing (andThen)
77+import Return.Ext as Return
98import UI.Common.State as Common exposing (showNotification)
109import UI.Reply exposing (Reply(..))
1110import UI.Types as UI exposing (Manager, Msg(..))
+3-3
src/Applications/UI/Tracks/State.elm
···33import ContextMenu
44import List.Ext as List
55import List.Extra as List
66-import Monocle.Lens as Lens exposing (Lens)
66+import Monocle.Lens as Lens
77import Notifications
88-import Return exposing (andThen, return)
99-import Return.Ext as Return exposing (communicate)
88+import Return
99+import Return.Ext as Return
1010import UI.Common.State as Common exposing (showNotification)
1111import UI.Reply as Reply exposing (Reply(..))
1212import UI.Tracks as Tracks
-17
src/Applications/UI/Types.elm
···1010import ContextMenu exposing (ContextMenu)
1111import Coordinates exposing (Viewport)
1212import Css exposing (url)
1313-import Css.Classes as C
1413import Debouncer.Basic as Debouncer exposing (Debouncer)
1514import Dict exposing (Dict)
1616-import Dict.Ext as Dict
1715import Equalizer exposing (Knob)
1816import File exposing (File)
1919-import Html exposing (Html, section)
2020-import Html.Attributes exposing (class, id, style)
2121-import Html.Events exposing (on, onClick)
2217import Html.Events.Extra.Mouse as Mouse
2318import Html.Events.Extra.Pointer as Pointer
2424-import Html.Lazy as Lazy
2519import Http
2620import Json.Decode
2721import Keyboard
2822import LastFm
2929-import List.Ext as List
3030-import List.Extra as List
3123import Management
3232-import Maybe.Extra as Maybe
3324import Notifications exposing (Notification)
3425import Playlists exposing (Playlist, PlaylistTrack)
3535-import Playlists.Encoding as Playlists
3626import Queue
3727import Sources
3828import Sources.Encoding as Sources
3939-import String.Ext as String
4029import Time
4130import Tracks
4231import Tracks.Encoding as Tracks
4332import UI.Authentication as Authentication
4433import UI.Authentication.ContextMenu as Authentication
4545-import UI.Demo as Demo
4646-import UI.DnD as DnD
4747-import UI.Navigation as Navigation
4834import UI.Notifications
4935import UI.Page as Page exposing (Page)
5050-import UI.Playlists.ContextMenu as Playlists
5151-import UI.Ports as Ports
5236import UI.Queue as Queue
5337import UI.Queue.ContextMenu as Queue
5438import UI.Reply as Reply exposing (Reply(..))
···5741import UI.Tracks as Tracks
5842import UI.Tracks.ContextMenu as Tracks
5943import Url exposing (Protocol(..), Url)
6060-import Url.Ext as Url
6144import User.Layer exposing (..)
6245import User.Layer.Methods.RemoteStorage as RemoteStorage
6346
+1-4
src/Applications/UI/User/State/Import.elm
···66import LastFm
77import List.Extra as List
88import Maybe.Extra as Maybe
99-import Monocle.Lens as Lens
109import Notifications
1110import Process
1211import Return exposing (andThen, return)
1312import Return.Ext as Return exposing (communicate)
1413import Return3
1514import Task
1616-import UI.Audio.State as Audio
1715import UI.Backdrop as Backdrop
1816import UI.Common.State as Common exposing (showNotification)
1917import UI.Equalizer.State as Equalizer
2020-import UI.Page as Page exposing (Page)
1818+import UI.Page as Page
2119import UI.Playlists.Directory
2222-import UI.Playlists.State as Playlists
2320import UI.Ports as Ports
2421import UI.Reply exposing (..)
2522import UI.Reply.Translate as Reply
-1
src/Library/Icons.elm
···11module Icons exposing (..)
2233import Chunky exposing (slaby)
44-import Color exposing (Color)
54import Html
65import Material.Icons.Types exposing (Coloring)
76import VirtualDom