bfile/filed/templates/index.html

199 lines
9.3 KiB
HTML

{% extends "base.html" %}
{% block head %}
{%- if ! conf.files.allow_uploads -%}
<link rel="stylesheet" href="/alert.css" />
{%- endif -%}
<link rel="stylesheet" href="/upload_form.css" />
{% endblock %}
{% block scripts %}
{%- if conf.files.upload_pass.is_some() -%}
{#- Script to disable button when password is not entered -#}
{#- -#}<script>
{#- -#} (
{#- -#} ()=>{
{#- -#} const pass_inp=document.getElementById("instancepass");
{#- -#} const submit=document.getElementById("bfile-upload-submit");
{#- -#} submit.setAttribute('disabled',true);
{#- -#}
{#- -#} pass_inp.onchange=()=>{
{#- -#} if(pass_inp.value.length==0)
{#- -#} submit.setAttribute('disabled',true);
{#- -#} else submit.removeAttribute('disabled')
{#- -#} }
{#- -#} }
{#- -#} )()
{#- -#}</script>
{%- endif -%}
{% endblock %}
{% block body %}
<div style="max-width:95vw;width:fit-content;margin:0 auto">
<h1 style="text-align:center">File upload</h1>
<div style='margin:var(--margin)'>
<p>
You can upload a file here <b>for free</b> to share with others for 30 minutes.<br/>
How cool is that, eh?
</p>
<div class="card">
<h2 class="card-title" style="margin:0">
Upload form
</h2>
<div class='card-text'>
<form action="/upload" method="POST" enctype="multipart/form-data">
<p>
I want my file deleted:
</p>
<ul class="bfile-formupload-file-delete-pick">
<li>
<input type="radio" id="bfile-formupload-delete-30-min" name="delmode" value='30' checked />
<label for="bfile-formupload-delete-30-min">After 30 minutes</label>
</li>
<li>
<input type="radio" id="bfile-formupload-delete-dl" name="delmode" value='dl' />
<label for="bfile-formupload-delete-dl">After 30 minutes OR a download</label>
</li>
</ul>
{%- if conf.files.allow_custom_names -%}
<p>
<label>
<input type="checkbox" name="named">
</label>
<label for="bfile-formupload-file-name">
I also want my file named:
</label>
<span class="form-input-partial">
<span class="form-input-label">
{{ env.instanceurl }}/
</span>
<input style="max-width:100px" id='bfile-formupload-file-name' type="text" name="filename" placeholder="file.txt"></input>
</span>
</p>
{%- endif -%}
{%- if conf.files.allow_pass_protection -%}
<table>
<tbody>
<tr>
<td>
<label>
<input type="checkbox" name="passworded">
I want to add a password to the file:
<span style="font-size:80%;display:block">
Warning: the file WILL NOT be encrypted,<br/>
therefore this is not 100% secure.<br/>
<a href="/passworded-files">
Learn more
</a>
</span>
</label>
</td>
<td style="padding-left:4px">
<label>
<input type="password" name="password" style="max-width:90px">
</label>
</td>
</tr>
</tbody>
</table>
{%- endif -%}
<p>
<label>
<input type="checkbox" name="tos_consent">
I agree to the
<a href="/tos">
Terms and Conditions
</a>
<span style='font-size:70%;color:red;transform:translateY(-30%);display:inline-block'>
(required)
</span>
</label>
</p>
{%- if ! conf.files.allow_uploads -%}
<div class="alert danger" style="width:426px">
<h1 class="alert-title">
Error
</h1>
<p class="alert-text">
Uploads are temporarily disabled
{%- if let Some(disable_reason) = conf.files.upload_disable_reason -%}
{{- " " -}} for the following reason:
<span style="display:block;font-family:monospace;padding-top:12px">
{{- disable_reason -}}
</span>
{%- else -%}
.
{%- endif -%}
<span style="display:block;padding-top:12px">
Check again in a few minutes.
</span>
</p>
</div>
{%- else -%}
{%- if let Some(pass) = conf.files.upload_pass -%}
<div class="alert blue">
<h1 class="alert-title">
Upload password
</h1>
<div class="alert-text">
<p>This instance requires a password to upload a file.</p>
<p>
<label>
Password:
<input type="password" name="instancepass" id="instancepass">
</label>
</p>
</div>
</div>
{%- endif -%}
<p>
<input type="file" name="file" id="bfile-formupload-file" style="display: none" />
<label for="bfile-formupload-file">
<span class='btn btn-fill mobile-file-upload-btn'>
Select a file
</span>
<button type="button" class="file-drag-n-drop">
<span class="file-drag-n-drop-inside">
<span class="file-drag-n-drop-inside-text">
<object data="/tab-new-symbolic.svg" width="32" height="32" tabindex="-1"></object><br/>
<span style="line-height:16pt">
<span id='drag-n-drop-jsonly' style='display:none'>
Drag & drop your files here!
</span>
<noscript>
Click to upload your files!<br/>
<span style="font-size: 70%">
You will be able to drag and drop if you enable JS
</span>
</noscript>
</span>
</span>
</span>
</button>
<script src="/dragndrop-form.js"></script>
</label>
</p>
<p>
<button class='btn btn-fill' id="bfile-upload-submit">
Upload!
</button>
</p>
{%- endif -%}
</form>
</div>
</div>
</div>
</div>
{% endblock %}