Commit Graph

53 Commits

Author SHA1 Message Date
TheCatLady
910d00c195 fix(ui): do not allow submission of invalid form inputs (#1799) 2021-06-17 04:59:20 +00:00
TheCatLady
e60598905b feat: allow users to select notification types (#1512)
* feat: allow users to select notification types

* fix(ui): display personal notification types before management types

* fix: update allRequestsAutoApproved check to account for new REQUEST_MOVIE & REQUEST_TV perms

* fix(ui): do not display Discord notif type selector if user not eligible for any types

* refactor(ui): remove unnecessary 'enabled' checkboxes from user notif settings

* fix(ui): correct checkbox behavior

* fix: add missing return type on hasNotificationType

* refactor: remove unused isValid prop in NotificationsWebPush

* fix(ui): use SensitiveInput for users' public PGP keys

* fix(ui): add missing tip/hint for email encryption setting

* refactor(svg): use the new Discord logo

* revert(api): undo breaking change removing discordEnabled from UserSettingsNotificationsResponse

* fix(lang): update notification type descriptions for clarity

* fix(telegram): do not send users notifications of their own auto-approved requests
2021-06-04 19:31:05 +09:00
TheCatLady
59b2ec11fa fix(ui): improve QuotaSelector display of unlimited and singular values (#1704) 2021-05-31 00:29:43 +00:00
TheCatLady
310cdb36df fix(plex): do not fail to import Plex users when Plex Home has managed users (#1699)
* fix(plex): do not fail to import Plex users when Plex Home has managed users

* fix: default display name to email when user has no username

also, do not set username or plexUsername when it is the same as the user's email address

* fix(ui): user display name placeholder should reflect fallback logic if username is not set

* fix(ui): hide email addresses of other users if logged-in user does not have Manage Users permission

* fix: always set Plex username even if same as user's email

* fix: remove unnecessary permission check

* fix: transform email addresses to lowercase
2021-05-31 08:38:52 +09:00
TheCatLady
22415642e8 feat(lang): add Greek display language (#1605)
* feat(lang): add Greek & Polish display languages

Also:
* rename zh-TW display language to 繁體中文‬
* fix plurality of AvailableLocale type name
* consistently use 'en' as fallback/default language

* revert(lang): remove Polish display language due to lack of translation activity
2021-05-16 14:56:49 +09:00
sct
aa86809dc9 style: bump prettier and format app 2021-05-13 23:48:08 +09:00
Jabster28
d0703aa377 fix: switch PGP regex to span multiple lines (#1598)
* fix: switch PGP regex to span multiple lines

* also change the regex in this file
2021-05-11 10:58:27 +09:00
TheCatLady
549103f6f6 fix(locale): default user locale should be the server setting (#1574)
* fix(locale): default user locale should be the server setting

* fix(db): fix user settings migration

* fix(db): set default locale to empty string

* revert: revert change to usersettings.ts
2021-05-05 13:33:43 +09:00
TheCatLady
b05b177776 fix(webpush): only prompt user to allow notifications if enabled in user settings (#1552) 2021-05-04 03:40:32 +00:00
TheCatLady
1123fce089 fix(ui): apply rounded-l-only to SensitiveInput textareas and increase visible text input area (#1561) 2021-05-04 09:37:51 +09:00
TheCatLady
f256a444c5 feat: add server default locale setting (#1536)
* feat: add server default locale setting

* fix: do not modify defaultLocale property of IntlProvider
2021-05-03 13:11:28 +00:00
Jakob Ankarhem
4fd452dd18 feat(inputs): add support for toggling security on input fields (#1404) 2021-05-03 21:59:52 +09:00
TheCatLady
189313e94a fix: correctly fall back to English name in LanguageSelector (#1537)
* fix: correctly fall back to English name in LanguageSelector

* refactor: clean up language sort & name logic

* refactor: also clean up region sort & name logic

* refactor: use arrow functions
2021-04-30 18:02:59 +00:00
TheCatLady
3e5e9c0ad1 refactor(css): add styles targeting SVG button/modal icons (#1464)
* refactor(css): add global classes for common icon types

* refactor(css): target child SVGs instead of creating new icon classes

* fix: fix ButtonWithDropdown style class spacing
2021-04-26 10:09:58 +00:00
TheCatLady
079645c2c7 feat(notif): show success/failure toast for test notifications (#1442)
* feat(notif): show success/failure toast for test notifications

* fix(lang): remove 'successfully' from test notif success strings
2021-04-26 10:01:31 +00:00
TheCatLady
48587719e9 fix: do not set locale when modifying other users (#1499) 2021-04-26 07:39:19 +09:00
sct
28830d4ef8 feat: PWA Support (#1488) 2021-04-25 20:44:12 +09:00
TheCatLady
8fc71bea08 refactor(icons): install and use @heroicons/react (#1438) 2021-04-17 18:07:23 +09:00
TheCatLady
4b5e355df9 fix(ui): correctly set autocomplete attribute for password fields (#1430) 2021-04-16 12:45:50 +09:00
TheCatLady
2cd952d1ca refactor(ui): improved alerts for services settings & removed alert titles (#1280)
* refactor(ui): improved alerts for services settings & removed alert titles

* fix(ui): set styling of alert links to be consistent w/ others

* fix(ui): clarify appropriate 4K setting when user has not configured a default non-4K server

* fix: remove unused var/eslint-disable & correct string
2021-04-14 02:20:25 +00:00
TheCatLady
46c4ee1625 feat(notif): allow users to enable/disable specific agents (#1172)
* refactor(ui): add tabs to user notification settings

* feat(notif): allow users to enable/disable specific agents

* fix(ui): only enforce required fields when agent is enabled

* fix(ui): hide unavailable notification agents

* feat(notif): mention admin users for admin Discord notifications

* fix(ui): modify styling of PGP key textareas to suit expected input

* fix(notif): mention all admins when there are multiple and fix rebase error

* fix: add missing form values, and fix Yup validation

* refactor: reduce repeated logic/code in email notif agent

* refactor: move 'Notification Types' label into NotificationTypeSelector component

* fix(email): correct inconsistencies in email template formatting

* refactor: use bitfields for storing user-enabled notif agent types

* feat: improve notification agent logging

* fix(ui): mark string fields as nullable so empty values are not type errors

* fix: add validation for PGP-related inputs

* fix: correctly fetch user in user settings & log mentioned IDs for Discord notifs

* fix(ui): fix mobile nav dropdown text & add hover effect to button-style tabs

* fix(notif): process admin email notifications asynchronously

* fix(logging): log name of notification type instead of its enum value

* fix: mark required fields and pass all user settings values to API

* fix(frontend): call mutate after changing email/Discord/Telegram global notif settings

* refactor: get global notif settings from relevant API endpoints instead of adding to public settings

* fix(notif): fall back to email notifications being enabled (default) if user settings do not exist

* fix(notif): do not set notifyUser for MEDIA_PENDING or MEDIA_AUTO_APPROVED

* fix: expose notif enabled settings in user notif endpoints & remove global enable notif setting

* fix(notif): remove unnecessary allowed_mentions object from Discord payload

* fix(notif): use form values for email test notification

* fix: make suggested changes and regenerate DB migration

* fix: loosen validation of PGP keys

* fix: fix user profile settings routes

* fix: remove route guard from profile pages
2021-04-13 03:31:31 +00:00
TheCatLady
13e1595c6e fix(lang): remove unused strings (#1330) 2021-03-31 15:34:36 +09:00
sct
a908c07670 feat(frontend): allow selecting multiple original languages 2021-03-30 19:50:12 +09:00
TheCatLady
a9461f760d feat(ui): Add user requests page (#936)
* feat(ui): add user requests page

* fix: return error if user attempts to fetch another user's requests without adequate perms

* fix(ui): make user name on request page link back to user profile

* feat(ui): link user request count to their filtered request list view

* fix(frontend): only display user requests on profiles if current user has adequate perms

* fix: use 'all' filter for user-filtered request list

* fix(frontend): pass userId to router.push()

* fix: do not pass userId in query for non-user-filtered requests page

* fix(frontend): also allow REQUEST_VIEW perm through route guard

* fix(frontend): only link request count to user request list if current user has required perms
2021-03-29 13:16:03 +09:00
TheCatLady
2059fc1cd4 fix(ui): restore saved states of quota override checkboxes (#1282)
* fix(ui): restore saved states of quota override checkboxes

* fix: check if value is undefined or null, not just truthy

Co-authored-by: sct <ryan@sct.dev>
2021-03-25 05:54:04 +00:00
TheCatLady
e393b53b29 refactor(lang): use global strings where appropriate and remove unused strings (#1265) 2021-03-24 21:45:07 +09:00
TheCatLady
8546b0ef53 fix(ui): fix label formatting in general user settings (#1275) 2021-03-24 19:34:39 +09:00
sct
6c75c88228 feat(requests): add request quotas (#1277)
* feat(quotas): rebased

* feat: add getQuota() method to User entity

* feat(ui): add default quota setting options

* feat: user quota settings

* feat: quota display in request modals

* fix: only show user quotas on own profile or with manage users permission

* feat: add request progress circles to profile page

* feat: add migration

* fix: add missing restricted field to api schema

* fix: dont show auto approve message for movie request when restricted

* fix(lang): change enable checkbox langauge to "enable override"

Co-authored-by: Jakob Ankarhem <jakob.ankarhem@outlook.com>
Co-authored-by: TheCatLady <52870424+TheCatLady@users.noreply.github.com>
2021-03-24 19:26:13 +09:00
TheCatLady
8ebc829250 fix(lang): correct mismatched language strings (#1246) 2021-03-21 19:04:16 +09:00
sct
0ca3d43749 feat: add option to cache images locally (#1213) 2021-03-18 21:37:25 +09:00
TheCatLady
ea1863ac3a fix(lang): UI string edits, round 2 (#1202) 2021-03-18 11:28:44 +09:00
TheCatLady
d76bf32c9d fix(ui): sort regions & languages by their localized names rather than their TMDb English names (#1157) 2021-03-17 01:13:52 +09:00
TheCatLady
2f2e00237d feat: add tagline, episode runtime, genres list to media details & clean/refactor CSS into globals (#1160) 2021-03-15 09:16:39 +09:00
Jakob Ankarhem
9e5adeb610 feat(email): add pgp support (#1138) 2021-03-14 22:39:43 +09:00
TheCatLady
001dcd328c fix: do not allow editing of user settings under certain conditions (#1168)
* fix: do not allow editing of user settings under certain conditions

* feat(lang): generate translation keys for new strings

* refactor: modify owner check for clarity

* fix(ui): hide buttons where appropriate and add missing translation string
2021-03-14 14:46:12 +09:00
TheCatLady
1be97fe7fb refactor(css): add new global classes & card border hover styling (#1156) 2021-03-12 11:25:46 +09:00
sct
6e95c8b7a1 feat(ui): add user ID to profile header
also adds some missing localized strings for the profile header
2021-03-11 14:57:25 +00:00
TheCatLady
bdf67e732b fix(lang): edit new Telegram-related strings to conform to style guide (#1093) 2021-03-05 12:35:08 +09:00
Jakob Ankarhem
f6d00d8d15 feat(telegram): add support for individual chat notifications (#1027) 2021-03-05 09:18:56 +09:00
TheCatLady
b146d11e2f fix(ui): don't show "Password" user settings tab if current user lacks perms to modify the password (#1063) 2021-03-02 13:04:50 +00:00
TheCatLady
1b55d2dfbc feat(ui): display "Owner" role instead of "Admin" for user ID 1 (#1050)
* feat(ui): display "Owner" role instead of "Admin" for user ID 1

Also add role to user settings page, and fix the missing "Account Type" string and use the same
verbiage on the user list page

* feat(lang): generate translation keys

* fix: utilize hasPermission returned by useUser instead of importing from server/lib/permissions
2021-03-02 19:06:52 +09:00
sct
ddfc5e6aa8 fix: add correct permission checks to modifying user password/permissions 2021-03-02 08:18:31 +00:00
TheCatLady
3fed26cfbe fix(ui): for server default options, display "All" region/language option instead of empty string (#1042) 2021-02-28 03:34:56 +00:00
sct
69294a7c4c fix: allow users to override language/region settings
fixes #1013
2021-02-27 12:37:18 +00:00
TheCatLady
0acad8e9fa fix(ui): add missing string for default Discover Language & edit string for default Discover Region (#1004) 2021-02-23 05:56:22 +00:00
Daniel Carter
b557c06b0a feat(regions): add region/original language setting for filtering Discover (#732) (#942) 2021-02-22 16:39:25 +09:00
TheCatLady
4e2706b421 fix(ui/notif): Custom application title in password-related emails and UI messages (#979) 2021-02-20 00:26:26 +00:00
sct
57c00c1ea7 fix(ui): also allow 17 digit discord ids
fixes #971
2021-02-19 09:17:39 +00:00
TheCatLady
e70a4ecae6 fix(ui): Add tip & validation for Discord ID input (#966) 2021-02-19 11:42:52 +09:00
TheCatLady
77b2d9ea22 fix(frontend): Do not allow user w/ ID 1 to disable 'Admin' permission (#965) 2021-02-19 10:20:32 +09:00