Commit Graph

170 Commits

Author SHA1 Message Date
Joachim 4ed4278826 Tidy header for non-authenticated visitors
with the help of a login modal
2021-11-27 19:18:20 +01:00
Hugh Rundle 951eb43aa6
bypass ajax for shelf_selector statuses 2021-11-26 17:16:26 +11:00
Hugh Rundle 5b67226571
forceReload prevents ajax submission
...instead of weird hacky workarounds forcing refreshes later.
2021-11-25 19:12:03 +11:00
Joachim 8712b2fdab ESLint 2021-11-24 19:02:07 +01:00
Joachim db5e7a886a Handle count of notifications banner 2021-11-24 19:00:30 +01:00
Chad Nelson 6be9ac4f70 Abstract JS for multivalue form fields 2021-11-21 17:32:48 -05:00
Hugh Rundle e247e96832
remove incorrect comment 2021-11-20 19:34:37 +11:00
Hugh Rundle a3270551f9
code cleanup 2021-11-20 19:19:51 +11:00
Hugh Rundle b273123708
code style 2021-11-20 16:06:16 +11:00
Hugh Rundle 9ffe4d340e
trigger reading status modals from move button
- unhide reading status shelves
- trigger modals when moving to a read status shelf
- force page refresh when using move button
2021-11-20 08:06:13 +11:00
Hugh Rundle 5d7f77021b dammit eslint 2021-10-10 14:02:55 +11:00
Hugh Rundle 3d74b10c5f eslinting 2021-10-10 13:55:18 +11:00
Hugh Rundle 726217577f linting 2021-10-10 13:18:16 +11:00
Hugh Rundle 48fc85c761 adjust commenting on js file 2021-10-08 18:45:28 +11:00
Hugh Rundle ec7d0db843 linting fixes 2021-10-05 21:48:59 +11:00
Hugh Rundle 3a90311129 update indenting for linter 2021-10-04 22:20:02 +11:00
Hugh Rundle 602664b8d7 Merge branch 'main' into groups-merge-test
Big merge of a couple of weeks' work from the main project back into this branch. :ohno:
2021-10-03 10:49:38 +11:00
Mouse Reeve db74538345 Update for js linter 2021-10-02 11:28:16 -07:00
Mouse Reeve b9632039f9 Link notification block to its main path 2021-10-02 11:26:22 -07:00
Mouse Reeve d78c278665 Progress update flow for modal 2021-09-29 10:59:36 -07:00
Hugh Rundle 762202c4b0 fix UI for group curated list editing
When creating or editing a list, the group selection dropdown will only appear if the user selects "group" as the curation option (or it is already selected).

- fix typo in bookwyrm.js comments
- add data-hides trigger for hiding elements after they have been unhidden, where simple toggles are not the right approach
2021-09-27 11:03:41 +10:00
Mouse Reeve ccdfaa3187 Linter fixes 2021-09-12 11:48:25 -07:00
Mouse Reeve 7cfb0a4271 Supports Safari in form submission event 2021-09-12 11:45:18 -07:00
Mouse Reeve daf42a30da Adds javascript for half star ratings 2021-09-10 14:27:08 -07:00
Mouse Reeve 5c329c35f0 Warn http error 2021-09-10 10:22:28 -07:00
Mouse Reeve 5e9b8eb571 Removes unused variable 2021-09-10 10:20:40 -07:00
Mouse Reeve 08d2bff7ca General function for displaying messages 2021-09-10 10:12:37 -07:00
Mouse Reeve e3ab5afcbd Catch error responses from API 2021-09-10 08:59:49 -07:00
Mouse Reeve 3c38a64a81 Return http responses for ajax requests 2021-09-10 08:03:22 -07:00
Mouse Reeve 909293bbb0 Re-adds error handling code written a while back
Co-authored-by: Fabien Basmaison <contact@arkhi.org>
2021-09-09 19:56:42 -07:00
Mouse Reeve f9b9a66224 Linter appeasement 2021-09-09 17:07:48 -07:00
Mouse Reeve 9ba066ad6d Cleanup after submitting modal 2021-09-09 17:04:16 -07:00
Mouse Reeve 06b0325c1b Update dropdown options on shelve action 2021-09-09 16:43:47 -07:00
Mouse Reeve 9ee1a110a9 Update visible shelve buttons on read action 2021-09-09 15:36:58 -07:00
Mouse Reeve 5f584c1403 Lints for the Linter god 2021-09-09 08:24:36 -07:00
Mouse Reeve 055cced75b Close reply panel 2021-09-09 08:20:55 -07:00
Mouse Reeve 49f1226f3a Close modals after submit 2021-09-09 08:06:36 -07:00
Mouse Reeve 053e2cea0d Clear localstorage items 2021-09-09 07:39:38 -07:00
Mouse Reeve dfaf085843 Move status code into the new file 2021-09-09 06:54:34 -07:00
Mouse Reeve b0e7a5e468 Post statuses asynchronously 2021-09-08 19:30:45 -07:00
Mouse Reeve c007f44030 Linter's have demands 2021-09-08 17:54:50 -07:00
Mouse Reeve 03b608565d Save status drafts in localstorage 2021-09-08 13:58:10 -07:00
Mouse Reeve 8b5ac6b012 Javascript linter 2021-08-17 09:28:39 -07:00
Mouse Reeve 3026a86b11 Refines preventDefault logic 2021-08-17 09:21:57 -07:00
Mouse Reeve 2f93017eaa Fixes event propogation 2021-08-17 08:45:10 -07:00
Mouse Reeve 011175a6e3 Appeases js linter 2021-08-16 12:44:36 -07:00
Mouse Reeve e6b785d731 No-update mode for "want to read" 2021-08-16 12:28:04 -07:00
Mouse Reeve 21a954c7df Always use underscores in html ids
Plus some other shifting around
2021-08-08 19:44:12 -07:00
Mouse Reeve e65bc09e7a Linter fixes 2021-06-08 12:42:45 -07:00
Mouse Reeve eb12506985 No script fallback mode 2021-06-08 12:40:01 -07:00
Jason Kelly 7eb5f3b026 Making magic number more readable 2021-05-23 14:31:22 +08:00
Jason Kelly 6e655cb0e0 Added new widget to alert if a file is set at larger than 10 MB.
- Updated default widget to use template that adds a notification box.
- Added JS to add onchange & load events to look at the value in the input and trigger the notification & disable the form submits.
2021-05-23 14:12:00 +08:00
Mouse Reeve 454dd25681 Only make notification count red for mentions 2021-04-30 07:49:34 -07:00
Fabien Basmaison b92ff9752d [assets] Remove UI and behaviours for interactions:
This commit addresses https://github.com/mouse-reeve/bookwyrm/pull/883#discussion_r609739553.
2021-04-08 17:37:29 +02:00
Fabien Basmaison 2f90b4ce66 [assets] Fix broken actions for focus and checkbox:
This commit should address the following two comments:

