Skip to content

Commit 7b2a2db

Browse files
committed
add keyboard shortcuts and config es-lint
1 parent 4231db5 commit 7b2a2db

File tree

11 files changed

+160
-83
lines changed

11 files changed

+160
-83
lines changed

.eslintrc.json

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,34 @@
11
{
2+
"env": {
3+
"es6": true
4+
},
5+
"globals": {
6+
"document": true,
7+
"Audio": true,
8+
"window": true,
9+
"localStorage": true
10+
},
211
"extends": "eslint:recommended",
12+
"parserOptions": {
13+
"ecmaFeatures": {
14+
"experimentalObjectRestSpread": true,
15+
"jsx": true
16+
},
17+
"sourceType": "module"
18+
},
19+
"plugins": [
20+
"react"
21+
],
322
"rules": {
4-
// enable additional rules
5-
"indent": ["error", 4],
6-
"linebreak-style": ["error", "unix"],
7-
"quotes": ["error", "double"],
8-
"semi": ["error", "always"],
23+
"indent": [2, 2],
924

10-
// override default options for rules from base configurations
11-
"comma-dangle": ["error", "always"],
12-
"no-cond-assign": ["error", "always"],
13-
14-
// disable rules from base configurations
15-
"no-console": "off"
25+
"quotes": [
26+
"error",
27+
"single"
28+
],
29+
"semi": [
30+
"error",
31+
"always"
32+
]
1633
}
1734
}
Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,34 @@
11
{
2+
"env": {
3+
"es6": true
4+
},
5+
"globals": {
6+
"document": true,
7+
"Audio": true,
8+
"window": true,
9+
"localStorage": true
10+
},
211
"extends": "eslint:recommended",
12+
"parserOptions": {
13+
"ecmaFeatures": {
14+
"experimentalObjectRestSpread": true,
15+
"jsx": true
16+
},
17+
"sourceType": "module"
18+
},
19+
"plugins": [
20+
"react"
21+
],
322
"rules": {
4-
// enable additional rules
5-
"indent": ["error", 4],
6-
"linebreak-style": ["error", "unix"],
7-
"quotes": ["error", "double"],
8-
"semi": ["error", "always"],
23+
"indent": [2, 2],
924

10-
// override default options for rules from base configurations
11-
"comma-dangle": ["error", "always"],
12-
"no-cond-assign": ["error", "always"],
13-
14-
// disable rules from base configurations
15-
"no-console": "off"
25+
"quotes": [
26+
"error",
27+
"single"
28+
],
29+
"semi": [
30+
"error",
31+
"always"
32+
]
1633
}
1734
}

out/Coffitivity Offline-darwin-x64/Coffitivity Offline.app/Contents/Resources/app/src/index.js

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
import { app, BrowserWindow } from 'electron';
1+
import { app, BrowserWindow, globalShortcut } from 'electron';
22
const path = require('path');
33

4-
// Auto-updater module
4+
// Auto-updater module for electron-simple-updater package
5+
// url: https://www.npmjs.com/package/electron-simple-updater
56
const updater = require('electron-simple-updater');
6-
updater.init('path_to_release_json');
7+
updater.init('https://raw.githubusercontent.com/siwalikm/coffitivity-offline/master/src/updates.json');
78

89

