From 933d0e6a40921d4a66c53cd5c90c482be7bc9acf Mon Sep 17 00:00:00 2001 From: Gareth Dawson Date: Sun, 15 Feb 2026 21:53:00 +0000 Subject: [PATCH] fix: resolve all yarn lint errors --- js/app.js | 21 +------------ js/audio-context.js | 3 -- js/events.js | 8 ----- js/md5.js | 2 +- js/ui-interactions.js | 2 +- js/ui.js | 8 +---- styles.css | 73 ++++++++++++------------------------------- 7 files changed, 24 insertions(+), 93 deletions(-) diff --git a/js/app.js b/js/app.js index 7b54c69..1d37ba6 100644 --- a/js/app.js +++ b/js/app.js @@ -25,36 +25,21 @@ import './smooth-scrolling.js'; import { initTracker } from './tracker.js'; import { initAnalytics, - trackNavigate, trackSidebarNavigation, trackCreatePlaylist, - trackEditPlaylist, - trackDeletePlaylist, trackCreateFolder, - trackDeleteFolder, - trackImportCSV, trackImportJSPF, trackSelectLocalFolder, trackChangeLocalFolder, - trackPlayAlbum, - trackShuffleLikedTracks, - trackDownloadLikedTracks, - trackDownloadDiscography, trackOpenModal, trackCloseModal, - trackClearHistory, - trackClearRecent, trackKeyboardShortcut, trackPwaUpdate, trackDismissUpdate, trackOpenFullscreenCover, trackCloseFullscreenCover, - trackToggleLyricsFullscreen, - trackPlayPlaylist, - trackPlayArtistRadio, trackOpenLyrics, trackCloseLyrics, - trackContextMenuAction, } from './analytics.js'; // Lazy-loaded modules @@ -384,7 +369,7 @@ document.addEventListener('DOMContentLoaded', async () => { // Track sidebar navigation clicks document.querySelectorAll('.sidebar-nav a').forEach((link) => { - link.addEventListener('click', (e) => { + link.addEventListener('click', () => { const href = link.getAttribute('href'); if (href && !href.startsWith('http')) { const item = link.querySelector('span')?.textContent || href; @@ -2157,10 +2142,6 @@ async function parseJSPF(jspfText, api, onProgress) { const trackCreator = jspfTrack.creator; const trackAlbum = jspfTrack.album; - // Support ListenBrainz extension data - const lbExtension = jspfTrack.extension?.['https://musicbrainz.org/doc/jspf#track']; - const mbRecordingId = lbExtension?.artist_identifiers?.[0]?.split('/').pop(); - if (onProgress) { onProgress({ current: i, diff --git a/js/audio-context.js b/js/audio-context.js index 519abbd..666e810 100644 --- a/js/audio-context.js +++ b/js/audio-context.js @@ -4,9 +4,6 @@ import { equalizerSettings, monoAudioSettings } from './storage.js'; -// Standard 16-band ISO center frequencies (Hz) - for reference -const DEFAULT_EQ_FREQUENCIES = [25, 40, 63, 100, 160, 250, 400, 630, 1000, 1600, 2500, 4000, 6300, 10000, 16000, 20000]; - // Generate frequency array for given number of bands using logarithmic spacing function generateFrequencies(bandCount, minFreq = 20, maxFreq = 20000) { const frequencies = []; diff --git a/js/events.js b/js/events.js index f37b5a6..49fe5db 100644 --- a/js/events.js +++ b/js/events.js @@ -26,11 +26,9 @@ import { trackSkipTrack, trackToggleShuffle, trackToggleRepeat, - trackToggleMute, trackSeek, trackAddToQueue, trackPlayNext, - trackClearQueue, trackLikeTrack, trackUnlikeTrack, trackLikeAlbum, @@ -51,13 +49,7 @@ import { trackOpenInNewTab, trackSetSleepTimer, trackCancelSleepTimer, - trackOpenSidePanel, - trackCloseSidePanel, - trackOpenQueue, - trackCloseQueue, trackStartMix, - trackChangeSort, - trackToggleWaveform, } from './analytics.js'; let currentTrackIdForWaveform = null; diff --git a/js/md5.js b/js/md5.js index c7b5df9..4820af1 100644 --- a/js/md5.js +++ b/js/md5.js @@ -197,7 +197,7 @@ function md5(string, key, raw) { output += hexTab.charAt((x >>> 4) & 0x0f) + hexTab.charAt(x & 0x0f); } return output; - } catch (e) { + } catch { return ''; } } diff --git a/js/ui-interactions.js b/js/ui-interactions.js index d06adb6..b795529 100644 --- a/js/ui-interactions.js +++ b/js/ui-interactions.js @@ -16,7 +16,7 @@ import { downloadQualitySettings, contentBlockingSettings } from './storage.js'; import { db } from './db.js'; import { syncManager } from './accounts/pocketbase.js'; import { showNotification, downloadTracks } from './downloads.js'; -import { trackSearchTabChange, trackOpenQueue, trackCloseQueue, trackChangeSort } from './analytics.js'; +import { trackSearchTabChange, trackOpenQueue } from './analytics.js'; export function initializeUIInteractions(player, api, ui) { const sidebar = document.querySelector('.sidebar'); diff --git a/js/ui.js b/js/ui.js index 20c2765..f01c0e2 100644 --- a/js/ui.js +++ b/js/ui.js @@ -46,13 +46,7 @@ import { createProjectCardHTML, createTrackFromSong, } from './tracker.js'; -import { - trackSearch, - trackSearchTabChange, - trackClearSearchHistory, - trackClickSearchHistory, - trackChangeSort, -} from './analytics.js'; +import { trackSearch, trackChangeSort } from './analytics.js'; fontSettings.applyFont(); fontSettings.applyFontSize(); diff --git a/styles.css b/styles.css index f3c584c..67d6256 100644 --- a/styles.css +++ b/styles.css @@ -356,21 +356,36 @@ kbd { .sidebar-nav.main { flex: 1; + flex-shrink: 0; } .sidebar-bottom-container { margin-top: auto; display: flex; flex-direction: column; + flex: 1; + min-height: 0; } .sidebar-nav-bottom { margin-top: auto; padding-top: 1rem; + flex: 0 0 auto; + border-top: 1px solid var(--border); + background: var(--background); + position: relative; +} + +.sidebar-nav-bottom::before { + content: ''; + display: block; + height: 0.5rem; + margin-top: -0.5rem; } .sidebar-nav.bottom { - margin-top: 0; + margin: 0; + padding: 0; } .main-content { @@ -538,9 +553,11 @@ kbd { #pinned-items-nav { margin-top: auto; - flex-shrink: 1; - overflow-y: auto; min-height: 0; + flex: 1 1 auto; + margin-bottom: 0; + padding-bottom: 0; + overflow: visible; } #pinned-items-list .nav-item a { @@ -6423,53 +6440,3 @@ textarea:focus { #custom-tooltip.visible { opacity: 1; } - -/* idec this collides with other styles atp if it works it works */ -.sidebar-content { - display: flex; - flex-direction: column; - height: 100%; -} - -.sidebar-nav.main { - flex-shrink: 0; -} - -.sidebar-bottom-container { - flex: 1; - display: flex; - flex-direction: column; - min-height: 0; -} - -#pinned-items-nav { - flex: 1 1 auto; - min-height: 0; - margin-bottom: 0; - padding-bottom: 0; - overflow: visible; -} - -.sidebar-nav-bottom { - flex: 0 0 auto; - margin-top: auto; - padding: 1rem 0 0; - border-top: 1px solid var(--border); - background: var(--background); - position: relative; -} - -.sidebar-nav-bottom::before { - content: ''; - display: block; - height: 0.5rem; - margin-top: -0.5rem; -} - -.sidebar-nav.bottom { - margin: 0; - padding: 0; -} - -#sidebar-nav-discord { -}