* Fixing titleOnly, PostSort, and CommentSort.
* SortType, Tagline, Emojis (#2718)
* PostSortType
* Hide post sort types in comment view
* Tagline
* CustomEmoji
* Update lemmy-js-client to 0.20.0-alpha.17
* Prompt before leaving unsaved forms
* Add cancel buttons, only create taglines when saving
* Cleanup SortSelect
* Use markdown url for custom emojis
This prevent SSR and CSR from rendering different images after changing
the image of an emoji, already posted emojis will keep showing the old
image. This will also display the same image on different instances that
have overlapping custom emojis.
* Cleanup EmojisForm sorting
* Use existing CommentSortSelect
* Simpler sort type conversion
---------
Co-authored-by: matc-pub <161147791+matc-pub@users.noreply.github.com>
* Make confirm popup for adult consent
* Fix import
* Fix blur and adjust user settings
* Make confirmation popup more stylish
* Add setting to site settings form
* Fix modal bug
* Put adult consent logic all in one place
* Make modal use markdown
* Fix consent modal showing up for currently logged in admin
* Add go-back redirect countdown
* Center modal title
* Handle enable_nsfw correctly
* Blur background of modal to hide spicy things
* Add translations
* Enable @babel/plugin-proposal-decorators
Dependency already exists
* Use tippy.js delegate addon, cleanup tippy instances from a mixin.
The delegate addon creates tippy instances from mouse and touch events
with a matching `event.target`. This is initially significantly cheaper
than creating all instances at once. The addon keeps all created tippy
instances alive until it is destroyed itself.
`tippyMixin` destroys the addon instance after every render, as long as
all instances are hidden. This drops some tippy instances that may have
to be recreated later (e.g when the mouse moves over the trigger again),
but is otherwise fairly cheap (creates one tippy instance).
* Restore scroll positions when resource loading settles.
The history module generates a random string (`location.key`) for every
browser history entry. The names for saved positions include this key.
The position is saved before a route component unmounts or before the
`location.key` changes.
The `scrollMixin` tires to restore the scroll position after every
change of `location.key`. It only does so after the first render for
which the route components `loadingSettled()` returns true.
Things like `scrollToComments` should only scroll when `history.action`
is not "POP".
* Drop individual scrollTo calls
* Scroll to comments without reloading post
---------
Co-authored-by: SleeplessOne1917 <28871516+SleeplessOne1917@users.noreply.github.com>
* Lazy load i18n translations.
* Lazy load date-fns
* Fix inconsistent DOMContentLoaded event.
Only when no translations and date-fns have to be dynamically loaded
(e.g. for en-US) the NavBar `componentDidMount` is early enough to
listen for "DOMContentLoaded".
Removes one redundant `requestNotificationPermission()` call.
* Rename interface language code "pt_BR" to "pt-BR".
Browsers ask for "pt-BR", but the "interface_language" saved in the
settings dialog asks for "pt_BR". This change will make the settings
dialog ask for "pt-BR" instead of "pt_BR". For users that already (or
still) have "pt_BR" configured, "pt-BR" will be used, but the settings
dialog will present it as unspecified.
* Use Accept-Language request header
* Prefetch translation and date-fns
---------
Co-authored-by: SleeplessOne1917 <28871516+SleeplessOne1917@users.noreply.github.com>
* Beginning work on websocket -> http client conversion.
* About 30% done.
* half done.
* more done.
* Almost passing lint.
* Passing lint, but untested.
* Add back in event listeners.
* Fixing some community forms.
* Remove webpack cache.
* fixing some more.
* Fixed ISOwrappers.
* A few more fixes.
* Refactor utils
* Fix instance add/remove buttons
* Not catching errors in isoWrapper.
* Wrap Http client
* Fixing up tagline and ratelimit forms.
* Make all http client wrapping be in one place
* Reworking some more forms.
* Upgrading lemmy-js-client.
* Fixing verify email.
* Fix linting errors
* Upgrading woodpecker node.
* Fix comment scrolling rerender bug.
* Fixing a few things, commenting out props for now.
* v0.18.0-beta.1
* Trying to fix woodpecker, 1.
* Trying to fix woodpecker, 2.
* Handroll prompt
* Add navigation prompt to other pages
* Fix prompt navigation bug
* Fix prompt bug introduced from last bug fix
* Fix PWA bug
* Fix isoData not working
* Fix search page update url
* Fix sharp issue.
* v0.18.0-beta.2
* Make create post pre-fetch communities
* Fix bug from last commit
* Fix issue of posts/comments not being switched when changing select options
* Fix unnecessary fetches on home screen
* Make circular icon buttons not look stupid
* Prevent unnecessary fetches
* Make login experience smoother
* Add PWA shortcuts
* Add related application to PWA
* Update translations
* Forgot to add post editing.
* Fixing site setup.
* Deploy script setup.
* v0.18.0-beta.4
* Sanitize again.
* Adding sanitize json function.
* Upping version.
* Another sanitize fix.
* Upping version.
* Prevent search nav item from disappearing when on search page
* Allow admin and mod actions on non-local comments.
* Fix mobile menu collapse bug
* Completely fix prompt component
* Fix undefined value checks in use_http_client_2 (#1230)
* fix: filter out undefined from posts
* fix: emoji initialisation passing undefined
* fix: || => ?? to be more explicit
* linting
---------
Co-authored-by: Alex Maras <alexmaras@gmail.com>
* Re-add accidentally removed state
* Fix dropdown bug
* Use linkEvent where appropriate
* Fix navigation warnings.
---------
Co-authored-by: Dessalines <tyhou13@gmx.com>
Co-authored-by: Alex Maras <dev@alexmaras.com>
Co-authored-by: Alex Maras <alexmaras@gmail.com>
* feat: Add multiple image upload
* refactor: Slight cleanup
* feat: Add progress bar for multi-image upload
* fix: Fix progress bar
* fix: Messed up fix last time
* refactor: Use await where possible
* Add query params to search page
* Update translation logic
* Did suggested PR changes
* Updating translations
* Fix i18 issue
* Make prettier actually check src in hopes it will fix CI issue
* Make home page use query params in URL
* Remove unnecessary part of private message url
* Make communities page use query params
* Make community page use query params
* Make user profile use query params
* Make modlog use query params
* Replace choices.js searchable select entirely
* Make 404 screen show up when expected
* Refactor query params code
* Remove unnecessary boolean literal
* Fix query param bug
* Address bug with searchable select and initial fetch
* Only import what is needed from bootstrap
* Undo change to comment nodes component
* Convert closure style functions to normal functions
* Updated translations
* Use translation for loading
* Fix create post select community bug
* Fix community query params bug
* Removing monads. Fixes#884
* Fixing post fetching.
* Dont show not_logged_in error for navbar.
* Adding the lemmy-js-client RC.
* Fixing registration application mode
* Not working, because of wrong API types.
* Adding Rust-style Result and Option types.
- Fixes#646
* Updating to use new lemmy-js-client with Options.