KitsuneOffline/silica/config.html

180 lines
5.8 KiB
HTML

<html>
<head>
<meta charset="UTF-8">
<title>Kitsune Configurator</title>
</head>
<body>
<center>
<h1>Kitsune Configurator</h1>
<hr>
<b>VERSION:</b><br>
<select id="version">
</select><br>
<hr>
<b>LANGUAGE:</b><br>
<select id="language">
<option value="af">Afrikaans</option>
<option value="am">Amharic</option>
<option value="ar">Arabic</option>
<option value="az">Azerbaijani</option>
<option value="be">Belarusian</option>
<option value="bg">Bulgarian</option>
<option value="bn">Bengali</option>
<option value="bs">Bosnian</option>
<option value="ca">Catalan; Valencian</option>
<option value="cs">Czech</option>
<option value="da">Danish</option>
<option value="de">German</option>
<option value="el">Greek, Modern</option>
<option value="en-GB">English (UK)</option>
<option value="en" selected>English (US)</option>
<option value="es">Spanish; Castilian</option>
<option value="et">Estonian</option>
<option value="eu">Basque</option>
<option value="fa">Persian</option>
<option value="fi">Finnish</option>
<option value="fr">French</option>
<option value="gl">Galician</option>
<option value="gu">Gujarati</option>
<option value="hi">Hindi</option>
<option value="hr">Croatian</option>
<option value="hu">Hungarian</option>
<option value="hy">Armenian</option>
<option value="id">Indonesian</option>
<option value="is">Icelandic</option>
<option value="it">Italian</option>
<option value="iw">Hebrew</option>
<option value="ja">Japanese</option>
<option value="ka">Georgian</option>
<option value="kk">Kazakh</option>
<option value="km">Khmer</option>
<option value="kn">Kannada</option>
<option value="ko">Korean</option>
<option value="ky">Kirghiz, Kyrgyz</option>
<option value="lo">Lao</option>
<option value="lt">Lithuanian</option>
<option value="lv">Latvian</option>
<option value="mk">Macedonian</option>
<option value="ml">Malayalam</option>
<option value="mn">Mongolian</option>
<option value="mr">Marathi (Marāṭhī)</option>
<option value="ms">Malay</option>
<option value="my">Burmese</option>
<option value="ne">Nepali</option>
<option value="nl">Dutch</option>
<option value="no">Norwegian</option>
<option value="pa">Panjabi, Punjabi</option>
<option value="pl">Polish</option>
<option value="pt-BR">Portuguese (Brazil)</option>
<option value="pt-PT">Portuguese (Europe)</option>
<option value="ro">Romanian, Moldavan</option>
<option value="ru">Russian</option>
<option value="si">Sinhala, Sinhalese</option>
<option value="sk">Slovak</option>
<option value="sl">Slovene</option>
<option value="sq">Albanian</option>
<option value="sr">Serbian</option>
<option value="sv">Swedish</option>
<option value="sw">Swahili</option>
<option value="ta">Tamil</option>
<option value="te">Telugu</option>
<option value="th">Thai</option>
<option value="tr">Turkish</option>
<option value="uk">Ukrainian</option>
<option value="ur">Urdu</option>
<option value="uz">Uzbek</option>
<option value="vi">Vietnamese</option>
<option value="zh-CN">Chinese (Simplified)</option>
<option value="zh-HK">Chinese (Traditional, Hong Kong)</option>
<option value="zh-TW">Chinese (Traditional)</option>
<option value="zu">Zulu</option>
</select>
<br>
<hr>
<b>SAVEDATA:</b><br>
<button onclick="exportSave()">Export Savefile</button>
<button onclick="importSave()">Import Savefile</button>
<hr>
<br>
<button onclick="save()">Start Game</button>
<br>
<h2>Press F10 to return to this config menu</h2>
</center>
<script>
exportSave = function(){
var element = document.createElement('a');
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(btoa(JSON.stringify(localStorage))));
element.setAttribute('download', "kitsune.ksav");
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
importSave = function(){
var element = document.createElement('input');
element.setAttribute('type', "file");
element.setAttribute('accept', ".ksav");
element.setAttribute('id', "saveImportFile");
element.style.display = 'none';
document.body.appendChild(element);
element.addEventListener('change', function() {
var fr=new FileReader();
fr.onload=function(){
try {
storage = JSON.parse(atob(fr.result))
localStorage.clear();
Object.keys(storage).forEach(function (k) {
localStorage.setItem(k, storage[k]);
});
alert("Savedata was imported successfully!");
} catch (e) {
alert("Savedata was invalid!");
}
}
fr.readAsText(this.files[0]);
})
element.click();
document.body.removeChild(element);
}
redirect = function(){
location = "/silica/run.html";
}
populate = function(){
fs = require('fs');
files = fs.readdirSync("logos/2020/kitsune");
files.forEach(file => {
opt = document.createElement("option");
opt.value = file;
opt.innerText = file;
if(file == localStorage["CONFIG_VERSION"])
opt.selected = true;
document.getElementById("version").add(opt);
});
}
save = function(){
localStorage["CONFIG_LANGUAGE"] = document.getElementById("language").value;
localStorage["CONFIG_VERSION"] = document.getElementById("version").value;
redirect();
}
loadSettings = function(){
if(localStorage["CONFIG_LANGUAGE"] != undefined)
document.getElementById("language").value = localStorage["CONFIG_LANGUAGE"];
}
populate();
loadSettings();
</script>
</body>
</html>