* 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
* Add UI for import/export of settings
* Make settings update after import without requiring manual browser refresh
* Address PR feedback
* Add translations
* Use `auth` cookie set by backend instead of `jwt` (fixes#2193)
Requires https://github.com/LemmyNet/lemmy-js-client/pull/208
* Revert "Use `auth` cookie set by backend instead of `jwt` (fixes#2193)"
This reverts commit 442766c1d8.
* Updating for new lemmy-js-client.
---------
Co-authored-by: Felix Ableitner <me@nutomic.com>
* only refetch PM counts when marking a message as read
* refresh registration applications and the corresponding unread counter when processing an application
* refetch reports when marking one as resolved
* update unread notifications when logging in
* UnreadCounterService: use async functions
* clarify the meaning of UnreadCounterService.updateInboxCounts
* UnreadCounterService: correct updateAll
* Add highlighting
* Adds it to mdNoImages as well
* Revert "Adds it to mdNoImages as well"
This reverts commit 2f8e3bb0cc.
* Revert "Add highlighting"
This reverts commit 80bcddd4df.
* Prevent yarn.lock from massively updating
* Add code themes locally
---------
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
* Updating for new v19 changes. WIP.
* Fixing package json.
* Updating for new lemmy-js-client.
* Trying to add node-sass
* Revert "Trying to add node-sass"
This reverts commit 959ea0de13.
* Trying node:20-alpine
* feat: Add modal for totp settings
* Make inputs show up on totp modal
* Make modal work when enabling and disabling 2FA
* Give user better feedback when en/disabling totp
* Use new 2FA flow for login
* Refactor 2fa modal to prevent implementation details from leaking
* chore: Use constant objects where appropriate
* Incorporate translations
* add global service for unread notifications
* update inbox counter when marking a message as read
* adapt NotificationService for new auth parameter
* refactor unread counter service
* user service: refactor moderatesSomething
* use behavioursubjects for unreadcounterservice
* retry tests
---------
Co-authored-by: SleeplessOne1917 <abias1122@gmail.com>
* handle url paste
* change selection range after paste
* use default paste behaviour if no text is selected
* change to `validUrl` helper function
---------
Co-authored-by: SleeplessOne1917 <abias1122@gmail.com>
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
Cache headers have been active in production for a while now, and I didnt see any issues reported. So it should be save to increase the max-age to reduce server load further.
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
* Store communityLimit as a constant in the config
* Block Next button on communities list if the next page is empty
* Use this.props instead of undefined props, compare number to the length of the array, not the array itself
* Set nextDisabled prop for Paginator in registration-applications component
* Set nextDisabled prop in Paginator required
* Ignore nextDisabled prop in Paginator component used in person/inbox.tsx and modlog.tsx
* Set nextDisabled to true if community is not yet loaded or no more pages are expected
* Set nextDisabled to false for Paginator in emojis-form.tsx
* Fix swapped bool logic in community.tsx
* Set nextDisabled for Paginator in home.tsx
* Set nextDisabled for Comments and Posts in person-details.tsx
* Set nextDisabled for reports.tsx
* Set nextDisabled for search.tsx
---------
Co-authored-by: SleeplessOne1917 <abias1122@gmail.com>
* 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
* always show community name with instance for easy copy-pasting to friends
I don't like the inconsistency of community names currently, the UI shouldn't be presenting things differently because of technical reasons that are hard for users to understand. This makes it easier to share communities with your friends!
* always show community name with instance, cleanup
* Move allowed and blocked instance tables into column right of linked
Conserve some vertical space. And I assume linked instance list will
usually belonger than allowed and blocked, combined or not.
* Use tabs to organise instances by status
As per suggestions from the initial PR. Using the suggested Tab
component was implemented.
* Provide a header when there are no instances found
Will be weird if there are no instances linked on this instances page
otherwise.
* Wrap tabs and table in a col-sm-8 div (within a row div)
To restrict the width of the table especially on wider screens