MarseyWorld/files/templates/submit.html

277 lines
13 KiB
HTML
Raw Normal View History

2021-12-14 22:48:37 +00:00
<!DOCTYPE html>
<html lang="en">
<head>
2022-01-28 21:06:31 +00:00
<meta name="description" content="{{config('DESCRIPTION')}}">
2021-12-14 22:48:37 +00:00
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'; connect-src 'self'; object-src 'none';">
2022-03-31 16:28:53 +00:00
<script src="/assets/js/bootstrap.js?v=245"></script>
2021-12-14 22:48:37 +00:00
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
2021-12-27 05:07:19 +00:00
2021-12-14 22:48:37 +00:00
<meta name="author" content="">
2022-03-31 16:28:53 +00:00
<link rel="icon" type="image/png" href="/assets/images/{{SITE_NAME}}/icon.webp?v=1012">
2021-12-14 22:48:37 +00:00
{% if request.host == 'pcmemes.net' %}
{% set cc='Splash Mountain' %}
{% else %}
{% set cc='Country Club' %}
{% endif %}
2021-10-15 14:08:27 +00:00
2021-12-14 22:48:37 +00:00
{% block title %}
2022-01-13 23:39:39 +00:00
<title>Create a post - {{SITE_NAME}}</title>
2021-12-14 22:48:37 +00:00
{% endblock %}
{% block stylesheets %}
{% if v %}
<style>:root{--primary:#{{v.themecolor}}}</style>
2022-04-13 20:07:58 +00:00
<link rel="stylesheet" href="/assets/css/main.css?v=232"><link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=50">
2021-12-28 19:42:05 +00:00
{% if v.agendaposter %}
<style>
html {
2022-03-31 16:28:53 +00:00
cursor:url('/assets/images/dildo.webp?v=1008'), auto;
2021-12-28 19:42:05 +00:00
}
.nav-item .text-small.font-weight-bold::before {
content: "((("
}
.nav-item .text-small.font-weight-bold::after {
content: ")))"
}
.nav-item .text-small-extra.text-primary {
font-size: 0 !important
}
.nav-item .text-small-extra.text-primary i {
font-size: 11px !important
}
</style>
{% elif v.css %}
<link rel="stylesheet" href="/@{{v.username}}/css">
{% endif %}
2021-12-14 22:48:37 +00:00
{% else %}
2022-01-28 21:06:31 +00:00
<style>:root{--primary:#{{config('DEFAULT_COLOR')}}</style>
2022-04-13 20:07:58 +00:00
<link rel="stylesheet" href="/assets/css/main.css?v=232">
2022-04-13 19:38:15 +00:00
<link rel="stylesheet" href="/assets/css/{{config('DEFAULT_THEME')}}.css?v=50">
2021-12-14 22:48:37 +00:00
{% endif %}
{% endblock %}
2021-10-15 14:08:27 +00:00
2022-04-13 19:35:22 +00:00
<body id="submit" {% if SITE_NAME == 'rDrama' %}style="overflow-x: hidden; background:url(/assets/images/backgrounds/anime/{{'2' if v and v.id == 8195 else '1'}}.webp) center center fixed !important; background-color: var(--background)!important;display: block;"{% endif %}>
2021-12-14 22:48:37 +00:00
{% include "header.html" %}
{% block form %}
<div class="submit-grid-view">
2022-03-09 02:04:37 +00:00
<form id="submitform" action="{% if sub %}/h/{{sub.name}}{% endif %}/submit" method="post" enctype="multipart/form-data" style="grid-column: 2">
2021-12-14 22:48:37 +00:00
<div class="container">
<div class="row justify-content-center mb-5">
<div class="col p-3 py-md-0">
2022-03-27 13:39:21 +00:00
<h2 class="mt-3">Create a post</h2>
2021-12-14 22:48:37 +00:00
<div class="body">
2022-03-19 16:19:02 +00:00
<input type="hidden" name="formkey" value="{{v.formkey}}">
2021-12-14 22:48:37 +00:00
2022-03-09 02:04:37 +00:00
<label class='mt-4' for="title">Hole</label>
2022-02-24 12:32:11 +00:00
<div class="input-group mb2">
2022-02-25 16:48:31 +00:00
<input list="subs" autocomplete="off" id='sub' class="form-control" form="submitform" name="sub" oninput="savetext()" {% if sub %}value="{{sub.name}}"{% endif %} placeholder="Optional">
2022-02-24 12:32:11 +00:00
<datalist id="subs">
{% for s in SUBS %}
<option value="{{s}}"></option>
{% endfor %}
</datalist>
2022-03-04 18:19:43 +00:00
2022-02-24 12:32:11 +00:00
</div>
2022-03-09 02:04:37 +00:00
<div class="mt-1" style="font-size: min(3.5vw,14px)"><span style="color:#ffcccb ">WARNING</span>: Selecting a hole considerably reduces the number of people who will see your post. Don't select a hole unless that's what you want.</div>
2022-03-04 18:19:43 +00:00
2022-02-05 18:47:21 +00:00
<label class='mt-4' for="title">Post Title</label>
2021-12-14 22:48:37 +00:00
2022-01-13 03:42:44 +00:00
<input autocomplete="off" class="form-control" id="post-title" aria-describedby="titleHelpRegister" type="text" name="title" placeholder="Required" value="{{title}}" minlength="1" maxlength="500" required oninput="checkForRequired();savetext()">
2021-12-14 22:48:37 +00:00
<label class="btn btn-secondary format d-inline-block m-0" for="emoji-reply-btn-2">
2022-02-24 18:07:53 +00:00
<div id="emoji-reply-btn-2" onclick="loadEmojis('post-title')" aria-hidden="true" data-bs-toggle="modal" data-bs-target="#emojiModal" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Add Emoji"><i class="fas fa-smile-beam"></i></div>
2021-12-14 22:48:37 +00:00
</label>
<div id="urlblock">
<label for="URL" class="mt-3">URL</label>
2022-04-10 00:05:15 +00:00
<input autocomplete="off" class="form-control" id="post-url" aria-describedby="URLHelp" name="url" type="url" placeholder="Optional if you have text." value="{{request.values.get('url','')}}" required oninput="checkForRequired();hide_image();savetext();checkRepost(this){% if SITE_NAME != 'PCM' %};autoSuggestTitle(){% endif %}">
<small id="system" class="form-text text-muted">To post an image, use a direct image link such as i.imgur.com</small>
2021-12-14 22:48:37 +00:00
</div>
<div id="image-upload-block">
<div><label class="mt-3">Attachment Upload</label></div>
2022-01-17 18:42:47 +00:00
<img loading="lazy" id="image-preview" style="max-width:50%">
2021-12-14 22:48:37 +00:00
<label class="btn btn-secondary m-0" for="file-upload">
<div id="filename-show">Select File</div>
2021-12-28 12:41:26 +00:00
<input autocomplete="off" id="file-upload" type="file" name="file" {% if request.headers.get('cf-ipcountry')=="T1" %}disabled{% endif %} accept="image/*, video/*" hidden>
2021-12-14 22:48:37 +00:00
</label>
<small class="form-text text-muted">Optional if you have text.</small>
<small class="form-text text-muted">You can upload images or videos.</small>
</div>
</div>
2022-02-24 18:07:53 +00:00
<label for="body" class="mt-3">Text<i class="fas fa-info-circle text-gray-400 ml-1" data-bs-toggle="tooltip" data-bs-placement="top" title="Uses markdown. Limited to 20000 characters."></i></label>
2021-12-14 22:48:37 +00:00
<div>
2022-01-19 09:19:38 +00:00
<textarea form="submitform" id="post-text" class="form-control rounded" aria-label="With textarea" placeholder="Optional if you have a link or an image." rows="7" name="body" oninput="markdown('post-text','preview');charLimit('post-text','character-count-submit-text-form');checkForRequired();savetext()" {% if v.longpost %}minlength="280"{% endif %} maxlength="{% if v.bird %}140{% else %}20000{% endif %}" required></textarea>
2021-12-14 22:48:37 +00:00
<div class="btn btn-secondary fl-r mt-3" onclick="document.getElementById('preview').classList.toggle('d-none');">
Toggle preview
</div>
<div class="text-small font-weight-bold mt-1" id="character-count-submit-text-form" style="right: 1rem; bottom: 0.5rem; z-index: 3;"></div>
</div>
<p></p>
<small class="btn btn-secondary format d-inline-block m-0">
2022-02-24 18:07:53 +00:00
<i class="fas fa-bold" aria-hidden="true" onclick="makeBold('post-text')" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Bold"></i>
2021-12-14 22:48:37 +00:00
</small>
&nbsp;
<small class="btn btn-secondary format d-inline-block m-0">
2022-02-24 18:07:53 +00:00
<i class="fas fa-italic" aria-hidden="true" onclick="makeItalics('post-text')" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Italicize"></i>
2021-12-14 22:48:37 +00:00
</small>
&nbsp;
<small class="btn btn-secondary format d-inline-block m-0">
2022-02-24 18:07:53 +00:00
<i class="fas fa-quote-right" aria-hidden="true" onclick="makeQuote('post-text')" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Quote"></i>
2021-12-14 22:48:37 +00:00
</small>
&nbsp;
2022-02-24 18:07:53 +00:00
<small class="btn btn-secondary format d-inline-block m-0"><span class="font-weight-bolder text-uppercase" aria-hidden="true" onclick="getGif();commentForm('post-text')" data-bs-toggle="modal" data-bs-target="#gifModal" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Add GIF">GIF</span></small>
2021-12-14 22:48:37 +00:00
&nbsp;
<label class="btn btn-secondary format d-inline-block m-0" for="emoji-reply-btn">
2022-02-24 18:07:53 +00:00
<div id="emoji-reply-btn" onclick="loadEmojis('post-text')" aria-hidden="true" data-bs-toggle="modal" data-bs-target="#emojiModal" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Add Emoji"><i class="fas fa-smile-beam"></i></div>
2021-12-14 22:48:37 +00:00
</label>
<label class="format btn btn-secondary m-0 ml-1 {% if v %}d-inline-block{% else %}d-none{% endif %}" for="file-upload-submit">
<div id="filename-show-submit"><i class="far fa-image"></i></div>
2022-02-26 13:14:30 +00:00
<input autocomplete="off" id="file-upload-submit" multiple="multiple" type="file" name="file2" accept="image/*, video/*" {% if request.headers.get('cf-ipcountry')=="T1" %}disabled{% endif %} onchange="changename('filename-show-submit','file-upload-submit');checkForRequired()" hidden>
2021-12-14 22:48:37 +00:00
</label>
2022-02-25 11:43:35 +00:00
<div id="preview" class="preview my-3"></div>
2021-12-14 22:48:37 +00:00
<pre></pre>
2021-12-29 08:29:22 +00:00
<div class="form-text text-small"><a href="/formatting" {% if v and v.newtab and not g.webview %}target="_blank"{% endif %}>Formatting help</a></div>
2021-12-14 22:48:37 +00:00
<pre></pre>
<div class="custom-control custom-checkbox">
2022-02-27 22:42:13 +00:00
<input checked autocomplete="off" type="checkbox" class="custom-control-input" id="followers" name="followers">
2022-02-28 00:33:52 +00:00
<label class="custom-control-label" for="followers">Notify followers</label>
2022-02-27 22:49:34 +00:00
</div>
<div class="custom-control custom-checkbox">
<input autocomplete="off" type="checkbox" class="custom-control-input" id="new" name="new">
<label class="custom-control-label" for="new">Make the default comment sorting "new"</label>
2022-02-27 22:42:13 +00:00
</div>
<div class="custom-control custom-checkbox">
<input autocomplete="off" type="checkbox" class="custom-control-input" id="nsfw" name="over_18">
<label class="custom-control-label" for="nsfw">+18</label>
2021-12-14 22:48:37 +00:00
</div>
<div class="custom-control custom-checkbox">
2022-02-27 23:41:17 +00:00
<input onchange='draft(this);' autocomplete="off" type="checkbox" class="custom-control-input" id="private" name="private">
2022-02-27 22:42:13 +00:00
<label class="custom-control-label" for="private">Draft</label>
2021-12-14 22:48:37 +00:00
</div>
2022-04-04 17:29:52 +00:00
2022-04-04 17:52:14 +00:00
{% if request.host != 'rdrama.net' or v.admin_level > 1 %}
2021-12-14 22:48:37 +00:00
<div class="custom-control custom-checkbox">
2022-02-27 22:42:13 +00:00
<input autocomplete="off" type="checkbox" class="custom-control-input" id="club" name="club">
<label class="custom-control-label" for="club">{{CC_TITLE}} thread</label>
2021-12-14 22:48:37 +00:00
</div>
2022-04-04 17:29:52 +00:00
{% endif %}
2022-02-14 23:59:20 +00:00
<div class="custom-control custom-checkbox">
2022-04-09 23:07:03 +00:00
<input onchange='draft(this);' autocomplete="off" type="checkbox" class="custom-control-input" id="ghost" name="ghost" {% if v.coins < 100 %}disabled{% endif %}>
<label class="custom-control-label" for="ghost">Ghost Thread (cost: 100 coins)</label>
2022-02-14 23:59:20 +00:00
</div>
2021-12-14 22:48:37 +00:00
<pre>
</pre>
</div>
</div>
</div>
<div class="container">
<div class="row fixed-bottom bg-white border-top p-3" id="" style="z-index: 100; bottom: 0px; transition: bottom 220ms cubic-bezier(0, 0, 0.2, 1) 0s;">
<div class="col">
<a href="/" class="btn btn-secondary">Cancel</a>
</div>
<div class="col text-right">
2022-02-22 11:57:19 +00:00
{% if error %}<span class="text-danger text-large mr-2">{{error}}</span>{% endif %}
2022-01-15 08:08:52 +00:00
<button class="btn btn-primary" id="create_button" type="submit" disabled>Post</button>
2021-12-14 22:48:37 +00:00
</div>
</div>
</div>
</form>
2021-10-15 14:08:27 +00:00
2021-12-04 16:21:03 +00:00
</div>
2021-12-14 22:48:37 +00:00
{% endblock %}
2021-10-15 14:08:27 +00:00
2022-01-19 10:12:37 +00:00
<script>
2022-02-22 10:38:28 +00:00
document.getElementById('post-title').value = localStorage.getItem("post_title")
document.getElementById('post-text').value = localStorage.getItem("post_text")
document.getElementById('post-url').value = localStorage.getItem("post_url")
2022-02-22 11:43:38 +00:00
{% if request.path == '/submit' %}
let sub = document.getElementById('sub')
if (sub) sub.value = localStorage.getItem("sub")
{% endif %}
2022-01-13 21:15:36 +00:00
function checkForRequired() {
var title = document.getElementById("post-title");
2022-02-22 10:38:28 +00:00
var url = document.getElementById("post-url");
2022-01-13 21:15:36 +00:00
var text = document.getElementById("post-text");
var button = document.getElementById("create_button");
var image = document.getElementById("file-upload");
2022-02-26 13:14:30 +00:00
var image2 = document.getElementById("file-upload-submit");
2022-01-13 21:15:36 +00:00
2022-02-26 13:14:30 +00:00
if (url.value.length > 0 || image.value.length > 0 || image2.value.length > 0) {
2022-01-13 21:15:36 +00:00
text.required = false;
url.required=false;
2022-02-26 13:14:30 +00:00
} else if (text.value.length > 0 || image.value.length > 0 || image2.value.length > 0) {
2022-01-13 21:15:36 +00:00
url.required = false;
} else {
text.required = true;
url.required = true;
}
var isValidTitle = title.checkValidity();
var isValidURL = url.checkValidity();
var isValidText = text.checkValidity();
2022-02-26 13:14:30 +00:00
if (isValidTitle && (isValidURL || image.value.length > 0 || image2.value.length > 0)) {
2022-01-13 21:15:36 +00:00
button.disabled = false;
} else if (isValidTitle && isValidText) {
button.disabled = false;
} else {
button.disabled = true;
}
}
checkForRequired()
2022-01-13 03:36:35 +00:00
</script>
2022-03-31 16:28:53 +00:00
<script src="/assets/js/marked.js?v=250"></script>
<script src="/assets/js/formatting.js?v=240"></script>
2022-04-10 00:11:06 +00:00
<script src="/assets/js/submit.js?v=253"></script>
2021-12-14 22:48:37 +00:00
{% include "emoji_modal.html" %}
{% include "gif_modal.html" %}
</body>
</html>