Updated 2 files and added 3 files (automated)

mane
Mia Raindrops 2 months ago
parent 4f509150ab
commit 3661eadc63
Signed by: Mia Raindrops
GPG Key ID: EFBDC68435A574B7

@ -0,0 +1,4 @@
#!/bin/bash
electron-packager --overwrite --platform darwin --arch arm64 .
electron-packager --overwrite --platform linux --arch x64 .

@ -60,12 +60,83 @@
list-style: none;
padding: 0;
}
#preload {
position: fixed;
z-index: 9999;
display: flex;
inset: 0;
background: black;
align-items: center;
justify-content: center;
cursor: none;
}
#preload-icon {
width: 20%;
pointer-events: none;
}
</style>
<script>
let server = "http://192.168.1.121:8081/";
let admin = "6c89f976-0eee-4bd9-8f55-de961d4bd905";
window.preloadWaitInterval = null;
window.preloadWaitTimeout = null;
async function startPreloadUnlock() {
document.getElementById("preload-icon").src = "./unlock.svg";
document.getElementById("preload-icon").style.opacity = "1";
window.preloadWaitInterval = setInterval(() => {
if (document.getElementById("preload-icon").style.opacity === "0") {
document.getElementById("preload-icon").style.opacity = "1";
} else if (document.getElementById("preload-icon").style.opacity === "1") {
document.getElementById("preload-icon").style.opacity = "0";
}
}, 1000);
window.preloadWaitTimeout = setTimeout(() => {
clearInterval(window.preloadWaitInterval);
clearInterval(window.authApprovalInterval);
document.getElementById("preload-icon").src = "./logo.svg";
document.getElementById("preload-icon").style.opacity = "1";
}, 30000);
let data = JSON.parse(await (await window.fetch(server + "/dev.equestria.delta.kiosk.RequestApproval/?activate&id=" + admin)).text());
window.authId = data.id;
window.authApprovalInterval = setInterval(async () => {
let data = JSON.parse(await (await window.fetch(server + "/dev.equestria.delta.kiosk.CheckApproved/?id=" + window.authId)).text());
if (data['token']) {
clearInterval(window.preloadWaitInterval);
clearInterval(window.authApprovalInterval);
document.getElementById("preload-icon").src = "./logo.svg";
document.getElementById("preload-icon").style.opacity = "1";
document.getElementById("preload").style.display = "none";
document.getElementById("video").currentTime = 0;
} else if (data['token'] === false) {
clearInterval(window.preloadWaitInterval);
clearInterval(window.authApprovalInterval);
document.getElementById("preload-icon").src = "./logo.svg";
document.getElementById("preload-icon").style.opacity = "1";
}
}, 500);
}
</script>
</head>
<body style="position: fixed;inset: 0;margin: 0;">
<div id="preload" onclick="startPreloadUnlock();">
<img id="preload-icon" alt="" src="./logo.svg">
</div>
<div id="welcome">
<video src="video.mp4" muted loop autoplay style="position: fixed;inset: 0;width: 100vw;height: 100vh;"></video>
<video id="video" src="video.mp4" muted loop autoplay style="position: fixed;inset: 0;width: 100vw;height: 100vh;"></video>
<div style="position: fixed; bottom: 20px; left: 0; right: 0; text-align: center; text-shadow: 0 0 5px white; font-size: 24px;">Cliquez n'importe où pour commencer</div>
<div id="version" style="position: fixed;bottom: 5px;left: 0;right: 5px;text-align: right;text-shadow: 0 0 5px white;font-size: 18px;opacity: .25;">-</div>
<div style="position: fixed; inset: 0; z-index: 999; cursor: pointer;" onclick="start();"></div>
</div>
@ -88,7 +159,6 @@
const remote = require('@electron/remote');
const { ipcRenderer } = require('electron');
let server = "http://192.168.1.121:8081/";
window.user = null;
window.authTimeout = null;
window.authApprovalInterval = null;
@ -97,6 +167,9 @@
window.browsingTimeout2 = null;
(async () => {
window.serverVersion = await (await window.fetch("https://delta.equestria.dev/version")).text();
document.getElementById("version").innerText = "v" + window.serverVersion;
let users = JSON.parse(await (await window.fetch(server + "/dev.equestria.delta.kiosk.GetUserList/")).text());
for (let user of users) {
@ -161,18 +234,29 @@
clearTimeout(window.authTimeout);
window.browsingTimeout1 = setInterval(() => {
if (document.getElementById("webview").getURL().endsWith("/login/")) {
if (document.getElementById("webview").getURL().includes("/login/")) {
end();
}
if (document.getElementById("webview").getURL().endsWith("/_dev.equestria.delta.kiosk.ShutdownKiosk")) {
window.close();
}
if (document.getElementById("webview").getURL().endsWith("/_dev.equestria.delta.kiosk.DisableKiosk")) {
end();
document.getElementById("preload").style.display = "";
}
if (document.getElementById("webview").getURL().endsWith("/_dev.equestria.delta.kiosk.SessionEnd")) {
end();
}
});
window.browsingTimeout2 = setTimeout(() => {
end();
}, 300000);
} else if (data['token'] === false) {
end();
}
}, 1000);
}

