Commit Graph

369 Commits

Author SHA1 Message Date
Karina Kwiatek 1a29a19e9d Allow setting up push when service worker hasn't been registered yet.
We don't register the service worker until the user opts in for push notifications.
2023-01-02 13:51:02 +01:00
Karina Kwiatek 2417354b31 Unsubscribe client on too many failures 2023-01-02 11:52:02 +01:00
Karina Kwiatek fccf35fdab Restore push notification prompt in inbox 2023-01-02 11:51:46 +01:00
Karina Kwiatek d9514a306a Make push notification settings reinit on navigation 2023-01-02 11:50:48 +01:00
Karina Kwiatek dc80c1dba3 Fix push notification settings not appearing when not subscribed 2023-01-02 11:50:48 +01:00
Karina Kwiatek 66b1dac3b9 Improve UX for push subscription management 2023-01-02 11:50:48 +01:00
Karina Kwiatek 8ff213af4e Add the ability to unsubscribe from push notifications 2023-01-02 11:50:48 +01:00
Karina Kwiatek 752cf1506b Add settings page for push notifications 2023-01-02 11:50:47 +01:00
Karina Kwiatek c8f5511a38 Fix capability classes being removed on page navigation
The body tag gets replaced by Turbo on page navigation, removing the classes.
2023-01-02 11:50:47 +01:00
Karina Kwiatek 2da4767623 Add JS for subscribing to and receiving push notifications 2023-01-02 11:50:47 +01:00
Karina Kwiatek 9d1e77aeba Revoke Twitter connection when the token is revoked 2023-01-01 23:46:10 +01:00
Andreas Nedbal 409c8372ba Add mute action support in user action handler 2023-01-01 22:42:50 +01:00
Andreas Nedbal b53538ccb8 add safe-area to bottom padding on mobile 2022-12-24 21:47:23 +01:00
Andreas Nedbal 67e564fd94 fix z-index of comment input 2022-12-24 21:47:23 +01:00
Andreas Nedbal 7ab4214a14 add max height to notification dropdown and make it scroll 2022-12-24 21:47:23 +01:00
Andreas Nedbal 538eaecd86 remove fixed positioning from questions in mobile view 2022-12-24 21:47:23 +01:00
Karina Kwiatek cb61db02eb
Merge pull request #824 from Retrospring/feature/anonymous-block-tuuuuuuurbo
Migrate anonymous blocks to Turbo Streams
2022-12-04 23:23:19 +01:00
Andreas Nedbal b51d8c048d Remove legacy announcement TypeScript 2022-11-23 21:01:35 +01:00
Andreas Nedbal 3b1f15ebb9 Add Stimulus controller for announcements 2022-11-23 21:00:49 +01:00
Andreas Nedbal 55f26cb7d4 Remove settings unblock TypeScript 2022-11-22 08:38:33 +01:00
Andreas Nedbal ddded27757 Remove anonymous block AJAX implementation 2022-11-21 22:28:38 +01:00
Andreas Nedbal 9a4c0d576d Add Stimulus autofocus controller 2022-11-21 20:26:19 +01:00
Andreas Nedbal 9048a3e7d8 Remove AJAX Mute Rules code 2022-11-21 20:26:19 +01:00
Andreas Nedbal 22289f2946 Hide empty text as soon as another inbox entry appears 2022-11-18 23:35:38 +01:00
Andreas Nedbal 44c0136c9e Remove AJAX question generation code 2022-11-18 23:35:38 +01:00
Andreas Nedbal f35d49e575 Properly handle placeholder fields in theme application 2022-11-14 23:13:22 +01:00
Andreas Nedbal 752d6cb987 Make input placeholder themable 2022-11-14 23:11:23 +01:00
Andreas Nedbal bef1c23a66 reset questionbox character counts after successful submit 2022-10-31 21:23:22 +01:00
Andreas Nedbal 15d05f1699 Merge branch 'main' into feature/stimulus-character-count 2022-10-31 20:56:38 +01:00
Karina Kwiatek d3b59ae169
Merge pull request #767 from Retrospring/fix/missing-unsubscribe-text-on-comment
Fix missing unsubscribe string in answer actions when posting a comment
2022-10-26 11:37:38 +02:00
Karina Kwiatek 0090d1ca4a
Merge pull request #766 from Retrospring/fix/comment-error-on-answer-pages
Prevent error when commenting via an answer page
2022-10-26 11:37:29 +02:00
Karina Kwiatek 29608c54c9 Fix missing unsubscribe string in answer actions when posting a comment 2022-10-26 11:32:39 +02:00
Karina Kwiatek f9f49198fa Prevent error when commenting via an answer page 2022-10-26 11:29:58 +02:00
Karina Kwiatek 9e52d5b623 Use Lexend 300 as 400 2022-10-26 10:57:55 +02:00
Karina Kwiatek bc1fc50780 Prevent comments from submitting after input as composition ends 2022-10-25 18:57:36 +02:00
Karina Kwiatek f6abb8a8ca Use body font in sweet-alert 2022-10-25 18:56:19 +02:00
Karina Kwiatek 99955e5452 Replace Lato font with Lexend 2022-10-24 23:43:53 +02:00
Andreas Nedbal 559ed3ecf8 Merge branch 'main' into feature/stimulus-character-count 2022-10-24 23:26:31 +02:00
Georg Gadinger 87ec3093a9 allow for using SVG logos in the navbar
this uses our new and improved logo by default, but can be easily
changed by modifying `/public/logo.svg`.  the svg is loaded only once
when the application starts, so any modifications to it after a
deployment are visible immediately.

