Commit graph

67 commits

Author SHA1 Message Date
Dessalines
d8a92812d8
Adding vote display modes (#2426)
* Adding vote display modes

* Only show downvotes setting if site has downvotes enabled.
2024-04-18 20:20:37 -04:00
TechVest
c1fbba2768
chore: fix some comments (#2427)
Signed-off-by: TechVest <techdashen@qq.com>
Co-authored-by: SleeplessOne1917 <28871516+SleeplessOne1917@users.noreply.github.com>
2024-04-17 09:19:21 -04:00
SleeplessOne1917
c1722a0b6b
Add hide post UI (#2408)
* 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
2024-04-12 09:43:09 -04:00
matc-pub
e48590b9d6
Use mixins and decorators for scroll restoration and tippy cleanup (#2415)
* 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>
2024-04-11 13:18:07 -04:00
matc-pub
70e382b3d9
Rework query parsing (#2396)
* 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
2024-03-27 09:25:59 -04:00
SleeplessOne1917
579aea40d0
Notify users that they are banned from a community (#2397)
* 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
2024-03-26 19:03:02 -04:00
matc-pub
9a5f9dd18a
Do most of the theme handling from the Theme component (#2390)
* 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>
2024-03-14 08:33:49 -04:00
matc-pub
e832cd2729
Lazy load translations and date-fns, server side support for "Browser Default" language (#2380)
* 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>
2024-03-13 16:39:45 -04:00
Dessalines
1070aafeef
Upgrading deps. (#2336) 2024-01-19 15:48:24 -05:00
SleeplessOne1917
8594a30a53
Moderation/content action overhaul (#2258)
* 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>
2023-12-06 18:17:02 -05:00
Dessalines
7702c041e5
Move lemmyClient generation into fetchInitialData functions. Fixes #2243 (#2260)
* 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.
2023-12-05 03:07:36 +00:00
Dessalines
d9ce609365
Upgrading deps. (#2233)
Co-authored-by: SleeplessOne1917 <abias1122@gmail.com>
2023-11-23 22:03:28 -05:00
Dessalines
cc2ad2d113
Adding creator_is_admin and creator_is_mod, removing pointless functions (#2228) 2023-11-22 11:13:00 -05:00
SleeplessOne1917
dd3842655a
Update bs theme when site theme is changed (#2226) 2023-11-17 09:35:43 -05:00
SleeplessOne1917
acfcd86b9b
Search page select fix (#2201)
* Fix search page community searchable select

* Fix bug with search page creator select

* Add stricter typing to dedup function

* Fix modlog searchable selects
2023-10-30 16:22:51 -04:00
SleeplessOne1917
a2473680d4
fix: Prevent login screen from redirecting to signup (#2170) 2023-10-05 15:38:10 -04:00
SleeplessOne1917
f0ccf93735
feat: Block instance (#2144)
* Start modifying settings

* feat: Finish making block instance setting

* feat: Add translations

* fix: Handle first load fetch

* chore: Fix linting error

* fix: Fix broken import
2023-09-27 14:11:08 -04:00
SleeplessOne1917
d9fe7d1488
Remote follow (#1875)
* Redirect to page user was trying to access on login

* Make modal

* Make modal look better

* Forgot to include in merge

* Get rid of modal

* Add external interaction page

* Tweak success page

* Add loading screen for remote fetch and refactor loading ellipses

* Add error state for remote fetch page

* Add card to federation success page

* Bring back remote fetch modal

* Add autofocus to remote fetch modal input

* Redirect for remote fetch

* Remove dummy data

* Remove duplicate functions

* Update translations

* Update translations

* Fix linting error

* Fix linting errors

* feat: Add toasts for remote follow error conditions
2023-09-25 23:32:37 -04:00
SleeplessOne1917
65e669035d
Remove auth from API request body params (#2140)
* chore: Remove auth param from API request bodies

* chore: Update client to use bearer token
2023-09-25 21:07:26 -04:00
biosfood
8e2609a96d
Add moderator view button (#1993)
* 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
2023-09-06 08:43:19 -04:00
Anon
f27cbb3224
Temp fix to modlog failing to render future dates (#2058) 2023-08-12 22:46:26 -04:00
Dessalines
ff62915ddf
Fix comment insertion from context views. Fixes #2030 (#2031) 2023-08-07 12:53:21 -04:00
SomeoneStoleMyNickname
2531d05191
Expanded the RegEx to check if the title contains new line caracters. Should fix issue #1962 (#1965)
* 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
2023-08-04 10:44:03 -04:00
Dessalines
9f2289d466
Upgrading deps, running prettier. (#1987) 2023-07-28 16:15:42 -04:00
SleeplessOne1917
dd42bc2a3d
ES-Lint tweak (#2001) 2023-07-28 16:07:16 -04:00
Hamzah Mansour
908b7c5bb1
Use proper modifier key in markdown text input on macOS (#1995)
* add os detect util, use meta key on macos

* pr feedback
2023-07-28 15:25:02 -04:00
c-andy-candies
214eae5be5
Reopen PR 1420 Feature add three six and nine months options frontend (#1689)
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-07-07 13:37:50 -04:00
SleeplessOne1917
322a44bf24
Fix data-bs-theme (#1810)
* Fix data-bs-theme

* Add other dark themes

* Add vaporwave-dark to dark theme list
2023-07-04 16:53:28 -04:00
Alec Armbruster
7eddc52c13
Attempt to fix inability to logout from some instances (subdomains) (#1809)
* slight refactor, tweak params

* fix paths

* remove domain

* remove expires

* Use maxAge instead of expires

---------

Co-authored-by: SleeplessOne1917 <abias1122@gmail.com>
2023-07-04 12:52:14 -04:00
Security-Chief-Odo
ba9389c15e
Updated the regex for isAuthPath to reduce false positive hits (#1806)
* 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
2023-07-04 11:13:04 -04:00
Jay Sitter
b1292b958a
fix: Add data-bs-theme attribute for user dark/light modes (#1782)
* fix: Add data-bs-theme attribute for user dark/light modes

* fix: Remove unnecessary optional chain

* fix: Oops -- add missing files
2023-07-03 20:02:24 -04:00
Jay Sitter
6cb49967c2 fix: Move getRoleLabelPill to the only component that uses it 2023-07-02 19:47:12 -04:00
Jay Sitter
50b1a395f1
Merge branch 'main' into fix/fix-badges-spacing-componentize 2023-07-02 18:59:15 -04:00
Jay Sitter
9869b911cf fix: Fix badge alignment and break out into component 2023-07-02 18:48:35 -04:00
SleeplessOne1917
02adbea61f Move export to barrel file 2023-07-02 18:14:13 -04:00
SleeplessOne1917
31789495a2 Prevent JWT token from showing up on error page 2023-07-02 15:45:45 -04:00
sunaurus
515f5f5af3
Add fallback date-fns locale import 2023-07-01 18:57:19 +03:00
sunaurus
ed1f208e47
Fix date-fns locale import failing for some locales 2023-06-30 19:59:44 +03:00
SleeplessOne1917
cc184a86c8 Fix authorized route false flag 2023-06-29 18:12:22 -04:00
SleeplessOne1917
751495702c
Use git hash to break cache (#1684)
* Use git hash to break cache

* Address PR feedback

* Make hash docker agnostic

* Add trailing slash

* Update .prettierignore

Co-authored-by: Alec Armbruster <35377827+alectrocute@users.noreply.github.com>

* Remove debugging log

* implement getStaticDir util

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
Co-authored-by: Alec Armbruster <35377827+alectrocute@users.noreply.github.com>
2023-06-29 10:29:33 -04:00
Dessalines
a2716d5f48
Fixing timezone issue with date-fns. Fixes #1680 (#1681)
Co-authored-by: Alec Armbruster <35377827+alectrocute@users.noreply.github.com>
2023-06-28 23:09:25 -04:00
Jay Sitter
7be10eb35b Revert #1463, markdown default lang select 2023-06-28 08:44:39 -04:00
Alec Armbruster
8f1b0ad559
refactor 2023-06-27 15:49:14 -04:00
Jay Sitter
8184e33c9f fix: Fix up some interface language logic and design 2023-06-24 00:44:01 -04:00
Jay Sitter
ccf0a6dbaa fix: Fix language selection bug 2023-06-23 17:24:07 -04:00
Jay Sitter
bf54d40433 fix: Use Interface Language instead 2023-06-23 17:24:07 -04:00
Jay Sitter
0c87ee9dab
Merge branch 'main' into feat/default-to-user-primary-lang 2023-06-23 15:37:54 -04:00
SleeplessOne1917
847b71319b Change function name 2023-06-23 10:36:21 -04:00
SleeplessOne1917
8f9b231487 Make date distance format use correct verbiage 2023-06-23 10:33:07 -04:00
SleeplessOne1917
5d664656a2 Extract date fns setup 2023-06-23 10:10:41 -04:00