@ -1,4 +1,4 @@
const { app, BrowserWindow, Menu, ipcMain } = require('electron');
const { app, BrowserWindow, Menu, ipcMain, MenuItem } = require('electron');
require('@electron/remote/main').initialize();
const createWindow = () => {
@ -21,8 +21,100 @@ const createWindow = () => {
mainWindow.send('devtools');
});
mainWindow.setMenu(Menu.buildFromTemplate([]));
Menu.setApplicationMenu(Menu.buildFromTemplate([]));
let menu = Menu.buildFromTemplate([
new MenuItem({
label: "Electron",
submenu: Menu.buildFromTemplate([
new MenuItem({
label: "quit",
role: "quit",
registerAccelerator: false,
accelerator: ''
})
])
}),
new MenuItem({
label: "devOptions",
submenu: Menu.buildFromTemplate([
new MenuItem({
label: "toggleDevTools",
role: "toggleDevTools",
registerAccelerator: false,
accelerator: ''
}),
new MenuItem({
label: "forceReload",
role: "forceReload",
registerAccelerator: false,
accelerator: ''
}),
new MenuItem({
label: "togglefullscreen",
role: "togglefullscreen",
registerAccelerator: false,
accelerator: ''
}),
new MenuItem({
label: "minimize",
role: "minimize",
registerAccelerator: false,
accelerator: ''
}),
new MenuItem({
label: "about",
role: "about",
registerAccelerator: false,
accelerator: ''
}),
new MenuItem({
label: "quit",
role: "quit",
registerAccelerator: false,
accelerator: ''
})
])
}),
new MenuItem({
label: "editOptions",
submenu: Menu.buildFromTemplate([
new MenuItem({
label: "undo",
role: "undo"
}),
new MenuItem({
label: "redo",
role: "redo"
}),
new MenuItem({
label: "cut",
role: "cut"
}),
new MenuItem({
label: "copy",
role: "copy"
}),
new MenuItem({
label: "paste",
role: "paste"
}),
new MenuItem({
label: "pasteAndMatchStyle",
role: "pasteAndMatchStyle"
}),
new MenuItem({
label: "delete",
role: "delete"
}),
new MenuItem({
label: "selectAll",
role: "selectAll"
})
])
})
]);
mainWindow.setMenu(menu);
Menu.setApplicationMenu(menu);
mainWindow.loadFile('index.html');
}

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
<style type="text/css">
.st0{fill:url(#SVGID_1_);}
</style>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="73.6195" y1="186.9167" x2="437.5792" y2="550.8765">
<stop offset="0" style="stop-color:#E44857"/>
<stop offset="0.5" style="stop-color:#C711E1"/>
<stop offset="1" style="stop-color:#7F52FF"/>
</linearGradient>
<path class="st0" d="M237.7,24.3L14.1,472.1C7.5,485.4,17.2,501,32,501h447.1c14.9,0,24.5-15.6,17.9-28.9L273.5,24.3
C266.1,9.6,245.1,9.6,237.7,24.3z"/>
</svg>

After

Width:  |  Height:  |  Size: 849 B

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="48" viewBox="0 96 960 960" width="48" fill="#ffffff"><path d="M419 724q1-88 20.5-128.5T505 519q38-30 57-61.109T581 393q0-40-25.5-65.5T485 302q-47 0-75 27t-42 66l-118-51q26-72 84.5-118.5T484.756 179q108.228 0 167.736 61.148Q712 301.297 712 390q0 59-22 103.5T624 578q-47 42-58 67t-10 79H419Zm65.788 277Q448 1001 421.5 974.5T395 911.504q0-37.495 26.42-63.5Q447.841 822 484.92 822 523 822 549 848.004q26 26.005 26 63.5Q575 948 548.788 974.5q-26.213 26.5-64 26.5Z"/></svg>

After

Width:  |  Height:  |  Size: 515 B

Loading…
Cancel
Save