refactor(utils): split componentHelpers grab-bag to owning layers

Per-file routing of the 9-file utils/componentHelpers grab-bag, each driven by
its verified consumer set:
- contextMenu{Actions,Helpers} → features/contextMenu/utils (sole consumer)
- queuePanelHelpers → features/queue/utils (sole consumer)
- nowPlayingHelpers → features/nowPlaying/utils; isRealArtistImage split out to
  cover/ (consumed by cover/artistHero, a lower layer)
- appUpdaterHelpers(+test) + listReorder(+test) → lib/util (config/ + lib/hooks
  consume them; pure)
- playlistDetailHelpers → lib/format (consumed by 3 features; pure)
- appShellHelpers → app/ (app-shell consumers only)
- userMgmtHelpers left in place: consumed by the a11y-HELD SongInfoModal, so a
  move would rewrite a do-not-touch file (same block as licensesData).

Pure moves; tests pass unmodified.
This commit is contained in:
Psychotoxical
2026-06-30 21:05:16 +02:00
parent f43dcc0e76
commit fbca1831a1
46 changed files with 56 additions and 56 deletions
@@ -9,7 +9,7 @@ import { showToast } from '@/lib/dom/toast';
import {
confirmAddAllDuplicates,
isSmartPlaylistName,
} from '@/utils/componentHelpers/contextMenuHelpers';
} from '@/features/contextMenu/utils/contextMenuHelpers';
interface Props {
artistIds: string[];