- https://github.com/mouse-reeve/bookwyrm/pull/883#discussion_r609172258
- https://github.com/mouse-reeve/bookwyrm/pull/883#discussion_r609174513
2021-04-08 11:37:14 +02:00
Fabien Basmaison 83bd417878 [assets] Update interactions code:
This commit should address https://github.com/mouse-reeve/bookwyrm/pull/883#discussion_r609381969.

- Disable the button being used to submit the form.
- Rename variables based on @mouse-reeve’s explanations. Thanks! 
2021-04-08 11:08:13 +02:00
Fabien Basmaison f77088b964 [assets] Remove redundant class already provided by bulma:
Replace all classes `hidden` with `is-hidden` in templates, CSS and JS.
2021-04-07 17:31:00 +02:00
Fabien Basmaison 54805afb51 [assets] Tweak JSDoc. 2021-04-07 10:37:11 +02:00
Fabien Basmaison 5d569e8926 [assets] Only update status if the promise is successful:
- Use promises in `ajaxPost` and `interact`.
- Add some animations in CSS.
2021-04-07 09:24:34 +02:00
Fabien Basmaison 1c05107f2b [assets] Tweak comments. 2021-04-07 07:53:30 +02:00
Fabien Basmaison 44040201f9 [assets] Move interact function. 2021-04-06 17:57:39 +02:00
Fabien Basmaison 9d95f54aa2 [assets] Refactor `toggleAction` and `toggleMenu` a bit. 2021-04-06 17:48:56 +02:00
Fabien Basmaison 52d2f0e331 [assets] Document functions and variables:
- Use expressive names for variables.
- Add docblocks for each function.
- Add ESLint rules for comments.
2021-04-06 16:17:20 +02:00
Fabien Basmaison 5d3d00f694 [assets] Use `dataset` + use expressive names for some variables. 2021-04-06 15:36:34 +02:00
Fabien Basmaison 62fe2ef600 [assets] Replace inline events with `addEventListener`; this breaks sliding menu. 2021-04-06 11:37:23 +02:00
Fabien Basmaison 7e49b3cb26 [assets] Simplify addRemoveClass function. 2021-04-06 11:19:44 +02:00
Fabien Basmaison 70c652d565 [assets] Add rules to ESLint:
- Fix long line.
- Enforce a few stylistic habits:

    - Avoid some potential dangerous constructs.
    - `arrow-spacing`: Use at least one space around arrows.
    - `keyword-spacing`: Use at least one space around keywords (if, else, for…).
    - `no-multiple-empty-lines`: Only use one empty line between code.
	- `no-var`: Use `let` or `const` instead of `var`:
    - `padded-blocks`: Do not pad blocks.
    - `padding-line-between-statements`: Use empty lines between some statements.
    - `space-before-blocks`: Use at least one space before the opening brace of a block.
