diff --git a/plugins/notifications/interactive.ts b/plugins/notifications/interactive.ts index 99d7fcc048..cfb2247b30 100644 --- a/plugins/notifications/interactive.ts +++ b/plugins/notifications/interactive.ts @@ -9,6 +9,7 @@ import getSongControls from '../../providers/song-controls'; import registerCallback, { SongInfo } from '../../providers/song-info'; import { changeProtocolHandler } from '../../providers/protocol-handler'; import { setTrayOnClick, setTrayOnDoubleClick } from '../../tray'; +import { getMediaIconLocation } from '../utils'; let songControls: ReturnType; let savedNotification: Notification | undefined; @@ -151,11 +152,6 @@ const getXml = (songInfo: SongInfo, iconSrc: string) => { } } }; - -const iconLocation = app.isPackaged - ? path.resolve(app.getPath('userData'), 'icons') - : path.resolve(__dirname, 'assets', 'media-icons-black'); - const display = (kind: keyof typeof icons) => { if (config.get('toastStyle') === ToastStyles.legacy) { return `content="${icons[kind]}"`; @@ -163,7 +159,7 @@ const display = (kind: keyof typeof icons) => { return `\ content="${config.get('hideButtonText') ? '' : kind.charAt(0).toUpperCase() + kind.slice(1)}"\ - imageUri="file:///${path.resolve(__dirname, iconLocation, `${kind}.png`)}" + imageUri="file:///${path.resolve(getMediaIconLocation(), `${kind}.png`)}" `; }; diff --git a/plugins/notifications/utils.ts b/plugins/notifications/utils.ts index 1dc60634ed..5b69967c06 100644 --- a/plugins/notifications/utils.ts +++ b/plugins/notifications/utils.ts @@ -7,6 +7,7 @@ import config from './config'; import { cache } from '../../providers/decorators'; import { SongInfo } from '../../providers/song-info'; +import { getMediaIconLocation } from '../utils'; const icon = 'assets/youtube-music.png'; const userData = app.getPath('userData'); @@ -88,10 +89,9 @@ export const saveTempIcon = () => { continue; } - const iconPath = path.resolve(__dirname, 'assets', 'media-icons-black', `${kind}.png`); + const iconPath = path.resolve(getMediaIconLocation(), `${kind}.png`); fs.mkdirSync(path.dirname(destinationPath), { recursive: true }); - fs.copyFile(iconPath, destinationPath, () => { - }); + fs.copyFile(iconPath, destinationPath, () => {}); } }; diff --git a/plugins/taskbar-mediacontrol/back.ts b/plugins/taskbar-mediacontrol/back.ts index e9364b7fcc..9579d50992 100644 --- a/plugins/taskbar-mediacontrol/back.ts +++ b/plugins/taskbar-mediacontrol/back.ts @@ -4,6 +4,7 @@ import { BrowserWindow, nativeImage } from 'electron'; import getSongControls from '../../providers/song-controls'; import registerCallback, { SongInfo } from '../../providers/song-info'; +import { getMediaIconLocation } from '../utils'; export default (win: BrowserWindow) => { let currentSongInfo: SongInfo; @@ -43,7 +44,7 @@ export default (win: BrowserWindow) => { // Util const get = (kind: string) => { - return path.join(__dirname, '../../assets/media-icons-black', `${kind}.png`); + return path.join(getMediaIconLocation(), `${kind}.png`); }; registerCallback((songInfo) => { diff --git a/plugins/utils.ts b/plugins/utils.ts index ce014325d7..96155a8bf5 100644 --- a/plugins/utils.ts +++ b/plugins/utils.ts @@ -1,13 +1,18 @@ import fs from 'node:fs'; import path from 'node:path'; -import { ipcMain, ipcRenderer } from 'electron'; +import { app, ipcMain, ipcRenderer } from 'electron'; import is from 'electron-is'; import { ValueOf } from '../utils/type-utils'; import defaultConfig from '../config/defaults'; +export const getMediaIconLocation = () => + app.isPackaged + ? path.resolve(app.getPath('userData'), 'icons') + : path.resolve(__dirname, 'assets', 'media-icons-black'); + // Creates a DOM element from an HTML string export const ElementFromHtml = (html: string): HTMLElement => { const template = document.createElement('template');