MarseyWorld/files/templates/update_assets.html

85 lines
3.3 KiB
HTML

{% extends "default.html" %}
{% block pagetitle %}Update {{type}}{% endblock %}
{% block pagetype %}message{% endblock %}
{% block content %}
{% if error %}{{macros.alert(error, true)}}{% endif %}
{% if msg %}{{macros.alert(msg, false)}}{% endif %}
<div class="mx-4">
<h2 class="mt-5">Update {{type}}</h2>
<div class="settings-section rounded">
<div class="d-lg-flex">
<div class="body w-lg-100">
<form action="{{request.path}}" method="post" enctype="multipart/form-data">
<input type="hidden" name="formkey" value="{{v|formkey}}">
<div id="image-upload-block">
<div><label class="mt-3">Image</label></div>
<img loading="lazy" id="image-preview" class="d-none" style="max-width:50%;border:5px white solid">
<label class="btn btn-secondary m-0" for="file-upload">
<div id="filename-show">Select Image</div>
<input autocomplete="off" id="file-upload" accept="image/*" type="file" name="image" {% if g.is_tor %}disabled{% endif %} hidden>
</label>
</div>
<label class="mt-3" for="name">Name</label>
<input autocomplete="off" type="text" id="name" class="form-control" name="name" maxlength="30" placeholder="Required" {% if name %}value="{{name}}"{% endif %} required>
{% if type == "Marsey" %}
<label class="mt-3" for="tags">Tags</label>
<input autocomplete="off" type="text" id="name" class="form-control" name="tags" maxlength="200" placeholder="Leave empty to keep current tags" {% if tags %}value="{{tags}}"{% endif %}>
{% endif %}
<div class="footer mt-4">
<div class="d-flex">
<input id="update-asset" type="submit" onclick="disable(this)" class="btn btn-primary ml-auto" value="Update {{type}}">
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<script nonce="{{g.nonce}}">
document.onpaste = function(event) {
files = structuredClone(event.clipboardData.files);
filename = files[0]
if (filename)
{
filename = filename.name.toLowerCase()
f=document.getElementById('file-upload');
f.files = files;
document.getElementById('filename-show').textContent = filename;
if (IMAGE_FORMATS.some(s => filename.endsWith(s)))
{
const fileReader = new FileReader();
fileReader.readAsDataURL(f.files[0]);
fileReader.addEventListener("load", function () {
document.getElementById('image-preview').setAttribute('src', this.result);
document.getElementById('image-preview').classList.remove('d-none');
});
}
}
}
document.getElementById('file-upload').addEventListener('change', function(){
f=document.getElementById('file-upload');
document.getElementById('filename-show').textContent = document.getElementById('file-upload').files[0].name.substr(0, 20);
filename = f.files[0].name.toLowerCase()
if (IMAGE_FORMATS.some(s => filename.endsWith(s)))
{
const fileReader = new FileReader();
fileReader.readAsDataURL(f.files[0]);
fileReader.addEventListener("load", function () {
document.getElementById('image-preview').setAttribute('src', this.result);
document.getElementById('image-preview').classList.remove('d-none');
});
document.getElementById('submit-asset').disabled = false;
}
})
</script>
{% endblock %}