Add initial setup splash window

as well as other additions and tweaks
This commit is contained in:
CakeLancelot
2020-12-22 10:59:02 -06:00
parent b318c9597e
commit a73b3a4b3f
7 changed files with 101 additions and 53 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

View File

@@ -7,12 +7,16 @@ var serverarray
function enableServerListButtons() {
$('#of-connect-button').removeClass('disabled');
$('#of-connect-button').prop('disabled', false);
$('#of-deleteserver-button').removeClass('disabled');
$('#of-deleteserver-button').prop('disabled', false);
}
function disableServerListButtons() {
$('#of-connect-button').addClass('disabled');
$('#of-connect-button').prop('disabled', true);
$('#of-deleteserver-button').addClass('disabled');
$('#of-deleteserver-button').prop('disabled', true);
}
function loadGameVersions() {
@@ -26,29 +30,32 @@ function loadGameVersions() {
function loadConfig() {
// TODO: actually use these values
var configjson = JSON.parse(remotefs.readFileSync(userdir+"\\config.json"));
}
}
function loadServerList() {
var serverjson = JSON.parse(remotefs.readFileSync(userdir+"\\servers.json"));
serverarray = serverjson['servers'];
var serverjson = JSON.parse(remotefs.readFileSync(userdir+"\\servers.json"));
serverarray = serverjson['servers'];
if (serverarray.length > 0) {
$("#server-listing-placeholder").attr("hidden",true);
$.each(serverarray, function( key, value ) {
var row = document.createElement('tr');
row.className = 'server-listing-entry'
row.setAttribute('id', value.uuid)
var cellName = document.createElement('td');
cellName.textContent = value.description
var cellVersion = document.createElement('td');
cellVersion.textContent = value.version
cellVersion.className = 'text-monospace'
$(".server-listing-entry").remove(); // clear out old stuff, if any
disableServerListButtons();
row.appendChild(cellName);
row.appendChild(cellVersion);
document.getElementById('server-tablebody').appendChild(row);
});
} else {
if (serverarray.length > 0) {
$("#server-listing-placeholder").attr("hidden",true);
$.each(serverarray, function( key, value ) {
var row = document.createElement('tr');
row.className = 'server-listing-entry'
row.setAttribute('id', value.uuid)
var cellName = document.createElement('td');
cellName.textContent = value.description
var cellVersion = document.createElement('td');
cellVersion.textContent = value.version
cellVersion.className = 'text-monospace'
row.appendChild(cellName);
row.appendChild(cellVersion);
document.getElementById('server-tablebody').appendChild(row);
});
} else {
// no servers added, make sure placeholder is visible
$("#server-listing-placeholder").attr("hidden",false);
}
@@ -58,18 +65,28 @@ function loadServerList() {
function setGameInfo(serverUUID) {
var result = serverarray.filter(function(obj) {return (obj.uuid === serverUUID);})[0];
var gameversion = versionarray.filter(function(obj) {return (obj.name === result.version);})[0];
window.asseturl = gameversion.url
remotefs.writeFileSync(__dirname+"\\assetInfo.php", asseturl);
remotefs.writeFileSync(__dirname+"\\loginInfo.php", result.ip);
// TODO: write rank endpoint
remotefs.writeFileSync(__dirname+"\\rankurl.txt", "http://api.dexlabs.systems/getranks");
if (result.hasOwnProperty('endpoint')) {
var rankurl = result.endpoint.replace("https://", "http://") + "getranks"
console.log("Using rank endpoint " + rankurl)
remotefs.writeFileSync(__dirname+"\\rankurl.txt", rankurl);
} else {
// delete the file, this server won't be using it
remotefs.unlinkSync(__dirname+"\\rankurl.txt")
}
}
function getSelectedServer() {
return $("tr.bg-primary").prop("id");
}
function connectToServer() {
// Get ID of the selected server, which corresponds to its UUID in the json
var uuid = $("tr.bg-primary").prop("id");
var uuid = getSelectedServer();
console.log("Connecting to server with UUID of " + uuid);
// prevent the user from clicking anywhere else during the transition

View File

@@ -39,8 +39,8 @@
</div>
</div>
<div class="row row-cols-2 d-xl-flex justify-content-center justify-content-xl-center" id="of-serverbuttons" style="padding-bottom: 16px;">
<div class="col-4 text-left d-inline-flex justify-content-xl-start"><button class="btn btn-success mr-1" data-toggle="modal" data-bs-tooltip="" data-placement="bottom" id="of-addserver-button" type="button" title="Add Server" data-target="#of-addservermodal"><i class="fas fa-plus"></i></button><button class="btn btn-danger disabled" data-toggle="modal" data-bs-tooltip="" data-placement="bottom" id="of-deleteserver-button" type="button" title="Delete Server" data-target="#of-deleteservermodal"><i class="fas fa-trash-alt"></i></button></div>
<div class="col-4 d-inline-flex justify-content-end"><button class="btn btn-primary disabled" id="of-connect-button" type="button" onclick="connectToServer()">Connect&nbsp;<i class="fas fa-angle-double-right"></i></button></div>
<div class="col-4 text-left d-inline-flex justify-content-xl-start"><button class="btn btn-success mr-1" data-toggle="modal" data-bs-tooltip="" data-placement="bottom" id="of-addserver-button" type="button" title="Add Server" data-target="#of-addservermodal"><i class="fas fa-plus"></i></button><button class="btn btn-danger disabled" data-toggle="modal" data-bs-tooltip="" data-placement="bottom" id="of-deleteserver-button" type="button" title="Delete Server" data-target="#of-deleteservermodal" disabled=""><i class="fas fa-trash-alt"></i></button></div>
<div class="col-4 d-inline-flex justify-content-end"><button class="btn btn-primary disabled" id="of-connect-button" type="button" onclick="connectToServer()" disabled="">Connect&nbsp;<i class="fas fa-angle-double-right"></i></button></div>
</div>
</div>
<div class="modal fade" role="dialog" tabindex="-1" id="of-aboutmodal">
@@ -73,7 +73,7 @@
<option value="" selected="" id="addserver-versionlist-placeholder" disabled="">Please select a verison...</option>
</select></form>
</div>
<div class="modal-footer"><button class="btn btn-primary border rounded border-primary btn-danger border-danger" id="addserver-cancel" type="button" data-dismiss="modal">Cancel</button><button class="btn btn-primary disabled border rounded border-primary btn-success border-success" id="addserver-savebutton" type="submit" data-dismiss="modal" disabled="" form="addserver-form">Save</button></div>
<div class="modal-footer"><button class="btn btn-primary border rounded border-primary btn-danger border-danger" id="addserver-cancel" type="button" data-dismiss="modal">Cancel</button><button class="btn btn-primary disabled border rounded border-primary btn-success border-success" id="addserver-savebutton" type="submit" data-dismiss="modal" disabled="" form="addserver-form" onclick="addServer();">Save</button></div>
</div>
</div>
</div>
@@ -86,7 +86,7 @@
<div class="modal-body">
<p class="lead">Do you really want to delete&nbsp;<a id="deleteserver-servername">SERVER_NAME</a>?<br>You could always re-add it later.</p>
</div>
<div class="modal-footer"><button class="btn btn-primary border rounded border-primary" type="button" data-dismiss="modal">Cancel</button><button class="btn btn-primary border rounded border-primary btn-danger border-danger" id="deleteserver-button" type="button" data-dismiss="modal">Yes, Delete</button></div>
<div class="modal-footer"><button class="btn btn-primary border rounded border-primary" type="button" data-dismiss="modal">Cancel</button><button class="btn btn-primary border rounded border-primary btn-danger border-danger" id="deleteserver-button" type="button" data-dismiss="modal" onclick="deleteServer();">Yes, Delete</button></div>
</div>
</div>
</div>

View File

@@ -0,0 +1,18 @@
<!DOCTYPE html>
<html>
<head>
<title>OpenFusion: Initial Setup</title>
</head>
<body style="overflow:hidden;background-color:#000;user-select:none;-webkit-user-select:none;">
<center>
<div><img src="assets/img/of-3.png" width="256">
<div>
<img src="assets/img/spinner.gif" width=50px/>
</div>
<div style="margin-top: 15px;">
<p style='text-shadow:1px 1px 8px #4349C4;color:#4A76B7;font-size:18px;font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";'>OpenFusion is setting up...<br>Please wait - this should take <br>less than a minute.</p>
</div>
</div>
</center>
</body>
</html>