This commit is contained in:
Dominic Harris 2022-02-28 18:12:18 -05:00
parent 88a9d5e216
commit fb0f074cdf
No known key found for this signature in database
GPG Key ID: 93CCF85F3E2A4F65
5 changed files with 48 additions and 46 deletions

View File

@ -1,6 +1,6 @@
{
"server": {
"backend_host": "localhost",
"backend_host": "127.0.0.1",
"backend_port": 8000
},
"pastes": {

View File

@ -1,53 +1,55 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>zer0bin</title>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>zer0bin</title>
<link href="css/style.min.css" rel="stylesheet" />
<link href="css/rosepine.min.css" rel="stylesheet" />
<link href="css/style.min.css" rel="stylesheet" />
<link href="css/rosepine.min.css" rel="stylesheet" />
<script src="js/fontawesome.min.js"></script>
<script src="js/highlight.min.js"></script>
<script src="js/jquery.min.js"></script>
<script> hljs.highlightAll(); </script>
</head>
<script src="js/fontawesome.min.js"></script>
<script src="js/highlight.min.js"></script>
<script src="js/jquery.min.js"></script>
<body>
<ul id="messages"></ul>
<script>
hljs.highlightAll();
</script>
</head>
<div class="wrapper">
<div class="line-numbers"></div>
<body>
<ul id="messages"></ul>
<!-- We only show this if they are viewing a paste-->
<pre
id="code-view-pre"
style="display: none"
><code id="code-view"></code></pre>
<div class="wrapper">
<div class="line-numbers"></div>
<!-- We only show the textarea if they are creating a new paste-->
<textarea
spellcheck="false"
autofocus
name="value"
id="text-area"
style="display: none"
></textarea>
</div>
<div class="button-wrapper">
<a href="/" class="logo">zer0bin</a>
<div class="buttons">
<button id="save-button" class="btn">
<i class="fas fa-save fa-xl"></i>
</button>
<button id="new-button" class="btn">
<i class="fas fa-file-medical fa-2xl"></i>
</button>
</div>
</div>
<!-- We only show this if they are viewing a paste-->
<pre
id="code-view-pre"
style="display: none"
><code id="code-view"></code></pre>
<script src="./index.js"></script>
</body>
<!-- We only show the textarea if they are creating a new paste-->
<textarea
spellcheck="false"
autofocus
name="value"
id="text-area"
style="display: none"
></textarea>
</div>
<div class="button-wrapper">
<a href="/" class="logo">zer0bin</a>
<div class="buttons">
<button id="save-button" class="btn">
<i class="fas fa-save fa-xl"></i>
</button>
<button id="new-button" class="btn">
<i class="fas fa-file-medical fa-2xl"></i>
</button>
</div>
</div>
<script src="js/index.min.js"></script>
</body>
</html>

View File

@ -1,4 +1,3 @@
//var lineNumbers, editor, codeView, apiUrl, saveButton;
let lineNumbers = $(".line-numbers");
let editor = $("#text-area");
let codeViewPre = $("#code-view-pre");
@ -8,7 +7,7 @@ let messages = $("#messages");
let saveButton = $("#save-button");
let newButton = $("#new-button");
let apiUrl = "http://localhost:8000";
let apiUrl = "http://127.0.0.1:8000";
function postPaste(content, callback) {
var data = {

1
frontend/js/index.min.js vendored Normal file
View File

@ -0,0 +1 @@
let lineNumbers=$(".line-numbers");let editor=$("#text-area");let codeViewPre=$("#code-view-pre");let codeView=$("#code-view");let messages=$("#messages");let saveButton=$("#save-button");let newButton=$("#new-button");let apiUrl="http://127.0.0.1:8000";function postPaste(content,callback){var data={content};$.ajax({type:"POST",url:`${ apiUrl }/p/n`,data:JSON.stringify(data),dataType:"json",contentType:"application/json",success:function(res){callback(null,res)},error:function(xhr){callback(JSON.parse(xhr.responseText||`{"data": { "message": "An unkown error occured!" } }`))}})}function getPaste(id,callback){$.ajax({type:"GET",url:`${ apiUrl }/p/${ id }`,contentType:"application/json",success:function(res){callback(null,res)},error:function(xhr){callback(JSON.parse(xhr.responseText||`{"data": { "message": "Unknown error occurred.." } }`))}})}function newPaste(){lineNumbers.html("<div>&gt;</div>");saveButton.prop("disabled",false);newButton.prop("disabled",true);editor.val("");editor.show();codeViewPre.hide()}function addMessage(message){let msg=$(`<li>${ message }</li>`);messages.prepend(msg);setTimeout(function(){msg.slideUp("fast",function(){$(this).remove()})},3000)}function viewPaste(content){lineNumbers.html("");for(let i=1;i<=content.split("\n").length;i+=1){lineNumbers.append(`<div>${ i }</div>`)}codeView.html(content);editor.hide();codeViewPre.show()}saveButton.click(function(){if(editor.val()===""){return}postPaste(editor.val(),function(err,res){if(err){addMessage(err["data"]["message"])}else{window.location.href=`/?id=${res["data"]["id"]}`}})});newButton.click(function(){window.location.href="/"});$(document).ready(function(){let id=new URLSearchParams(window.location.search).get("id");if(id==null){newPaste();return}getPaste(id,function(err,res){if(err){newPaste()}else{let content=res["data"]["content"];viewPaste(hljs.highlightAuto(content).value);saveButton.prop("disabled",true)}})});