feat(core): comment panel (#12989)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced a full-featured document comment system with sidebar for viewing, filtering, replying, resolving, and managing comments and replies. * Added a rich text comment editor supporting editable and read-only modes. * Enabled comment-based navigation and highlighting within documents. * Integrated comment functionality into the workspace sidebar (excluding local workspaces). * Added internationalization support and new UI strings for comment features. * Added new feature flag `enable_comment` for toggling comment functionality. * Enhanced editor focus to support comment-related selections. * Added snapshot and store helpers for comment content management. * Implemented backend GraphQL support for comment and reply operations. * Added services for comment entity management and comment panel behavior. * Extended comment configuration to support optional framework providers. * Added preview generation from user selections when creating comments. * Enabled automatic sidebar opening on new pending comments. * Added comment-related query parameter support for navigation. * Included inline comment module exports for integration. * Improved comment provider implementation with full lifecycle management and UI integration. * Added comment highlight state tracking and refined selection handling in inline comments. * **Style** * Added comprehensive styles for the comment editor and sidebar components. * **Chores** * Updated language completeness percentages for multiple locales. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: L-Sun <zover.v@gmail.com>
This commit is contained in:
@@ -1,26 +1,26 @@
|
||||
{
|
||||
"ar": 100,
|
||||
"ar": 99,
|
||||
"ca": 4,
|
||||
"da": 4,
|
||||
"de": 100,
|
||||
"el-GR": 100,
|
||||
"de": 99,
|
||||
"el-GR": 99,
|
||||
"en": 100,
|
||||
"es-AR": 100,
|
||||
"es-AR": 99,
|
||||
"es-CL": 100,
|
||||
"es": 100,
|
||||
"fa": 100,
|
||||
"fr": 100,
|
||||
"es": 99,
|
||||
"fa": 99,
|
||||
"fr": 99,
|
||||
"hi": 2,
|
||||
"it-IT": 100,
|
||||
"it-IT": 99,
|
||||
"it": 1,
|
||||
"ja": 100,
|
||||
"ja": 99,
|
||||
"ko": 53,
|
||||
"pl": 100,
|
||||
"pt-BR": 100,
|
||||
"ru": 100,
|
||||
"sv-SE": 100,
|
||||
"uk": 100,
|
||||
"pl": 99,
|
||||
"pt-BR": 99,
|
||||
"ru": 99,
|
||||
"sv-SE": 99,
|
||||
"uk": 99,
|
||||
"ur": 2,
|
||||
"zh-Hans": 100,
|
||||
"zh-Hant": 100
|
||||
"zh-Hans": 99,
|
||||
"zh-Hant": 99
|
||||
}
|
||||
|
||||
@@ -8212,6 +8212,50 @@ export function useAFFiNEI18N(): {
|
||||
* `Migrate data`
|
||||
*/
|
||||
["com.affine.migration-all-docs-notification.button"](): string;
|
||||
/**
|
||||
* `Comments`
|
||||
*/
|
||||
["com.affine.comment.comments"](): string;
|
||||
/**
|
||||
* `No comments yet`
|
||||
*/
|
||||
["com.affine.comment.no-comments"](): string;
|
||||
/**
|
||||
* `Delete the thread?`
|
||||
*/
|
||||
["com.affine.comment.delete.confirm.title"](): string;
|
||||
/**
|
||||
* `All comments will also be deleted, and this action cannot be undone.`
|
||||
*/
|
||||
["com.affine.comment.delete.confirm.description"](): string;
|
||||
/**
|
||||
* `Delete this reply?`
|
||||
*/
|
||||
["com.affine.comment.reply.delete.confirm.title"](): string;
|
||||
/**
|
||||
* `Delete this reply? This action cannot be undone.`
|
||||
*/
|
||||
["com.affine.comment.reply.delete.confirm.description"](): string;
|
||||
/**
|
||||
* `Show resolved comments`
|
||||
*/
|
||||
["com.affine.comment.filter.show-resolved"](): string;
|
||||
/**
|
||||
* `Only my replies and mentions`
|
||||
*/
|
||||
["com.affine.comment.filter.only-my-replies"](): string;
|
||||
/**
|
||||
* `Only current mode`
|
||||
*/
|
||||
["com.affine.comment.filter.only-current-mode"](): string;
|
||||
/**
|
||||
* `Reply`
|
||||
*/
|
||||
["com.affine.comment.reply"](): string;
|
||||
/**
|
||||
* `Copy link`
|
||||
*/
|
||||
["com.affine.comment.copy-link"](): string;
|
||||
/**
|
||||
* `An internal error occurred.`
|
||||
*/
|
||||
|
||||
@@ -2059,6 +2059,17 @@
|
||||
"com.affine.migration-all-docs-notification.desc": "We are updating the local data to facilitate the recording and filtering of created by and Last edited by information. Please click the “Migrate Data” button and ensure a stable network connection during the process.",
|
||||
"com.affine.migration-all-docs-notification.error": "Migration failed: {{errorMessage}}",
|
||||
"com.affine.migration-all-docs-notification.button": "Migrate data",
|
||||
"com.affine.comment.comments": "Comments",
|
||||
"com.affine.comment.no-comments": "No comments yet",
|
||||
"com.affine.comment.delete.confirm.title": "Delete the thread?",
|
||||
"com.affine.comment.delete.confirm.description": "All comments will also be deleted, and this action cannot be undone.",
|
||||
"com.affine.comment.reply.delete.confirm.title": "Delete this reply?",
|
||||
"com.affine.comment.reply.delete.confirm.description": "Delete this reply? This action cannot be undone.",
|
||||
"com.affine.comment.filter.show-resolved": "Show resolved comments",
|
||||
"com.affine.comment.filter.only-my-replies": "Only my replies and mentions",
|
||||
"com.affine.comment.filter.only-current-mode": "Only current mode",
|
||||
"com.affine.comment.reply": "Reply",
|
||||
"com.affine.comment.copy-link": "Copy link",
|
||||
"error.INTERNAL_SERVER_ERROR": "An internal error occurred.",
|
||||
"error.NETWORK_ERROR": "Network error.",
|
||||
"error.TOO_MANY_REQUEST": "Too many requests.",
|
||||
|
||||
Reference in New Issue
Block a user