Granular notification settings (#8484)

* add mockup screen

* add notification index screen

* add redirect screen

* upgrade sdk

* new icons

* add new screens

* make router typesafe, finish adding screens

* add routes to go server

* load settings

* push notif settings

* improve web

* fix lockfile lint

* no $type on preferences

* prompt to enable push notifications

* fix reply prefs

* space out options

* fix copy error

* Update RepostsOnRepostsNotificationSettings.tsx

* only send minimal diff to putPrefs

* fix yarn.lock

* Update Navigation.tsx

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>

* Update src/screens/Settings/NotificationSettings/index.tsx

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>

* add description to `syncOthers`

---------

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
This commit is contained in:
Samuel Newman
2025-06-17 12:37:14 +03:00
committed by GitHub
parent 7dc6bb57a6
commit 21989b558b
34 changed files with 1434 additions and 287 deletions
+22 -4
View File
@@ -1,11 +1,17 @@
import {Router} from '#/lib/routes/router'
import {type FlatNavigatorParams} from './lib/routes/types'
export const router = new Router({
type AllNavigatableRoutes = Omit<
FlatNavigatorParams,
'NotFound' | 'SharedPreferencesTester'
>
export const router = new Router<AllNavigatableRoutes>({
Home: '/',
Search: '/search',
Feeds: '/feeds',
Notifications: '/notifications',
NotificationSettings: '/notifications/settings',
LegacyNotificationSettings: '/notifications/settings',
Settings: '/settings',
Lists: '/lists',
// moderation
@@ -42,13 +48,25 @@ export const router = new Router({
AccessibilitySettings: '/settings/accessibility',
AppearanceSettings: '/settings/appearance',
SavedFeeds: '/settings/saved-feeds',
// new settings
AccountSettings: '/settings/account',
PrivacyAndSecuritySettings: '/settings/privacy-and-security',
ContentAndMediaSettings: '/settings/content-and-media',
SettingsInterests: '/settings/interests',
InterestsSettings: '/settings/interests',
AboutSettings: '/settings/about',
AppIconSettings: '/settings/app-icon',
NotificationSettings: '/settings/notifications',
ReplyNotificationSettings: '/settings/notifications/replies',
MentionNotificationSettings: '/settings/notifications/mentions',
QuoteNotificationSettings: '/settings/notifications/quotes',
LikeNotificationSettings: '/settings/notifications/likes',
RepostNotificationSettings: '/settings/notifications/reposts',
NewFollowerNotificationSettings: '/settings/notifications/new-followers',
LikesOnRepostsNotificationSettings:
'/settings/notifications/likes-on-reposts',
RepostsOnRepostsNotificationSettings:
'/settings/notifications/reposts-on-reposts',
ActivityNotificationSettings: '/settings/notifications/activity',
MiscellaneousNotificationSettings: '/settings/notifications/miscellaneous',
// support
Support: '/support',
PrivacyPolicy: '/support/privacy',