910
// Keep a global reference of the window object, if you don't, the window will
@@ -49,7 +50,12 @@ const createWindow = () => {
4950
// This method will be called when Electron has finished
5051
// initialization and is ready to create browser windows.
5152
// Some APIs can only be used after this event occurs.
52-
app.on('ready', createWindow);
53+
app.on('ready', () => {
54+
createWindow();
55+
globalShortcut.register('esc', () => {
56+
BrowserWindow.getFocusedWindow().minimize();
57+
});
58+
});
5359

5460
// Quit when all windows are closed.
5561
app.on('window-all-closed', () => {
Lines changed: 51 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,64 @@
1-
let audioFile, $pause, $play, _cachedSelectedMusicId ;
1+
let audioFile, $pause, $play, _cachedSelectedMusicId;
22
let subtextArr = ['Where do you want to be teleported?',
3-
'Make your pick and start making things',
4-
'Pick your mood before you make things',
5-
'Listen awesome. Do awesome.',
6-
'Be productive today, pick your mood!',
7-
'Pick, before you start making things'];
3+
'Make your pick and start making things',
4+
'Pick your mood before you make things',
5+
'Listen awesome. Do awesome.',
6+
'Be productive today, pick your mood!',
7+
'Pick, before you start making things'
8+
];
89

910
let randomSubtext = subtextArr[Math.floor(Math.random() * subtextArr.length)];
1011

11-
document.addEventListener("DOMContentLoaded", (event) => {
12+
13+
$pause = document.querySelector('.pausePlayBtn.icon-pause');
14+
$play = document.querySelector('.pausePlayBtn.icon-play');
15+
16+
let playAudio = () => {
17+
if ($pause.style.visibility === 'visible') {
18+
audioFile.pause();
19+
$pause.style.visibility = 'hidden';
20+
$play.style.visibility = 'visible';
21+
} else {
22+
audioFile.play();
23+
$pause.style.visibility = 'visible';
24+
$play.style.visibility = 'hidden';
25+
}
26+
};
27+
document.addEventListener('DOMContentLoaded', () => {
1228
document.querySelector('.mainTitle__subtext').innerText = randomSubtext;
1329
$pause = document.querySelector('.pausePlayBtn.icon-pause');
1430
$play = document.querySelector('.pausePlayBtn.icon-play');
1531

16-
document.querySelector('.pausePlayContainer').addEventListener("click", () => {
17-
if ($pause.style.visibility === 'visible') {
18-
audioFile.pause();
19-
$pause.style.visibility = 'hidden';
20-
$play.style.visibility = 'visible';
21-
} else {
22-
audioFile.play();
23-
$pause.style.visibility = 'visible';
24-
$play.style.visibility = 'hidden';
25-
}
32+
document.querySelector('.pausePlayContainer').addEventListener('click', () => {
33+
playAudio();
2634
});
2735

28-
document.querySelector('.icon-cancel').addEventListener("click", () => {
29-
document.querySelector('.page3').style.display = 'none';
36+
document.querySelector('.icon-cancel').addEventListener('click', () => {
37+
document.querySelector('.page3').style.display = 'none';
3038
});
3139
});
3240

41+
window.addEventListener('keydown', function (e) {
42+
if (e.keyCode === 80 || e.keyCode === 32) {
43+
// keycode for 'p' button or 'spacebar' to pause-play
44+
e.preventDefault();
45+
playAudio();
46+
}
47+
48+
if (e.keyCode === 37) {
49+
// keycode for 'left-arrow' button for menu-page
50+
e.preventDefault();
51+
landingPageFn();
52+
}
53+
54+
if (e.keyCode === 39) { // keycode for 'right-arrow' button player-page
55+
e.preventDefault();
56+
playerPageFn(localStorage.getItem('musicId'));
57+
}
58+
});
59+
3360
let playerPageFn = (id) => {
61+
localStorage.setItem('musicId', id);
3462
let selectedMusicId = document.querySelector('#' + id);
3563
let selectedMusicTitle = selectedMusicId.querySelector('.musicOptBox__title').innerText;
3664
let selectedMusicDesc = selectedMusicId.querySelector('.musicOptBox__desc').innerText;
@@ -57,13 +85,13 @@ let playerPageFn = (id) => {
5785
document.querySelector('.page2').style.display = 'block';
5886
document.querySelector('.musicOptBox.page2').style.display = 'block';
5987
_cachedSelectedMusicId = selectedMusicId;
60-
}
88+
};
6189

6290
let landingPageFn = () => {
6391
document.querySelector('.page2').style.display = 'none';
6492
document.querySelector('.page1').style.display = 'block';
65-
}
93+
};
6694

67-
let aboutPageFn = () => {
95+
let aboutPageFn = () => { // eslint-disable-line
6896
document.querySelector('.page3').style.display = 'block';
69-
}
97+
};
-4.66 KB
Binary file not shown.

0 commit comments

Comments
 (0)