[READ-ONLY] Mirror of https://github.com/probablykasper/ferrum. Music library app for Mac, Linux and Windows ferrum.kasper.space
electron linux macos music music-library music-player napi windows
0

Configure Feed

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

Mobile: Add filtering options

Kasper (Mar 10, 2026, 4:06 PM +0100) 2b873deb c735c562

+9 -5
+9 -5
mobile/src/routes/Library.svelte
··· 1 1 <script lang="ts"> 2 - import type { Snippet } from 'svelte' 2 + import { untrack, type Snippet } from 'svelte' 3 3 import { goto } from '$app/navigation' 4 4 import { page } from '$app/state' 5 5 import { ··· 51 51 $effect(() => { 52 52 if (view.kind === 'tracks') { 53 53 tracks_page_options.playlist_id = view.playlist_id 54 + untrack(() => { 55 + tracks_page_options.sort_key = 'dateAdded' 56 + tracks_page_options.sort_desc = true 57 + }) 54 58 } 55 59 }) 56 60 ··· 108 112 } 109 113 110 114 function open_playlist(id: string) { 111 - tracks_page_options.sort_key = 'dateAdded' 112 - tracks_page_options.sort_desc = false 113 - tracks_page_options.filter_query = '' 114 115 // eslint-disable-next-line svelte/no-navigation-without-resolve 115 116 goto(resolve('/') + `?view=tracks&id=${id}`) 116 117 } ··· 173 174 let scroll_container: HTMLElement | undefined = $state() 174 175 let sort_menu_open = $state(false) 175 176 const sort_options = [ 177 + { key: 'dateAdded', label: 'Date Added', default_desc: true }, 176 178 { key: 'name', label: 'Name', default_desc: false }, 177 179 { key: 'artist', label: 'Artist', default_desc: false }, 178 - { key: 'dateAdded', label: 'Date Added', default_desc: true }, 179 180 { key: 'playCount', label: 'Plays', default_desc: true }, 181 + { key: 'genre', label: 'Genre', default_desc: false }, 182 + { key: 'duration', label: 'Time', default_desc: true }, 183 + { key: 'year', label: 'Year', default_desc: true }, 180 184 ] as const 181 185 182 186 // ── Formatting ─────────────────────────────────────────────────────────────