thanks to the power of CSS and SVG being able to make use of it, custom
colour schemes still work too.
2022-10-24 23:19:51 +02:00
Andreas Nedbal d11aff1db9 Decrease vertical spacing of inbox action bar 2022-10-24 13:58:54 +02:00
Andreas Nedbal 9bfc2b9dac Add top action bar to Inbox 2022-10-24 13:58:54 +02:00
Andreas Nedbal 941e79d33c Adjust layout of comment input 2022-10-13 22:29:25 +02:00
Andreas Nedbal 724c241bed Count character count downwards instead of up 2022-10-13 22:29:04 +02:00
Andreas Nedbal 0983ffca3a Merge branch 'main' into feature/stimulus-character-count 2022-10-13 22:07:15 +02:00
Karina Kwiatek bb94845262
Merge pull request #727 from Retrospring/feature/i19n.js
Install i18n-js 4 2: Electric Boogaloo
2022-10-11 23:34:52 +02:00
Georg Gadinger 4b8490a2d1 auto-foxus text field in ask modal
resolves #557
2022-10-11 22:08:59 +02:00
Andreas Nedbal a8c1961af3 Migrate entrypoint to support new i18n-js version 2022-10-10 21:40:30 +02:00
Andreas Nedbal 93d1a4e2cb Add Stimulus controller to relevant views 2022-10-02 22:10:04 +02:00
Andreas Nedbal ff5210a891 Implement character count as Stimulus controller 2022-10-02 22:09:34 +02:00
Andreas Nedbal 58d8c827e0 Install and setup Stimulus 2022-10-02 22:09:01 +02:00
Andreas Nedbal 6ee96446dc Remove legacy pagination 2022-09-08 23:48:01 +02:00
Andreas Nedbal f05abed6ef Rename `turbolinks:load` event to `turbo:load` 2022-09-04 18:34:23 +02:00
Andreas Nedbal c7ca416e67 Import (and setup) Turbo in TypeScript 2022-09-04 18:34:23 +02:00
Andreas Nedbal 203db7565d Remove UJS and Turbolinks initializers 2022-09-04 18:34:23 +02:00
Karina Kwiatek 5baafdc38d
Merge pull request #662 from Retrospring/feature/request-js-user
Refactor user TS functionality to use `@rails/request.js`
2022-09-03 21:44:48 +02:00
Karina Kwiatek bc9db3e8fc
Merge pull request #661 from Retrospring/feature/request-js-question
Refactor question(box) TS functionality to use `@rails/request.js`
2022-09-03 21:44:38 +02:00
Karina Kwiatek 67546ec857
Merge pull request #660 from Retrospring/feature/request-js-moderation
Refactor moderation TS functionality to use `@rails/request.js`
2022-09-03 21:31:24 +02:00
Karina Kwiatek 10b596ed99
Merge pull request #659 from Retrospring/feature/request-js-lists
Refactor lists TS functionality to use `@rails/request.js`
2022-09-03 21:31:06 +02:00
Karina Kwiatek 904285ae47
Merge pull request #657 from Retrospring/feature/request-js-answerbox
Refactor answerbox TS functionality to use `@rails/request.js`
2022-09-03 21:30:55 +02:00
Andreas Nedbal 2643d1a524 Refactor user actions to use request.js 2022-09-03 16:36:02 +02:00
Andreas Nedbal d116e338a3 Move destroying and deleting questions to question/ 2022-09-03 16:20:07 +02:00
Andreas Nedbal dba817c8b6 Refactor question asking on profiles to use request.js 2022-09-03 16:19:32 +02:00
Andreas Nedbal 9c9f56e231 Refactor question asking to use request.js 2022-09-03 16:19:00 +02:00
Andreas Nedbal 2f05708a65 Refactor question answering to use request.js 2022-09-03 16:18:31 +02:00
Andreas Nedbal 918c514f12 Refactor user privilege changing to use request.js 2022-09-03 08:43:19 +02:00
Andreas Nedbal fe6b6b198f Refactor report removal to use request.js 2022-09-03 08:42:55 +02:00
Andreas Nedbal 389e1271d7 Refactor global anon blocks to use request.js 2022-09-03 08:42:37 +02:00
Andreas Nedbal 6639519905 Refactor user banning to use request.js 2022-09-03 08:42:17 +02:00
Andreas Nedbal 5aab54acdb Refactor list membership functionality to use request.js 2022-09-03 07:51:30 +02:00
Andreas Nedbal 41fea7fd5e Refactor list removal to use request.js 2022-09-03 07:50:33 +02:00
Andreas Nedbal af0258c8aa Refactor list creation to use request.js 2022-09-03 07:50:16 +02:00
Andreas Nedbal 3b6ade483f Refactor question generating to use request.js 2022-09-03 06:58:08 +02:00
Andreas Nedbal 90f33dd76c Refactor inbox entry deleting to use request.js 2022-09-03 06:57:52 +02:00
Andreas Nedbal 969f7e80f8 Refactor anon blocking to use request.js 2022-09-03 06:57:32 +02:00
Andreas Nedbal a893d11aa1 Refactor inbox answering to use request.js 2022-09-03 06:57:15 +02:00
Andreas Nedbal f55efbb017 Refactor inbox deleting to use request.js 2022-09-03 06:56:47 +02:00
Andreas Nedbal f091fd4193 Remove unused import 2022-09-03 05:20:52 +02:00
Andreas Nedbal 5295dc83c8 Refactor answer subscribing to use request.js 2022-09-03 05:05:43 +02:00
Andreas Nedbal 0aff344581 Refactor answer smile to use request.js 2022-09-03 05:05:21 +02:00
Andreas Nedbal 508c7e844b Refactor answer destroy to use request.js 2022-09-03 05:05:06 +02:00
Andreas Nedbal 5ea28e1830 Refactor comment smiling to use request.js 2022-09-03 05:04:01 +02:00
Andreas Nedbal 40637c5f6d Refactor comment creation to use request.js 2022-09-03 05:03:25 +02:00
Andreas Nedbal 2c5da2bc5c Refactor comment destroy to use request.js 2022-09-03 05:03:04 +02:00
Andreas Nedbal 812c9617ff Refactor mute rule handling to use request.js 2022-08-31 21:46:47 +02:00
Andreas Nedbal d521800a59 Refactor removal of anon blocks to use request.js 2022-08-31 21:46:10 +02:00
Andreas Nedbal ba0ee581c4 Remove "frown" state when an answer/comment is smiled 2022-08-30 19:47:18 +02:00
Andreas Nedbal 4ba954a3cf Add (un)subscribing to vocabulary 2022-08-21 16:55:09 +02:00
Karina Kwiatek 48f70c9e47
Prevent default event handling on block anon option
Co-authored-by: Andreas Nedbal <github-bf215181b5140522137b3d4f6b73544a@desu.email>
2022-08-20 19:37:51 +02:00
Karina Kwiatek ae5d8931af Implement frontend for blocking users site-wide 2022-08-20 19:03:05 +02:00
Karina Kwiatek 29e0f06222 Fix syntax error in password confirmation dialogues 2022-08-04 15:09:20 +02:00
Karina Kwiatek 91df126132 Move follow/unfollow user actions 2022-07-30 20:01:08 +02:00
Karina Kwiatek e887e8c4fc Refactor action strings 2022-07-30 18:50:46 +02:00
Andreas Nedbal 5f1453103b Add pluralization to list member locale 2022-07-28 12:22:32 +02:00
Andreas Nedbal 6dac157aef Adjust TypeScript logic for list member count 2022-07-28 12:22:32 +02:00
Andreas Nedbal 74dc7c4526 Improve profile header layout 2022-07-24 15:17:11 +02:00
Karina Kwiatek 9a79670e53 Appease the dog overlords 2022-07-20 21:46:41 +02:00
Karina Kwiatek 5a33c77c3a Prevent notification content from overflowing outside the container 2022-07-20 21:46:41 +02:00
Karina Kwiatek c4b241f9e1 Prevent notifications dropdown from going off-screen 2022-07-20 21:46:41 +02:00
Andreas Nedbal 5c3d003c2b Remove moderation comment functionality from TypeScript 2022-07-19 11:17:45 +02:00
Andreas Nedbal 3cabd39b89 Remove vote functionality from TypeScript 2022-07-18 23:10:07 +02:00
Karina Kwiatek 5bd186bbe2 Deduplicate navigation dropdowns; Restore notification dropdown to mobile 2022-07-18 23:09:53 +02:00
Andreas Nedbal 851c74f228 Fix logged-out users sending wrong data to question endpoint 2022-07-17 10:05:20 +02:00
Karina Kwiatek be8418a1aa Use TypeScript for RailsAdmin entrypoint 2022-07-05 21:22:58 +02:00
Karina Kwiatek a2f7ea2895 Configure RailsAdmin to use webpacker 2022-07-05 21:22:58 +02:00
Karina Kwiatek 517f2df1cc Add Lato semibold
This one gets used by Bootstrap for headings.
2022-07-03 18:55:02 +02:00
Karina Kwiatek c899e7983c Only import the weights of Lato which we use 2022-07-02 13:00:13 +02:00
Karina Kwiatek e4a00ceedc Fix ban reason being set to the banned user's username 2022-06-26 18:32:18 +02:00
Andreas Nedbal f6828a24ad Adjust form queries so selector doesn't pick delete button 2022-06-26 17:52:44 +02:00
Andreas Nedbal 8f8ebaf77b Update theme settings related TypeScript code 2022-06-26 17:52:44 +02:00
Andreas Nedbal 2e9b3e882d Only add button classes to actions that actually are buttons 2022-06-25 15:39:30 +02:00
Andreas Nedbal 936b49eef0 WIP: Add UI to manage (anonymous) blocks 2022-06-25 15:39:30 +02:00
Karina Kwiatek f379845615 Add frontend for blocking anonymous users 2022-06-15 14:26:48 +02:00
Karina Kwiatek a48a187086 Reset follow button after blocking a user 2022-06-13 11:56:34 +02:00
Karina Kwiatek c173c4a17d Add the ability to block/unblock users from profile pages 2022-06-13 11:56:34 +02:00
Andreas Nedbal a7d2c7be7e Fix Hound nits 2022-04-17 22:58:42 +02:00
Andreas Nedbal c2d0ca7eed Update about page layout 2022-04-17 22:58:42 +02:00
Andreas Nedbal 1fd06fd404 encode user input in inbox author search 2022-04-12 22:31:05 +02:00
Andreas Nedbal e56d0d121a Removed legacy frontpage jumbotron styling 2022-04-11 22:41:22 +02:00
Andreas Nedbal e0d65ea26e Remove particle-related styling 2022-04-11 22:41:22 +02:00
Andreas Nedbal c1d1ab6501 Remove color utility and tinycolor module 2022-04-11 22:41:22 +02:00
Andreas Nedbal 3bbc7a36f8 Remove particleground 2022-04-11 22:41:22 +02:00
Andreas Nedbal a2f3f5dce2 Replace inline style with utility class 2022-04-10 22:01:27 +02:00
Andreas Nedbal fdedecb6cd Add missing newline to file 2022-04-10 22:01:27 +02:00
Andreas Nedbal 6ad7b1d599 Implement frontpage theme switch 2022-04-10 22:01:27 +02:00
Andreas Nedbal f0c7fdb92f Add example themes for frontpage demonstration 2022-04-10 22:01:27 +02:00
Andreas Nedbal 9090818b14 Re-enable `rails-ujs` because `jquery-ujs` is gone 2022-02-07 22:26:41 +01:00
Andreas Nedbal 04817f603c Remove margin on the last p inside cards, not the only p 2022-01-23 16:49:30 +01:00
Karina Kwiatek 3962671135 Implement relationship logic as use case 2022-01-23 16:48:53 +01:00
Andreas Nedbal 435ddf2415 Prevent cancelling "delete all" in inbox still deleting everything 2022-01-15 00:05:17 +01:00
Andreas Nedbal 7d14e93ada Port localebox to TypeScript 2022-01-15 00:05:17 +01:00
Andreas Nedbal bee75584d0 Update i18n import to the aliased retrospring/i18n 2022-01-15 00:05:17 +01:00
Andreas Nedbal 8247c8864f Generate i18n export as TypeScript and move locale logic there 2022-01-15 00:05:17 +01:00
Andreas Nedbal 1a408e1bc6 Port Memes to TypeScript 2022-01-15 00:05:17 +01:00
Andreas Nedbal ef9a08d3fc Clean up legacy entrypoint 2022-01-15 00:05:17 +01:00
Andreas Nedbal 55417ecf02 Remove sprockets asset comment 2022-01-11 22:41:37 +01:00
Andreas Nedbal c6c9bba807 Move flags file to SCSS components 2022-01-11 22:41:37 +01:00
Andreas Nedbal a7b814a52e Include Coloris styles from SCSS 2022-01-11 22:41:37 +01:00
Andreas Nedbal 5912dd0832 Include Croppr styles from SCSS 2022-01-11 22:41:37 +01:00
Andreas Nedbal fd3017afa2 Include toastify styles from SCSS 2022-01-11 22:41:37 +01:00
Andreas Nedbal 3ebe3e00de Remove nprogress 2022-01-11 22:41:37 +01:00
Andreas Nedbal 008f3c7b5d Move stylesheets from assets into javascript/styles/ 2022-01-11 22:41:37 +01:00
Karina Kwiatek 9eb34bf984
Fix answers not submitting on Control/Cmd-Return (#279) 2022-01-11 22:32:43 +01:00
Andreas Nedbal aeb8f32fac Remove jquery.growl CoffeeScript and styling 2022-01-09 19:55:17 +01:00
Andreas Nedbal f4d32c5cd1 Use Toastify instead of jquery.growl for notifications 2022-01-09 19:55:17 +01:00
Karina Kwiatek f4c9ab821e Fix incorrect localStorage key of announcement dismiss 2022-01-09 19:01:46 +01:00
Karina Kwiatek e7672e8033 Apply suggestion from @pixeldesu
Co-authored-by: Andreas Nedbal <andy@pixelde.su>
2022-01-09 19:01:46 +01:00
Karina Kwiatek d9e6982637 Address review feedback from @pixeldesu
Co-authored-by: Andreas Nedbal <git@pixelde.su>
2022-01-09 19:01:46 +01:00
Karina Kwiatek 3e9fb2890f Port announcements functionality to TypeScript 2022-01-09 19:01:46 +01:00
Andreas Nedbal 60d8868306 Apply review suggestion from @raccube
Co-authored-by: Karina Kwiatek <6197148+raccube@users.noreply.github.com>
2022-01-09 16:05:37 +01:00
Andreas Nedbal b287892c19 Apply review suggestion from @raccube
Co-authored-by: Karina Kwiatek <6197148+raccube@users.noreply.github.com>
2022-01-09 16:05:37 +01:00