summaryrefslogtreecommitdiff
path: root/web/public/js/shared
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2024-03-30 21:28:46 -0400
committerFreya Murphy <freya@freyacat.org>2024-03-30 21:28:46 -0400
commitef7b0e26fadb882e026f1b447b6d18259057c040 (patch)
treef5831c9c64b3fd95d8fa73b382d1717e10370684 /web/public/js/shared
parentpost comments, refactor post loading, hide load more btn (diff)
downloadxssbook2-ef7b0e26fadb882e026f1b447b6d18259057c040.tar.gz
xssbook2-ef7b0e26fadb882e026f1b447b6d18259057c040.tar.bz2
xssbook2-ef7b0e26fadb882e026f1b447b6d18259057c040.zip
refactor asset dir, refactor oberver in lib
Diffstat (limited to 'web/public/js/shared')
-rw-r--r--web/public/js/shared/modal.js64
-rw-r--r--web/public/js/shared/post.js84
2 files changed, 0 insertions, 148 deletions
diff --git a/web/public/js/shared/modal.js b/web/public/js/shared/modal.js
deleted file mode 100644
index 792cd85..0000000
--- a/web/public/js/shared/modal.js
+++ /dev/null
@@ -1,64 +0,0 @@
-$(document).on('click', ".modal-close", (o) => {
- $(o.target).closest('.modal-container').remove();
-});
-
-const initDrag = (header, modal, container) => {
- let drag = false;
-
- let mouseX, mouseY, modalX, modalY;
-
- const onStart = (e) => {
- e = e || window.event;
- e.preventDefault();
- mouseX = e.clientX;
- mouseY = e.clientY;
- drag = true;
- };
-
- const onDrag = (e) => {
- e = e || window.event;
- e.preventDefault();
- if (!drag) {
- return;
- }
- modalX = mouseX - e.clientX;
- modalY = mouseY - e.clientY;
- mouseX = e.clientX;
- mouseY = e.clientY;
-
- let posX = (modal.offsetLeft - modalX),
- posY = (modal.offsetTop - modalY);
-
- let minX = modal.offsetWidth / 2,
- minY = modal.offsetHeight / 2;
-
- let maxX = container.offsetWidth - minX,
- maxY = container.offsetHeight - minY;
-
- posX = Math.max(minX, Math.min(maxX, posX));
- posY = Math.max(minY, Math.min(maxY, posY));
-
- posX = posX / container.offsetWidth * 100;
- posY = posY / container.offsetHeight * 100;
-
- modal.style.left = posX + "%";
- modal.style.top = posY + "%";
- };
-
- const onEnd = () => {
- drag = false;
- };
-
- header.onmousedown = onStart;
- container.onmousemove = onDrag;
- container.onmouseup = onEnd;
-};
-
-observe('body', '.modal-header', function(el) {
- let header = $(el);
- let modal = header.closest('.modal');
- let container = header.closest('.modal-container');
- initDrag(
- header[0], modal[0], container[0]
- );
-});
diff --git a/web/public/js/shared/post.js b/web/public/js/shared/post.js
deleted file mode 100644
index f22dd99..0000000
--- a/web/public/js/shared/post.js
+++ /dev/null
@@ -1,84 +0,0 @@
-observe('#main-content', '.action-load-comments', function(me) {
- me.on('click', function() {
- let page = me.attr('page');
- if (!page) {
- page = '1';
- }
- let newPage = Number(page) + 1;
- me.attr('page', newPage + '');
-
- let postId = me.attr('postId');
- let loaded = Number(me.attr('loaded'));
- let pageSize = Number(me.attr('pageSize'));
- let commmentCount = Number(me.attr('commentCount'));
- let commentMax = Number(me.attr('commentMax'));
-
- let url = '/_util/post/comments?page=' + page + '&id=' + postId + '&max' + commentMax;
- $.get(url, function (data) {
- if (data === '') {
- me.remove();
- return;
- }
-
- $(data).insertBefore(me);
-
- loaded += pageSize;
- if (loaded >= commmentCount) {
- me.remove();
- } else {
- me.attr('loaded', loaded + '');
- }
- });
- });
-});
-
-observe('#main-content', '#action-load-posts', function(me) {
- me.on('click', function () {
- let page = me.attr('page');
- if (!page) {
- page = '1';
- }
- let newPage = Number(page) + 1;
- me.attr('page', newPage + '');
-
- let loaded = Number(me.attr('loaded'));
- let pageSize = Number(me.attr('pageSize'));
- let postCount = Number(me.attr('postCount'));
- let postMax = Number(me.attr('postMax'));
-
- let url = '/_util/post/posts?page=' + page + '&max=' + postMax;
- $.get(url, function (data) {
- if (data === '') {
- me.remove();
- return;
- }
-
- $(data).insertBefore(me);
-
- loaded += pageSize;
- if (loaded >= postCount) {
- me.remove();
- } else {
- me.attr('loaded', loaded + '');
- }
- });
- });
-});
-
-observe('#main-content', '.action-new-comment-form', function(me) {
- me.on('submit', function(e) {
- e.preventDefault();
- let input = me.find('.action-new-comment');
- let content = input.val();
- let post_id = input.attr('postId');
- $.ajax({
- url: '/api/comment',
- method: 'POST',
- data: JSON.stringify({ post_id, content }),
- success: function(_data) {
- window.location.reload();
- },
- error: errorToast
- });
- });
-});