* feat: add playback history provider
* feat: implement recently played section
* refactor: use route names
* feat: add stats summary and top tracks/artists/albums
* feat: add top date based filtering
* feat: add stream money calculation
* refactor: place search in mobile navbar and settings in home appbar
* feat: add individual minutes and streams page
* feat(stats): add individual minutes and streams page
* chore: default period to 1 month
* feat: add text to explain user how hypothetical fees are calculated
* chore: ensure usage of route names instead of direct paths
* cd: add cache key
* cd: remove media_kit_event_loop from git
* feat: add one additional library folder
This folder just doesn't get downloaded to.
I think I'm going to rework it so that it can be multiple folders,
but I'm going to commit my progress so far anyway.
Signed-off-by: Blake Leonard <me@blakes.dev>
* chore: update dependencies so that it builds
I'm not sure if this breaks CI or something, but I couldn't build
it locally to test my changes, so I made these changes and it
builds again.
Signed-off-by: Blake Leonard <me@blakes.dev>
* feat: index multiple folders of local music
If you used a previous commit from this branch, this is a breaking
change, because it changes the type of a configuration field. but
since this is still in development, it should be fine.
Signed-off-by: Blake Leonard <me@blakes.dev>
* refactor: manage local library in local tracks tab
This also refactors the list to use slivers instead. That's the
easiest way to have multiple scrolling lists here...
The console keeps getting spammed with some intermediate layout
error but I can't hold it long enough to figure out what's causing
it.
Signed-off-by: Blake Leonard <me@blakes.dev>
* refactor: use folder add/remove icons in library
Signed-off-by: Blake Leonard <me@blakes.dev>
* refactor: remove redundant settings page
Signed-off-by: Blake Leonard <me@blakes.dev>
* refactor: rename "Local Tracks" to just "Local"
Not sure if this would be the recommended way to do it...
Signed-off-by: Blake Leonard <me@blakes.dev>
* fix: console spam about useless Expanded
Signed-off-by: Blake Leonard <me@blakes.dev>
* chore: remove completed TODO
Signed-off-by: Blake Leonard <me@blakes.dev>
* chore: use new Platform constants; regenerate plugins
Signed-off-by: Blake Leonard <me@blakes.dev>
* refactor: put local libraries on separate pages
Signed-off-by: Blake Leonard <me@blakes.dev>
---------
Signed-off-by: Blake Leonard <me@blakes.dev>
* feat: add connect server support
* feat: add ability discover and connect to same network Spotube(s) and sync queue
* feat(connect): add player controls, shuffle, loop, progress bar and queue support
* feat: make control page adaptive
* feat: add volume control support
* cd: upgrade macos runner version
* chore: upgrade inappwebview version to 6
* feat: customized devices button
* feat: add user icon next to devices button
* feat: add play in remote device support
* feat: show alert when new client connects
* fix: ignore the device itself from broadcast list
* fix: volume control not working
* feat: add ability to select current device's output speaker
* feat: add riverpod based favorite album provider
* feat: add album is saved, new releases and tracks providers
* feat: add artist related providers
* feat: add all categories providers
* feat: add lyrics provider
* feat: add playlist related providers
* feat: add search provider
* feat: add view and spotify friends provider
* feat: add playlist create and update and favorite handlers
* feat: use providers in home screen
* chore: fix dart lint issues
* feat: use new providers for playlist and albums screen
* feat: use providers in artist page
* feat: use providers on library page
* feat: use provider for playlist and album card and heart button
* feat: use provider in search page
* feat: use providers in generate playlist
* feat: use provider in lyrics screen
* feat: use provider for create playlist
* feat: use provider in add track dialog
* feat: use providers in remaining pages and remove fl_query
* fix: remove direct access to provider.value
* fix: glitching when loading
* fix: user album loading next page indicator
* feat: make many provider autoDispose after 5 minutes of no usage
* fix: ignore episodes in tracks
* feat: implement new SourcedTrack for youtube and piped
* refactor: replace old spotube track with sourced track
* feat: add jiosaavn as audio source
* fix: download not working other than jiosaavn
* Merge branch 'dev' into feat-jiosaavn
* feat: add codec configuration in settings
* fix: show no value for codec configuration in smaller screen
* feat: implement configurable codec for download & streaming music
* feat: concurrent download service & download prorvider
* feat: implement chunked downloader
* fix: no audio-tags in Linux and duration not showing up for local tracks
* feat: show matching tracks in queue as well
* feat: always uses piped api for download to avoid IP block
* fix: invalid downloadCount
* chore: add playstore appbundle build step without update checker
* chore: only include playstore upload binary for now
* chore: update build number to patch 1
* chore: rollback
* chore: rollback upload artifact