Merge pull request #13573 from overleaf/ii-review-panel-migration-comment-entry

[web] Create comment entries

GitOrigin-RevId: 7f3fbe672d18d57a0f5e683e5456ea79ed295e2d
This commit is contained in:
ilkin-overleaf
2023-07-17 10:45:32 +00:00
committed by Copybot
parent 13ea6b1860
commit 9e8be31bdf
12 changed files with 579 additions and 12 deletions
+5 -2
View File
@@ -1,3 +1,5 @@
import { ThreadId } from './review-panel'
interface ReviewPanelEntryScreenPos {
y: number
height: number
@@ -8,14 +10,15 @@ interface ReviewPanelBaseEntry {
visible: boolean
}
interface ReviewPanelCommentEntry extends ReviewPanelBaseEntry {
export interface ReviewPanelCommentEntry extends ReviewPanelBaseEntry {
type: 'comment'
content: string
entry_ids: string[]
focused: boolean
offset: number
screenPos: ReviewPanelEntryScreenPos
thread_id: string
thread_id: ThreadId
replyContent?: string // angular specific
}
interface ReviewPanelInsertEntry extends ReviewPanelBaseEntry {
@@ -10,7 +10,42 @@ export interface ReviewPanelPermissions {
comment: boolean
}
export type ReviewPanelDocEntries = Record<string, ReviewPanelEntry>
export type ThreadId = Brand<string, 'ThreadId'>
type ReviewPanelDocEntries = Record<ThreadId, ReviewPanelEntry>
export type DocId = Brand<string, 'DocId'>
export type ReviewPanelEntries = Record<DocId, ReviewPanelDocEntries>
type UserId = Brand<string, 'UserId'>
interface ReviewPanelUser {
avatar_text: string
email: string
hue: number
id: UserId
isSelf: boolean
name: string
}
export type CommentId = Brand<string, 'CommentId'>
export interface ReviewPanelCommentThreadMessage {
content: string
id: CommentId
timestamp: number
user: ReviewPanelUser
user_id: UserId
}
export interface ReviewPanelCommentThread {
messages: Array<ReviewPanelCommentThreadMessage>
// resolved: boolean
// resolved_at: number
// resolved_by_user_id: string
// resolved_by_user: ReviewPanelUser
submitting?: boolean // angular specific (to be made into a local state)
}
export type ReviewPanelCommentThreads = Record<
ThreadId,
ReviewPanelCommentThread
>