simple overboard link changing/localstorage saving, to help the bookmarkedly challenged

update CHANGELOG
jschan
Thomas Lynch 3 years ago
parent f07a66edc2
commit d7772f2b66
  1. 6
      CHANGELOG.md
  2. 17
      gulp/res/js/forms.js
  3. 1
      gulp/res/js/localstorage.js
  4. 25
      gulp/res/js/saveoverboard.js
  5. 2
      gulpfile.js
  6. 2
      views/includes/navbar.pug

@ -55,3 +55,9 @@
- Image previews now shown in notifications
- Strict filtering improvements
- Many bugfixes
### 0.1.7
- Update inconsistent wording of custom overboard subtitle from 0.1.6
- Dont show "local first" checkbox in boardlist when webring isn't even enabled
- Bugfix to code markup, remove only leading blank lines, keeping leading whitespace on first non-empty line
- Make overboard settings save somewhat in localstorage to help stupid zoomers who dont know what a BOOKMARK is

@ -95,7 +95,8 @@ let recaptchaResponse = null;
function recaptchaCallback(response) {
recaptchaResponse = response;
}
class formHandler {
class postFormHandler {
constructor(form) {
this.form = form;
@ -261,8 +262,10 @@ class formHandler {
forceUpdate();
}
}
if (this.form.getAttribute('action') !== '/forms/editpost'
&& !this.form.getAttribute('action').endsWith('/settings')) { //dont reset on edit, keep the new values in there. todo: add exceptions/better handling for this situation
//dont reset on edit, keep the new values in there. todo: add exceptions/better handling for this situation
const formAction = this.form.getAttribute('action');
if (formAction !== '/forms/editpost'
&& !formAction.endsWith('/settings')) {
this.reset();
}
} else {
@ -500,10 +503,10 @@ window.addEventListener('DOMContentLoaded', () => {
window.addEventListener('settingsReady', () => {
for(let i = 0; i < forms.length; i++) {
if (forms[i].method === 'post' /*&& forms[i].encoding === 'multipart/form-data'*/) {
new formHandler(forms[i]);
for (let i = 0; i < forms.length; i++) {
if (forms[i].method === 'post') {
new postFormHandler(forms[i]);
}
}
})
});

@ -57,3 +57,4 @@ setDefaultLocalStorage('name', '');
setDefaultLocalStorage('theme', 'default');
setDefaultLocalStorage('codetheme', 'default');
setDefaultLocalStorage('customcss', '');
setDefaultLocalStorage('overboardsettings', '{}');

@ -0,0 +1,25 @@
const overboardLink = document.getElementById('overboardlink');
if (overboardLink) {
const updateOverboardLink = () => {
const overboardSettings = JSON.parse(localStorage.getItem('overboardsettings'));
if (overboardSettings.add.length > 0 || overboardSettings.rem.length > 0 || !overboardSettings.include_default) {
overboardLink.setAttribute('href', `/overboard.html?${new URLSearchParams(overboardSettings)}`);
}
}
updateOverboardLink();
if (location.pathname === '/overboard.html') {
const overboardForm = document.querySelector('form[action="/overboard.html"]');
const saveOverboardSettings = (e) => {
const newOverboardSettings = {
add: overboardForm.elements.add.value,
rem: overboardForm.elements.rem.value,
include_default: overboardForm.elements.include_default.checked,
};
if (newOverboardSettings.add.length === 0 && !newOverboardSettings.include_default) {
newOverboardSettings.include_default = true; //nice
}
setLocalStorage('overboardsettings', JSON.stringify(newOverboardSettings));
}
overboardForm.addEventListener('submit', saveOverboardSettings, false);
}
}

@ -414,6 +414,7 @@ const extraLocals = ${JSON.stringify({ meta: config.get.meta, reverseImageLinksU
`${paths.scripts.src}/captcha.js`,
`${paths.scripts.src}/forms.js`,
`${paths.scripts.src}/*.js`,
`!${paths.scripts.src}/saveoverboard.js`,
`!${paths.scripts.src}/hidefileinput.js`,
`!${paths.scripts.src}/dragable.js`,
`!${paths.scripts.src}/filters.js`,
@ -428,6 +429,7 @@ const extraLocals = ${JSON.stringify({ meta: config.get.meta, reverseImageLinksU
.pipe(uglify({compress:false}))
.pipe(gulp.dest(paths.scripts.dest));
return gulp.src([
`${paths.scripts.src}/saveoverboard.js`,
`${paths.scripts.src}/hidefileinput.js`,
`${paths.scripts.src}/dragable.js`,
`${paths.scripts.src}/hideimages.js`,

@ -5,7 +5,7 @@ unless minimal
| Boards
if enableWebring
.rainbow +Webring
a.nav-item(href='/overboard.html') Overboard
a.nav-item#overboardlink(href='/overboard.html') Overboard
a.nav-item(href='/account.html') Account
if board
a.nav-item(href=`/${board._id}/manage/reports.html`) Manage

Loading…
Cancel
Save