diff --git a/src/components/activity-notifications/SubscribeProfileButton.tsx b/src/components/activity-notifications/SubscribeProfileButton.tsx
index 1d4dce9e31..baecb0bef6 100644
--- a/src/components/activity-notifications/SubscribeProfileButton.tsx
+++ b/src/components/activity-notifications/SubscribeProfileButton.tsx
@@ -1,4 +1,5 @@
import {useCallback} from 'react'
+import {type ModerationOpts} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
@@ -13,8 +14,10 @@ import {SubscribeProfileDialog} from './SubscribeProfileDialog'
export function SubscribeProfileButton({
profile,
+ moderationOpts,
}: {
profile: bsky.profile.AnyProfileView
+ moderationOpts: ModerationOpts
}) {
const {_} = useLingui()
const requireEmailVerification = useRequireEmailVerification()
@@ -53,6 +56,7 @@ export function SubscribeProfileButton({
>
)
diff --git a/src/components/activity-notifications/SubscribeProfileDialog.tsx b/src/components/activity-notifications/SubscribeProfileDialog.tsx
index 89ee455f3b..c6499ac15c 100644
--- a/src/components/activity-notifications/SubscribeProfileDialog.tsx
+++ b/src/components/activity-notifications/SubscribeProfileDialog.tsx
@@ -1,5 +1,6 @@
import {useMemo, useState} from 'react'
import {View} from 'react-native'
+import {type ModerationOpts} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
@@ -10,20 +11,29 @@ import {atoms as a} from '#/alf'
import {Button, type ButtonProps, ButtonText} from '#/components/Button'
import * as Dialog from '#/components/Dialog'
import * as Toggle from '#/components/forms/Toggle'
+import * as ProfileCard from '#/components/ProfileCard'
import {Text} from '#/components/Typography'
import type * as bsky from '#/types/bsky'
export function SubscribeProfileDialog({
control,
profile,
+ moderationOpts,
+ includeProfile,
}: {
control: Dialog.DialogControlProps
profile: bsky.profile.AnyProfileView
+ moderationOpts: ModerationOpts
+ includeProfile?: boolean
}) {
return (
-
+
)
}
@@ -34,7 +44,15 @@ const initialState = {
replies: false,
}
-function DialogInner({profile}: {profile: bsky.profile.AnyProfileView}) {
+function DialogInner({
+ profile,
+ moderationOpts,
+ includeProfile,
+}: {
+ profile: bsky.profile.AnyProfileView
+ moderationOpts: ModerationOpts
+ includeProfile?: boolean
+}) {
const {_} = useLingui()
const t = useTheme()
const control = Dialog.useDialogContext()
@@ -90,6 +108,20 @@ function DialogInner({profile}: {profile: bsky.profile.AnyProfileView}) {
+ {includeProfile && (
+
+
+
+
+ )}
+
{hasSession && !subscriptionsDisallowed && (
-
+
)}
{hasSession && }
diff --git a/src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx b/src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx
index ea5415b403..eaf16971ed 100644
--- a/src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx
+++ b/src/screens/Settings/NotificationSettings/ActivityNotificationSettings.tsx
@@ -16,8 +16,10 @@ import {useActivitySubscriptionsQuery} from '#/state/queries/activity-subscripti
import {useNotificationSettingsQuery} from '#/state/queries/notifications/settings'
import {List} from '#/view/com/util/List'
import {atoms as a, useTheme} from '#/alf'
+import {SubscribeProfileDialog} from '#/components/activity-notifications/SubscribeProfileDialog'
import * as Admonition from '#/components/Admonition'
import {Button, ButtonText} from '#/components/Button'
+import {useDialogControl} from '#/components/Dialog'
import {Bell_Filled_Corner0_Rounded as BellIcon} from '#/components/icons/Bell'
import {BellRinging_Stroke2_Corner0_Rounded as BellRingingIcon} from '#/components/icons/BellRinging'
import * as Layout from '#/components/Layout'
@@ -197,6 +199,7 @@ function ActivitySubscriptionCard({
profile: bsky.profile.AnyProfileView
moderationOpts: ModerationOpts
}) {
+ const control = useDialogControl()
const {_} = useLingui()
const t = useTheme()
@@ -226,7 +229,8 @@ function ActivitySubscriptionCard({
)}
size="small"
color="primary"
- variant="solid">
+ variant="solid"
+ onPress={control.open}>
Edit
@@ -234,6 +238,13 @@ function ActivitySubscriptionCard({
{/* */}
+
+
)
}