diff --git a/index.js b/index.js index f93b7d7b..c09859bc 100644 --- a/index.js +++ b/index.js @@ -84,6 +84,22 @@ function onClosed() { function loadPlugins(win) { injectCSS(win.webContents, path.join(__dirname, "youtube-music.css")); + // Load user CSS + const cssFiles = config.get("options.cssFiles"); + if (Array.isArray(cssFiles)) { + cssFiles.forEach((cssFile) => { + fileExists( + cssFile, + () => { + injectCSS(win.webContents, cssFile); + }, + () => { + console.warn(`CSS file "${cssFile}" does not exist, ignoring`); + } + ); + }); + } + win.webContents.once("did-finish-load", () => { if (is.dev()) { console.log("did finish load"); diff --git a/plugins/utils.js b/plugins/utils.js index 735af3b9..5ccf1839 100644 --- a/plugins/utils.js +++ b/plugins/utils.js @@ -32,9 +32,16 @@ module.exports.listenAction = (channel, callback) => { return ipcMain.on(channel, callback); }; -module.exports.fileExists = (path, callbackIfExists) => { +module.exports.fileExists = ( + path, + callbackIfExists, + callbackIfError = undefined +) => { fs.access(path, fs.F_OK, (err) => { if (err) { + if (callbackIfError) { + callbackIfError(); + } return; }