@magmamath/students-features 0.2.10 → 0.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js +2 -2
- package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
- package/dist/commonjs/features/feedback/components/EmptyComment.js +4 -5
- package/dist/commonjs/features/feedback/components/EmptyComment.js.map +1 -1
- package/dist/commonjs/features/feedback/components/ListCardCommentsCount.js +1 -1
- package/dist/commonjs/features/feedback/components/TeacherFeedback.js +5 -6
- package/dist/commonjs/features/feedback/components/TeacherFeedback.js.map +1 -1
- package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js +32 -9
- package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js.map +1 -1
- package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.js +1 -3
- package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.js.map +1 -1
- package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js +1 -8
- package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js.map +1 -1
- package/dist/commonjs/features/feedback/components/UnreadMessagesBadge.js +1 -1
- package/dist/commonjs/features/feedback/components/UnreadMessagesBadge.js.map +1 -1
- package/dist/commonjs/features/feedback/constants.js +11 -3
- package/dist/commonjs/features/feedback/constants.js.map +1 -1
- package/dist/commonjs/features/feedback/helpers.js +24 -0
- package/dist/commonjs/features/feedback/helpers.js.map +1 -1
- package/dist/commonjs/features/feedback/model/api.js.map +1 -1
- package/dist/commonjs/features/feedback/model/comments.js +17 -33
- package/dist/commonjs/features/feedback/model/comments.js.map +1 -1
- package/dist/commonjs/features/feedback/model/model.js +5 -3
- package/dist/commonjs/features/feedback/model/model.js.map +1 -1
- package/dist/commonjs/features/feedback/types.js.map +1 -1
- package/dist/commonjs/lib/helpers/helpers.js +20 -16
- package/dist/commonjs/lib/helpers/helpers.js.map +1 -1
- package/dist/commonjs/lib/localization/en.json +12 -0
- package/dist/commonjs/lib/localization/gb.json +12 -0
- package/dist/commonjs/lib/localization/sw.json +12 -0
- package/dist/commonjs/shared/icons/MessageBubbleIcon.js.map +1 -0
- package/dist/commonjs/shared/icons/XCloseIcon.js.map +1 -0
- package/dist/commonjs/shared/translation/constants.js +1 -42
- package/dist/commonjs/shared/translation/constants.js.map +1 -1
- package/dist/commonjs/shared/translation/helpers.js.map +1 -1
- package/dist/commonjs/shared/translation/types.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatControls/ChatControls.js +2 -2
- package/dist/module/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
- package/dist/module/features/feedback/components/EmptyComment.js +5 -6
- package/dist/module/features/feedback/components/EmptyComment.js.map +1 -1
- package/dist/module/features/feedback/components/ListCardCommentsCount.js +1 -1
- package/dist/module/features/feedback/components/ListCardCommentsCount.js.map +1 -1
- package/dist/module/features/feedback/components/TeacherFeedback.js +6 -7
- package/dist/module/features/feedback/components/TeacherFeedback.js.map +1 -1
- package/dist/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js +32 -9
- package/dist/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js.map +1 -1
- package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.js +1 -3
- package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.js.map +1 -1
- package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js +2 -9
- package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js.map +1 -1
- package/dist/module/features/feedback/components/UnreadMessagesBadge.js +1 -1
- package/dist/module/features/feedback/components/UnreadMessagesBadge.js.map +1 -1
- package/dist/module/features/feedback/constants.js +10 -2
- package/dist/module/features/feedback/constants.js.map +1 -1
- package/dist/module/features/feedback/helpers.js +23 -0
- package/dist/module/features/feedback/helpers.js.map +1 -1
- package/dist/module/features/feedback/model/api.js.map +1 -1
- package/dist/module/features/feedback/model/comments.js +14 -30
- package/dist/module/features/feedback/model/comments.js.map +1 -1
- package/dist/module/features/feedback/model/model.js +6 -4
- package/dist/module/features/feedback/model/model.js.map +1 -1
- package/dist/module/features/feedback/types.js.map +1 -1
- package/dist/module/lib/helpers/helpers.js +20 -16
- package/dist/module/lib/helpers/helpers.js.map +1 -1
- package/dist/module/lib/localization/en.json +12 -0
- package/dist/module/lib/localization/gb.json +12 -0
- package/dist/module/lib/localization/sw.json +12 -0
- package/dist/module/shared/icons/MessageBubbleIcon.js.map +1 -0
- package/dist/module/shared/icons/XCloseIcon.js.map +1 -0
- package/dist/module/shared/translation/constants.js +0 -41
- package/dist/module/shared/translation/constants.js.map +1 -1
- package/dist/module/shared/translation/helpers.js.map +1 -1
- package/dist/module/shared/translation/types.js.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/components/EmptyComment.d.ts +1 -6
- package/dist/typescript/commonjs/features/feedback/components/EmptyComment.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/components/TeacherFeedback.d.ts +5 -5
- package/dist/typescript/commonjs/features/feedback/components/TeacherFeedback.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts +2 -4
- package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts +2 -4
- package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/components/UnreadMessagesBadge.d.ts +1 -1
- package/dist/typescript/commonjs/features/feedback/components/UnreadMessagesBadge.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/constants.d.ts +2 -2
- package/dist/typescript/commonjs/features/feedback/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/helpers.d.ts +10 -1
- package/dist/typescript/commonjs/features/feedback/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/model/api.d.ts +6 -2
- package/dist/typescript/commonjs/features/feedback/model/api.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/model/comments.d.ts +10 -12
- package/dist/typescript/commonjs/features/feedback/model/comments.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/model/model.d.ts +4 -7
- package/dist/typescript/commonjs/features/feedback/model/model.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/types.d.ts +8 -1
- package/dist/typescript/commonjs/features/feedback/types.d.ts.map +1 -1
- package/dist/typescript/commonjs/lib/helpers/helpers.d.ts +1 -2
- package/dist/typescript/commonjs/lib/helpers/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/icons/MessageBubbleIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/icons/XCloseIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/translation/constants.d.ts +38 -40
- package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/types.d.ts +4 -1
- package/dist/typescript/commonjs/shared/translation/types.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/components/EmptyComment.d.ts +1 -6
- package/dist/typescript/module/features/feedback/components/EmptyComment.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/components/TeacherFeedback.d.ts +5 -5
- package/dist/typescript/module/features/feedback/components/TeacherFeedback.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts +2 -4
- package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts +2 -4
- package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/components/UnreadMessagesBadge.d.ts +1 -1
- package/dist/typescript/module/features/feedback/components/UnreadMessagesBadge.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/constants.d.ts +2 -2
- package/dist/typescript/module/features/feedback/constants.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/helpers.d.ts +10 -1
- package/dist/typescript/module/features/feedback/helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/model/api.d.ts +6 -2
- package/dist/typescript/module/features/feedback/model/api.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/model/comments.d.ts +10 -12
- package/dist/typescript/module/features/feedback/model/comments.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/model/model.d.ts +4 -7
- package/dist/typescript/module/features/feedback/model/model.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/types.d.ts +8 -1
- package/dist/typescript/module/features/feedback/types.d.ts.map +1 -1
- package/dist/typescript/module/lib/helpers/helpers.d.ts +1 -2
- package/dist/typescript/module/lib/helpers/helpers.d.ts.map +1 -1
- package/dist/typescript/module/shared/icons/MessageBubbleIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/icons/XCloseIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/translation/constants.d.ts +38 -40
- package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/helpers.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/types.d.ts +4 -1
- package/dist/typescript/module/shared/translation/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/chatbot/components/ChatControls/ChatControls.tsx +2 -2
- package/src/features/chatbot/components/Chatbot.tsx +1 -1
- package/src/features/feedback/components/EmptyComment.tsx +5 -8
- package/src/features/feedback/components/ListCardCommentsCount.tsx +1 -1
- package/src/features/feedback/components/TeacherFeedback.tsx +7 -8
- package/src/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.tsx +30 -16
- package/src/features/feedback/components/TeacherFeedbackComments/TeacherComment.tsx +3 -5
- package/src/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.tsx +2 -10
- package/src/features/feedback/components/UnreadMessagesBadge.tsx +10 -3
- package/src/features/feedback/constants.ts +12 -3
- package/src/features/feedback/helpers.ts +31 -0
- package/src/features/feedback/model/api.ts +6 -2
- package/src/features/feedback/model/comments.ts +17 -39
- package/src/features/feedback/model/model.ts +8 -11
- package/src/features/feedback/types.ts +7 -1
- package/src/lib/helpers/helpers.ts +24 -16
- package/src/lib/localization/en.json +12 -0
- package/src/lib/localization/gb.json +12 -0
- package/src/lib/localization/sw.json +12 -0
- package/src/shared/translation/constants.ts +0 -42
- package/src/shared/translation/helpers.ts +17 -17
- package/src/shared/translation/types.ts +12 -4
- package/dist/commonjs/features/feedback/assets/icons/MessageBubbleIcon.js.map +0 -1
- package/dist/commonjs/features/feedback/assets/icons/XCloseIcon.js.map +0 -1
- package/dist/module/features/feedback/assets/icons/MessageBubbleIcon.js.map +0 -1
- package/dist/module/features/feedback/assets/icons/XCloseIcon.js.map +0 -1
- package/dist/typescript/commonjs/features/feedback/assets/icons/MessageBubbleIcon.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/feedback/assets/icons/XCloseIcon.d.ts.map +0 -1
- package/dist/typescript/module/features/feedback/assets/icons/MessageBubbleIcon.d.ts.map +0 -1
- package/dist/typescript/module/features/feedback/assets/icons/XCloseIcon.d.ts.map +0 -1
- /package/dist/commonjs/{features/feedback/assets → shared}/icons/MessageBubbleIcon.js +0 -0
- /package/dist/commonjs/{features/feedback/assets → shared}/icons/XCloseIcon.js +0 -0
- /package/dist/module/{features/feedback/assets → shared}/icons/MessageBubbleIcon.js +0 -0
- /package/dist/module/{features/feedback/assets → shared}/icons/XCloseIcon.js +0 -0
- /package/dist/typescript/commonjs/{features/feedback/assets → shared}/icons/MessageBubbleIcon.d.ts +0 -0
- /package/dist/typescript/commonjs/{features/feedback/assets → shared}/icons/XCloseIcon.d.ts +0 -0
- /package/dist/typescript/module/{features/feedback/assets → shared}/icons/MessageBubbleIcon.d.ts +0 -0
- /package/dist/typescript/module/{features/feedback/assets → shared}/icons/XCloseIcon.d.ts +0 -0
- /package/src/{features/feedback/assets → shared}/icons/MessageBubbleIcon.tsx +0 -0
- /package/src/{features/feedback/assets → shared}/icons/XCloseIcon.tsx +0 -0
|
@@ -31,3 +31,34 @@ export function findCommentsByCredits({
|
|
|
31
31
|
}: FindCommentsByCreditsProps) {
|
|
32
32
|
return data?.get(assignmentId)?.[problemId]?.comments ?? []
|
|
33
33
|
}
|
|
34
|
+
|
|
35
|
+
type UpdateCommentsStateProps = {
|
|
36
|
+
state: CommentsMap | null
|
|
37
|
+
assignmentId: string
|
|
38
|
+
problemId: string
|
|
39
|
+
fn: (data: FeedbackEntity) => FeedbackEntity | undefined
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export function updateCommentsState({
|
|
43
|
+
state,
|
|
44
|
+
assignmentId,
|
|
45
|
+
problemId,
|
|
46
|
+
fn,
|
|
47
|
+
}: UpdateCommentsStateProps) {
|
|
48
|
+
if (!state) return state
|
|
49
|
+
|
|
50
|
+
const updatedState = new Map(state)
|
|
51
|
+
const assignmentMap = updatedState.get(assignmentId) || {}
|
|
52
|
+
const currentData = assignmentMap[problemId] || { comments: [], unreadMessagesCount: 0 }
|
|
53
|
+
const updatedData = fn(currentData)
|
|
54
|
+
|
|
55
|
+
if (updatedData === undefined) {
|
|
56
|
+
delete assignmentMap[problemId]
|
|
57
|
+
if (Object.keys(assignmentMap).length === 0) updatedState.delete(assignmentId)
|
|
58
|
+
return updatedState
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
assignmentMap[problemId] = updatedData
|
|
62
|
+
updatedState.set(assignmentId, assignmentMap)
|
|
63
|
+
return updatedState
|
|
64
|
+
}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { createEffect, Effect } from 'effector'
|
|
2
|
-
import { TeacherFeedbackModelProps } from './model'
|
|
3
2
|
import { GetCommentsPayload, GetCommentsResponse, UpdateCommentStatusSeenPayload } from '../types'
|
|
4
3
|
|
|
4
|
+
type TeacherFeedbackAPIProps = {
|
|
5
|
+
getComments: (props: GetCommentsPayload) => Promise<GetCommentsResponse>
|
|
6
|
+
updateCommentStatusSeen: (props: UpdateCommentStatusSeenPayload) => Promise<void>
|
|
7
|
+
}
|
|
8
|
+
|
|
5
9
|
export class TeacherFeedbackAPI {
|
|
6
10
|
public readonly getCommentsFx: Effect<GetCommentsPayload, GetCommentsResponse>
|
|
7
11
|
public readonly updateCommentStatusSeenFx: Effect<UpdateCommentStatusSeenPayload, void>
|
|
8
12
|
|
|
9
|
-
constructor(api:
|
|
13
|
+
constructor(api: TeacherFeedbackAPIProps) {
|
|
10
14
|
this.getCommentsFx = createEffect(api.getComments)
|
|
11
15
|
this.updateCommentStatusSeenFx = createEffect(api.updateCommentStatusSeen)
|
|
12
16
|
}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { createEvent, restore, sample, Store } from 'effector'
|
|
2
|
-
import { CommentsMap, Credits,
|
|
2
|
+
import { AddCommentProps, CommentsMap, Credits, DeleteCommentProps, TeacherComment } from '../types'
|
|
3
3
|
import { TeacherFeedbackAPI } from './api'
|
|
4
|
-
import {
|
|
4
|
+
import { updateCommentsState } from '../helpers'
|
|
5
|
+
import { getText } from '../../../shared/translation/helpers'
|
|
6
|
+
import { EMPTY_COMMENT } from '@magmamath/students-features'
|
|
5
7
|
|
|
6
|
-
type
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
problemId: string
|
|
10
|
-
fn: (data: FeedbackEntity) => FeedbackEntity | undefined
|
|
8
|
+
type TeacherCommentsModelProps = {
|
|
9
|
+
api: TeacherFeedbackAPI
|
|
10
|
+
$isOpen: Store<boolean>
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
export class
|
|
13
|
+
export class TeacherCommentsModel {
|
|
14
14
|
private readonly setNoCommentsMessage = createEvent<TeacherComment>()
|
|
15
15
|
public readonly setAllCommentsRead = createEvent<Credits>()
|
|
16
|
-
public readonly add = createEvent<
|
|
17
|
-
public readonly delete = createEvent<
|
|
16
|
+
public readonly add = createEvent<AddCommentProps>()
|
|
17
|
+
public readonly delete = createEvent<DeleteCommentProps>()
|
|
18
18
|
|
|
19
19
|
public readonly setData = createEvent<CommentsMap>()
|
|
20
20
|
public readonly $data = restore<CommentsMap | null>(this.setData, null)
|
|
21
21
|
.on(this.setAllCommentsRead, (state, { assignmentId, problemId }) =>
|
|
22
|
-
|
|
22
|
+
updateCommentsState({
|
|
23
23
|
state,
|
|
24
24
|
assignmentId,
|
|
25
25
|
problemId,
|
|
@@ -30,7 +30,7 @@ export class TeacherComments {
|
|
|
30
30
|
}),
|
|
31
31
|
)
|
|
32
32
|
.on(this.add, (state, { assignmentId, problemId, comment, isRead }) =>
|
|
33
|
-
|
|
33
|
+
updateCommentsState({
|
|
34
34
|
state,
|
|
35
35
|
assignmentId,
|
|
36
36
|
problemId,
|
|
@@ -41,7 +41,7 @@ export class TeacherComments {
|
|
|
41
41
|
}),
|
|
42
42
|
)
|
|
43
43
|
.on(this.delete, (state, { assignmentId, problemId, commentId }) =>
|
|
44
|
-
|
|
44
|
+
updateCommentsState({
|
|
45
45
|
state,
|
|
46
46
|
assignmentId,
|
|
47
47
|
problemId,
|
|
@@ -62,7 +62,7 @@ export class TeacherComments {
|
|
|
62
62
|
}),
|
|
63
63
|
)
|
|
64
64
|
.on(this.setNoCommentsMessage, (state, noCommentsMessage) =>
|
|
65
|
-
|
|
65
|
+
updateCommentsState({
|
|
66
66
|
state,
|
|
67
67
|
assignmentId: noCommentsMessage.exerciseId,
|
|
68
68
|
problemId: noCommentsMessage.problemId,
|
|
@@ -73,11 +73,7 @@ export class TeacherComments {
|
|
|
73
73
|
}),
|
|
74
74
|
)
|
|
75
75
|
|
|
76
|
-
constructor(
|
|
77
|
-
api: TeacherFeedbackAPI,
|
|
78
|
-
$isOpen: Store<boolean>,
|
|
79
|
-
EMPTY_COMMENT: TeacherFeedbackModelProps['defaults']['EMPTY_COMMENT'],
|
|
80
|
-
) {
|
|
76
|
+
constructor({ api, $isOpen }: TeacherCommentsModelProps) {
|
|
81
77
|
sample({
|
|
82
78
|
clock: this.add,
|
|
83
79
|
source: { isOpen: $isOpen },
|
|
@@ -97,31 +93,13 @@ export class TeacherComments {
|
|
|
97
93
|
?.comments.length
|
|
98
94
|
return isOpen && hasNoMessages
|
|
99
95
|
},
|
|
100
|
-
fn: (_, { assignmentId, problemId }) => ({
|
|
96
|
+
fn: (_, { assignmentId, problemId }): TeacherComment => ({
|
|
101
97
|
...EMPTY_COMMENT,
|
|
102
98
|
exerciseId: assignmentId,
|
|
103
99
|
problemId,
|
|
100
|
+
content: getText('teacherFeedback.noComments'),
|
|
104
101
|
}),
|
|
105
102
|
target: this.setNoCommentsMessage,
|
|
106
103
|
})
|
|
107
104
|
}
|
|
108
|
-
|
|
109
|
-
private update({ state, assignmentId, problemId, fn }: UpdateProps) {
|
|
110
|
-
if (!state) return state
|
|
111
|
-
|
|
112
|
-
const updatedState = new Map(state)
|
|
113
|
-
const assignmentMap = updatedState.get(assignmentId) || {}
|
|
114
|
-
const currentData = assignmentMap[problemId] || { comments: [], unreadMessagesCount: 0 }
|
|
115
|
-
const updatedData = fn(currentData)
|
|
116
|
-
|
|
117
|
-
if (updatedData === undefined) {
|
|
118
|
-
delete assignmentMap[problemId]
|
|
119
|
-
if (Object.keys(assignmentMap).length === 0) updatedState.delete(assignmentId)
|
|
120
|
-
return updatedState
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
assignmentMap[problemId] = updatedData
|
|
124
|
-
updatedState.set(assignmentId, assignmentMap)
|
|
125
|
-
return updatedState
|
|
126
|
-
}
|
|
127
105
|
}
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import { createEvent, restore, sample, Store } from 'effector'
|
|
2
2
|
import { TeacherFeedbackAPI } from './api'
|
|
3
3
|
import { TeacherFeedbackSockets } from './sockets'
|
|
4
|
-
import {
|
|
4
|
+
import { TeacherCommentsModel } from './comments'
|
|
5
5
|
import { findCommentsByCredits, generateCommentsMap } from '../helpers'
|
|
6
|
-
import {
|
|
7
|
-
GetCommentsPayload,
|
|
8
|
-
GetCommentsResponse,
|
|
9
|
-
NoCommentsMessage,
|
|
10
|
-
UpdateCommentStatusSeenPayload,
|
|
11
|
-
} from '../types'
|
|
6
|
+
import { GetCommentsPayload, GetCommentsResponse, UpdateCommentStatusSeenPayload } from '../types'
|
|
12
7
|
import { EMPTY_COMMENT_ID } from '../constants'
|
|
13
8
|
|
|
14
9
|
export type TeacherFeedbackModelProps = {
|
|
@@ -21,23 +16,25 @@ export type TeacherFeedbackModelProps = {
|
|
|
21
16
|
$assignmentId: Store<string>
|
|
22
17
|
$problemId: Store<string>
|
|
23
18
|
}
|
|
24
|
-
defaults: { EMPTY_COMMENT: NoCommentsMessage }
|
|
25
19
|
}
|
|
26
20
|
|
|
27
21
|
export class TeacherFeedbackModel {
|
|
28
22
|
public readonly sockets: TeacherFeedbackSockets
|
|
29
23
|
public readonly api: TeacherFeedbackAPI
|
|
30
|
-
public readonly comments:
|
|
24
|
+
public readonly comments: TeacherCommentsModel
|
|
31
25
|
public readonly setIsOpen = createEvent<boolean>()
|
|
32
26
|
public readonly $isOpen = restore(this.setIsOpen, false)
|
|
33
27
|
|
|
34
28
|
public readonly setIsFeedbackIconDisplayed = createEvent<boolean>()
|
|
35
29
|
public readonly $isFeedbackIconDisplayed = restore(this.setIsFeedbackIconDisplayed, true)
|
|
36
30
|
|
|
37
|
-
constructor({ api, socket, credits
|
|
31
|
+
constructor({ api, socket, credits }: TeacherFeedbackModelProps) {
|
|
38
32
|
this.api = new TeacherFeedbackAPI(api)
|
|
39
33
|
this.sockets = new TeacherFeedbackSockets(socket)
|
|
40
|
-
this.comments = new
|
|
34
|
+
this.comments = new TeacherCommentsModel({
|
|
35
|
+
api: this.api,
|
|
36
|
+
$isOpen: this.$isOpen,
|
|
37
|
+
})
|
|
41
38
|
|
|
42
39
|
sample({
|
|
43
40
|
clock: credits.$problemId,
|
|
@@ -26,7 +26,10 @@ export type TeacherComment = {
|
|
|
26
26
|
__v: number
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export type NoCommentsMessage = Omit<
|
|
29
|
+
export type NoCommentsMessage = Omit<
|
|
30
|
+
TeacherComment,
|
|
31
|
+
'_id' | 'problemId' | 'exerciseId' | 'content'
|
|
32
|
+
> & {
|
|
30
33
|
_id: typeof EMPTY_COMMENT_ID
|
|
31
34
|
}
|
|
32
35
|
|
|
@@ -46,3 +49,6 @@ export enum FeedbackSocketEvents {
|
|
|
46
49
|
COMMENT_ADDED = 'exerciseCommentCreated',
|
|
47
50
|
COMMENT_DELETED = 'exerciseCommentDeleted',
|
|
48
51
|
}
|
|
52
|
+
|
|
53
|
+
export type AddCommentProps = Credits & { comment: TeacherComment; isRead: boolean }
|
|
54
|
+
export type DeleteCommentProps = Credits & { commentId: string }
|
|
@@ -1,28 +1,36 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Locale } from '@magmamath/students-features'
|
|
1
|
+
import { getText } from '../../shared/translation/helpers'
|
|
3
2
|
|
|
4
3
|
export const generateRandomId = () =>
|
|
5
4
|
Date.now().toString(36) + Math.random().toString(36).substring(2)
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
const getYears = (days: number) => Math.floor(days / 365)
|
|
7
|
+
const getMonths = (days: number) => Math.floor(days / 30)
|
|
8
|
+
const getDays = (hours: number) => Math.floor(hours / 24)
|
|
9
|
+
const getHours = (minutes: number) => Math.floor(minutes / 60)
|
|
10
|
+
const getMinutes = (seconds: number) => Math.floor(seconds / 60)
|
|
11
|
+
const getSeconds = (milliseconds: number) => Math.floor(milliseconds / 1000)
|
|
12
|
+
|
|
13
|
+
export const getRelativeTimeText = (date: Date) => {
|
|
9
14
|
const timeBufferMs = 2000 // adds 2 seconds time buffer because when used with sockets, it displayed -1 seconds ago, instead of 1 second ago.
|
|
10
15
|
|
|
11
16
|
const now = new Date().getTime()
|
|
12
17
|
const targetDate = new Date(date).getTime() - timeBufferMs
|
|
13
18
|
const diffTime = now - targetDate
|
|
14
19
|
|
|
15
|
-
const seconds =
|
|
16
|
-
const minutes =
|
|
17
|
-
const hours =
|
|
18
|
-
const days =
|
|
19
|
-
const months =
|
|
20
|
-
const years =
|
|
20
|
+
const seconds = getSeconds(diffTime)
|
|
21
|
+
const minutes = getMinutes(seconds)
|
|
22
|
+
const hours = getHours(minutes)
|
|
23
|
+
const days = getDays(hours)
|
|
24
|
+
const months = getMonths(days)
|
|
25
|
+
const years = getYears(days)
|
|
21
26
|
|
|
22
|
-
if (seconds < 60) return
|
|
23
|
-
if (minutes < 60)
|
|
24
|
-
|
|
25
|
-
if (
|
|
26
|
-
|
|
27
|
-
return `${
|
|
27
|
+
if (seconds < 60) return getText('time.justNow')
|
|
28
|
+
if (minutes < 60)
|
|
29
|
+
return `${minutes} ${minutes === 1 ? getText('time.minuteAgo') : getText('time.minutesAgo')}`
|
|
30
|
+
if (hours < 24)
|
|
31
|
+
return `${hours} ${hours === 1 ? getText('time.hourAgo') : getText('time.hoursAgo')}`
|
|
32
|
+
if (days < 30) return `${days} ${days === 1 ? getText('time.dayAgo') : getText('time.daysAgo')}`
|
|
33
|
+
if (months < 12)
|
|
34
|
+
return `${months} ${months === 1 ? getText('time.monthAgo') : getText('time.monthsAgo')}`
|
|
35
|
+
return `${years} ${years === 1 ? getText('time.yearAgo') : getText('time.yearsAgo')}`
|
|
28
36
|
}
|
|
@@ -1,2 +1,14 @@
|
|
|
1
1
|
{
|
|
2
|
+
"teacherFeedback.noComments": "No comments yet",
|
|
3
|
+
"time.justNow": "just now",
|
|
4
|
+
"time.minuteAgo": "minute ago",
|
|
5
|
+
"time.minutesAgo": "minutes ago",
|
|
6
|
+
"time.hourAgo": "hour ago",
|
|
7
|
+
"time.hoursAgo": "hours ago",
|
|
8
|
+
"time.dayAgo": "day ago",
|
|
9
|
+
"time.daysAgo": "days ago",
|
|
10
|
+
"time.monthAgo": "month ago",
|
|
11
|
+
"time.monthsAgo": "months ago",
|
|
12
|
+
"time.yearAgo": "year ago",
|
|
13
|
+
"time.yearsAgo": "years ago"
|
|
2
14
|
}
|
|
@@ -1,2 +1,14 @@
|
|
|
1
1
|
{
|
|
2
|
+
"teacherFeedback.noComments": "No comments yet",
|
|
3
|
+
"time.justNow": "just now",
|
|
4
|
+
"time.minuteAgo": "minute ago",
|
|
5
|
+
"time.minutesAgo": "minutes ago",
|
|
6
|
+
"time.hourAgo": "hour ago",
|
|
7
|
+
"time.hoursAgo": "hours ago",
|
|
8
|
+
"time.dayAgo": "day ago",
|
|
9
|
+
"time.daysAgo": "days ago",
|
|
10
|
+
"time.monthAgo": "month ago",
|
|
11
|
+
"time.monthsAgo": "months ago",
|
|
12
|
+
"time.yearAgo": "year ago",
|
|
13
|
+
"time.yearsAgo": "years ago"
|
|
2
14
|
}
|
|
@@ -1,2 +1,14 @@
|
|
|
1
1
|
{
|
|
2
|
+
"teacherFeedback.noComments": "Inga kommentarer än",
|
|
3
|
+
"time.justNow": "alldeles nyss",
|
|
4
|
+
"time.minuteAgo": "minut sedan",
|
|
5
|
+
"time.minutesAgo": "minuter sedan",
|
|
6
|
+
"time.hourAgo": "timme sedan",
|
|
7
|
+
"time.hoursAgo": "timmar sedan",
|
|
8
|
+
"time.dayAgo": "dag sedan",
|
|
9
|
+
"time.daysAgo": "dagar sedan",
|
|
10
|
+
"time.monthAgo": "månad sedan",
|
|
11
|
+
"time.monthsAgo": "månader sedan",
|
|
12
|
+
"time.yearAgo": "år sedan",
|
|
13
|
+
"time.yearsAgo": "år sedan"
|
|
2
14
|
}
|
|
@@ -8,45 +8,3 @@ export const LOCALIZATION_CONFIGS = {
|
|
|
8
8
|
[Locale.GB]: GB,
|
|
9
9
|
[Locale.SW]: SW,
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
export const RELATIVE_TIME_LABELS = {
|
|
13
|
-
[Locale.EN]: {
|
|
14
|
-
justNow: 'just now',
|
|
15
|
-
minuteAgo: 'minute ago',
|
|
16
|
-
minutesAgo: 'minutes ago',
|
|
17
|
-
hourAgo: 'hour ago',
|
|
18
|
-
hoursAgo: 'hours ago',
|
|
19
|
-
dayAgo: 'day ago',
|
|
20
|
-
daysAgo: 'days ago',
|
|
21
|
-
monthAgo: 'month ago',
|
|
22
|
-
monthsAgo: 'months ago',
|
|
23
|
-
yearAgo: 'year ago',
|
|
24
|
-
yearsAgo: 'years ago',
|
|
25
|
-
},
|
|
26
|
-
[Locale.SW]: {
|
|
27
|
-
justNow: 'alldeles nyss',
|
|
28
|
-
minuteAgo: 'minut sedan',
|
|
29
|
-
minutesAgo: 'minuter sedan',
|
|
30
|
-
hourAgo: 'timme sedan',
|
|
31
|
-
hoursAgo: 'timmar sedan',
|
|
32
|
-
dayAgo: 'dag sedan',
|
|
33
|
-
daysAgo: 'dagar sedan',
|
|
34
|
-
monthAgo: 'månad sedan',
|
|
35
|
-
monthsAgo: 'månader sedan',
|
|
36
|
-
yearAgo: 'år sedan',
|
|
37
|
-
yearsAgo: 'år sedan',
|
|
38
|
-
},
|
|
39
|
-
[Locale.GB]: {
|
|
40
|
-
justNow: 'just now',
|
|
41
|
-
minuteAgo: 'minute ago',
|
|
42
|
-
minutesAgo: 'minutes ago',
|
|
43
|
-
hourAgo: 'hour ago',
|
|
44
|
-
hoursAgo: 'hours ago',
|
|
45
|
-
dayAgo: 'day ago',
|
|
46
|
-
daysAgo: 'days ago',
|
|
47
|
-
monthAgo: 'month ago',
|
|
48
|
-
monthsAgo: 'months ago',
|
|
49
|
-
yearAgo: 'year ago',
|
|
50
|
-
yearsAgo: 'years ago',
|
|
51
|
-
},
|
|
52
|
-
}
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
import { LOCALIZATION_CONFIGS } from './constants'
|
|
2
2
|
import { $localization, setLocalization } from './model'
|
|
3
|
-
import { GetText, LocalizationConfig } from './types'
|
|
3
|
+
import { GetText, LocalizationConfig, TranslationKeys } from './types'
|
|
4
4
|
|
|
5
5
|
export const getSubstitutedString = (str: string, substitutions: Record<string, string> = {}) => {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
const substitutionsArray = Object.entries(substitutions)
|
|
7
|
+
let result = str
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
if (!substitutionsArray.length) return result
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
substitutionsArray.forEach(([key, value]) => {
|
|
12
|
+
result = result.replace(`{{${key}}}`, value)
|
|
13
|
+
})
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
return result
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
export const getText: GetText = (key, args = null) => {
|
|
19
|
-
|
|
18
|
+
export const getText: GetText = (key: TranslationKeys, args = null) => {
|
|
19
|
+
const config = $localization.getState()
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
const translation = config?.[key]
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
if (translation && args) {
|
|
24
|
+
return getSubstitutedString(translation, args)
|
|
25
|
+
}
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
return translation ?? key
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
export const setFeaturesLocalization = (
|
|
31
|
-
|
|
31
|
+
generator: ((config: typeof LOCALIZATION_CONFIGS) => LocalizationConfig) | LocalizationConfig,
|
|
32
32
|
) => {
|
|
33
|
-
|
|
33
|
+
setLocalization(generator)
|
|
34
34
|
}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
import enTranslations from '../../lib/localization/en.json'
|
|
2
|
+
|
|
3
|
+
export type Translations = typeof enTranslations
|
|
4
|
+
export type TranslationKeys = keyof Translations
|
|
5
|
+
|
|
6
|
+
export type GetText = <T extends TranslationKeys>(
|
|
7
|
+
key: T,
|
|
8
|
+
args?: Record<string, string> | null,
|
|
9
|
+
) => Translations[T]
|
|
2
10
|
|
|
3
11
|
export enum Locale {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
12
|
+
EN = 'en-SE',
|
|
13
|
+
SW = 'sv-SE',
|
|
14
|
+
GB = 'en-GB',
|
|
7
15
|
}
|
|
8
16
|
|
|
9
17
|
export type LocalizationConfig = Record<string, string>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeSvg","_interopRequireWildcard","_reactNativeUi","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MessageBubbleIcon","size","color","COLORS","NEUTRAL_1","jsx","width","height","viewBox","fill","children","Path","d","stroke","strokeWidth","strokeLinejoin","exports"],"sourceRoot":"../../../../../../src","sources":["features/feedback/assets/icons/MessageBubbleIcon.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAA8D,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAK,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAf,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,KAAAK,OAAA,EAAAL,CAAA;AAEvD,MAAMmB,iBAAiB,GAAGA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAGC,qBAAM,CAACC;AAAqB,CAAC,KAAK;EACvF,oBACE,IAAAzB,WAAA,CAAA0B,GAAA,EAAC7B,eAAA,CAAAU,OAAG;IAACoB,KAAK,EAAEL,IAAK;IAACM,MAAM,EAAEN,IAAK;IAACO,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,eAC7D,IAAA/B,WAAA,CAAA0B,GAAA,EAAC7B,eAAA,CAAAmC,IAAI;MACHC,CAAC,EAAC,+SAA+S;MACjTC,MAAM,EAAEX,KAAM;MACdY,WAAW,EAAC,GAAG;MACfC,cAAc,EAAC;IAAO,CACvB;EAAC,CACC,CAAC;AAEV,CAAC;AAAAC,OAAA,CAAAhB,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeSvg","_interopRequireWildcard","_reactNativeUi","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","XCloseIcon","size","color","COLORS","NEUTRAL_9","jsx","width","height","viewBox","fill","children","Path","d","exports"],"sourceRoot":"../../../../../../src","sources":["features/feedback/assets/icons/XCloseIcon.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAA8D,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAK,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAf,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,KAAAK,OAAA,EAAAL,CAAA;AAEvD,MAAMmB,UAAU,GAAGA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAGC,qBAAM,CAACC;AAAqB,CAAC,KAAK;EAChF,oBACE,IAAAzB,WAAA,CAAA0B,GAAA,EAAC7B,eAAA,CAAAU,OAAG;IAACoB,KAAK,EAAEL,IAAK;IAACM,MAAM,EAAEN,IAAK;IAACO,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,eAC7D,IAAA/B,WAAA,CAAA0B,GAAA,EAAC7B,eAAA,CAAAmC,IAAI;MACHC,CAAC,EAAC,ufAAuf;MACzfH,IAAI,EAAEP;IAAM,CACb;EAAC,CACC,CAAC;AAEV,CAAC;AAAAW,OAAA,CAAAb,UAAA,GAAAA,UAAA","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","Svg","Path","COLORS","jsx","_jsx","MessageBubbleIcon","size","color","NEUTRAL_1","width","height","viewBox","fill","children","d","stroke","strokeWidth","strokeLinejoin"],"sourceRoot":"../../../../../../src","sources":["features/feedback/assets/icons/MessageBubbleIcon.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAC5C,SAAoBC,MAAM,QAAQ,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE9D,OAAO,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAGL,MAAM,CAACM;AAAqB,CAAC,KAAK;EACvF,oBACEJ,IAAA,CAACJ,GAAG;IAACS,KAAK,EAAEH,IAAK;IAACI,MAAM,EAAEJ,IAAK;IAACK,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,eAC7DT,IAAA,CAACH,IAAI;MACHa,CAAC,EAAC,+SAA+S;MACjTC,MAAM,EAAER,KAAM;MACdS,WAAW,EAAC,GAAG;MACfC,cAAc,EAAC;IAAO,CACvB;EAAC,CACC,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","Svg","Path","COLORS","jsx","_jsx","XCloseIcon","size","color","NEUTRAL_9","width","height","viewBox","fill","children","d"],"sourceRoot":"../../../../../../src","sources":["features/feedback/assets/icons/XCloseIcon.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAC5C,SAAoBC,MAAM,QAAQ,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE9D,OAAO,MAAMC,UAAU,GAAGA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAGL,MAAM,CAACM;AAAqB,CAAC,KAAK;EAChF,oBACEJ,IAAA,CAACJ,GAAG;IAACS,KAAK,EAAEH,IAAK;IAACI,MAAM,EAAEJ,IAAK;IAACK,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,eAC7DT,IAAA,CAACH,IAAI;MACHa,CAAC,EAAC,ufAAuf;MACzfF,IAAI,EAAEL;IAAM,CACb;EAAC,CACC,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MessageBubbleIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/assets/icons/MessageBubbleIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAU,MAAM,4BAA4B,CAAA;AAE9D,eAAO,MAAM,iBAAiB,oBAA6C,SAAS,sBAWnF,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"XCloseIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/assets/icons/XCloseIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAU,MAAM,4BAA4B,CAAA;AAE9D,eAAO,MAAM,UAAU,oBAA6C,SAAS,sBAS5E,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MessageBubbleIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/assets/icons/MessageBubbleIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAU,MAAM,4BAA4B,CAAA;AAE9D,eAAO,MAAM,iBAAiB,oBAA6C,SAAS,sBAWnF,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"XCloseIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/assets/icons/XCloseIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAU,MAAM,4BAA4B,CAAA;AAE9D,eAAO,MAAM,UAAU,oBAA6C,SAAS,sBAS5E,CAAA"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/typescript/commonjs/{features/feedback/assets → shared}/icons/MessageBubbleIcon.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
/package/dist/typescript/module/{features/feedback/assets → shared}/icons/MessageBubbleIcon.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|