Skip to content

Commit cd30ad0

Browse files
v0.2.1
1 parent 82e9bba commit cd30ad0

File tree

64 files changed

+3822
-561
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+3822
-561
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "quickblox-react-ui-kit",
3-
"version": "0.2.0",
3+
"version": "0.2.1",
44
"main": "dist/index-ui.js",
55
"license": "MIT",
66
"dependencies": {

src/App.tsx

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,12 @@ function App() {
193193
console.log('0. APP INIT');
194194
prepareSDK(currentUser).catch();
195195
}, []);
196+
//
197+
// const { proxyConfig } = QBConfig.configAIApi.AIAnswerAssistWidgetConfig;
198+
//
199+
// const defaultAIAnswer = UseDefaultAIAssistAnswerWidget({
200+
// ...proxyConfig,
201+
// });
196202

197203
// todo: uncomment authSecret
198204
return (
@@ -221,7 +227,14 @@ function App() {
221227
<Route
222228
path="/desktop-test-mock"
223229
element={
224-
<QuickBloxUIKitDesktopLayout theme={new DefaultTheme()} />
230+
<QuickBloxUIKitDesktopLayout
231+
theme={new DefaultTheme()}
232+
// AIAssist={{
233+
// enabled: true,
234+
// default: true,
235+
// AIWidget: defaultAIAnswer,
236+
// }}
237+
/>
225238
}
226239
/>
227240

src/Data/DefaultConfigurations.ts

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
import { QBConfig } from '../QBconfig';
2+
3+
const supportedLanguagesForIATranslate: string[] = [
4+
'English',
5+
'Ukrainian',
6+
'Spanish',
7+
'Portuguese',
8+
'French',
9+
'German',
10+
];
11+
12+
const languageBCP47: Record<string, string> = {
13+
'ar-SA': 'Arabic',
14+
'bn-BD': 'Bangla',
15+
'bn-IN': 'Bangla',
16+
'cs-CZ': 'Czech',
17+
'da-DK': 'Danish',
18+
'de-AT': 'German',
19+
'de-CH': 'German',
20+
'de-DE': 'German',
21+
'el-GR': 'Greek',
22+
'en-AU': 'English',
23+
'en-CA': 'English',
24+
'en-GB': 'English',
25+
'en-IE': 'English',
26+
'en-IN': 'English',
27+
'en-NZ': 'English',
28+
'en-US': 'English',
29+
'en-ZA': 'English',
30+
'es-AR': 'Spanish',
31+
'es-CL': 'Spanish',
32+
'es-CO': 'Spanish',
33+
'es-ES': 'Spanish',
34+
'es-MX': 'Spanish',
35+
'es-US': 'Spanish',
36+
'fi-FI': 'Finnish',
37+
'fr-BE': 'French',
38+
'fr-CA': 'French',
39+
'fr-CH': 'French',
40+
'fr-FR': 'French',
41+
'he-IL': 'Hebrew',
42+
'hi-IN': 'Hindi',
43+
'hu-HU': 'Hungarian',
44+
'id-ID': 'Indonesian',
45+
'it-CH': 'Italian',
46+
'it-IT': 'Italian',
47+
'ja-JP': 'Japanese',
48+
'ko-KR': 'Korean',
49+
'nl-BE': 'Dutch',
50+
'nl-NL': 'Dutch',
51+
'no-NO': 'Norwegian',
52+
'pl-PL': 'Polish',
53+
'pt-BR': 'Portuguese',
54+
'pt-PT': 'Portuguese',
55+
'ro-RO': 'Romanian',
56+
'ru-RU': 'Russian',
57+
'sk-SK': 'Slovak',
58+
'sv-SE': 'Swedish',
59+
'ta-IN': 'Tamil',
60+
'ta-LK': 'Tamil',
61+
'th-TH': 'Thai',
62+
'tr-TR': 'Turkish',
63+
'zh-CN': 'Chinese',
64+
'zh-HK': 'Chinese',
65+
'zh-TW': 'Chinese',
66+
'uk-UA': 'Ukrainian',
67+
};
68+
69+
const getDefaultSystemLanguage = () => {
70+
const sysLanguage = navigator.language;
71+
72+
const language: string = languageBCP47[sysLanguage] || 'English';
73+
74+
return language;
75+
};
76+
77+
export type ProxyConfig = {
78+
api: string;
79+
servername: string;
80+
port: string;
81+
sessionToken: string;
82+
};
83+
84+
export class DefaultConfigurations {
85+
static getDefaultProxyConfig(): ProxyConfig {
86+
return {
87+
api: 'v1/chat/completions',
88+
servername: 'https://api.openai.com',
89+
port: '',
90+
sessionToken: '',
91+
};
92+
}
93+
94+
static getDefaultLanguageForAITranslate(): string {
95+
let languageForAITranslate = 'English';
96+
const { defaultLanguage } = QBConfig.configAIApi.AITranslateWidgetConfig;
97+
98+
if (
99+
defaultLanguage.length > 0 &&
100+
supportedLanguagesForIATranslate.includes(defaultLanguage)
101+
) {
102+
languageForAITranslate = defaultLanguage;
103+
} else {
104+
const sysLanguage = getDefaultSystemLanguage();
105+
106+
if (supportedLanguagesForIATranslate.includes(sysLanguage)) {
107+
languageForAITranslate = sysLanguage;
108+
}
109+
}
110+
111+
return languageForAITranslate;
112+
}
113+
114+
static getAdditionalLanguagesForAITranslate(): string[] {
115+
const additionalLanguages: string[] = [];
116+
const { languages } = QBConfig.configAIApi.AITranslateWidgetConfig;
117+
118+
languages.forEach((item) => {
119+
if (supportedLanguagesForIATranslate.includes(item)) {
120+
additionalLanguages.push(item);
121+
} else {
122+
additionalLanguages.push('English');
123+
}
124+
});
125+
126+
return additionalLanguages;
127+
}
128+
}

src/Data/Stubs.ts

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ export class Stubs {
145145
for (let i = 0; i < 47; i += 1) {
146146
const newMessageEntity: MessageEntity =
147147
Stubs.createMessageEntityWithParams(
148-
i,
148+
i.toString(),
149149
'103',
150150
i % 9 === 0
151151
? `${
@@ -171,7 +171,7 @@ export class Stubs {
171171
for (let i = 47; i < 100; i += 1) {
172172
const newMessageEntity: MessageEntity =
173173
Stubs.createMessageEntityWithParams(
174-
i,
174+
i.toString(),
175175
'103',
176176
`${i + 1} test message for dialog 103`,
177177
'31.03.2023',
@@ -744,7 +744,7 @@ export class Stubs {
744744
}
745745

746746
static createMessageEntityWithParams(
747-
id: number,
747+
id: string,
748748
dialogId: string,
749749
message: string,
750750
created_at: string,
@@ -876,7 +876,7 @@ export class Stubs {
876876
const messages: Array<MessageEntity> = new Array<MessageEntity>();
877877
// shot text message
878878
const message102_1 = Stubs.createMessageEntityWithParams(
879-
1021,
879+
'1021',
880880
'102',
881881
'1 test message for dialog 102',
882882
'31.03.2023',
@@ -890,7 +890,7 @@ export class Stubs {
890890
);
891891
// long text message
892892
const message102_2 = Stubs.createMessageEntityWithParams(
893-
1022,
893+
'1022',
894894
'102',
895895
'2 test message for dialog 102',
896896
'31.03.2023',
@@ -917,7 +917,7 @@ export class Stubs {
917917
};
918918
const photoAttachments: ChatMessageAttachmentEntity[] = [photo];
919919
const message102_3 = Stubs.createMessageEntityWithParams(
920-
1023,
920+
'1023',
921921
'102',
922922
'3 test message for dialog 102',
923923
'31.03.2023',
@@ -945,7 +945,7 @@ export class Stubs {
945945
};
946946
const videoAttachments: ChatMessageAttachmentEntity[] = [video];
947947
const message102_4 = Stubs.createMessageEntityWithParams(
948-
1024,
948+
'1024',
949949
'102',
950950
'3 test message for dialog 102',
951951
'31.03.2023',
@@ -973,7 +973,7 @@ export class Stubs {
973973
};
974974
const audioAttachments: ChatMessageAttachmentEntity[] = [audio];
975975
const message102_5 = Stubs.createMessageEntityWithParams(
976-
1025,
976+
'1025',
977977
'102',
978978
'3 test message for dialog 102',
979979
'31.03.2023',
@@ -1001,7 +1001,7 @@ export class Stubs {
10011001
};
10021002
const textAttachments: ChatMessageAttachmentEntity[] = [text];
10031003
const message102_6 = Stubs.createMessageEntityWithParams(
1004-
1026,
1004+
'1026',
10051005
'102',
10061006
'3 test message for dialog 102',
10071007
'31.03.2023',
@@ -1023,7 +1023,7 @@ export class Stubs {
10231023
messages.push(message102_6); // text
10241024

10251025
const message112_1 = Stubs.createMessageEntityWithParams(
1026-
1121,
1026+
'1121',
10271027
'112',
10281028
'1 test message for dialog 112',
10291029
'31.03.2023',
@@ -1037,7 +1037,7 @@ export class Stubs {
10371037
);
10381038

10391039
const message112_2 = Stubs.createMessageEntityWithParams(
1040-
1122,
1040+
'1122',
10411041
'112',
10421042
'2 test message for dialog 112',
10431043
'31.03.2023',
@@ -1051,7 +1051,7 @@ export class Stubs {
10511051
);
10521052

10531053
const message112_3 = Stubs.createMessageEntityWithParams(
1054-
1123,
1054+
'1123',
10551055
'112',
10561056
'3 test message for dialog 112',
10571057
'31.03.2023',
@@ -1069,7 +1069,7 @@ export class Stubs {
10691069
messages.push(message112_3);
10701070

10711071
const message113_1 = Stubs.createMessageEntityWithParams(
1072-
1131,
1072+
'1131',
10731073
'113',
10741074
'1 test message for dialog 113',
10751075
'31.03.2023',
@@ -1083,7 +1083,7 @@ export class Stubs {
10831083
);
10841084

10851085
const message113_2 = Stubs.createMessageEntityWithParams(
1086-
1132,
1086+
'1132',
10871087
'113',
10881088
'2 test message for dialog 113',
10891089
'31.03.2023',
@@ -1097,7 +1097,7 @@ export class Stubs {
10971097
);
10981098

10991099
const message113_3 = Stubs.createMessageEntityWithParams(
1100-
1133,
1100+
'1133',
11011101
'113',
11021102
'3 test message for dialog 113',
11031103
'31.03.2023',

src/Data/mapper/MessageLocalDTOMapper.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@ export class MessageLocalDTOMapper implements IMapper {
6767
const messageEntity: MessageEntity =
6868
MessageLocalDTOMapper.createDefaultMessageEntity();
6969

70-
messageEntity.id = parseInt(messageDTO.id, 10);
70+
// messageEntity.id = parseInt(messageDTO.id, 10);
71+
messageEntity.id = messageDTO.id;
7172
messageEntity.dialogId = messageDTO.dialogId;
7273
messageEntity.created_at = messageDTO.created_at;
7374
messageEntity.date_sent = messageDTO.date_sent;
@@ -409,7 +410,7 @@ export class MessageLocalDTOMapper implements IMapper {
409410

410411
private static createDefaultMessageEntity() {
411412
return {
412-
id: 0,
413+
id: '',
413414
dialogId: '',
414415
created_at: '',
415416
date_sent: 0,

src/Data/mapper/MessageRemoteDTOMapper.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,8 @@ export class MessageRemoteDTOMapper implements IMapper {
7474
const messageEntity: MessageEntity =
7575
MessageRemoteDTOMapper.createDefaultMessageEntity();
7676

77-
messageEntity.id = parseInt(messageDTO.id, 10);
77+
// messageEntity.id = parseInt(messageDTO.id, 10);
78+
messageEntity.id = messageDTO.id;
7879
messageEntity.dialogId = messageDTO.dialogId;
7980
messageEntity.created_at = messageDTO.created_at;
8081
messageEntity.date_sent = messageDTO.date_sent;
@@ -419,7 +420,7 @@ export class MessageRemoteDTOMapper implements IMapper {
419420
date_sent: 0,
420421
delivered_ids: new Array<number>(),
421422
dialogId: '',
422-
id: 0,
423+
id: '',
423424
message: '',
424425
read: 0,
425426
read_ids: new Array<number>(),

0 commit comments

Comments
 (0)