2021-04-06 10:42:52 +02:00
Fabien Basmaison 991d897ac7 [assets] Listen to events as soon as possible. 2021-04-06 09:57:52 +02:00
Fabien Basmaison 2f2f7db086 [assets] Use classes for JS files:
- Classes strictly parse code implicitly.
- Fix previously updated code.
2021-04-06 09:44:59 +02:00
Fabien Basmaison f430363be0 [assets] Simplify a function expression. 2021-04-06 09:11:56 +02:00
Fabien Basmaison f6c3e581b9 [assets] Replace `Array.from(document.getElementsByClassName(…))` by `querySelectorAll(…)`. 2021-04-06 09:11:27 +02:00
Fabien Basmaison 6b0a3ce4b1 [assets] Move localStorage chunks of code to their own file:
This should prevent a sync issue with updateDisplay not always being loaded on time.
2021-04-06 09:06:51 +02:00
Fabien Basmaison cbed5e331b [assets] Move some frontend assets to _vendor_ directories:
This simplifies linting of files we have no grasp on, and clarifies responsibilities.

- Add .eslintignore.
- Restrict linting to bookwyrm/static.
2021-04-05 16:17:11 +02:00
Fabien Basmaison 5aea7343b4 [assets] Rename some files for consistency. 2021-04-05 16:16:48 +02:00
Fabien Basmaison 6971c9b133 [assets] Move toggleAllCheckboxes code to its own file. 2021-04-05 16:16:05 +02:00
Fabien Basmaison 53f03457cc Add linter for JS files with basic recommended rules:
- Add Github Action.
- Fix JS files to match rules; mostly `globals` and `exported`.
2021-03-31 17:07:28 +02:00
Mouse Reeve b8cd1d5bce Show unread status reload link 2021-03-23 12:52:38 -07:00
Fabien Basmaison fa79070b59 [lint] Update editorconfig linting:
- Add settings for comments.
- Remove custom settings that don’t work.
- Fix vendor JS file:
2021-03-20 16:33:18 +01:00
Mouse Reeve c31bf1f0c8 Fixes loading javascript listeners 2021-03-19 15:59:28 -07:00
Mouse Reeve 5ad645c225 Move check all js into separate file 2021-03-19 10:51:45 -07:00
Mouse Reeve 443daab128 Move tabs javascript into separate file 2021-03-19 10:47:32 -07:00
Mouse Reeve baee0796cd Moves localstorage handlers into its own file 2021-03-18 09:02:07 -07:00
Mouse Reeve 091ad53061 JS linting and whitespace fixes 2021-03-13 12:14:34 -08:00
Fabien Basmaison 097b8e5811 Fix toggling all checkboxes of failed imports:
- Rename classes and function to something more descriptive.
- Listen to the element checked status instead of a click on a non‑focusable element.
- Use specific DOM targets instead of relying on the DOM ancestor tree.
- Add a skip‑link to the end of the list and avoid tabbing through all failed items.
- Update related i18n strings in French.
- Avoid having the label on the whole width to prevent accidental click.
- Move `fieldset` out of `ul`.
2021-03-05 15:41:21 +01:00
Ned Zimmerman 263b13f157 Adapt tab handler to vanilla JS, fix focus jump, improve accessible naming of tabs/panels 2021-02-28 14:04:04 -04:00
Ned Zimmerman bc7f830b2b Merge branch 'upstream' into tab-keyboard-accessibility 2021-02-27 11:53:27 -04:00
Ned Zimmerman 9580bec154 feat: modify tabbed interfaces to support keyboard accessibility (fixes #526) 2021-02-27 11:47:03 -04:00
Mouse Reeve 76491e4e35 Back off notification polling 2021-02-09 10:38:43 -08:00
Mouse Reeve b53ef73faf Feed templates 2021-01-29 10:25:31 -08:00
Mouse Reeve 2411b4fe79 puts @'mentions directly in compose box 2021-01-19 16:16:22 -08:00
Mouse Reeve 1778e8dd46 Uses timeout instead of interval 2021-01-19 14:59:46 -08:00
Mouse Reeve 94a41498cf Remove counts when notifications are deleted 2021-01-19 14:32:08 -08:00
Mouse Reeve 3fce67a60d Only update on change 2021-01-19 14:25:04 -08:00
Mouse Reeve 394666357f Poll for notifications 2021-01-18 16:32:02 -08:00
Mouse Reeve c7b03fec5a Fixes rate action 2021-01-18 09:57:44 -08:00
Mouse Reeve 7308d8d1e9 javascript cleanup
I got my linter working!
2021-01-18 08:26:04 -08:00
Mouse Reeve 3f136c40da Uses js pattern for tabs 2021-01-17 20:19:09 -08:00
Mouse Reeve 0a70d6e981 Makes dropdown clickable, and work with screen reader
I'm lightly peeved with bulma that it wasn't clear how to make hover
menus accessible, but clickable menus are just fine with my anyway.
2021-01-17 16:29:46 -08:00
Mouse Reeve 47d5b907ac Readthrough interactions 2021-01-17 10:10:59 -08:00
Mouse Reeve f7e3cbda84 Uses toggle button snippet for content warning 2021-01-17 08:50:47 -08:00