@buerokratt-ria/common-gui-components 0.0.1

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.
Files changed (122) hide show
  1. package/.eslintrc.json +18 -0
  2. package/CHANGELOG.md +7 -0
  3. package/MAKING_CHANGES.md +8 -0
  4. package/README.md +49 -0
  5. package/assets/ding.mp3 +0 -0
  6. package/assets/logo-white.svg +29 -0
  7. package/assets/logo.svg +31 -0
  8. package/assets/newMessageSound.mp3 +0 -0
  9. package/constants/config.ts +12 -0
  10. package/constants/index.ts +1 -0
  11. package/context/index.ts +1 -0
  12. package/context/toastContext.tsx +60 -0
  13. package/hooks/index.ts +3 -0
  14. package/hooks/useAudio.tsx +30 -0
  15. package/hooks/useDocumentEscapeListener.tsx +17 -0
  16. package/hooks/useToast.tsx +5 -0
  17. package/i18n.ts +26 -0
  18. package/index.ts +6 -0
  19. package/package.json +122 -0
  20. package/project.json +52 -0
  21. package/services/api.ts +74 -0
  22. package/services/index.ts +3 -0
  23. package/services/sse-service.ts +30 -0
  24. package/services/users.ts +58 -0
  25. package/store/index.ts +253 -0
  26. package/templates/history-page/index.ts +1 -0
  27. package/templates/history-page/src/History.scss +47 -0
  28. package/templates/history-page/src/index.tsx +998 -0
  29. package/templates/history-page/src/unfiyDate.tsx +7 -0
  30. package/translations/en/common.json +467 -0
  31. package/translations/et/common.json +467 -0
  32. package/tsconfig.base.json +21 -0
  33. package/tsconfig.json +17 -0
  34. package/tsconfig.spec.json +19 -0
  35. package/types/authorities.ts +8 -0
  36. package/types/botConfig.ts +7 -0
  37. package/types/chat.ts +126 -0
  38. package/types/customerSupportActivity.ts +5 -0
  39. package/types/deleteChatSettings.ts +9 -0
  40. package/types/emergencyNotice.ts +10 -0
  41. package/types/establishment.ts +4 -0
  42. package/types/index.ts +18 -0
  43. package/types/mainNavigation.ts +11 -0
  44. package/types/message.ts +74 -0
  45. package/types/organizationWorkingTime.ts +27 -0
  46. package/types/router.ts +4 -0
  47. package/types/service.ts +6 -0
  48. package/types/session.ts +7 -0
  49. package/types/skmConfig.ts +8 -0
  50. package/types/user.ts +40 -0
  51. package/types/userInfo.ts +16 -0
  52. package/types/userProfileSettings.ts +10 -0
  53. package/types/widgetConfig.ts +8 -0
  54. package/ui-components/Button/Button.scss +150 -0
  55. package/ui-components/Button/index.tsx +41 -0
  56. package/ui-components/ButtonMessage/ButtonMessage.scss +16 -0
  57. package/ui-components/ButtonMessage/index.tsx +19 -0
  58. package/ui-components/Card/Card.scss +69 -0
  59. package/ui-components/Card/index.tsx +39 -0
  60. package/ui-components/Chat/Chat.scss +447 -0
  61. package/ui-components/Chat/ChatMessage.tsx +270 -0
  62. package/ui-components/Chat/ChatTextArea.scss +110 -0
  63. package/ui-components/Chat/ChatTextArea.tsx +97 -0
  64. package/ui-components/Chat/LoaderOverlay.tsx +39 -0
  65. package/ui-components/Chat/Markdownify.tsx +49 -0
  66. package/ui-components/Chat/PreviewMessage.tsx +39 -0
  67. package/ui-components/Chat/Typing.scss +46 -0
  68. package/ui-components/Chat/index.tsx +1111 -0
  69. package/ui-components/ChatEvent/Chat.scss +40 -0
  70. package/ui-components/ChatEvent/index.tsx +216 -0
  71. package/ui-components/DataTable/CloseIcon.tsx +22 -0
  72. package/ui-components/DataTable/DataTable.scss +188 -0
  73. package/ui-components/DataTable/DeboucedInput.scss +11 -0
  74. package/ui-components/DataTable/DebouncedInput.tsx +54 -0
  75. package/ui-components/DataTable/Filter.tsx +121 -0
  76. package/ui-components/DataTable/index.tsx +432 -0
  77. package/ui-components/Dialog/Dialog.scss +63 -0
  78. package/ui-components/Dialog/index.tsx +44 -0
  79. package/ui-components/Drawer/Drawer.scss +40 -0
  80. package/ui-components/Drawer/index.tsx +42 -0
  81. package/ui-components/FormElements/FormCheckbox/FormCheckbox.scss +57 -0
  82. package/ui-components/FormElements/FormCheckbox/index.tsx +39 -0
  83. package/ui-components/FormElements/FormCheckboxes/FormCheckboxes.scss +63 -0
  84. package/ui-components/FormElements/FormCheckboxes/index.tsx +44 -0
  85. package/ui-components/FormElements/FormDatepicker/FormDatepicker.scss +154 -0
  86. package/ui-components/FormElements/FormDatepicker/index.tsx +123 -0
  87. package/ui-components/FormElements/FormInput/FormInput.scss +90 -0
  88. package/ui-components/FormElements/FormInput/index.tsx +47 -0
  89. package/ui-components/FormElements/FormRadios/FormRadios.scss +72 -0
  90. package/ui-components/FormElements/FormRadios/index.tsx +36 -0
  91. package/ui-components/FormElements/FormSelect/FormMultiselect.tsx +124 -0
  92. package/ui-components/FormElements/FormSelect/FormSelect.scss +121 -0
  93. package/ui-components/FormElements/FormSelect/index.tsx +100 -0
  94. package/ui-components/FormElements/FormTextarea/FormTextarea.scss +109 -0
  95. package/ui-components/FormElements/FormTextarea/index.tsx +154 -0
  96. package/ui-components/FormElements/Switch/Switch.scss +69 -0
  97. package/ui-components/FormElements/Switch/index.tsx +65 -0
  98. package/ui-components/FormElements/SwitchBox/SwitchBox.scss +45 -0
  99. package/ui-components/FormElements/SwitchBox/index.tsx +44 -0
  100. package/ui-components/FormElements/index.tsx +23 -0
  101. package/ui-components/HistoricalChat/ChatMessage.tsx +67 -0
  102. package/ui-components/HistoricalChat/HistoricalChat.scss +225 -0
  103. package/ui-components/HistoricalChat/index.tsx +282 -0
  104. package/ui-components/Icon/Icon.scss +17 -0
  105. package/ui-components/Icon/index.tsx +26 -0
  106. package/ui-components/Label/Label.scss +76 -0
  107. package/ui-components/Label/index.tsx +40 -0
  108. package/ui-components/OptionMessage/OptionMessage.scss +16 -0
  109. package/ui-components/OptionMessage/index.tsx +16 -0
  110. package/ui-components/Toast/Toast.scss +73 -0
  111. package/ui-components/Toast/index.tsx +54 -0
  112. package/ui-components/Tooltip/Tooltip.scss +17 -0
  113. package/ui-components/Tooltip/index.tsx +28 -0
  114. package/ui-components/Track/index.tsx +57 -0
  115. package/ui-components/index.tsx +53 -0
  116. package/utils/constants.ts +19 -0
  117. package/utils/format-bytes.ts +8 -0
  118. package/utils/generateUEID.ts +8 -0
  119. package/utils/local-storage-utils.ts +17 -0
  120. package/utils/parse-utils.ts +23 -0
  121. package/utils/state-management-utils.ts +13 -0
  122. package/vite.config.ts +67 -0
