diff --git a/ui/src/lib/stores/tracks.js b/ui/src/lib/stores/tracks.js index 54b21e2..eba859a 100644 --- a/ui/src/lib/stores/tracks.js +++ b/ui/src/lib/stores/tracks.js @@ -2,6 +2,18 @@ import { writable } from 'svelte/store'; import { getTracks } from '$lib/track' +function cmpTracks(a, b) { + if (a.enabled && !b.enabled) return -1; + if (!a.enabled && b.enabled) return 1; + + if (a.path.toLowerCase() > b.path.toLowerCase()) + return 1; + if (a.path.toLowerCase() < b.path.toLowerCase()) + return -1; + + return 0; +} + function createTracksStore() { const { subscribe, set, update } = writable({list: null}); @@ -14,6 +26,7 @@ function createTracksStore() { refresh: async () => { const list = await getTracks(); + list.sort(cmpTracks); update((m) => Object.assign(m, {list})); return list; },