Merge branch 'feat/inda-383-daily-stat' into 'main'
[ProtonMail-WebClient.git] / packages / docs-shared / lib / CommentThreadInterface.ts
blobafc3538673ec3cc0f973827d15ba013b64e97071
1 import type { CommentThreadState } from './CommentThreadState'
2 import type { CommentInterface } from './CommentInterface'
3 import type { ServerTime } from './ServerTime'
4 import type { CommentThreadPayload } from './CommentThreadPayload'
5 import type { CommentThreadType } from './CommentThreadType'
7 export type CommentThreadInterface = {
8   id: string
9   createTime: ServerTime
10   modifyTime: ServerTime
11   markID: string
12   comments: CommentInterface[]
13   isPlaceholder: boolean
14   state: CommentThreadState
15   type: CommentThreadType
16   /**
17    * We need a stable local ID to allow positioned threads to be
18    * keyed in a where the placeholder element for a thread is keyed
19    * with the same ID as the normal one to prevent react from creating
20    * a new DOM element. On thread creation, we use the ID of the placeholder
21    * for this and on subsequent reloads we just use the normal ID.
22    */
23   localID: string
25   asPayload(): CommentThreadPayload