* 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
* Update deps
* Add community visibility to community form for editing and creating
* Add translations
* Make visibility display
* Add translations
---------
Co-authored-by: SleeplessOne1917 <insomnia-void@protonmail.com>
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
* 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>
* Add badge for local subscribers to communities
* Add local subscribers badge
---------
Co-authored-by: SleeplessOne1917 <insomnia-void@protonmail.com>
* always show fedilinks (issue #2160)
* fix comment fedilinks title text
* fix comment links title text
* remove unused local variable
---------
Co-authored-by: SleeplessOne1917 <28871516+SleeplessOne1917@users.noreply.github.com>
* Changing security.txt to use github security advisories page.
- Fixes#2332
* Adding an expires date, one year from build date.
* Add a year to the build date in code.
* Fix dev.dockerfile build date.
---------
Co-authored-by: SleeplessOne1917 <28871516+SleeplessOne1917@users.noreply.github.com>
* Store volume level on window object
* Store volume level on localStorage, instead of window object
* Refactor video event handlers in PostListing component
* Take `muted` prop into account while storing volume level
* fix
* simplify logic
* Do not auto expand media if blur_nsfw is active and the post is NSFW flagged
* Update src/shared/components/post/post-listing.tsx
* Update src/shared/components/post/post-listing.tsx
---------
Co-authored-by: SleeplessOne1917 <28871516+SleeplessOne1917@users.noreply.github.com>
* Update darkly-compact.css to set highlight-bg for dark theme
* Revert main.css
* Update darkly-pureblack.css to set highlight-bg for dark theme
* Update darkly-red.css to set highlight-bg for dark theme
* Update darkly.css to set highlight-bg for dark theme
* Update vaporwave-dark.css to set highlight-bg for dark theme
* Update i386.css to set highlight-bg for dark theme
* Update _variables.darkly-pureblack.scss to set $mark-bg-dark
* Update _variables.darkly.scss to set $mark-bg-dark
* Update _variables.i386.scss to set $mark-bg-dark
* Update _variables.vaporwave-dark.scss