mirror of
https://github.com/PretendoNetwork/juxtaposition-ui.git
synced 2026-08-24 10:16:45 -05:00
Added support for reporting posts on 3DS (WIP - needs more testing). ESLint on a few files
This commit is contained in:
@@ -371,7 +371,9 @@ header svg {
|
||||
|
||||
.post-content-text {
|
||||
padding: 5px;
|
||||
font-size: 15px
|
||||
font-size: 15px;
|
||||
word-wrap: break-word;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.post header {
|
||||
@@ -892,4 +894,17 @@ menu.tab-header.no-margin {
|
||||
|
||||
.message-post-list .post header {
|
||||
color: #969696;
|
||||
}
|
||||
#report-post-page p {
|
||||
text-align: center;
|
||||
}
|
||||
#report-post-page .report > div {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
#report-post-page .report > .textarea-text {
|
||||
width: 377px;
|
||||
margin: 4px;
|
||||
padding: 4px;
|
||||
}
|
||||
2
src/webfiles/ctr/css/juxt.min.css
vendored
2
src/webfiles/ctr/css/juxt.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -1,3 +1,5 @@
|
||||
/*eslint-env browser*/
|
||||
/*eslint no-var: "off"*/
|
||||
if (typeof cave !== 'undefined') {
|
||||
window.addEventListener('error', handleError, true);
|
||||
|
||||
|
||||
@@ -1,381 +1,440 @@
|
||||
/*eslint-env browser*/
|
||||
/*eslint no-var: "off"*/
|
||||
/*eslint @typescript-eslint/explicit-function-return-type: "off"*/
|
||||
var pjax;
|
||||
var updateCheck = setInterval(checkForUpdates, 30000);
|
||||
|
||||
cave.toolbar_setCallback(1, back)
|
||||
cave.toolbar_setCallback(99, back)
|
||||
cave.toolbar_setCallback(2, function() {
|
||||
cave.toolbar_setActiveButton(2);
|
||||
pjax.loadUrl('/feed');
|
||||
})
|
||||
cave.toolbar_setCallback(3, function() {
|
||||
cave.toolbar_setActiveButton(3);
|
||||
pjax.loadUrl('/titles');
|
||||
})
|
||||
cave.toolbar_setCallback(4, function() {
|
||||
cave.toolbar_setActiveButton(4);
|
||||
checkForUpdates();
|
||||
pjax.loadUrl('/news/my_news');
|
||||
})
|
||||
cave.toolbar_setCallback(5, function() {
|
||||
cave.toolbar_setActiveButton(5);
|
||||
pjax.loadUrl('/users/me')
|
||||
})
|
||||
cave.toolbar_setCallback(8, function() {
|
||||
setInterval(checkForUpdates, 30000);
|
||||
|
||||
cave.toolbar_setCallback(1, back);
|
||||
cave.toolbar_setCallback(99, back);
|
||||
cave.toolbar_setCallback(2, function () {
|
||||
cave.toolbar_setActiveButton(2);
|
||||
pjax.loadUrl('/feed');
|
||||
});
|
||||
cave.toolbar_setCallback(3, function () {
|
||||
cave.toolbar_setActiveButton(3);
|
||||
pjax.loadUrl('/titles');
|
||||
});
|
||||
cave.toolbar_setCallback(4, function () {
|
||||
cave.toolbar_setActiveButton(4);
|
||||
checkForUpdates();
|
||||
pjax.loadUrl('/news/my_news');
|
||||
});
|
||||
cave.toolbar_setCallback(5, function () {
|
||||
cave.toolbar_setActiveButton(5);
|
||||
pjax.loadUrl('/users/me');
|
||||
});
|
||||
cave.toolbar_setCallback(8, function () {});
|
||||
|
||||
function initPostModules() {
|
||||
var els = document.querySelectorAll("[data-module-show]");
|
||||
if (!els) return;
|
||||
for (var i = 0; i < els.length; i++) {
|
||||
els[i].onclick = postModel;
|
||||
}
|
||||
function postModel(e) {
|
||||
var el = e.currentTarget,
|
||||
show = el.getAttribute("data-module-show"),
|
||||
hide = el.getAttribute("data-module-hide"),
|
||||
header = el.getAttribute("data-header"),
|
||||
sound = el.getAttribute("data-sound"),
|
||||
message = el.getAttribute("data-message"),
|
||||
screenshot = el.getAttribute("data-screenshot");
|
||||
if(sound) cave.snd_playSe(sound);
|
||||
if(!show || !hide) return;
|
||||
document.getElementById(hide).style.display = 'none';
|
||||
document.getElementById(show).style.display = 'block';
|
||||
if(header === 'true')
|
||||
document.getElementById("header").style.display = 'block';
|
||||
else
|
||||
document.getElementById("header").style.display = 'none';
|
||||
if(screenshot) {
|
||||
var screenshotButton = document.getElementById('screenshot-button');
|
||||
if(!cave.capture_isEnabled()) {
|
||||
classList.add(screenshotButton, 'none');
|
||||
screenshotButton.onclick = null;
|
||||
}
|
||||
}
|
||||
if(message) {
|
||||
cave.toolbar_setWideButtonMessage(message);
|
||||
cave.toolbar_setMode(1);
|
||||
cave.toolbar_setButtonType(1);
|
||||
function tempBk() {
|
||||
document.getElementById("close-modal-button").click();
|
||||
}
|
||||
cave.toolbar_setCallback(1, tempBk);
|
||||
cave.toolbar_setCallback(99, tempBk);
|
||||
cave.toolbar_setCallback(8, function () {
|
||||
cave.toolbar_setMode(0);
|
||||
cave.toolbar_setButtonType(0);
|
||||
document.getElementById("submit").click();
|
||||
});
|
||||
var els = document.querySelectorAll('[data-module-show]');
|
||||
if (!els) return;
|
||||
for (var i = 0; i < els.length; i++) {
|
||||
els[i].onclick = postModel;
|
||||
}
|
||||
function postModel(e) {
|
||||
var el = e.currentTarget;
|
||||
var show = el.getAttribute('data-module-show');
|
||||
var hide = el.getAttribute('data-module-hide');
|
||||
var header = el.getAttribute('data-header');
|
||||
var sound = el.getAttribute('data-sound');
|
||||
var message = el.getAttribute('data-message');
|
||||
var screenshot = el.getAttribute('data-screenshot');
|
||||
|
||||
}
|
||||
else {
|
||||
cave.toolbar_setMode(0);
|
||||
cave.toolbar_setButtonType(0);
|
||||
cave.toolbar_setCallback(1, back);
|
||||
cave.toolbar_setCallback(99, back);
|
||||
}
|
||||
cave.transition_end();
|
||||
initNewPost();
|
||||
}
|
||||
if (sound) cave.snd_playSe(sound);
|
||||
if (!show || !hide) return;
|
||||
document.getElementById(hide).style.display = 'none';
|
||||
document.getElementById(show).style.display = 'block';
|
||||
if (header === 'true')
|
||||
document.getElementById('header').style.display = 'block';
|
||||
else document.getElementById('header').style.display = 'none';
|
||||
if (screenshot) {
|
||||
var screenshotButton = document.getElementById('screenshot-button');
|
||||
if (!cave.capture_isEnabled()) {
|
||||
classList.add(screenshotButton, 'none');
|
||||
screenshotButton.onclick = null;
|
||||
}
|
||||
}
|
||||
function tempBk() {
|
||||
document.getElementById('close-modal-button').click();
|
||||
}
|
||||
if (message) {
|
||||
cave.toolbar_setWideButtonMessage(message);
|
||||
cave.toolbar_setMode(1);
|
||||
cave.toolbar_setButtonType(1);
|
||||
cave.toolbar_setCallback(1, tempBk);
|
||||
cave.toolbar_setCallback(99, tempBk);
|
||||
cave.toolbar_setCallback(8, function () {
|
||||
cave.toolbar_setMode(0);
|
||||
cave.toolbar_setButtonType(0);
|
||||
document.getElementById('submit').click();
|
||||
});
|
||||
} else {
|
||||
cave.toolbar_setMode(0);
|
||||
cave.toolbar_setButtonType(0);
|
||||
cave.toolbar_setCallback(1, back);
|
||||
cave.toolbar_setCallback(99, back);
|
||||
}
|
||||
cave.transition_end();
|
||||
initNewPost();
|
||||
}
|
||||
}
|
||||
function initMorePosts() {
|
||||
var els = document.querySelectorAll(".load-more[data-href]");
|
||||
if (!els) return;
|
||||
for (var i = 0; i < els.length; i++) {
|
||||
els[i].addEventListener("click", function(e) {
|
||||
var el = e.currentTarget;
|
||||
cave.snd_playSe('SE_OLV_OK');
|
||||
GET(el.getAttribute('data-href'), function a(data) {
|
||||
var response = data.responseText;
|
||||
if(response && data.status === 200) {
|
||||
el.parentElement.outerHTML = response;
|
||||
initPosts();
|
||||
initMorePosts();
|
||||
}
|
||||
else
|
||||
el.parentElement.outerHTML = "";
|
||||
})
|
||||
|
||||
});
|
||||
}
|
||||
var els = document.querySelectorAll('.load-more[data-href]');
|
||||
if (!els) return;
|
||||
for (var i = 0; i < els.length; i++) {
|
||||
els[i].addEventListener('click', function (e) {
|
||||
var el = e.currentTarget;
|
||||
cave.snd_playSe('SE_OLV_OK');
|
||||
GET(el.getAttribute('data-href'), function a(data) {
|
||||
var response = data.responseText;
|
||||
if (response && data.status === 200) {
|
||||
el.parentElement.outerHTML = response;
|
||||
initPosts();
|
||||
initMorePosts();
|
||||
} else el.parentElement.outerHTML = '';
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
function initPosts() {
|
||||
var els = document.querySelectorAll(".post-content[data-href]");
|
||||
if (!els) return;
|
||||
for (var i = 0; i < els.length; i++) {
|
||||
els[i].addEventListener("click", function(e) {
|
||||
pjax.loadUrl(e.currentTarget.getAttribute('data-href'));
|
||||
});
|
||||
}
|
||||
initYeah();
|
||||
initSpoilers();
|
||||
var els = document.querySelectorAll('.post-content[data-href]');
|
||||
if (!els) return;
|
||||
for (var i = 0; i < els.length; i++) {
|
||||
els[i].addEventListener('click', function (e) {
|
||||
pjax.loadUrl(e.currentTarget.getAttribute('data-href'));
|
||||
});
|
||||
}
|
||||
initYeah();
|
||||
initSpoilers();
|
||||
}
|
||||
function initYeah() {
|
||||
var els = document.querySelectorAll("button[data-post]");
|
||||
if (!els) return;
|
||||
for (var i = 0; i < els.length; i++) {
|
||||
els[i].onclick = yeah;
|
||||
}
|
||||
function yeah(e) {
|
||||
var el = e.currentTarget, id = el.getAttribute("data-post");
|
||||
var parent = document.getElementById(id);
|
||||
var count = document.getElementById("count-" + id);
|
||||
el.disabled = true;
|
||||
var params = "postID=" + id;
|
||||
if(classList.contains(el, 'selected')) {
|
||||
classList.remove(el, 'selected');
|
||||
classList.remove(parent, 'yeah');
|
||||
if(count) count.innerText -= 1;
|
||||
cave.snd_playSe('SE_OLV_CANCEL');
|
||||
|
||||
}
|
||||
else {
|
||||
classList.add(el, 'selected');
|
||||
classList.add(parent, 'yeah');
|
||||
if(count) count.innerText = ++count.innerText;
|
||||
cave.snd_playSe('SE_OLV_MII_ADD');
|
||||
}
|
||||
POST('/posts/empathy', params, function a(data) {
|
||||
var post = JSON.parse(data.responseText);
|
||||
if(!post || post.status !== 200) {
|
||||
// Apparently there was an actual error code for not being able to yeah a post, who knew!
|
||||
// TODO: Find more of these
|
||||
return cave.error_callErrorViewer(155927);
|
||||
}
|
||||
el.disabled = false;
|
||||
if(count) count.innerText = post.count;
|
||||
});
|
||||
}
|
||||
var els = document.querySelectorAll('button[data-post]');
|
||||
if (!els) return;
|
||||
for (var i = 0; i < els.length; i++) {
|
||||
els[i].onclick = yeah;
|
||||
}
|
||||
function yeah(e) {
|
||||
var el = e.currentTarget,
|
||||
id = el.getAttribute('data-post');
|
||||
var parent = document.getElementById(id);
|
||||
var count = document.getElementById('count-' + id);
|
||||
el.disabled = true;
|
||||
var params = 'postID=' + id;
|
||||
if (classList.contains(el, 'selected')) {
|
||||
classList.remove(el, 'selected');
|
||||
classList.remove(parent, 'yeah');
|
||||
if (count) count.innerText -= 1;
|
||||
cave.snd_playSe('SE_OLV_CANCEL');
|
||||
} else {
|
||||
classList.add(el, 'selected');
|
||||
classList.add(parent, 'yeah');
|
||||
if (count) count.innerText = ++count.innerText;
|
||||
cave.snd_playSe('SE_OLV_MII_ADD');
|
||||
}
|
||||
POST('/posts/empathy', params, function a(data) {
|
||||
var post = JSON.parse(data.responseText);
|
||||
if (!post || post.status !== 200) {
|
||||
// Apparently there was an actual error code for not being able to yeah a post, who knew!
|
||||
// TODO: Find more of these
|
||||
return cave.error_callErrorViewer(155927);
|
||||
}
|
||||
el.disabled = false;
|
||||
if (count) count.innerText = post.count;
|
||||
});
|
||||
}
|
||||
}
|
||||
function initSpoilers() {
|
||||
var els = document.querySelectorAll("button[data-post-id]");
|
||||
if (!els) return;
|
||||
for (var i = 0; i < els.length; i++) {
|
||||
els[i].addEventListener("click", function(e) {
|
||||
var el = e.currentTarget;
|
||||
classList.remove(document.getElementById('post-' + el.getAttribute('data-post-id')), 'spoiler');
|
||||
document.getElementById('spoiler-' + el.getAttribute('data-post-id')).outerHTML = '';
|
||||
cave.snd_playSe('SE_OLV_OK');
|
||||
});
|
||||
}
|
||||
var els = document.querySelectorAll('button[data-post-id]');
|
||||
if (!els) return;
|
||||
for (var i = 0; i < els.length; i++) {
|
||||
els[i].addEventListener('click', function (e) {
|
||||
var el = e.currentTarget;
|
||||
classList.remove(
|
||||
document.getElementById('post-' + el.getAttribute('data-post-id')),
|
||||
'spoiler'
|
||||
);
|
||||
document.getElementById(
|
||||
'spoiler-' + el.getAttribute('data-post-id')
|
||||
).outerHTML = '';
|
||||
cave.snd_playSe('SE_OLV_OK');
|
||||
});
|
||||
}
|
||||
}
|
||||
function initTabs() {
|
||||
var els = document.querySelectorAll(".tab-button");
|
||||
if (!els) return;
|
||||
for (var i = 0; i < els.length; i++) {
|
||||
els[i].onclick = tabs;
|
||||
}
|
||||
function tabs(e) {
|
||||
e.preventDefault();
|
||||
cave.transition_begin();
|
||||
var el = e.currentTarget;
|
||||
var child = el.children[0];
|
||||
var els = document.querySelectorAll('.tab-button');
|
||||
if (!els) return;
|
||||
for (var i = 0; i < els.length; i++) {
|
||||
els[i].onclick = tabs;
|
||||
}
|
||||
function tabs(e) {
|
||||
e.preventDefault();
|
||||
cave.transition_begin();
|
||||
var el = e.currentTarget;
|
||||
var child = el.children[0];
|
||||
|
||||
for(var i = 0; i < els.length; i++) {
|
||||
if(classList.contains(els[i], 'selected'))
|
||||
classList.remove(els[i], 'selected');
|
||||
}
|
||||
classList.add(el, "selected");
|
||||
for (var i = 0; i < els.length; i++) {
|
||||
if (classList.contains(els[i], 'selected'))
|
||||
classList.remove(els[i], 'selected');
|
||||
}
|
||||
classList.add(el, 'selected');
|
||||
|
||||
GET(child.getAttribute('href') + "?pjax=true", function a(data) {
|
||||
var response = data.responseText;
|
||||
if(response && data.status === 200) {
|
||||
document.getElementsByClassName("tab-body")[0].innerHTML = response;
|
||||
pjax.history.push(child.href);
|
||||
initPosts();
|
||||
initMorePosts();
|
||||
cave.transition_end();
|
||||
}
|
||||
})
|
||||
GET(child.getAttribute('href') + '?pjax=true', function a(data) {
|
||||
var response = data.responseText;
|
||||
if (response && data.status === 200) {
|
||||
document.getElementsByClassName('tab-body')[0].innerHTML = response;
|
||||
pjax.history.push(child.href);
|
||||
initPosts();
|
||||
initMorePosts();
|
||||
cave.transition_end();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
function deletePost(post) {
|
||||
var id = post.getAttribute('data-post');
|
||||
if (!id) return;
|
||||
var confirm = cave.dialog_twoButton(
|
||||
'Delete Post',
|
||||
'Are you sure you want to delete your post? This cannot be undone.',
|
||||
'No',
|
||||
'Yes'
|
||||
);
|
||||
if (confirm) {
|
||||
DELETE('/posts/' + id, function a(data) {
|
||||
if (!data || data.status !== 200) {
|
||||
return cave.error_callFreeErrorViewer(
|
||||
'5980030',
|
||||
'Post was not able to be deleted. Please try again later.'
|
||||
);
|
||||
}
|
||||
console.log(data);
|
||||
alert('Post has been deleted.');
|
||||
return (window.location.href = data.responseText);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function reportPost(post) {
|
||||
var id = post.getAttribute('data-post');
|
||||
var button = document.getElementById('report-launcher');
|
||||
var form = document.getElementById('report-form');
|
||||
var formID = document.getElementById('report-post-id');
|
||||
if (!id || !button || !form || !formID) return;
|
||||
|
||||
form.action = '/posts/' + id + '/report';
|
||||
formID.value = id;
|
||||
button.click();
|
||||
}
|
||||
|
||||
function back() {
|
||||
if(!pjax.canGoBack())
|
||||
cave.toolbar_setButtonType(0);
|
||||
else
|
||||
pjax.back();
|
||||
if (!pjax.canGoBack()) cave.toolbar_setButtonType(0);
|
||||
else pjax.back();
|
||||
}
|
||||
|
||||
function stopLoading() {
|
||||
if(window.location.href.indexOf('/titles/show/first') !== -1)
|
||||
return;
|
||||
cave.transition_end();
|
||||
cave.lls_setItem('agree_olv', '1');
|
||||
cave.toolbar_setActiveButton(3);
|
||||
cave.snd_playBgm('BGM_CAVE_MAIN');
|
||||
cave.toolbar_setVisible(true);
|
||||
if (window.location.href.indexOf('/titles/show/first') !== -1) return;
|
||||
cave.transition_end();
|
||||
cave.lls_setItem('agree_olv', '1');
|
||||
cave.toolbar_setActiveButton(3);
|
||||
cave.snd_playBgm('BGM_CAVE_MAIN');
|
||||
cave.toolbar_setVisible(true);
|
||||
}
|
||||
|
||||
function initAll() {
|
||||
initPosts();
|
||||
initMorePosts();
|
||||
initPostModules();
|
||||
initTabs();
|
||||
checkForUpdates();
|
||||
pjax.refresh();
|
||||
initPosts();
|
||||
initMorePosts();
|
||||
initPostModules();
|
||||
initTabs();
|
||||
checkForUpdates();
|
||||
pjax.refresh();
|
||||
}
|
||||
|
||||
var PostStorage = {
|
||||
maxLocalStorageNum: 3,
|
||||
getPosts: function() {
|
||||
return PostStorage.getAll()[0];
|
||||
},
|
||||
getAll: function() {
|
||||
for (var e = {}, t = cave.lls_getCount(), i = new RegExp("^[0-9]+$"), o = 0, n = 0; n < t; n++) {
|
||||
var a = cave.lls_getKeyAt(n);
|
||||
i.test(a) && (e[a] = cave.lls_getItem(a), o += 1)
|
||||
}
|
||||
return [e, o]
|
||||
},
|
||||
getCount: function() {
|
||||
return PostStorage.getAll()[1]
|
||||
},
|
||||
setItem: function(e) {
|
||||
var t = (new Date).getTime();
|
||||
cave.lls_setItem(String(t), e)
|
||||
},
|
||||
removeItem: function(e) {
|
||||
var t = JSON.parse(cave.lls_getItem(e));
|
||||
t && t.screenShotKey && cave.lls_removeItem(t.screenShotKey), cave.lls_removeItem(e)
|
||||
},
|
||||
hasKey: function(e) {
|
||||
for (var t = cave.lls_getCount(), i = 0; i < t; i++)
|
||||
if (e === cave.lls_getKeyAt(i)) return !0;
|
||||
return !1
|
||||
},
|
||||
sweep: function() {
|
||||
var t = PostStorage.getAll(),
|
||||
i = t[0];
|
||||
if (t[1] > 0)
|
||||
for (var o in i) {
|
||||
var n = JSON.parse(cave.lls_getItem(o)).screenShotKey;
|
||||
n && !PostStorage.hasKey(n) && cave.lls_removeItem(o)
|
||||
}
|
||||
}
|
||||
}
|
||||
maxLocalStorageNum: 3,
|
||||
getPosts: function () {
|
||||
return PostStorage.getAll()[0];
|
||||
},
|
||||
getAll: function () {
|
||||
for (
|
||||
var e = {},
|
||||
t = cave.lls_getCount(),
|
||||
i = new RegExp('^[0-9]+$'),
|
||||
o = 0,
|
||||
n = 0;
|
||||
n < t;
|
||||
n++
|
||||
) {
|
||||
var a = cave.lls_getKeyAt(n);
|
||||
i.test(a) && ((e[a] = cave.lls_getItem(a)), (o += 1));
|
||||
}
|
||||
return [e, o];
|
||||
},
|
||||
getCount: function () {
|
||||
return PostStorage.getAll()[1];
|
||||
},
|
||||
setItem: function (e) {
|
||||
var t = new Date().getTime();
|
||||
cave.lls_setItem(String(t), e);
|
||||
},
|
||||
removeItem: function (e) {
|
||||
var t = JSON.parse(cave.lls_getItem(e));
|
||||
t && t.screenShotKey && cave.lls_removeItem(t.screenShotKey),
|
||||
cave.lls_removeItem(e);
|
||||
},
|
||||
hasKey: function (e) {
|
||||
for (var t = cave.lls_getCount(), i = 0; i < t; i++)
|
||||
if (e === cave.lls_getKeyAt(i)) return !0;
|
||||
return !1;
|
||||
},
|
||||
sweep: function () {
|
||||
var t = PostStorage.getAll(),
|
||||
i = t[0];
|
||||
if (t[1] > 0)
|
||||
for (var o in i) {
|
||||
var n = JSON.parse(cave.lls_getItem(o)).screenShotKey;
|
||||
n && !PostStorage.hasKey(n) && cave.lls_removeItem(o);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
var classList = {
|
||||
contains: function (el, string) {
|
||||
return el.className.indexOf(string) !== -1;
|
||||
},
|
||||
add: function (el, string) {
|
||||
el.className += ' ' + string;
|
||||
},
|
||||
remove: function (el, string) {
|
||||
el.className = el.className.replace(string, '');
|
||||
}
|
||||
}
|
||||
contains: function (el, string) {
|
||||
return el.className.indexOf(string) !== -1;
|
||||
},
|
||||
add: function (el, string) {
|
||||
el.className += ' ' + string;
|
||||
},
|
||||
remove: function (el, string) {
|
||||
el.className = el.className.replace(string, '');
|
||||
},
|
||||
};
|
||||
function testOffline() {
|
||||
var posts = PostStorage.getAll();
|
||||
var text = JSON.stringify(posts, null,'\t');
|
||||
POST('/test', text, function() {window.alert('sent')});
|
||||
var posts = PostStorage.getAll();
|
||||
var text = JSON.stringify(posts, null, '\t');
|
||||
POST('/test', text, function () {
|
||||
window.alert('sent');
|
||||
});
|
||||
}
|
||||
|
||||
function checkForUpdates() {
|
||||
GET('/notifications.json', function updates(data) {
|
||||
var notificationObj = JSON.parse(data.responseText);
|
||||
var count = notificationObj.message_count + notificationObj.notification_count;
|
||||
cave.toolbar_setNotificationCount(count);
|
||||
});
|
||||
GET('/notifications.json', function updates(data) {
|
||||
var notificationObj = JSON.parse(data.responseText);
|
||||
var count =
|
||||
notificationObj.message_count + notificationObj.notification_count;
|
||||
cave.toolbar_setNotificationCount(count);
|
||||
});
|
||||
}
|
||||
|
||||
function newText() {
|
||||
classList.remove(document.getElementById('memo-sprite'), 'selected');
|
||||
classList.remove(document.getElementById('post-memo'), 'selected');
|
||||
classList.add(document.getElementById('text-sprite'), 'selected');
|
||||
classList.add(document.getElementById('post-text'), 'selected');
|
||||
classList.remove(document.getElementById('memo-sprite'), 'selected');
|
||||
classList.remove(document.getElementById('post-memo'), 'selected');
|
||||
classList.add(document.getElementById('text-sprite'), 'selected');
|
||||
classList.add(document.getElementById('post-text'), 'selected');
|
||||
}
|
||||
function newPainting(reset) {
|
||||
if(reset) cave.memo_clear();
|
||||
classList.remove(document.getElementById('text-sprite'), 'selected');
|
||||
classList.remove(document.getElementById('post-text'), 'selected');
|
||||
classList.add(document.getElementById('memo-sprite'), 'selected');
|
||||
classList.add(document.getElementById('post-memo'), 'selected');
|
||||
cave.memo_open();
|
||||
setTimeout(function () {
|
||||
if(cave.memo_hasValidImage()) {
|
||||
document.getElementById('memo').src = 'data:image/png;base64,' + cave.memo_getImageBmp();
|
||||
document.getElementById('memo-value').value = cave.memo_getImageBmp();
|
||||
}
|
||||
}, 250);
|
||||
if (reset) cave.memo_clear();
|
||||
classList.remove(document.getElementById('text-sprite'), 'selected');
|
||||
classList.remove(document.getElementById('post-text'), 'selected');
|
||||
classList.add(document.getElementById('memo-sprite'), 'selected');
|
||||
classList.add(document.getElementById('post-memo'), 'selected');
|
||||
cave.memo_open();
|
||||
setTimeout(function () {
|
||||
if (cave.memo_hasValidImage()) {
|
||||
document.getElementById('memo').src =
|
||||
'data:image/png;base64,' + cave.memo_getImageBmp();
|
||||
document.getElementById('memo-value').value = cave.memo_getImageBmp();
|
||||
}
|
||||
}, 250);
|
||||
}
|
||||
|
||||
function newScreenshot(topScreen) {
|
||||
var screenshot = topScreen ? cave.capture_getLowerImage();
|
||||
var screenshot = topScreen
|
||||
? cave.capture_getLowerImage()
|
||||
: cave.capture_getUpperImage();
|
||||
}
|
||||
|
||||
function follow(el) {
|
||||
var id = el.getAttribute("data-community-id");
|
||||
var count = document.getElementById("followers");
|
||||
el.disabled = true;
|
||||
var params = "id=" + id;
|
||||
if(classList.contains(el, 'selected')) {
|
||||
classList.remove(el, 'selected');
|
||||
cave.snd_playSe('SE_OLV_CANCEL');
|
||||
}
|
||||
else {
|
||||
classList.add(el, 'selected');
|
||||
cave.snd_playSe('SE_OLV_MII_ADD');
|
||||
}
|
||||
var id = el.getAttribute('data-community-id');
|
||||
var count = document.getElementById('followers');
|
||||
el.disabled = true;
|
||||
var params = 'id=' + id;
|
||||
if (classList.contains(el, 'selected')) {
|
||||
classList.remove(el, 'selected');
|
||||
cave.snd_playSe('SE_OLV_CANCEL');
|
||||
} else {
|
||||
classList.add(el, 'selected');
|
||||
cave.snd_playSe('SE_OLV_MII_ADD');
|
||||
}
|
||||
|
||||
POST(el.getAttribute("data-url"), params, function a(data) {
|
||||
var element = JSON.parse(data.responseText);
|
||||
if(!element || element.status !== 200) {
|
||||
// Apparently there was an actual error code for not being able to yeah a post, who knew!
|
||||
// TODO: Find more of these
|
||||
return cave.error_callErrorViewer(155927);
|
||||
}
|
||||
el.disabled = false;
|
||||
count.innerText = element.count;
|
||||
});
|
||||
POST(el.getAttribute('data-url'), params, function a(data) {
|
||||
var element = JSON.parse(data.responseText);
|
||||
if (!element || element.status !== 200) {
|
||||
// Apparently there was an actual error code for not being able to yeah a post, who knew!
|
||||
// TODO: Find more of these
|
||||
return cave.error_callErrorViewer(155927);
|
||||
}
|
||||
el.disabled = false;
|
||||
count.innerText = element.count;
|
||||
});
|
||||
}
|
||||
|
||||
function POST(url, data, callback) {
|
||||
cave.transition_begin()
|
||||
var xhttp = new XMLHttpRequest();
|
||||
xhttp.onreadystatechange = function() {
|
||||
if(this.readyState === 4) {
|
||||
cave.transition_end();
|
||||
return callback(this);
|
||||
}
|
||||
}
|
||||
xhttp.open("POST", url, true);
|
||||
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
xhttp.send(data);
|
||||
cave.transition_begin();
|
||||
var xhttp = new XMLHttpRequest();
|
||||
xhttp.onreadystatechange = function () {
|
||||
if (this.readyState === 4) {
|
||||
cave.transition_end();
|
||||
return callback(this);
|
||||
}
|
||||
};
|
||||
xhttp.open('POST', url, true);
|
||||
xhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
||||
xhttp.send(data);
|
||||
}
|
||||
function GET(url, callback) {
|
||||
var xhttp = new XMLHttpRequest();
|
||||
xhttp.onreadystatechange = function () {
|
||||
if (this.readyState === 4) {
|
||||
return callback(this);
|
||||
}
|
||||
};
|
||||
xhttp.open('GET', url, true);
|
||||
xhttp.send();
|
||||
}
|
||||
function DELETE(url, callback) {
|
||||
wiiuBrowser.showLoadingIcon(true);
|
||||
var xhttp = new XMLHttpRequest();
|
||||
xhttp.onreadystatechange = function() {
|
||||
if(this.readyState === 4) {
|
||||
wiiuBrowser.showLoadingIcon(false);
|
||||
return callback(this);
|
||||
}
|
||||
};
|
||||
xhttp.open("GET", url, true);
|
||||
xhttp.open("DELETE", url, true);
|
||||
xhttp.send();
|
||||
}
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
pjax = Pjax.init({
|
||||
elements: "a[data-pjax]",
|
||||
selectors: ["title", "#body"]
|
||||
})
|
||||
console.debug("Pjax initialized.", pjax);
|
||||
initAll();
|
||||
stopLoading();
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
pjax = Pjax.init({
|
||||
elements: 'a[data-pjax]',
|
||||
selectors: ['title', '#body'],
|
||||
});
|
||||
console.debug('Pjax initialized.', pjax);
|
||||
initAll();
|
||||
stopLoading();
|
||||
});
|
||||
document.addEventListener("PjaxRequest", function(e) {
|
||||
console.log(e);
|
||||
cave.transition_begin();
|
||||
document.addEventListener('PjaxRequest', function (e) {
|
||||
console.log(e);
|
||||
cave.transition_begin();
|
||||
});
|
||||
document.addEventListener("PjaxLoaded", function(e) { console.log(e);});
|
||||
document.addEventListener("PjaxDone", function(e) {
|
||||
initAll();
|
||||
cave.brw_scrollImmediately(0,0);
|
||||
if(pjax.canGoBack())
|
||||
cave.toolbar_setButtonType(1);
|
||||
else
|
||||
cave.toolbar_setButtonType(0);
|
||||
cave.transition_end();
|
||||
document.addEventListener('PjaxLoaded', function (e) {
|
||||
console.log(e);
|
||||
});
|
||||
document.addEventListener('PjaxDone', function (e) {
|
||||
initAll();
|
||||
cave.brw_scrollImmediately(0, 0);
|
||||
if (pjax.canGoBack()) cave.toolbar_setButtonType(1);
|
||||
else cave.toolbar_setButtonType(0);
|
||||
cave.transition_end();
|
||||
});
|
||||
|
||||
2
src/webfiles/ctr/js/juxt.min.js
vendored
2
src/webfiles/ctr/js/juxt.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -10,6 +10,12 @@
|
||||
data-sound="SE_WAVE_SELECT_TAB" data-module-hide="post"
|
||||
data-module-show="add-post-page" data-header="false" data-screenshot="true"
|
||||
data-message="Reply to <%= post.screen_name %>">Reply +</a>
|
||||
<%}%>
|
||||
<% if(post.pid === pid) {%>
|
||||
<a id="header-communities-button" class="delete header-button right" href="#" data-post="<%=post.id%>" onclick="deletePost(this)">Delete Post</a>
|
||||
<%} else {%>
|
||||
<a id="report-launcher" style="display: none" data-module-hide="post" data-module-show="report-post-page" data-header="false" data-menu="false"></a>
|
||||
<a id="header-communities-button" class="report header-button right" href="#" data-post="<%= post.id %>" onclick="reportPost(this)">Report Post</a>
|
||||
<%}%>
|
||||
</header>
|
||||
<div class="body-content tab2-content" id="post">
|
||||
@@ -23,6 +29,41 @@
|
||||
<% if(((community.allows_comments && community.open) || (community.admins && community.admins.indexOf(pid) !== -1)) && userSettings.pid !== 1000000000 && userSettings.account_status === 0) {%>
|
||||
<%- include('partials/new_post', { pid, lang, id: post.community_id, name: post.screen_name, url: `/posts/${post.id}/new`, show: 'post', message_pid: '' }); %>
|
||||
<%}%>
|
||||
<div id="report-post-page" class="add-post-page official-user-post" style="display: none">
|
||||
<header class="add-post-page-header" id="header">
|
||||
<h1 id="page-title">Report Post</h1>
|
||||
</header>
|
||||
<form method="post" action="/posts/<%=post.id%>/report" id="report-form" class="post" name="report" data-is-own-title="1" data-is-identified="1">
|
||||
<input type="hidden" name="post_id" id="report-post-id" value="<%= post.id %>"/>
|
||||
<div class="add-post-page-content report">
|
||||
<p>
|
||||
You are about to report a post with content which violates the Juxtaposition Code of Conduct.
|
||||
This report will be sent to Pretendo's Juxtaposition administrators and not to the creator of the post.
|
||||
</p>
|
||||
<div>
|
||||
<h4>Violation Type:</h4>
|
||||
<select name="reason" id="report">
|
||||
<option value="0">Spoiler</option>
|
||||
<option value="1">Personal Information</option>
|
||||
<option value="2">Violent Content</option>
|
||||
<option value="3">Inappropriate/Harmful Conduct</option>
|
||||
<option value="4">Hateful/Bullying</option>
|
||||
<option value="5">Advertising</option>
|
||||
<option value="6">Sexually Explicit</option>
|
||||
<option value="7">Piracy</option>
|
||||
<option value="8">Inappropriate Behavior in Game</option>
|
||||
<option value="9">Other</option>
|
||||
</select>
|
||||
</div>
|
||||
<textarea name="message" class="textarea-text" value="" maxlength="280" placeholder="Enter additional comments or information"></textarea>
|
||||
</div>
|
||||
<input type="button" class="olv-modal-close-button fixed-bottom-button left"
|
||||
value="Cancel" data-sound="SE_WAVE_CANCEL"
|
||||
data-module-show="post" data-module-hide="report-post-page"
|
||||
data-header="true" data-menu="true">
|
||||
<input type="submit" class="post-button fixed-bottom-button" value="Submit" onclick="wiiuBrowser.lockUserOperation(true);">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -16,7 +16,7 @@
|
||||
<% if(((community.allows_comments && community.open) || (community.admins && community.admins.indexOf(pid) !== -1)) && userSettings.pid !== 1000000000 && userSettings.account_status === 0) {%>
|
||||
<a id="header-post-button" class="header-button" href="#" data-module-hide="post" data-module-show="add-post-page" data-header="false" data-menu="false">Reply</a>
|
||||
<%}%>
|
||||
<% if(post.pid === pid || moderator) {%>
|
||||
<% if(post.pid === pid) {%>
|
||||
<a id="header-communities-button" class="delete" href="#" data-post="<%=post.id%>" onclick="deletePost(this)">Delete Post</a>
|
||||
<%} else {%>
|
||||
<a id="report-launcher" style="display: none" data-module-hide="post" data-module-show="report-post-page" data-header="false" data-menu="false"></a>
|
||||
|
||||
@@ -742,7 +742,20 @@ button.report {
|
||||
box-shadow: inset 2px 0 0#ddd
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1200px) {
|
||||
.header-button {
|
||||
position: fixed;
|
||||
bottom: 5%;
|
||||
right: 5%;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
background: var(--btn-secondary);
|
||||
color: var(--text);
|
||||
font-size: 25px;
|
||||
padding: 0;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1400px) {
|
||||
.communities-wrapper {
|
||||
max-width: 600px;
|
||||
grid-template-columns: auto auto;
|
||||
@@ -936,4 +949,7 @@ button.report {
|
||||
.scroll-focus.mii-icon-container {
|
||||
display: none;
|
||||
}
|
||||
.header-button {
|
||||
bottom: 8%;
|
||||
}
|
||||
}
|
||||
2
src/webfiles/web/css/web.min.css
vendored
2
src/webfiles/web/css/web.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -9,8 +9,9 @@
|
||||
<div id="toast"></div>
|
||||
<div id="wrapper">
|
||||
<div class="body-content message-post-list" id="message-page">
|
||||
<!--<button id="header-post-button" class="header-button" href="#" data-module-hide="message-page" data-module-show="add-post-page" data-header="false" data-menu="false">+</button>-->
|
||||
<% messages.forEach(function(message) { %>
|
||||
<div id="message-<%= message.post_id%>" class="post scroll <%if(message.pid === pid) {%>my-post<%} else {%>other-post<%}%>">
|
||||
<div id="message-<%= message.id %>" class="post scroll <%if(message.pid === pid) {%>my-post<%} else {%>other-post<%}%>">
|
||||
<a href="/users/show?pid=<%= message.pid %>" data-pjax="#body" class="scroll-focus mii-icon-container">
|
||||
<img src="https://pretendo-cdn.b-cdn.net<%= message.mii_face_url.substring(message.mii_face_url.lastIndexOf('/mii')) %>" class="mii-icon">
|
||||
</a>
|
||||
|
||||
Reference in New Issue
Block a user