|
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 ───────────────────────────────────────────────────────────── |
|
0 commit comments