* Updating translations.
* Adding a link to view all a user's moderation history from an item.
- Also making moderation history strings more detailed.
* Fix.
* Adding admin view moderation history to profile page.
* Adding a torrent help message.
* Updating translations.
* Updating translations.
Browsers without size property for URLSearchParams always returned an
empty string.
Co-authored-by: SleeplessOne1917 <28871516+SleeplessOne1917@users.noreply.github.com>
* AdminSettings remove unused currentTab state
* Fix amAdmin check in reports fetchInitialData
* Make CreatePost render earlier
* Include children of auth and anonymous guard in first render.
* Convert DidMount to WillMount where things don't depend on the DOM
`componentDidMount` is called after the first render. A lot of
components used it to call `setState`, which causes a second render.
* Keep route components mounted during same route navigation
Not sure why this wasn't the case without this change. The only
difference here is that the same array is reused in every render.
* Disable mounted same route navigation by default
* Enable mounted same route navigation for some routes
* Render more while loading
* Prettier markup
* Make Post use query params and reload comments independently
* Fix issue with <Prompt /> for forms that remain mounted after "leaving".
* Make Search not rerender the results on every keystroke
* Discard old requests
These used to (mostly) arrive at the old already unmounted components.
Now they would render briefly until the latest response is received.
* Move non breaking space to modlog
* Make show optional for modals
* Fix leap year issue
* Show same cake day date independent of timezone (#2455)
* Show same cake day date independent of timezone
* Remove commented out assertions
---------
Co-authored-by: matc-pub <161147791+matc-pub@users.noreply.github.com>
* Add hide post UI
* Add toggle to home and community feeds to show hidden posts
* Add i18n (and add lockfile to prettier ignore)
* Change show hidden style
* Tippy
* 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>
* Pass parsed query params as props to components
* Pass parsed query params to fetchInitialData
* Pass router Match to fetchInitialData
* Cast individual routes to their concrete types
Adds an IRoutePropsWithFetch definition for routes with getQueryParams
or fetchInitialData to cause compiler errors when the types no longer
match.
* Don't double decode query parameters.
Problem: A search for "%ab" produces a url with "%25ab". Refreshing
the page results in URLSearchParams turning "%25ab" back into "%ab".
decodeURIComponent() then complains about "%ab" being malformed.
This removes decodeURIComponent() calls for query parameters and
composes all query strings with getQueryString(), which now uses
URLSearchParams. Query parsing already goes through getQueryParams()
which also uses URLSearchParams.
* Fix for PictrsImage when src also has query params
* Small getQueryParams cleanup
* Add banned blurb to community sidebar
* Hide interactable parts of posts and comments when banned from community
* Add translation
* Fix some typescript errors
* Fix typescript errors
* PR feedback
* Set data-bs-theme attribute from Theme component
* Handle temporary theme changes in Theme component
* Fetch theme list on AdminSettings component mount
* Include CodeTheme in Theme component
* Improve handling of browser-compact theme
---------
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>
* Fix remove post dialog
* Consolidate mod action logic
* Make mod action form less janky
* Move content action dropdown to its own component
* Make reusable component for content action buttons
* Finish up mod dropdown
* Introduce new content dropdown component to post listing
* Fix cancel moderation button bug
* Add icons, tweak UI
* Handle delete/undelete icons
* The thing
* Fix some of the banning related bugs
* Fix mod form ban bugs
* Fix some more bugs
* Make comments use dropdown menu
* Use mod action form with comments
* Make confirmation modal
* Make all the mod action dialogs modals
* Tweak modal
* Fix bug with mod form submit
* Tweak modal more
* More modal tweaking and some feedback toasts
* Use icon pairs for on/off
* Make modals auto focus input
* Implement PR suggestions
* Make UI use async functions where needed
* Make loading state for context action modals
* Hide context actions that users should not be able to do
* Add loading state to confirmation modals
* Use updated translations
* PR feedback
* Add forgotten trnslations
* Fix scrolling bug
---------
Co-authored-by: SleeplessOne <insomnia-void@protonmail.com>
* Trying more ssr fixes. #2243
* Try to enforce cross-fetch again.
* Try to forward cookies.
* Try to forward cookies 2.
* Trying a new cross-fetch.
* Fixing headers
* Fixing some auth issues.
* Fixing isBanned.
* Fix shutdown.
* Pushing up some tries.
* Moving lemmyclient building into fetchInitialData functions.
* update lemmy-js-client version
* add moderator view to moderator view select
* fix some linting problems introduced in recent lemmy-js-client changes
* remove form id from mardown-textarea submit
* add default delete_content as false
* manually check if a user is an admin
* update lemmy-js-client to 0.19.0-rc.7
* Expanded the RegEx to check if the title contains new line caracters.
Should fix the issue #1962.
Also added Comments for clarity.
* ran yarn and changed according to recommendations
* OUpdated the regex for isAuthPath to reduce false positive hits as described in issue #1704
* Updated the regex for isAuthPath to reduce false positive hits - Re-ran Linting