* creates the initial loading skeleton for the home page
* initial setup for the trending communities loading skeleton
* adds posts loading skeleton to the community page
* finishes the creation of all loading skeletons for large devices
* finishes loading skeleton for smaller screens
* removes unecessary code for the loading skeleton
* [loading skeleton] removes unecessary mock code
* [loading skeleton] removes custom css classes and adds more bootstrap css classes on the skeleton loading
* replaces custom styles with bootstrap classes
* rendes only one component for desktop and mobile screens
Co-authored-by: SleeplessOne1917 <28871516+SleeplessOne1917@users.noreply.github.com>
* fixes lint's indentation problems
* transforms span tags into self-closing tags
* removes every inline style from the loading-skeleton.tsx file
---------
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
* 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
* 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.
wrappedhttpclient has two bugs:
1. setHeaders becomes async with errors gobbled up. this is probably not intentional and the result is not awaited at the call site
2. wrappedhttpclient overrides methods in the prototype and not the instance. this means that when a new instance is created, from then on all methdos on all wrappedhttpclients call the inner methods on the newly created client instead of their respective clients
this PR tries to fix both. it is untested so idk if it works
related: #2243