diff --git a/app/dock-menu.js b/app/dock-menu.js index f64cb5e..6f7470a 100644 --- a/app/dock-menu.js +++ b/app/dock-menu.js @@ -16,6 +16,12 @@ module.exports = function dockMenu(soundcloud) { soundcloud.likeUnlike() } }, + { + label: 'Repost', + click() { + soundcloud.repost() + } + }, { label: 'Next', click() { diff --git a/app/main.js b/app/main.js index c8338b3..94a8a99 100644 --- a/app/main.js +++ b/app/main.js @@ -135,6 +135,10 @@ app.on('ready', () => { soundcloud.likeUnlike() }) + menu.events.on('repost', () => { + soundcloud.repost() + }) + menu.events.on('nextTrack', () => { soundcloud.nextTrack() }) diff --git a/app/menu.js b/app/menu.js index 28c685c..82f8ea5 100644 --- a/app/menu.js +++ b/app/menu.js @@ -114,6 +114,13 @@ function buildMenu(options) { events.emit('likeUnlike') } }, + { + label: 'Repost', + accelerator: 'R', + click() { + events.emit('repost') + } + }, { label: 'Next', accelerator: 'Shift+Right', diff --git a/app/res/like.png b/app/res/like.png index 445ada3..bc5fb74 100644 Binary files a/app/res/like.png and b/app/res/like.png differ diff --git a/app/res/liked.png b/app/res/liked.png new file mode 100644 index 0000000..02f0cb9 Binary files /dev/null and b/app/res/liked.png differ diff --git a/app/res/next.png b/app/res/next.png index a56ce9c..fcefc65 100644 Binary files a/app/res/next.png and b/app/res/next.png differ diff --git a/app/res/pause.png b/app/res/pause.png index 02b2911..2ab1f08 100644 Binary files a/app/res/pause.png and b/app/res/pause.png differ diff --git a/app/res/play.png b/app/res/play.png index b152cf2..21ef489 100644 Binary files a/app/res/play.png and b/app/res/play.png differ diff --git a/app/res/previous.png b/app/res/previous.png index d6767cd..ca95008 100644 Binary files a/app/res/previous.png and b/app/res/previous.png differ diff --git a/app/res/repost.png b/app/res/repost.png new file mode 100644 index 0000000..328cb68 Binary files /dev/null and b/app/res/repost.png differ diff --git a/app/res/reposted.png b/app/res/reposted.png new file mode 100644 index 0000000..b5e969d Binary files /dev/null and b/app/res/reposted.png differ diff --git a/app/soundcloud.js b/app/soundcloud.js index aba777a..abb2767 100644 --- a/app/soundcloud.js +++ b/app/soundcloud.js @@ -26,6 +26,10 @@ module.exports = class SoundCloud extends Events { this.trigger('L') } + repost() { + this.trigger('R') + } + nextTrack() { this.trigger('J') } diff --git a/app/touch-bar-menu.js b/app/touch-bar-menu.js index 0d071b1..b9cf397 100644 --- a/app/touch-bar-menu.js +++ b/app/touch-bar-menu.js @@ -3,7 +3,7 @@ const { TouchBar } = require('electron') const { TouchBarButton, TouchBarLabel, TouchBarSpacer } = TouchBar -const MAX_TITLE_LENGTH = 38 +const MAX_TITLE_LENGTH = 39 module.exports = function touchBarMenu(window, soundcloud) { const nextTrack = new TouchBarButton({ @@ -34,6 +34,13 @@ module.exports = function touchBarMenu(window, soundcloud) { } }) + const repost = new TouchBarButton({ + icon: `${__dirname}/res/repost.png`, + click: () => { + soundcloud.repost() + } + }) + const trackInfo = new TouchBarLabel() soundcloud.on('play', ({ title, subtitle }) => { @@ -50,6 +57,7 @@ module.exports = function touchBarMenu(window, soundcloud) { playPause, nextTrack, likeUnlike, + repost, new TouchBarSpacer({ size: 'flexible' }), trackInfo, new TouchBarSpacer({ size: 'flexible' })