···66- Add playback history to queue panel
77- Redesign queue panel
88- Add queue panel slide-out transition
99+- Add `Ctrl+Tab` and `Ctrl+Shift+Tab` to select next/previous playlist
910- Make time & volume sliders look ok
1011- Fix dragging tracks to up next/autoplay queue boundary
1112- Fix button edge not clickable due to zoom
+15-2
src/components/Sidebar.svelte
···22 import SidebarItems, { type SidebarItemHandle } from './SidebarItems.svelte'
33 import Filter from './Filter.svelte'
44 import { isMac, trackListsDetailsMap, page, movePlaylist } from '../lib/data'
55- import { ipcRenderer } from '../lib/window'
55+ import { ipcListen, ipcRenderer } from '../lib/window'
66 import { writable } from 'svelte/store'
77- import { setContext, tick } from 'svelte'
77+ import { onDestroy, setContext, tick } from 'svelte'
88 import { dragged } from '../lib/drag-drop'
99 import { tracklist_actions } from '@/lib/page'
1010···1313 }
1414 let viewport: HTMLElement
1515 const itemHandle = setContext('itemHandle', writable(null as SidebarItemHandle | null))
1616+1717+ onDestroy(
1818+ ipcListen('Select Previous List', () => {
1919+ console.log('Select Previous List')
2020+ $itemHandle?.handleKey(new KeyboardEvent('keydown', { key: 'ArrowUp' }))
2121+ }),
2222+ )
2323+ onDestroy(
2424+ ipcListen('Select Next List', () => {
2525+ console.log('Select Next List')
2626+ $itemHandle?.handleKey(new KeyboardEvent('keydown', { key: 'ArrowDown' }))
2727+ }),
2828+ )
16291730 async function onContextMenu() {
1831 await ipcRenderer.invoke('showTracklistMenu', {