Added support for reporting posts on 3DS (WIP - needs more testing). ESLint on a few files

This commit is contained in:
Jemma
2023-12-30 16:31:38 -06:00
parent b794fcd5a7
commit 43ce53edef
10 changed files with 457 additions and 323 deletions

View File

@@ -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;
}

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,5 @@
/*eslint-env browser*/
/*eslint no-var: "off"*/
if (typeof cave !== 'undefined') {
window.addEventListener('error', handleError, true);

View File

@@ -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();
});

File diff suppressed because one or more lines are too long

View File

@@ -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>

View File

@@ -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>

View File

@@ -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%;
}
}

File diff suppressed because one or more lines are too long

View File

@@ -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>