quickblox-react-ui-kit 0.2.0 → 0.2.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 (108) hide show
  1. package/dist/Data/DefaultConfigurations.d.ts +11 -0
  2. package/dist/Data/Stubs.d.ts +1 -1
  3. package/dist/Data/source/AISource.d.ts +13 -0
  4. package/dist/Domain/entity/MessageEntity.d.ts +1 -1
  5. package/dist/Presentation/Views/Base/BaseViewModel.d.ts +10 -6
  6. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIMessageWidget.d.ts +16 -0
  7. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIWidgetActions/AIWidgetActions.d.ts +14 -0
  8. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/SliderMenu.d.ts +23 -0
  9. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/Tone.d.ts +15 -0
  10. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidget.d.ts +10 -0
  11. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIRephraseMessageWidget.d.ts +10 -0
  12. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAITranslateWidget.d.ts +10 -0
  13. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/useDefaultVoiceInputWidget.d.ts +2 -2
  14. package/dist/Presentation/components/UI/Dialogs/MessagesView/ContextMenu.d.ts +2 -1
  15. package/dist/Presentation/components/UI/Dialogs/MessagesView/DropDownMenu/DropDownMenu.d.ts +26 -0
  16. package/dist/Presentation/components/UI/Dialogs/MessagesView/DropDownMenu/ItemDropDownMenu/ItemDropDownMenu.d.ts +11 -0
  17. package/dist/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/AvatarContentIncomingUser/AvatarContentIncomingUser.d.ts +3 -0
  18. package/dist/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/InComingMessage.d.ts +15 -0
  19. package/dist/Presentation/components/UI/Dialogs/MessagesView/MessagesView.d.ts +5 -5
  20. package/dist/Presentation/components/UI/Dialogs/MessagesView/OutGoingMessage/OutGoingMessage.d.ts +9 -0
  21. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/BookIcon/BookIcon.d.ts +3 -0
  22. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/HammerIcon/index.d.ts +3 -0
  23. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/HandshakeIcon/index.d.ts +3 -0
  24. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/MuscleIcon/index.d.ts +3 -0
  25. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/NecktieIcon/index.d.ts +3 -0
  26. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/NeutralFaceIcon/index.d.ts +3 -0
  27. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/PalmsUpTogetherIcon/index.d.ts +3 -0
  28. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/PerformingArtsIcon/index.d.ts +3 -0
  29. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/PointUpIcon/index.d.ts +3 -0
  30. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/SmileyIcon/index.d.ts +3 -0
  31. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/SmirkIcon/index.d.ts +3 -0
  32. package/dist/Presentation/components/UI/svgs/Icons/AIWidgets/WhiteCheckMarkIcon/index.d.ts +3 -0
  33. package/dist/Presentation/components/UI/svgs/Icons/Actions/AssistAnswer/index.d.ts +4 -0
  34. package/dist/Presentation/components/UI/svgs/Icons/Actions/Summarize/index.d.ts +4 -0
  35. package/dist/Presentation/components/UI/svgs/Icons/Actions/Tone/index.d.ts +4 -0
  36. package/dist/Presentation/components/UI/svgs/Icons/Media/Translate/index.d.ts +4 -0
  37. package/dist/Presentation/components/layouts/Desktop/QuickBloxUIKitDesktopLayout.d.ts +5 -5
  38. package/dist/QBconfig.d.ts +22 -0
  39. package/dist/index-ui.d.ts +5 -1
  40. package/dist/index-ui.js +360 -41
  41. package/package.json +1 -1
  42. package/src/App.tsx +14 -1
  43. package/src/Data/DefaultConfigurations.ts +128 -0
  44. package/src/Data/Stubs.ts +15 -15
  45. package/src/Data/mapper/MessageLocalDTOMapper.ts +3 -2
  46. package/src/Data/mapper/MessageRemoteDTOMapper.ts +3 -2
  47. package/src/Data/source/AISource.ts +133 -0
  48. package/src/Data/source/remote/Mapper/MessageDTOMapper.ts +1 -1
  49. package/src/Domain/entity/MessageEntity.ts +1 -1
  50. package/src/Presentation/Views/Base/BaseViewModel.ts +9 -4
  51. package/src/Presentation/Views/Dialogs/Dialogs.tsx +37 -21
  52. package/src/Presentation/components/UI/Dialogs/HeaderDialogs/HeaderDialogs.scss +2 -2
  53. package/src/Presentation/components/UI/Dialogs/HeaderDialogs/HeaderDialogs.tsx +5 -5
  54. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/{AIWidget.ts → AIMessageWidget.ts} +14 -3
  55. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIWidgetActions/AIWidgetActions.scss +55 -0
  56. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIWidgetActions/AIWidgetActions.tsx +116 -0
  57. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/SliderMenu.tsx +172 -0
  58. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/Tone.ts +21 -0
  59. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidget.tsx +99 -0
  60. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIRephraseMessageWidget.tsx +105 -0
  61. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAITranslateWidget.tsx +106 -0
  62. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/useDefaultVoiceInputWidget.tsx +7 -6
  63. package/src/Presentation/components/UI/Dialogs/MessagesView/ContextMenu.tsx +5 -6
  64. package/src/Presentation/components/UI/Dialogs/MessagesView/DropDownMenu/DropDownMenu.scss +84 -0
  65. package/src/Presentation/components/UI/Dialogs/MessagesView/DropDownMenu/DropDownMenu.tsx +105 -0
  66. package/src/Presentation/components/UI/Dialogs/MessagesView/DropDownMenu/ItemDropDownMenu/ItemDropDownMenu.scss +50 -0
  67. package/src/Presentation/components/UI/Dialogs/MessagesView/DropDownMenu/ItemDropDownMenu/ItemDropDownMenu.tsx +43 -0
  68. package/src/Presentation/components/UI/Dialogs/MessagesView/HeaderMessages/HeaderMessages.tsx +14 -11
  69. package/src/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/AvatarContentIncomingUser/AvatarContentIncomingUser.scss +39 -0
  70. package/src/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/AvatarContentIncomingUser/AvatarContentIncomingUser.tsx +26 -0
  71. package/src/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/InComingMessage.scss +394 -0
  72. package/src/Presentation/components/UI/Dialogs/MessagesView/InComingMessage/InComingMessage.tsx +747 -0
  73. package/src/Presentation/components/UI/Dialogs/MessagesView/MessagesView.scss +88 -4
  74. package/src/Presentation/components/UI/Dialogs/MessagesView/MessagesView.tsx +589 -246
  75. package/src/Presentation/components/UI/Dialogs/MessagesView/OutGoingMessage/OutGoingMessage.scss +7 -0
  76. package/src/Presentation/components/UI/Dialogs/MessagesView/OutGoingMessage/OutGoingMessage.tsx +99 -0
  77. package/src/Presentation/components/UI/Dialogs/MessagesView/useMessagesViewModel.ts +2 -2
  78. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/BookIcon/BookIcon.tsx +7 -0
  79. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/HammerIcon/index.tsx +7 -0
  80. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/HandshakeIcon/index.tsx +7 -0
  81. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/MuscleIcon/index.tsx +7 -0
  82. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/NecktieIcon/index.tsx +7 -0
  83. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/NeutralFaceIcon/index.tsx +7 -0
  84. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/PalmsUpTogetherIcon/index.tsx +7 -0
  85. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/PerformingArtsIcon/index.tsx +7 -0
  86. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/PointUpIcon/index.tsx +7 -0
  87. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/SmileyIcon/index.tsx +20 -0
  88. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/SmirkIcon/index.tsx +7 -0
  89. package/src/Presentation/components/UI/svgs/Icons/AIWidgets/WhiteCheckMarkIcon/index.tsx +7 -0
  90. package/src/Presentation/components/UI/svgs/Icons/Actions/AssistAnswer/AssistAnswer.svg +3 -0
  91. package/src/Presentation/components/UI/svgs/Icons/Actions/AssistAnswer/index.tsx +93 -0
  92. package/src/Presentation/components/UI/svgs/Icons/Actions/Summarize/Summarize.svg +6 -0
  93. package/src/Presentation/components/UI/svgs/Icons/Actions/Summarize/index.tsx +58 -0
  94. package/src/Presentation/components/UI/svgs/Icons/Actions/Tone/Tone.svg +3 -0
  95. package/src/Presentation/components/UI/svgs/Icons/Actions/Tone/index.tsx +34 -0
  96. package/src/Presentation/components/UI/svgs/Icons/Media/Translate/Translate.svg +3 -0
  97. package/src/Presentation/components/UI/svgs/Icons/Media/Translate/index.tsx +35 -0
  98. package/src/Presentation/components/layouts/Desktop/QuickBloxUIKitDesktopLayout.tsx +110 -29
  99. package/src/QBconfig.ts +32 -3
  100. package/src/index-ui.ts +9 -0
  101. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/AIWidget.d.ts +0 -8
  102. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidgetWithProxy.d.ts +0 -9
  103. package/dist/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultTextInputWidget.d.ts +0 -2
  104. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultAIAssistAnswerWidgetWithProxy.tsx +0 -136
  105. package/src/Presentation/components/UI/Dialogs/MessagesView/AIWidgets/UseDefaultTextInputWidget.tsx +0 -60
  106. /package/dist/Presentation/components/UI/svgs/Icons/{Media → AIWidgets}/AIWidget/index.d.ts +0 -0
  107. /package/src/Presentation/components/UI/svgs/Icons/{Media → AIWidgets}/AIWidget/Send.svg +0 -0
  108. /package/src/Presentation/components/UI/svgs/Icons/{Media → AIWidgets}/AIWidget/index.tsx +0 -0
