mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-09 01:31:46 +00:00
85 lines
2.2 KiB
JavaScript
85 lines
2.2 KiB
JavaScript
const prompt = require('custom-electron-prompt');
|
|
|
|
const { clear, connect, registerRefresh, isConnected } = require('./back');
|
|
|
|
const { setMenuOptions } = require('../../config/plugins');
|
|
const promptOptions = require('../../providers/prompt-options');
|
|
const { singleton } = require('../../providers/decorators');
|
|
|
|
const registerRefreshOnce = singleton((refreshMenu) => {
|
|
registerRefresh(refreshMenu);
|
|
});
|
|
|
|
module.exports = (win, options, refreshMenu) => {
|
|
registerRefreshOnce(refreshMenu);
|
|
|
|
return [
|
|
{
|
|
label: isConnected() ? 'Connected' : 'Reconnect',
|
|
enabled: !isConnected(),
|
|
click: connect,
|
|
},
|
|
{
|
|
label: 'Auto reconnect',
|
|
type: 'checkbox',
|
|
checked: options.autoReconnect,
|
|
click(item) {
|
|
options.autoReconnect = item.checked;
|
|
setMenuOptions('discord', options);
|
|
},
|
|
},
|
|
{
|
|
label: 'Clear activity',
|
|
click: clear,
|
|
},
|
|
{
|
|
label: 'Clear activity after timeout',
|
|
type: 'checkbox',
|
|
checked: options.activityTimoutEnabled,
|
|
click(item) {
|
|
options.activityTimoutEnabled = item.checked;
|
|
setMenuOptions('discord', options);
|
|
},
|
|
},
|
|
{
|
|
label: 'Listen Along',
|
|
type: 'checkbox',
|
|
checked: options.listenAlong,
|
|
click(item) {
|
|
options.listenAlong = item.checked;
|
|
setMenuOptions('discord', options);
|
|
},
|
|
},
|
|
{
|
|
label: 'Hide duration left',
|
|
type: 'checkbox',
|
|
checked: options.hideDurationLeft,
|
|
click(item) {
|
|
options.hideDurationLeft = item.checked;
|
|
setMenuOptions('discord', options);
|
|
},
|
|
},
|
|
{
|
|
label: 'Set inactivity timeout',
|
|
click: () => setInactivityTimeout(win, options),
|
|
},
|
|
];
|
|
};
|
|
|
|
async function setInactivityTimeout(win, options) {
|
|
const output = await prompt({
|
|
title: 'Set Inactivity Timeout',
|
|
label: 'Enter inactivity timeout in seconds:',
|
|
value: Math.round((options.activityTimoutTime ?? 0) / 1e3),
|
|
type: 'counter',
|
|
counterOptions: { minimum: 0, multiFire: true },
|
|
width: 450,
|
|
...promptOptions(),
|
|
}, win);
|
|
|
|
if (output) {
|
|
options.activityTimoutTime = Math.round(output * 1e3);
|
|
setMenuOptions('discord', options);
|
|
}
|
|
}
|