2022-11-24 01:35:00 +00:00
|
|
|
<div class="flex hmax">
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<script>
|
2022-11-24 23:21:52 +00:00
|
|
|
function title__instance() {}
|
2022-11-24 01:35:00 +00:00
|
|
|
function load__instance(args) {
|
|
|
|
const hargs = parse_hash_arguments(args[1]);
|
|
|
|
|
|
|
|
const _error400 = function(msg) {
|
|
|
|
msg = msg || 'Parameters are not correct';
|
|
|
|
console.log('TODO: handle error correctly');
|
|
|
|
};
|
|
|
|
|
|
|
|
const _paint = function() {
|
|
|
|
console.log(window.vars['current_instance']);
|
|
|
|
console.log('TODO: handle UI and stuff here');
|
|
|
|
};
|
|
|
|
|
|
|
|
const _main = function() {
|
|
|
|
if (hargs['software'] === undefined ||
|
|
|
|
!window.vars['instance_config']['supported_ap_software']
|
|
|
|
.includes(hargs['software']))
|
|
|
|
return _error400();
|
|
|
|
if (hargs['instance'] === undefined)
|
|
|
|
return _error400();
|
|
|
|
var found = false;
|
|
|
|
for (var i = 0; i < window.vars['instance_config']['hosts'][hargs['software']].length; i++)
|
|
|
|
{
|
|
|
|
const item = window.vars['instance_config']['hosts'][hargs['software']][i];
|
|
|
|
if (item['instance'] === hargs['instance']) {
|
|
|
|
window.vars['current_instance'] = item;
|
|
|
|
found = true;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!found)
|
|
|
|
return _error400();
|
2022-11-24 23:21:52 +00:00
|
|
|
|
|
|
|
apcontrol_title(`Instance (${hargs['instance']})`);
|
|
|
|
const config = parse_ini_config(window.vars['current_instance']['config']);
|
|
|
|
if (hargs['software'] === 'mastodon')
|
|
|
|
{
|
|
|
|
const musthave = window.consts['instance_config']['mastodon']['musthave'];
|
|
|
|
for (var i = 0; i < musthave.length; i++) {
|
|
|
|
if (config[musthave[i]] === undefined) {
|
|
|
|
window.location.hash = window.location.hash.replace('#instance/','#instance_config/');
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return _paint();
|
2022-11-24 01:35:00 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
if (window.vars['instance_config'] === undefined) {
|
|
|
|
http.get('api/v1/config/get',{},function(data) {
|
|
|
|
window.vars['instance_config'] = JSON.parse(data);
|
|
|
|
_main();
|
|
|
|
});
|
|
|
|
} else { _main() }
|
|
|
|
}
|
|
|
|
</script>
|