@@ -1,9 +1,9 @@
1
1
  import { useState } from 'react';
2
- import { AIWidget } from './AIWidget';
2
+ import { AIAttachmentWidget } from './AIMessageWidget';
3
3
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
4
4
  import VoiceIcon from '../../../svgs/Icons/Actions/Voice';
5
5
 
6
- export default function useDefaultVoiceInputWidget(): AIWidget {
6
+ export default function useDefaultVoiceInputWidget(): AIAttachmentWidget {
7
7
  const renderWidget = (): JSX.Element => {
8
8
  // return <VoiceIcon width="21" height="18" applyZoom color="red" />;
9
9
  return (
@@ -32,7 +32,7 @@ export default function useDefaultVoiceInputWidget(): AIWidget {
32
32
 
33
33
  const [audioFromWidgetToInput, setAudioFromWidgetToInput] = useState<File>();
34
34
 
35
- async function sendFile(file: File): Promise<any> {
35
+ async function sendFile(file: File): Promise<string> {
36
36
  if (file) {
37
37
  // Создание объекта FormData и добавление файла
38
38
  const formData = new FormData();
@@ -57,8 +57,10 @@ export default function useDefaultVoiceInputWidget(): AIWidget {
57
57
  JSON.stringify(data.replaceAll('\n\n', '')),
58
58
  );
59
59
 
60
- return data.replaceAll('\n\n', '');
60
+ return data.replaceAll('\n\n', '') || '';
61
61
  }
62
+
63
+ return '';
62
64
  }
63
65
 
64
66
  const fileToWidget = (file: File): void => {
@@ -68,6 +70,7 @@ export default function useDefaultVoiceInputWidget(): AIWidget {
68
70
  console.log(fileInfo);
69
71
  if (file) {
70
72
  // Отправка файла и получение результата
73
+ // eslint-disable-next-line promise/catch-or-return,promise/always-return
71
74
  sendFile(file).then((result) => {
72
75
  // Обработка результата
73
76
  console.log(result);
@@ -78,9 +81,7 @@ export default function useDefaultVoiceInputWidget(): AIWidget {
78
81
 
79
82
  return {
80
83
  fileToContent: audioFromWidgetToInput,
81
- textToContent: textFromWidgetToInput,
82
84
  fileToWidget,
83
85
  renderWidget,
84
- textToWidget,
85
86
  };
86
87
  }
@@ -7,6 +7,7 @@ type MenuItem = {
7
7
  };
8
8
 
9
9
  type ContextMenuProps = {
10
+ widgetToRender?: JSX.Element;
10
11
  items?: MenuItem[];
11
12
  };
12
13
 
@@ -14,8 +15,8 @@ const ContextMenuStyles: { [key: string]: CSSProperties } = {
14
15
  contextMenuIcon: {
15
16
  display: 'inline-block',
16
17
  position: 'relative',
17
- width: '42px',
18
- height: '42px',
18
+ maxWidth: '42px',
19
+ maxHeight: '42px',
19
20
  cursor: 'pointer',
20
21
  },
21
22
  contextMenuContent: {
@@ -32,7 +33,7 @@ const ContextMenuStyles: { [key: string]: CSSProperties } = {
32
33
  },
33
34
  };
34
35
 
35
- function ContextMenu({ items }: ContextMenuProps) {
36
+ function ContextMenu({ items, widgetToRender }: ContextMenuProps) {
36
37
  const [menuVisible, setMenuVisible] = useState(false);
37
38
  const contextMenuRef = useRef<HTMLDivElement | null>(null);
38
39
 
@@ -68,9 +69,7 @@ function ContextMenu({ items }: ContextMenuProps) {
68
69
  ...ContextMenuStyles.contextMenuIcon,
69
70
  }}
70
71
  >
71
- <div onClick={handleClick}>
72
- <EditDots />
73
- </div>
72
+ <div onClick={handleClick}>{widgetToRender || <EditDots />}</div>
74
73
  {menuVisible && (
75
74
  <div ref={contextMenuRef} style={ContextMenuStyles.contextMenuContent}>
76
75
  {items?.map((item, index) => (
@@ -0,0 +1,84 @@
1
+ .popup-container {
2
+ position: inherit;
3
+ width: 100%;
4
+ height: 100%;
5
+ top: 0;
6
+ left: 0;
7
+ right: 0;
8
+ bottom: 0;
9
+ background-color: rgba(0, 0, 0, 0.5);
10
+ }
11
+ .popup-body {
12
+ position: absolute;
13
+ left: 30%;
14
+ right: 30%;
15
+ bottom: 30%;
16
+ top: 30%;
17
+ text-align: center;
18
+ margin: auto;
19
+ border-radius: 15px;
20
+ border-color: black;
21
+ background: white;
22
+ box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
23
+ color: #FF766E;
24
+ }
25
+
26
+ .drop-down-menu-container {
27
+ position:relative;
28
+ width:200px;
29
+
30
+ //box-shadow:0px 8px 10px rgba(0, 0, 0, 0.11999999731779099);
31
+ //background-color:rgba(255, 255, 255, 1);
32
+ //width:135px;
33
+ //height:112px;
34
+ //border-radius: 4px;
35
+ ////position:absolute;
36
+ //position: relative;
37
+ //border: var(--outgoing-background);
38
+ }
39
+
40
+ .drop-down-menu2-container {
41
+ width: 135px;
42
+ min-width: 135px;
43
+ max-width: 135px;
44
+ //
45
+ position: fixed;
46
+ z-index: 100;
47
+ //
48
+ //
49
+ //display: flex;
50
+ //flex-direction: column;
51
+
52
+ display: inline-flex;
53
+ padding: 8px 0px;
54
+ flex-direction: column;
55
+ align-items: flex-end;
56
+ //
57
+ //display: flex;
58
+ //flex-direction: column;
59
+ //justify-content: flex-end;
60
+
61
+ border-radius: 4px;
62
+ //background-color: #FF766E;
63
+ //background: #49CF77;
64
+ background: var(--dropdown-background, #FFF);
65
+ box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.04), 0px 3px 14px 0px rgba(0, 0, 0, 0.08), 0px 8px 10px 0px rgba(0, 0, 0, 0.12);
66
+
67
+ //border: 3px solid green;
68
+
69
+ &--divider{
70
+
71
+ display: flex;
72
+ padding: 4px 8px 4px 16px;
73
+ justify-content: flex-end;
74
+ align-items: center;
75
+ align-self: stretch;
76
+
77
+
78
+ width: 111px;
79
+ height: 3px;
80
+
81
+ flex-shrink: 0;
82
+ color: var(--divider);
83
+ }
84
+ }
@@ -0,0 +1,105 @@
1
+ import './DropDownMenu.scss';
2
+ import React from 'react';
3
+ import { ItemDropDownMenu } from './ItemDropDownMenu/ItemDropDownMenu';
4
+ import { FunctionTypeVoidToVoid } from '../../../../../Views/Base/BaseViewModel';
5
+ import { MessageEntity } from '../../../../../../Domain/entity/MessageEntity';
6
+ import ForwardFilled from '../../../svgs/Icons/Actions/ForwardFilled';
7
+
8
+ export type ContextMessageMenu = {
9
+ title: string;
10
+ message?: MessageEntity;
11
+ icon?: React.ReactNode;
12
+ clickHandler?: FunctionTypeVoidToVoid;
13
+ touchHandler?: FunctionTypeVoidToVoid;
14
+ };
15
+ export type ContextMessageMenuAI = {
16
+ title: string;
17
+ message?: MessageEntity;
18
+ icon?: React.ReactNode;
19
+ clickHandler?: FunctionTypeVoidToVoid;
20
+ touchHandler?: FunctionTypeVoidToVoid;
21
+ };
22
+
23
+ export const contextMessageMenu: ContextMessageMenu[] = [
24
+ {
25
+ title: 'Reply',
26
+ // icon: 'ic1',
27
+ clickHandler: () => {
28
+ console.log('click Reply');
29
+ },
30
+ },
31
+ {
32
+ title: 'Forward',
33
+ icon: <ForwardFilled />,
34
+ clickHandler: () => {
35
+ console.log('click Forward');
36
+ },
37
+ },
38
+ {
39
+ title: 'Copy',
40
+ // icon: 'ic2',
41
+ clickHandler: () => {
42
+ console.log('click Copy');
43
+ },
44
+ },
45
+ ];
46
+
47
+ export const contextMessageMenuAI: ContextMessageMenuAI[] = [
48
+ // {
49
+ // title: 'Translate',
50
+ // // icon: ,
51
+ // clickHandler: () => {
52
+ // console.log('click Translate');
53
+ // },
54
+ // },
55
+ // {
56
+ // title: 'Answer',
57
+ // // icon: 'ic2',
58
+ // clickHandler: () => {
59
+ // console.log('click Answer');
60
+ // },
61
+ // },
62
+ ];
63
+
64
+ type DropDownMenuProps = {
65
+ items: ContextMessageMenu[];
66
+ itemsAI?: ContextMessageMenuAI[];
67
+ };
68
+
69
+ // eslint-disable-next-line react/function-component-definition
70
+ export const DropDownMenu: React.FC<DropDownMenuProps> = ({
71
+ items,
72
+ itemsAI,
73
+ }: DropDownMenuProps) => {
74
+ console.log(itemsAI);
75
+
76
+ return (
77
+ <div className="drop-down-menu2-container">
78
+ {items.map((item, index) => {
79
+ return (
80
+ <ItemDropDownMenu
81
+ key={index}
82
+ item={item.title}
83
+ icon={item.icon}
84
+ clickAction={item.clickHandler}
85
+ touchAction={item.touchHandler}
86
+ />
87
+ );
88
+ })}
89
+ <div className="drop-down-menu2-container--divider" />
90
+ {itemsAI && itemsAI?.length > 0
91
+ ? itemsAI?.map((itemAI, indexAI) => {
92
+ return (
93
+ <ItemDropDownMenu
94
+ key={indexAI}
95
+ item={itemAI.title}
96
+ icon={itemAI.icon}
97
+ clickAction={itemAI.clickHandler}
98
+ touchAction={itemAI.touchHandler}
99
+ />
100
+ );
101
+ })
102
+ : null}
103
+ </div>
104
+ );
105
+ };
@@ -0,0 +1,50 @@
1
+ .item-drop-down-menu-container {
2
+ //width:135px;
3
+ //height:32px;
4
+ //position:absolute;
5
+ //left:0px;
6
+ //top:8px;ß
7
+
8
+ //min-height: 36px;
9
+ //display: flex;
10
+ //flex-direction: row;
11
+ //flex-wrap: nowrap;
12
+ //justify-content: flex-start;
13
+ //align-items: center;
14
+ //gap: 16px;
15
+ //color: firebrick;
16
+
17
+ display: flex;
18
+ padding: 4px 8px 4px 16px;
19
+ justify-content: flex-end;
20
+ align-items: center;
21
+ align-self: flex-start;
22
+
23
+ //border: 1px solid blue;
24
+
25
+ &--title {
26
+ color: var(--main-text);
27
+ text-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
28
+ min-width: 80px;
29
+ max-width: 80px;
30
+ width: 80px;
31
+
32
+ /* Body/Body Medium */
33
+ font-family: Roboto;
34
+ text-align: left;
35
+ font-size: 14px;
36
+ font-style: normal;
37
+ font-weight: 400;
38
+ line-height: 20px; /* 142.857% */
39
+ letter-spacing: 0.25px;
40
+ }
41
+
42
+ &--icon {
43
+ display: flex;
44
+ width: 24px;
45
+ height: 24px;
46
+ padding: 4px;
47
+ justify-content: center;
48
+ align-items: center;
49
+ }
50
+ }
@@ -0,0 +1,43 @@
1
+ import './ItemDropDownMenu.scss';
2
+ import React from 'react';
3
+ import { FunctionTypeVoidToVoid } from '../../../../../../Views/Base/BaseViewModel';
4
+
5
+ type ItemDropDownMenuProps = {
6
+ item: string;
7
+ icon?: React.ReactNode;
8
+ touchAction?: FunctionTypeVoidToVoid;
9
+ clickAction?: FunctionTypeVoidToVoid;
10
+ };
11
+
12
+ // eslint-disable-next-line react/function-component-definition
13
+ export const ItemDropDownMenu: React.FC<ItemDropDownMenuProps> = ({
14
+ item,
15
+ icon,
16
+ touchAction,
17
+ clickAction,
18
+ }: ItemDropDownMenuProps) => {
19
+ return (
20
+ <div
21
+ className="item-drop-down-menu-container"
22
+ onTouchStart={() => {
23
+ // eslint-disable-next-line no-unused-expressions
24
+ touchAction && typeof touchAction === 'function'
25
+ ? touchAction()
26
+ : () => {
27
+ console.log('item menu touched');
28
+ };
29
+ }}
30
+ onClick={() => {
31
+ // eslint-disable-next-line no-unused-expressions
32
+ clickAction && typeof clickAction === 'function'
33
+ ? clickAction()
34
+ : () => {
35
+ console.log('item menu clicked');
36
+ };
37
+ }}
38
+ >
39
+ <span className="item-drop-down-menu-container--title">{item}</span>
40
+ <div className="item-drop-down-menu-container--icon">{icon}</div>
41
+ </div>
42
+ );
43
+ };
@@ -3,7 +3,6 @@ import React from 'react';
3
3
  import { FunctionTypeVoidToVoid } from '../../../../../Views/Base/BaseViewModel';
4
4
  import { DialogEntity } from '../../../../../../Domain/entity/DialogEntity';
5
5
  import GroupChat from '../../../svgs/Icons/Contents/GroupChat';
6
- import Phone from '../../../svgs/Icons/Actions/Phone';
7
6
  import InformationFill from '../../../svgs/Icons/Status/InformationFill';
8
7
  import ActiveSvg from '../../../svgs/ActiveSvg/ActiveSvg';
9
8
  import { DialogType } from '../../../../../../Domain/entity/DialogTypes';
@@ -26,6 +25,7 @@ const HeaderMessages: React.FC<HeaderMessagesProps> = ({
26
25
  dialog,
27
26
  countMembers = 0,
28
27
  InformationHandler,
28
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
29
29
  CallHandler,
30
30
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
31
31
  theme = undefined,
@@ -101,16 +101,19 @@ const HeaderMessages: React.FC<HeaderMessagesProps> = ({
101
101
  </div>
102
102
  </div>
103
103
  <div className="message-header-container--info-wrapper__detail-button">
104
- <div className="message-header-container--info-wrapper__detail-button__call">
105
- <ActiveSvg
106
- content={<Phone width="32" height="32" applyZoom />}
107
- clickAction={() => {
108
- if (CallHandler) CallHandler();
109
- }}
110
- touchAction={() => {
111
- if (CallHandler) CallHandler();
112
- }}
113
- />
104
+ <div
105
+ className="message-header-container--info-wrapper__detail-button__call"
106
+ style={{ width: '32px' }}
107
+ >
108
+ {/* <ActiveSvg */}
109
+ {/* content={<Phone width="32" height="32" applyZoom />} */}
110
+ {/* clickAction={() => { */}
111
+ {/* if (CallHandler) CallHandler(); */}
112
+ {/* }} */}
113
+ {/* touchAction={() => { */}
114
+ {/* if (CallHandler) CallHandler(); */}
115
+ {/* }} */}
116
+ {/* /> */}
114
117
  </div>
115
118
  <div className="message-header-container--info-wrapper__detail-button__info">
116
119
  <ActiveSvg
@@ -0,0 +1,39 @@
1
+
2
+ .avatar-wrap {
3
+ padding: 0px 0px 16px 0px;
4
+ display: flex;
5
+ flex-direction: row;
6
+ gap: 10px;
7
+ align-items: flex-end;
8
+ justify-content: flex-start;
9
+ flex-shrink: 0;
10
+ position: relative;
11
+ }
12
+ .avatar {
13
+ flex-shrink: 0;
14
+ width: 36px;
15
+ height: 36px;
16
+ position: relative;
17
+ }
18
+ .rectangle {
19
+ width: 36px;
20
+ height: 36px;
21
+ position: absolute;
22
+ left: 0px;
23
+ top: 0px;
24
+ }
25
+ .ellipse {
26
+ background: var(--secondary-secondary-100, #bcc1c5);
27
+ border-radius: 50%;
28
+ width: 36px;
29
+ height: 36px;
30
+ position: absolute;
31
+ left: 0px;
32
+ top: 0px;
33
+ }
34
+ .contents-user {
35
+ position: absolute;
36
+ left: 6.43px;
37
+ top: 6.43px;
38
+ overflow: visible;
39
+ }
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import './AvatarContentIncomingUser.scss';
3
+
4
+ export default function AvatarContentIncomingUser() {
5
+ return (
6
+ <div className="avatar-wrap">
7
+ <div className="avatar">
8
+ <div className="rectangle" />
9
+ <div className="ellipse" />
10
+ <svg
11
+ className="contents-user"
12
+ width="24"
13
+ height="24"
14
+ viewBox="0 0 24 24"
15
+ fill="none"
16
+ xmlns="http://www.w3.org/2000/svg"
17
+ >
18
+ <path
19
+ d="M11.9999 6.11828C13.1185 6.11828 14.0249 7.0247 14.0249 8.14328C14.0249 9.26185 13.1185 10.1683 11.9999 10.1683C10.8814 10.1683 9.97493 9.26185 9.97493 8.14328C9.97493 7.0247 10.8814 6.11828 11.9999 6.11828ZM11.9999 14.7968C14.8639 14.7968 17.8821 16.2047 17.8821 16.8218V17.8826H6.11779V16.8218C6.11779 16.2047 9.136 14.7968 11.9999 14.7968ZM11.9999 4.28613C9.86886 4.28613 8.14279 6.0122 8.14279 8.14328C8.14279 10.2743 9.86886 12.0004 11.9999 12.0004C14.131 12.0004 15.8571 10.2743 15.8571 8.14328C15.8571 6.0122 14.131 4.28613 11.9999 4.28613ZM11.9999 12.9647C9.42529 12.9647 4.28564 14.2568 4.28564 16.8218V19.7147H19.7142V16.8218C19.7142 14.2568 14.5746 12.9647 11.9999 12.9647Z"
20
+ fill="#636D78"
21
+ />
22
+ </svg>
23
+ </div>
24
+ </div>
25
+ );
26
+ }