@@ -0,0 +1,467 @@
1
+ {
2
+ "global": {
3
+ "save": "Salvesta",
4
+ "add": "Lisa",
5
+ "edit": "Muuda",
6
+ "delete": "Kustuta",
7
+ "cancel": "Tühista",
8
+ "modifiedAt": "Viimati muudetud",
9
+ "addNew": "Lisa uus",
10
+ "dependencies": "Sõltuvused",
11
+ "language": "Keel",
12
+ "choose": "Vali",
13
+ "search": "Otsi",
14
+ "notification": "Teade",
15
+ "notificationError": "Veateade",
16
+ "notificationErrorMsg": "Midagi läks valesti",
17
+ "active": "Aktiivne",
18
+ "activate": "Aktiveeri",
19
+ "deactivate": "Deaktiveeri",
20
+ "on": "Sees",
21
+ "off": "Väljas",
22
+ "back": "Tagasi",
23
+ "from": "Alates",
24
+ "to": "Kuni",
25
+ "view": "Vaata",
26
+ "resultCount": "Kuvan korraga",
27
+ "paginationNavigation": "Lehtedel navigeerimine",
28
+ "gotoPage": "Mine lehele",
29
+ "name": "Nimi",
30
+ "idCode": "Isikukood",
31
+ "status": "Staatus",
32
+ "statusChangeQuestion": "Kas soovid muuta staatuseks \"kohal\"?",
33
+ "yes": "Jah",
34
+ "no": "Ei",
35
+ "removeValidation": "Oled sa kindel?",
36
+ "startDate": "Algusaeg",
37
+ "endDate": "Lõppaeg",
38
+ "preview": "Eelvaade",
39
+ "logout": "Logi välja",
40
+ "anonymous": "Anonüümne",
41
+ "csaStatus": "Nõustaja",
42
+ "present": "Kohal",
43
+ "away": "Eemal",
44
+ "today": "Täna",
45
+ "forward": "Suuna",
46
+ "chosen": "Valitud",
47
+ "read": "Loetud"
48
+ },
49
+ "mainMenu": {
50
+ "menuLabel": "Põhinavigatsioon",
51
+ "closeMenu": "Kitsenda menüü",
52
+ "openMenu": "Ava menüü",
53
+ "openMenuIcon": "Ava menüü ikoon",
54
+ "closeMenuIcon": "Sulge menüü ikoon"
55
+ },
56
+ "menu": {
57
+ "conversations": "Vestlused",
58
+ "unanswered": "Vastamata",
59
+ "active": "Aktiivsed",
60
+ "history": "Ajalugu",
61
+ "training": "Treening",
62
+ "themes": "Teemad",
63
+ "answers": "Vastused",
64
+ "userStories": "Vestlusvood",
65
+ "configuration": "Seaded",
66
+ "forms": "Vormid",
67
+ "slots": "Mälukohad",
68
+ "historicalConversations": "Ajaloolised vestlused",
69
+ "modelBankAndAnalytics": "Mudelipank ja analüütika",
70
+ "overviewOfTopics": "Teemade ülevaade",
71
+ "comparisonOfModels": "Mudelite võrdlus",
72
+ "appeals": "Pöördumised",
73
+ "testTracks": "Testlood",
74
+ "trainNewModel": "Treeni uus mudel",
75
+ "analytics": "Analüütika",
76
+ "settings": "Seaded",
77
+ "overview": "Ülevaade",
78
+ "chats": "Vestlused",
79
+ "burokratt": "Bürokratt",
80
+ "feedback": "Tagasiside",
81
+ "advisors": "Nõustajad",
82
+ "reports": "Avaandmed",
83
+ "users": "Kasutajad",
84
+ "administration": "Haldus",
85
+ "chatbot": "Vestlusbot",
86
+ "welcomeMessage": "Tervitussõnum",
87
+ "appearanceAndBehavior": "Välimus ja käitumine",
88
+ "emergencyNotices": "Erakorralised teated",
89
+ "officeOpeningHours": "Asutuse tööaeg",
90
+ "sessionLength": "Sessiooni pikkus",
91
+ "monitoring": "Seire",
92
+ "workingHours": "Tööaeg"
93
+ },
94
+ "chat": {
95
+ "userTyping": "Kasutaja kirjutab",
96
+ "chatForwardedTo": "Vestlus edastati aadressile",
97
+ "chatEnded": "Vestlus lõppes",
98
+ "reply": "Vasta",
99
+ "unansweredChats": "Vastamata vestlused",
100
+ "unanswered": "Vastamata",
101
+ "forwarded": "Suunatud",
102
+ "pending": "Ootel",
103
+ "endUser": "Vestleja nimi",
104
+ "endUserId": "Vestleja isikukood",
105
+ "csaName": "Nõustaja nimi",
106
+ "endUserEmail": "Vestleja e-post",
107
+ "endUserPhoneNumber": "Vestleja telefoninumber",
108
+ "startedAt": "Vestlus alustatud",
109
+ "device": "Seade",
110
+ "location": "Lähtekoht",
111
+ "redirectedMessageByOwner": "{{from}} suunas vestluse kasutajale {{to}} {{date}}",
112
+ "redirectedMessageClaimed": "{{to}} võttis vestluse üle kasutajalt {{from}} {{date}}",
113
+ "redirectedMessage": "{{user}} suunas vestluse kasutajalt {{from}} kasutajale {{to}} {{date}}",
114
+ "new": "uued",
115
+ "inProcess": "töös",
116
+ "status": {
117
+ "active": "Aktiivne",
118
+ "ended": "Määramata"
119
+ },
120
+ "chatStatus": "Vestluse staatus",
121
+ "changeStatus": "Muuda staatust",
122
+ "waiting_validation": "Vastust koostatakse",
123
+ "approved_validation": "Kinnitatud valideerimine",
124
+ "active": {
125
+ "list": "Aktiivsed vestlused",
126
+ "myChats": "Minu vestlused",
127
+ "newChats": "Uued vestlused",
128
+ "chooseChat": "Alustamiseks vali vestlus",
129
+ "endChat": "Lõpeta vestlus",
130
+ "takeOver": "Võta üle",
131
+ "askAuthentication": "Küsi autentimist",
132
+ "askForContact": "Küsi kontaktandmeid",
133
+ "askPermission": "Küsi nõusolekut",
134
+ "forwardToColleague": "Suuna kolleegile",
135
+ "forwardToOrganization": "Suuna asutusele",
136
+ "startedAt": "Vestlus alustatud {{date}}",
137
+ "forwardChat": "Kellele vestlus suunata?",
138
+ "searchByName": "Otsi nime või tiitli järgi",
139
+ "onlyActiveAgents": "Näita ainult kohal olevaid nõustajaid",
140
+ "establishment": "Asutus",
141
+ "searchByEstablishmentName": "Otsi asutuse nime järgi",
142
+ "sendToEmail": "Saada e-postile",
143
+ "chooseChatStatus": "Vali vestluse staatus",
144
+ "statusChange": "Vestluse staatus",
145
+ "startService": "Alusta teenust",
146
+ "selectService": "Vali teenus",
147
+ "start": "Alusta",
148
+ "service": "Teenus",
149
+ "ContactedUser": "Kasutajaga ühendust võetud",
150
+ "couldNotReachUser": "Kasutajaga ei õnnestunud ühendust saada"
151
+ },
152
+ "history": {
153
+ "title": "Ajalugu",
154
+ "searchChats": "Otsi üle vestluste",
155
+ "startTime": "Algusaeg",
156
+ "endTime": "Lõppaeg",
157
+ "csaName": "Nõustaja nimi",
158
+ "contact": "Kontaktandmed",
159
+ "comment": "Kommentaar",
160
+ "label": "Märksõna",
161
+ "nps": "Soovitusindeks",
162
+ "forwarded": "Suunatud",
163
+ "addACommentToTheConversation": "Lisa vestlusele kommentaar",
164
+ "rating": "Hinnang",
165
+ "feedback": "Tagasiside",
166
+ "commentAuthor": "Kommentaari lisaja",
167
+ "commentAddedDate": "Kommentaari lisamise kuupäev",
168
+ "statusAdder": "Staatuse lisaja",
169
+ "statusAddedDate": "Staatuse lisamise kuupäev",
170
+ "chosenCsa": "Valitud nõustaja(d)",
171
+ "chosenColumn": "Valitud tulba(d)"
172
+ },
173
+ "plainEvents": {
174
+ "answered": "Vastatud",
175
+ "terminated": "Määramata",
176
+ "sent_to_csa_email": "Vestlus saadetud nõustaja e-postile",
177
+ "client-left": "Klient lahkus",
178
+ "client_left_with_accepted": "Klient lahkus aktsepteeritud vastusega",
179
+ "client_left_with_no_resolution": "Klient lahkus vastuseta",
180
+ "client_left_for_unknown_reasons": "Klient lahkus määramata põhjustel",
181
+ "accepted": "Aktsepteeritud",
182
+ "hate_speech": "Vihakõne",
183
+ "other": "Muud põhjused",
184
+ "response_sent_to_client_email": "Kliendile vastati tema jäetud kontaktile",
185
+ "greeting": "Tervitus",
186
+ "requested-authentication": "Autentimine algatatud",
187
+ "authentication_successful": "Autentimine õnnestus",
188
+ "authentication_failed": "Autentimine ebaõnnestus",
189
+ "ask-permission": "Küsiti nõusolekut",
190
+ "ask-permission-accepted": "Nõusolek antud",
191
+ "ask-permission-rejected": "Nõusolekust keelduti",
192
+ "ask-permission-ignored": "Nõusolek ignoreeritud",
193
+ "rating": "Hinnang",
194
+ "contact-information": "Küsiti kontaktandmeid",
195
+ "contact-information-rejected": "Kontaktandmetest keeldutud",
196
+ "contact-information-fulfilled": "Kontaktandmed saadetud",
197
+ "requested-chat-forward": "Küsiti vestluse suunamist",
198
+ "requested-chat-forward-accepted": "Vestluse suunamine aktsepteeritud",
199
+ "requested-chat-forward-rejected": "Vestluse suunamine tagasi lükatud",
200
+ "inactive-chat-ended": "Lõpetatud tegevusetuse tõttu",
201
+ "message-read": "Loetud",
202
+ "contact-information-skipped": "Kontaktandmeid ei saadetud",
203
+ "unavailable-contact-information-fulfilled": "Kontaktandmed on antud",
204
+ "unavailable_organization": "Asutus ei ole kättesaadav",
205
+ "unavailable_organization_ask_contacts": "Asutus ei ole kättesaadav ja küsitakse kontakte",
206
+ "unavailable_csas": "Klienditeenindajad ei ole kättesaadavad",
207
+ "unavailable_csas_ask_contacts": "Klienditeenindajad ei ole kättesaadavad ja küsitakse kontakte",
208
+ "unavailable_holiday": "Puhkus",
209
+ "unavailable_holiday_ask_contacts": "Puhkus ja küsitakse kontakte",
210
+ "user-reached": "Kasutajaga võeti ühendust",
211
+ "user-not-reached": "Kasutajaga ei õnnestunud ühendust saada",
212
+ "ask_to_forward_to_csa": "Vestlus paluti klienditeenindajale suunata",
213
+ "forwarded_to_backoffice": "Vestlus suunatakse klienditeenindajale",
214
+ "continue_chatting_with_bot": "Jätkake vestlust kasutajaga bürokratt"
215
+ },
216
+ "events": {
217
+ "answered": "Vastatud {{date}}",
218
+ "terminated": "Määramata {{date}}",
219
+ "sent_to_csa_email": "Vestlus saadetud nõustaja e-postile {{date}}",
220
+ "client-left": "Klient lahkus {{date}}",
221
+ "client_left_with_accepted": "Klient lahkus aktsepteeritud vastusega {{date}}",
222
+ "client_left_with_no_resolution": "Klient lahkus vastuseta {{date}}",
223
+ "client_left_for_unknown_reasons": "Klient lahkus määramata põhjustel {{date}}",
224
+ "accepted": "Aktsepteeritud {{date}}",
225
+ "hate_speech": "Vihakõne {{date}}",
226
+ "other": "Muud põhjused {{date}}",
227
+ "response_sent_to_client_email": "Kliendile vastati tema jäetud kontaktile {{date}}",
228
+ "greeting": "Tervitus",
229
+ "requested-authentication": "Küsiti autentimist",
230
+ "authentication_successful": "Autentimine õnnestus {{date}}",
231
+ "authentication_failed": "Autentimine ebaõnnestus {{date}}",
232
+ "ask-permission": "Küsiti nõusolekut",
233
+ "ask-permission-accepted": "Nõusolek antud {{date}}",
234
+ "ask-permission-rejected": "Nõusolekust keeldutud {{date}}",
235
+ "ask-permission-ignored": "Nõusolek ignoreeritud {{date}}",
236
+ "rating": "Hinnang {{date}}",
237
+ "contact-information": "Küsiti kontaktandmeid {{date}}",
238
+ "contact-information-rejected": "Kontaktandmetest keeldutud {{date}}",
239
+ "contact-information-fulfilled": "Kontaktandmed saadetud {{date}}",
240
+ "requested-chat-forward": "Küsiti vestluse suunamist",
241
+ "requested-chat-forward-accepted": "Vestluse suunamine aktsepteeritud {{date}}",
242
+ "requested-chat-forward-rejected": "Vestluse suunamine tagasi lükatud {{date}}",
243
+ "message-read": "Loetud",
244
+ "read": "Loetud {{ date }}",
245
+ "contact-information-skipped": "Kontaktandmeid ei saadetud",
246
+ "unavailable-contact-information-fulfilled": "Kontaktandmed on antud",
247
+ "unavailable_organization": "Asutus ei ole kättesaadav",
248
+ "unavailable_organization_ask_contacts": "Asutus ei ole kättesaadav ja küsitakse kontakte",
249
+ "unavailable_csas": "Klienditeenindajad ei ole kättesaadavad",
250
+ "unavailable_csas_ask_contacts": "Klienditeenindajad ei ole kättesaadavad ja küsitakse kontakte",
251
+ "unavailable_holiday": "Puhkus",
252
+ "unavailable_holiday_ask_contacts": "Puhkus ja küsitakse kontakte",
253
+ "pending-assigned": "{{name}} määratud kontaktkasutajale",
254
+ "user-reached": "{{name}} võttis kasutajaga ühendust",
255
+ "user-not-reached": "{{name}} ei saanud kasutajaga ühendust",
256
+ "user-authenticated": "{{name}} on autenditud {{date}}",
257
+ "taken-over": "Klienditeenindaja võttis vestluse üle",
258
+ "ask_to_forward_to_csa": "Vestlus paluti klienditeenindajale suunata",
259
+ "forwarded_to_backoffice": "Vestlus suunatakse klienditeenindajale",
260
+ "continue_chatting_with_bot": "Jätkake vestlust kasutajaga bürokratt"
261
+ },
262
+ "validations": {
263
+ "title": "Valideerimised",
264
+ "description": "Siin kuvatakse vestlusroboti poolt tulnud vastused, mis nõuavad valideerimist enne kui need lõppkasutajale saadetakse",
265
+ "messageChanged": "Sõnumi muutmine õnnestus",
266
+ "messageApproved": "Sõnum kinnitati edukalt",
267
+ "messageChangeFailed": "Sõnumi muutmine ebaõnnestus",
268
+ "confirmAnswer": "Kinnita vastus",
269
+ "header": {
270
+ "id": "Id",
271
+ "chatId": "Vestluse ID",
272
+ "message": "Sõnum",
273
+ "requestedAt": "Taotletud Kell",
274
+ "approve": "Kinnita"
275
+ }
276
+ }
277
+ },
278
+ "deleteConversation": {
279
+ "deletionTime": "Kustutamise kellaeg",
280
+ "deletionNote": "Määrab aja, mille möödudes anonüümsed sõnumid automaatselt kustutatakse.",
281
+ "conversationDeleting": "Vestluste kustutamine",
282
+ "generateCsv": "Genereeri CSV",
283
+ "periodConversations": "Vestlusi perioodis",
284
+ "expiringConversationsRules": "Automaatse aegumise ja kustutamise reeglid",
285
+ "showExpiring": "Näita tulevikus aeguvaid vestlusi",
286
+ "authConversationsRemoval": "Autentitud vestlused kustutatakse",
287
+ "anonymConversationsDelete": "Anonüümsed vestlused kustutatakse",
288
+ "period": "Periood",
289
+ "days": "days",
290
+ "oneDay": "1 päev",
291
+ "sevenDays": "7 päeva",
292
+ "thirtyOneDay": "31 päeva",
293
+ "ninetyDays": "90 päeva"
294
+ },
295
+ "roles": {
296
+ "ROLE_ADMINISTRATOR": "Administraator",
297
+ "ROLE_SERVICE_MANAGER": "Teenuse haldur",
298
+ "ROLE_CUSTOMER_SUPPORT_AGENT": "Nõustaja",
299
+ "ROLE_CHATBOT_TRAINER": "Vestlusroboti treener",
300
+ "ROLE_ANALYST": "Analüütik",
301
+ "ROLE_UNAUTHENTICATED": "Autentimata"
302
+ },
303
+ "settings": {
304
+ "title": "Seaded",
305
+ "users": {
306
+ "title": "Kasutajad",
307
+ "name": "Nimi",
308
+ "idCode": "Isikukood",
309
+ "role": "Roll",
310
+ "displayName": "Kuvatav nimi",
311
+ "userTitle": "Tiitel",
312
+ "email": "E-post",
313
+ "department": "Osakond",
314
+ "addUser": "Lisa kasutaja",
315
+ "editUser": "Muuda kasutajat",
316
+ "deleteUser": "Kustuta kasutaja",
317
+ "fullName": "Ees- ja perekonnanimi",
318
+ "userRoles": "Kasutaja roll(id)",
319
+ "autoCorrector": "Autokorrektor",
320
+ "emailNotifications": "Märguanded e-postile",
321
+ "soundNotifications": "Häälmärguanded",
322
+ "popupNotifications": "Pop-up märguanded",
323
+ "newUnansweredChat": "Uus vastamata vestlus",
324
+ "newForwardedChat": "Uus suunatud vestlus",
325
+ "newValidationMessage": "Uus teade kinnitamiseks",
326
+ "useAutocorrect": "Teksti autokorrektor",
327
+ "required": "Nõutud",
328
+ "invalidemail": "Kehtetu e-posti aadress",
329
+ "invalidIdCode": "Kehtetu isikukood",
330
+ "idCodePlaceholder": "Isikukood peab algama riigi eesliitega, (eg.EE12345678910)",
331
+ "choose": "Vali",
332
+ "userExists": "Kasutaja on olemas",
333
+ "userChangeStatusMessage": "Kas sa soovid kasutaja staatuseks muuta eemal?"
334
+ },
335
+ "chat": {
336
+ "chatActive": "Vestlusrobot aktiivne",
337
+ "burokrattActive": "Bürokratt aktiivne",
338
+ "showSupportName": "Kuva nõustaja nimi",
339
+ "showSupportTitle": "Kuva nõustaja tiitel",
340
+ "editActiveChat": "Aktiivsete vestluste muutmine",
341
+ "showBurokrattConfirmation": "Kas soovid Bürokrati veebilehel nähtavaks teha?",
342
+ "hideBurokrattConfirmation": "Kas soovid Bürokrati veebilehel ära peita?"
343
+ },
344
+ "emergencyNotices": {
345
+ "title": "Erakorralised teated",
346
+ "noticeActive": "Teade aktiivne",
347
+ "notice": "Teade",
348
+ "displayPeriod": "Kuvamisperiood",
349
+ "noticeChanged": "Teate seadeid muudeti edukalt"
350
+ },
351
+ "appearance": {
352
+ "title": "Välimus ja käitumine",
353
+ "widgetBubbleMessageText": "Märguandesõnum",
354
+ "widgetProactiveSeconds": "Animatsiooni kestus sekundites",
355
+ "widgetDisplayBubbleMessageSeconds": "Animatsiooni viivitus sekundites",
356
+ "widgetColor": "Põhivärv",
357
+ "widgetAnimation": "Animatsioon"
358
+ },
359
+ "workingTime": {
360
+ "title": "Asutuse tööaeg",
361
+ "description": "Peale tööaja lõppemist, juhul kui juturobot ise kliendi küsimustele vastata ei oska, küsib ta kliendi kontaktandmeid.",
362
+ "openFrom": "Avatud alates",
363
+ "openUntil": "Avatud kuni",
364
+ "publicHolidays": "Arvesta riigipühadega",
365
+ "consider": "Arvesta",
366
+ "dontConsider": "Ära arvesta",
367
+ "closedOnWeekends": "Nädalavahetustel suletud",
368
+ "theSameOnAllWorkingDays": "Kõigil tööpäevadel sama",
369
+ "open": "Avatud",
370
+ "closed": "Suletud",
371
+ "until": "kuni",
372
+ "allWeekdaysExceptWeekend": "E-R",
373
+ "allWeekdays": "E-P",
374
+ "availableAllTime": "Asutuse tööaeg on 24/7",
375
+ "showIfCSAIsNotAvailable": "Saada kliendile klienditeenindaja eemaloleku teavitus",
376
+ "showIfCSAIsNotAvailableWithContactsRequest": "Saada kliendile klienditeenindaja eemaloleku teavitus koos kontakti päringuga",
377
+ "noCsaAvailableMessage": "Klienditeenindaja eemaloleku teavitus",
378
+ "showIfOrganizationIsOutsideWorkingHours": "Saada kliendile töövälise aja teavitus",
379
+ "showIfOrganizationIsOutsideWorkingHoursWithContactsRequest": "Saada kliendile töövälise aja teavitus koos kontakti päringuga",
380
+ "outsideWorkingHoursMessage": "Töövälise aja teavitus"
381
+ },
382
+ "userSession": {
383
+ "title": "Kasutaja sessioon",
384
+ "sessionLength": "Sessiooni pikkus",
385
+ "description": "Kasutaja sessiooni pikkus, mille möödumisel logitakse mitteaktiivsed kasutajad välja",
386
+ "rule": "Sessiooni pikkus on lubatud vahemikus 30 min - 480 min (8h)",
387
+ "minutes": "minutit",
388
+ "sessionChanged": "Sessiooni pikkuse muutmine õnnestus",
389
+ "emptySession": "Sessiooni pikkuse väli ei tohi olla tühi",
390
+ "invalidSession": "Sessiooni pikkus peab olema vahemikus 30 - 480 minutit"
391
+ },
392
+ "greeting": {
393
+ "title": "Tervitussõnum"
394
+ },
395
+ "weekdays": {
396
+ "label": "Nädalapäevad",
397
+ "monday": "Esmaspäev",
398
+ "tuesday": "Teisipäev",
399
+ "wednesday": "Kolmapäev",
400
+ "thursday": "Neljapäev",
401
+ "friday": "Reede",
402
+ "saturday": "Laupäev",
403
+ "sunday": "Pühapäev"
404
+ },
405
+ "nationalHolidays": "Riigipühad",
406
+ "welcomeMessage": {
407
+ "welcomeMessage": "Tervitussõnum",
408
+ "description": "Bürokrati automaatne tervitussõnum, mida kuvatakse esimese sõnumina vestlusakna avamisel",
409
+ "greetingActive": "Tervitus aktiivne",
410
+ "messageChanged": "Tervitust muudeti edukalt",
411
+ "emptyMessage": "Tervitussõnumi väli ei tohi olla tühi"
412
+ },
413
+ "skmConfiguration": {
414
+ "title": "SKMi konfiguratsioon",
415
+ "description": "Siin on võimalik SKMi parameetreid sätestada.",
416
+ "range": "Rangus",
417
+ "documents": "Leitud dokumendid",
418
+ "systemMessage": "Süsteemi juhis",
419
+ "maxTokens": "Maksimaalne tokenite arv",
420
+ "indexName": "Indeks",
421
+ "queryType": "Otsingutüüp",
422
+ "semantic": "Semantiline",
423
+ "vector": "Vektor",
424
+ "simple": "Märksõna",
425
+ "vectorSimpleHybrid": "Hübriid (märksõna + vektor)",
426
+ "vectorSemanticHybrid": "Hübriid + semantiline",
427
+ "tooltip": {
428
+ "range": "Rangus määrab künnise, mille alusel dokumente peetakse teie päringutele asjakohasteks. Ranguse tõstmine tähendab kõrgemat asjakohasuse künnist ja rohkemate vähem asjakohaste dokumentide filtreerimist. Väga kõrge rangus võib aga põhjustada vastuste genereerimise ebaõnnestumise, kuna kättesaadavaid dokumente on liiga vähe. Vaikimisi on ranguse tase 3.Võimalikud väärtused: 1 - 5",
429
+ "documents": "See määrab teie andmeindeksist vastuste koostamiseks kasutatavate kõrgeima skooriga dokumentide arvu. Seda väärtust tasub suurendada, kui teil on lühikesed dokumendid või soovite pakkuda rohkem konteksti. Vaikeväärtus on 5.Võimalikud väärtused: 1 - 20",
430
+ "systemMessage": "Anna mudelile juhised ja kontekst selle kohta, kuidas see peaks käituma.",
431
+ "maxTokens": "Sea piirang mudeli vastuses kasutatavate tokenite arvule.Võimalikud väärtused: 1 - 2000",
432
+ "indexName": "Azures loodud indeksi nimi.",
433
+ "queryType": "Vali otsingutüüp."
434
+ },
435
+ "validation": {
436
+ "range": "Rangus peab olema vahemikus 1 kuni 5",
437
+ "documents": "Leitud dokumendid peab olema vahemikus 1 kuni 20",
438
+ "maxTokens": "Maksimaalne tokenite arv peab olema vahemikus 1 kuni 2000",
439
+ "systemMessage": "Süsteemisõnumi väli ei tohi olla tühi"
440
+ }
441
+ }
442
+ },
443
+ "monitoring": {
444
+ "uptime": {
445
+ "title": "Tööaeg",
446
+ "daysAgo": "{{days}} päeva tagasi",
447
+ "uptimePercent": "{{percent}}% tööaeg"
448
+ }
449
+ },
450
+ "toast": {
451
+ "copied": "Kopeeritud",
452
+ "success": {
453
+ "updateSuccess": "Värskendamine õnnestus",
454
+ "messageToUserEmail": "Sõnum saadeti kasutaja e-postile",
455
+ "chatStatusChanged": "Vestluse staatus muudetud",
456
+ "chatCommentChanged": "Vestluse kommentaar muudetud",
457
+ "copied": "Kopeeritud",
458
+ "userDeleted": "Kasutaja kustutatud",
459
+ "newUserAdded": "Uus kasutaja lisatud",
460
+ "userUpdated": "Kasutaja uuendatud"
461
+ }
462
+ },
463
+ "notification": {
464
+ "title": "Bürokratt",
465
+ "newMessage": "Uus sõnum."
466
+ }
467
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "compileOnSave": false,
3
+ "compilerOptions": {
4
+ "rootDir": ".",
5
+ "sourceMap": true,
6
+ "declaration": false,
7
+ "moduleResolution": "node",
8
+ "emitDecoratorMetadata": true,
9
+ "esModuleInterop": true,
10
+ "experimentalDecorators": true,
11
+ "allowSyntheticDefaultImports": true,
12
+ "importHelpers": true,
13
+ "target": "es2015",
14
+ "module": "esnext",
15
+ "lib": ["es2017", "dom", "dom.Iterable"],
16
+ "skipLibCheck": true,
17
+ "skipDefaultLibCheck": true,
18
+ "baseUrl": ".",
19
+ },
20
+ "exclude": ["node_modules", "tmp"]
21
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "compilerOptions": {
3
+ "esModuleInterop": true,
4
+ "resolveJsonModule": true,
5
+ "jsx": "react-jsx",
6
+ "allowJs": false,
7
+ "allowSyntheticDefaultImports": true,
8
+ "strict": true,
9
+ "outDir": "dist",
10
+ "declaration": true,
11
+ "moduleResolution": "Node",
12
+ "types": ["vite/client"]
13
+ },
14
+ "files": [],
15
+ "include": [],
16
+ "extends": "./tsconfig.base.json"
17
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../dist/out-tsc",
5
+ "types": ["vitest/globals", "node"]
6
+ },
7
+ "include": [
8
+ "vite.config.ts",
9
+ "src/**/*.test.ts",
10
+ "src/**/*.spec.ts",
11
+ "src/**/*.test.tsx",
12
+ "src/**/*.spec.tsx",
13
+ "src/**/*.test.js",
14
+ "src/**/*.spec.js",
15
+ "src/**/*.test.jsx",
16
+ "src/**/*.spec.jsx",
17
+ "src/**/*.d.ts"
18
+ ]
19
+ }
@@ -0,0 +1,8 @@
1
+ export enum AUTHORITY {
2
+ ADMINISTRATOR = 'ROLE_ADMINISTRATOR',
3
+ SERVICE_MANAGER = 'ROLE_SERVICE_MANAGER',
4
+ CUSTOMER_SUPPORT_AGENT = 'ROLE_CUSTOMER_SUPPORT_AGENT',
5
+ CHATBOT_TRAINER = 'ROLE_CHATBOT_TRAINER',
6
+ ANALYST = 'ROLE_ANALYST',
7
+ UNAUTHENTICATED = 'ROLE_UNAUTHENTICATED',
8
+ }
@@ -0,0 +1,7 @@
1
+ export interface BotConfig {
2
+ isBotActive: string;
3
+ isBurokrattActive: string;
4
+ isCsaNameVisible: string;
5
+ isCsaTitleVisible: string;
6
+ isEditChatVisible: string;
7
+ }
package/types/chat.ts ADDED
@@ -0,0 +1,126 @@
1
+ export enum CHAT_STATUS {
2
+ ENDED = 'ENDED',
3
+ OPEN = 'OPEN',
4
+ REDIRECTED = 'REDIRECTED',
5
+ IDLE = 'IDLE',
6
+ VALIDATING = 'VALIDATING',
7
+ }
8
+
9
+ export enum CHAT_EVENTS {
10
+ ANSWERED = 'answered',
11
+ TERMINATED = 'terminated',
12
+ CHAT_SENT_TO_CSA_EMAIL = 'chat_sent_to_csa_email',
13
+ CLIENT_LEFT = 'client-left',
14
+ CLIENT_LEFT_WITH_ACCEPTED = 'client_left_with_accepted',
15
+ CLIENT_LEFT_WITH_NO_RESOLUTION = 'client_left_with_no_resolution',
16
+ CLIENT_LEFT_FOR_UNKNOWN_REASONS = 'client_left_for_unknown_reasons',
17
+ ACCEPTED = 'accepted',
18
+ HATE_SPEECH = 'hate_speech',
19
+ OTHER = 'other',
20
+ RESPONSE_SENT_TO_CLIENT_EMAIL = 'response_sent_to_client_email',
21
+ GREETING = 'greeting',
22
+ REQUESTED_AUTHENTICATION = 'requested-authentication',
23
+ AUTHENTICATION_SUCCESSFUL = 'authentication_successful',
24
+ AUTHENTICATION_FAILED = 'authentication_failed',
25
+ ASK_PERMISSION = 'ask-permission',
26
+ ASK_PERMISSION_ACCEPTED = 'ask-permission-accepted',
27
+ ASK_PERMISSION_REJECTED = 'ask-permission-rejected',
28
+ ASK_PERMISSION_IGNORED = 'ask-permission-ignored',
29
+ ASK_TO_FORWARD_TO_CSA = 'ask_to_forward_to_csa',
30
+ FORWARDED_TO_BACKOFFICE = 'forwarded_to_backoffice',
31
+ CONTINUE_CHATTING_WITH_BOT = 'continue_chatting_with_bot',
32
+ RATING = 'rating',
33
+ REDIRECTED = 'redirected',
34
+ CONTACT_INFORMATION = 'contact-information',
35
+ CONTACT_INFORMATION_REJECTED = 'contact-information-rejected',
36
+ CONTACT_INFORMATION_FULFILLED = 'contact-information-fulfilled',
37
+ UNAVAILABLE_CONTACT_INFORMATION_FULFILLED = 'unavailable-contact-information-fulfilled',
38
+ CONTACT_INFORMATION_SKIPPED = 'contact-information-skipped',
39
+ REQUESTED_CHAT_FORWARD = 'requested-chat-forward',
40
+ REQUESTED_CHAT_FORWARD_ACCEPTED = 'requested-chat-forward-accepted',
41
+ REQUESTED_CHAT_FORWARD_REJECTED = 'requested-chat-forward-rejected',
42
+ UNAVAILABLE_ORGANIZATION = 'unavailable_organization',
43
+ UNAVAILABLE_CSAS = 'unavailable_csas',
44
+ UNAVAILABLE_CSAS_ASK_CONTACTS = 'unavailable_csas_ask_contacts',
45
+ UNAVAILABLE_HOLIDAY = 'unavailable_holiday',
46
+ ASSIGN_PENDING_CHAT_CSA = 'pending-assigned',
47
+ PENDING_USER_REACHED = 'user-reached',
48
+ PENDING_USER_NOT_REACHED = 'user-not-reached',
49
+ USER_AUTHENTICATED = 'user-authenticated',
50
+ READ = 'message-read',
51
+ WAITING_VALIDATION = 'waiting_validation',
52
+ APPROVED_VALIDATION = 'approved_validation',
53
+ }
54
+
55
+ export interface Chat {
56
+ id: string;
57
+ csaTitle?: string | null;
58
+ customerSupportId?: string;
59
+ customerSupportDisplayName?: string;
60
+ customerSupportFirstName?: string;
61
+ customerSupportLastName?: string;
62
+ endUserId?: string;
63
+ endUserEmail?: string;
64
+ endUserPhone?: string;
65
+ endUserFirstName?: string;
66
+ endUserLastName?: string;
67
+ contactsMessage?: string;
68
+ status: CHAT_STATUS;
69
+ created: string;
70
+ updated: string;
71
+ ended: string;
72
+ lastMessage: string;
73
+ endUserUrl?: string;
74
+ endUserOs?: string;
75
+ lastMessageTimestamp?: string;
76
+ lastMessageEvent?: CHAT_EVENTS | null;
77
+ forwardedToName?: string;
78
+ forwardedByUser?: string;
79
+ forwardedFromCsa?: string;
80
+ forwardedToCsa?: string;
81
+ receivedFrom?: string;
82
+ comment?: string;
83
+ commentAddedDate?: string;
84
+ commentAuthor?: string;
85
+ labels: string;
86
+ rating?: string;
87
+ feedback?: string;
88
+ feedbackText?: string;
89
+ feedbackRating?: number;
90
+ nps?: number;
91
+ userDisplayName?: string;
92
+ }
93
+ export interface GroupedChat {
94
+ myChats: Chat[];
95
+ otherChats: {
96
+ groupId: string;
97
+ name: string;
98
+ chats: Chat[];
99
+ }[];
100
+ }
101
+
102
+ export interface GroupedPendingChat {
103
+ newChats: Chat[];
104
+ inProcessChats: Chat[];
105
+ myChats: Chat[];
106
+ otherChats: {
107
+ groupId: string;
108
+ name: string;
109
+ chats: Chat[];
110
+ }[];
111
+ }
112
+
113
+ export enum MessageSseEvent {
114
+ READ = 'message-read',
115
+ DELIVERED = 'message-delivered',
116
+ PREVIEW = 'message-preview',
117
+ }
118
+
119
+ export type MessageStatus = {
120
+ messageId: string | null;
121
+ readTime: any;
122
+ }
123
+
124
+ export enum BACKOFFICE_NAME {
125
+ DEFAULT = 'Bürokratt',
126
+ }