feat(core): add comment notification settings (#13029)

![image](https://github.com/user-attachments/assets/1b239592-1c0d-4575-ad3b-bfb3d0c873c8)





#### PR Dependency Tree


* **PR #13029** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added an option in user settings to enable or disable email
notifications for comments on your documents.
* Updated the user interface to include a toggle for comment email
notifications.
* Extended GraphQL queries and schema to support the new comment email
notification setting.

* **Localization**
* Added new English translations for comment email notification
settings.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
fengmk2
2025-07-04 16:04:18 +08:00
committed by GitHub
parent 882d06b359
commit 296089efc9
8 changed files with 57 additions and 1 deletions
@@ -95,6 +95,17 @@ export const NotificationSettings = () => {
}
/>
</SettingRow>
<SettingRow
name={t['com.affine.setting.notifications.email.comments.title']()}
desc={t['com.affine.setting.notifications.email.comments.subtitle']()}
>
<Switch
data-testid="notification-email-comments-trigger"
checked={userSettings?.receiveCommentEmail ?? false}
disabled={disable}
onChange={checked => handleUpdate('receiveCommentEmail', checked)}
/>
</SettingRow>
</SettingWrapper>
</>
);
+8
View File
@@ -4825,6 +4825,14 @@ export function useAFFiNEI18N(): {
* `Invitation related messages will be sent through emails.`
*/
["com.affine.setting.notifications.email.invites.subtitle"](): string;
/**
* `Comments`
*/
["com.affine.setting.notifications.email.comments.title"](): string;
/**
* `You will be notified through email when other members of the workspace comment on your docs.`
*/
["com.affine.setting.notifications.email.comments.subtitle"](): string;
/**
* `Account settings`
*/
@@ -1199,6 +1199,8 @@
"com.affine.setting.notifications.email.mention.subtitle": "You will be notified through email when other members of the workspace @ you.",
"com.affine.setting.notifications.email.invites.title": "Invites",
"com.affine.setting.notifications.email.invites.subtitle": "Invitation related messages will be sent through emails.",
"com.affine.setting.notifications.email.comments.title": "Comments",
"com.affine.setting.notifications.email.comments.subtitle": "You will be notified through email when other members of the workspace comment on your docs.",
"com.affine.setting.account": "Account settings",
"com.affine.setting.account.delete": "Delete your account",
"com.affine.setting.account.delete.message": "Once deleted, your account will no longer be accessible, and all data in your personal cloud space will be permanently deleted.",