Skip to content

Commit 31cdc54

Browse files
committed
close button (ui/ux)
1 parent a9a2290 commit 31cdc54

File tree

5 files changed

+57
-3
lines changed

5 files changed

+57
-3
lines changed

assets/css/index.css

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,40 @@
1010

1111
body {
1212
overflow: hidden;
13+
}
14+
15+
#close-btn {
16+
right: 0;
17+
top: 0;
18+
position: absolute;
19+
display: none;
20+
}
21+
body:hover #close-btn {
22+
display: block;
23+
}
24+
25+
.close {
26+
width: 20px;
27+
height: 20px;
28+
border: none;
29+
background-color: transparent;
30+
position: relative;
31+
cursor: pointer;
32+
z-index: 9999999;
33+
}
34+
.close:before,
35+
.close:after {
36+
content: '';
37+
position: absolute;
38+
top: 50%;
39+
left: 50%;
40+
width: 2px;
41+
height: 12px;
42+
background-color: #cb3837;
43+
}
44+
.close:before {
45+
transform: translate(-50%, -50%) rotate(45deg);
46+
}
47+
.close:after {
48+
transform: translate(-50%, -50%) rotate(-45deg);
1349
}

index.html

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,21 @@
99
<script src="libs/js/clippy/build/clippy.min.js"></script>
1010
</head>
1111
<body>
12+
<button id="close-btn" class="close"></button>
13+
14+
<script>
15+
let longPressTimeout;
16+
document.querySelector("body").addEventListener('mousedown', function(event) {
17+
longPressTimeout = setTimeout(function() {
18+
document.querySelector("#close-btn").style.display = "block";
19+
}, 1000);
20+
});
21+
22+
document.querySelector("body").addEventListener('mouseup', function(event) {
23+
clearTimeout(longPressTimeout);
24+
});
25+
</script>
26+
1227
<script>
1328
clippy.load();
1429
clippy.load('Clippy', function(agent){

index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ const msgWelcome = `
1313
<br>
1414
<h5>Give the double-click a whirl to set the animation in motion and toggle the opening/closing of this modal.</h5>
1515
<h5>A single click sets the animation in motion.</h5>
16+
<h5>Gently guiding your mouse over Clippy or giving it a jolly good press reveals the close button.</h5>
1617
`;
1718

1819
/*** * * ***/

package.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@
88
"start": "electron .",
99
"compile_win": "electron-builder --win",
1010
"compile_win2": "electron-builder --win portable",
11-
"compile_mac": "electron-packager . --platform=darwin --ignore=/dist --icon=build/icon.icns --overwrite",
12-
"compile_mac_2": "electron-packager . --platform=mas --ignore=/dist",
13-
"compile_linux": "electron-packager . --platform=linux --ignore=/dist"
11+
"compile_linux": "electron-packager . --platform=linux --ignore=/dist --icon=resources/app/build/icon.ico"
1412
},
1513
"author": "Rantouan Achmet",
1614
"license": "GPL-3.0",

preload.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,8 @@ window.addEventListener('DOMContentLoaded', () => {
1717
ipcRenderer.invoke('dblclick');
1818
});
1919

20+
document.querySelector('#close-btn').addEventListener('click', () => {
21+
ipcRenderer.invoke('quit-app');
22+
});
23+
2024
})

0 commit comments

Comments
 (0)