199 lines
9.3 KiB
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 %} |