Automatic update checking and CSS adjustments

This commit is contained in:
CakeLancelot
2024-10-06 05:35:06 -05:00
parent e5b20f57ce
commit c898cacd7c
3 changed files with 129 additions and 35 deletions

View File

@@ -65,6 +65,12 @@ body {
right: 8px;
}
#of-about-flash-div {
position: fixed;
bottom: 4px;
right: 8px;
}
#of-config-button-div {
position: fixed;
bottom: 4px;
@@ -91,6 +97,18 @@ body {
background-repeat: repeat;
}
.form-check-input {
width: 25px;
height: 25px;
}
.form-check-label {
height: 25px;
margin-top: 5px;
margin-left: 10px;
font-size: 1rem;
}
#of-aboutmodal > .modal-dialog > .modal-content {
background-color: #093363;
border-color: #6699ff;
@@ -192,3 +210,19 @@ button > i {
background: #000;
clear: both;
}
@keyframes pulse {
0% {
opacity: 1;
}
50% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.pulsing {
animation: pulse 2s infinite;
}

View File

@@ -80,6 +80,36 @@ function setAppVersionText() {
$("#of-aboutversionnumber").text("Version " + getAppVersion());
}
function checkForNewAppVersion() {
$("#of-about-button").removeClass("pulsing");
setAppVersionText();
if (config["autoupdate-check"] === true) {
$.getJSON(
"https://api.github.com/repos/OpenFusionProject/OpenFusionClient/releases/latest",
{},
function (data) {
$.each(data, function (index, element) {
if (index === "tag_name" && element > getAppVersion()) {
console.log("New version available: " + element);
var downloadPage =
"https://github.com/OpenFusionProject/OpenFusionClient/releases/latest";
$("#of-aboutversionnumber").html(
"Version " +
getAppVersion() +
`<br>A new version is available! ` +
`Click <a href="#" onclick='remote.require("shell").openExternal("` +
downloadPage +
`");'>here</a> to download.`
);
$("#of-about-button").addClass("pulsing");
return false; // break out of loop early
}
});
}
);
}
}
function validateServerSave(modalName) {
// works everytime a key is entered into the server save form
var descInput = document.getElementById(modalName + "server-descinput");
@@ -382,6 +412,7 @@ function loadConfig() {
offlineRoot = config["offline-cache-location"] || offlineRootDefault;
$("#editconfig-offlinecachelocation:text").val(offlineRoot);
checkForNewAppVersion();
validateCacheLocation();
}