@chat21/chat21-ionic 3.0.78 → 3.0.79-rc.2

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 (97) hide show
  1. package/CHANGELOG.md +41 -1
  2. package/package.json +1 -1
  3. package/src/app/app.component.scss +2 -1
  4. package/src/app/app.component.ts +52 -7
  5. package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.ts +8 -1
  6. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +36 -10
  7. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.scss +110 -38
  8. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.ts +15 -2
  9. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +1 -1
  10. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +3 -1
  11. package/src/app/chatlib/conversation-detail/message/buttons/action-button/action-button.component.html +5 -1
  12. package/src/app/chatlib/conversation-detail/message/buttons/action-button/action-button.component.scss +22 -15
  13. package/src/app/chatlib/conversation-detail/message/buttons/action-button/action-button.component.ts +25 -5
  14. package/src/app/chatlib/conversation-detail/message/buttons/link-button/link-button.component.html +2 -1
  15. package/src/app/chatlib/conversation-detail/message/buttons/link-button/link-button.component.scss +14 -15
  16. package/src/app/chatlib/conversation-detail/message/buttons/link-button/link-button.component.ts +24 -5
  17. package/src/app/chatlib/conversation-detail/message/buttons/text-button/text-button.component.html +6 -1
  18. package/src/app/chatlib/conversation-detail/message/buttons/text-button/text-button.component.scss +12 -13
  19. package/src/app/chatlib/conversation-detail/message/buttons/text-button/text-button.component.ts +26 -5
  20. package/src/app/chatlib/conversation-detail/message/info-message/info-message.component.scss +2 -2
  21. package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.html +16 -6
  22. package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.ts +2 -0
  23. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +78 -52
  24. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.scss +62 -20
  25. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +14 -10
  26. package/src/app/components/canned-response/canned-response.component.html +4 -4
  27. package/src/app/components/canned-response/canned-response.component.scss +1 -1
  28. package/src/app/components/canned-response/canned-response.component.ts +1 -0
  29. package/src/app/components/contacts-directory/contacts-directory.component.html +22 -26
  30. package/src/app/components/contacts-directory/contacts-directory.component.scss +8 -6
  31. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +61 -42
  32. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +98 -61
  33. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +9 -25
  34. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +4 -4
  35. package/src/app/components/conversation-info/info-content/info-content.component.html +2 -1
  36. package/src/app/components/conversation-info/info-content/info-content.component.ts +3 -2
  37. package/src/app/components/conversation-info/info-direct/info-direct.component.html +1 -9
  38. package/src/app/components/conversation-info/info-direct/info-direct.component.ts +0 -2
  39. package/src/app/components/conversation-info/info-group/info-group.component.html +44 -108
  40. package/src/app/components/conversation-info/info-group/info-group.component.scss +101 -61
  41. package/src/app/components/conversation-info/info-group/info-group.component.ts +1 -0
  42. package/src/app/components/{ddp-header/ddp-header.component.html → conversations-list/header-conversations-list/header-conversations-list.component.html} +2 -2
  43. package/src/app/components/{ddp-header/ddp-header.component.scss → conversations-list/header-conversations-list/header-conversations-list.component.scss} +16 -4
  44. package/src/app/components/{ddp-header/ddp-header.component.spec.ts → conversations-list/header-conversations-list/header-conversations-list.component.spec.ts} +6 -6
  45. package/src/app/components/{ddp-header/ddp-header.component.ts → conversations-list/header-conversations-list/header-conversations-list.component.ts} +7 -16
  46. package/src/app/components/conversations-list/header-conversations-list-archived/header-conversations-list-archived.component.html +12 -0
  47. package/src/app/components/conversations-list/header-conversations-list-archived/header-conversations-list-archived.component.scss +14 -0
  48. package/src/app/components/{conversation-detail/option-header/option-header.component.spec.ts → conversations-list/header-conversations-list-archived/header-conversations-list-archived.component.spec.ts} +5 -5
  49. package/src/app/components/{conversation-detail/option-header/option-header.component.ts → conversations-list/header-conversations-list-archived/header-conversations-list-archived.component.ts} +5 -4
  50. package/src/app/components/project-item/project-item.component.html +98 -149
  51. package/src/app/components/project-item/project-item.component.scss +39 -32
  52. package/src/app/components/project-item/project-item.component.ts +5 -3
  53. package/src/app/components/utils/user-presence/user-presence.component.html +7 -2
  54. package/src/app/components/utils/user-presence/user-presence.component.scss +35 -18
  55. package/src/app/components/utils/user-presence/user-presence.component.ts +6 -10
  56. package/src/app/pages/contacts-directory/contacts-directory.page.html +1 -1
  57. package/src/app/pages/contacts-directory/contacts-directory.page.scss +41 -0
  58. package/src/app/pages/contacts-directory/contacts-directory.page.ts +2 -0
  59. package/src/app/pages/conversation-detail/conversation-detail.page.html +40 -23
  60. package/src/app/pages/conversation-detail/conversation-detail.page.scss +40 -250
  61. package/src/app/pages/conversation-detail/conversation-detail.page.ts +165 -46
  62. package/src/app/pages/conversations-list/conversations-list.page.html +11 -8
  63. package/src/app/pages/conversations-list/conversations-list.page.scss +10 -2
  64. package/src/app/pages/conversations-list/conversations-list.page.ts +22 -17
  65. package/src/app/pages/loader-preview/loader-preview.page.html +1 -1
  66. package/src/app/pages/loader-preview/loader-preview.page.scss +4 -0
  67. package/src/app/pages/profile-info/profile-info.page.html +2 -4
  68. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.html +1 -1
  69. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.scss +42 -0
  70. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.ts +1 -0
  71. package/src/app/shared/shared.module.ts +24 -24
  72. package/src/assets/i18n/ar.json +270 -265
  73. package/src/assets/i18n/az.json +5 -0
  74. package/src/assets/i18n/de.json +5 -0
  75. package/src/assets/i18n/en.json +5 -0
  76. package/src/assets/i18n/es.json +5 -0
  77. package/src/assets/i18n/fr.json +5 -0
  78. package/src/assets/i18n/it.json +5 -0
  79. package/src/assets/i18n/kk.json +5 -0
  80. package/src/assets/i18n/pt.json +5 -0
  81. package/src/assets/i18n/ru.json +5 -0
  82. package/src/assets/i18n/sr.json +5 -0
  83. package/src/assets/i18n/sv.json +5 -0
  84. package/src/assets/i18n/tr.json +5 -0
  85. package/src/assets/i18n/uk.json +5 -0
  86. package/src/assets/i18n/uz.json +5 -0
  87. package/src/assets/sounds/wheep-wheep.mp3 +0 -0
  88. package/src/chat21-core/providers/firebase/firebase-typing.service.ts +7 -9
  89. package/src/chat21-core/utils/constants.ts +5 -1
  90. package/src/chat21-core/utils/user-typing/user-typing.component.html +8 -5
  91. package/src/chat21-core/utils/user-typing/user-typing.component.scss +87 -17
  92. package/src/chat21-core/utils/user-typing/user-typing.component.ts +12 -94
  93. package/src/chat21-core/utils/utils.ts +9 -1
  94. package/src/global.scss +47 -43
  95. package/src/variables.scss +26 -9
  96. package/src/app/components/conversation-detail/option-header/option-header.component.html +0 -13
  97. package/src/app/components/conversation-detail/option-header/option-header.component.scss +0 -0
@@ -5,6 +5,8 @@
5
5
  "LABEL_AVAILABLE": "mövcuddur",
6
6
  "LABEL_NOT_AVAILABLE": "Mövcud deyil",
7
7
  "LABEL_INACTIVE":"qeyri-aktiv",
8
+ "LABEL_ONLINE":"onlayn",
9
+ "LABEL_OFFLINE":"oflayn",
8
10
  "LABEL_NO_MSG_HERE": "Burada hələ mesaj yoxdur...",
9
11
  "LABEL_TODAY": "bu gün",
10
12
  "LABEL_TOMORROW": "dünən",
@@ -44,6 +46,7 @@
44
46
  "LABEL_VIDEO_CHAT": "Video zəng",
45
47
  "LABEL_LEAVE_GROUP": "Qrupu tərk edin",
46
48
  "LABEL_CLOSE_GROUP": "Yaxın",
49
+ "LABEL_OPEN_INFO_CONVERSATION":"Söhbət təfərrüatlarını açın",
47
50
  "ALERT_TITLE": "Diqqət!",
48
51
  "CLOSE_ALERT_CONFIRM_LABEL": "tamam",
49
52
  "CLOSE_ALERT_CANCEL_LABEL": "LƏĞV EDİN",
@@ -163,6 +166,8 @@
163
166
  "WAITING_TIME_FOUND": "Komanda adətən $reply_timeilə cavab verir",
164
167
  "WAITING_TIME_NOT_FOUND": "Komanda mümkün qədər tez cavab verəcəkdir",
165
168
  "CLOSED": "BAĞLI",
169
+ "DIRECT_CHAT":"Birbaşa söhbət",
170
+ "GROUP_CHAT":"Qrup söhbəti",
166
171
  "PleaseSelectChatToStartMessaging": "Mesajlaşmaya başlamaq üçün söhbət seçin",
167
172
  "FromThisAreNew": "------------------",
168
173
  "Preview": "Önizləmə",
@@ -5,6 +5,8 @@
5
5
  "LABEL_AVAILABLE": "erhältlich",
6
6
  "LABEL_NOT_AVAILABLE": "Nicht verfügbar",
7
7
  "LABEL_INACTIVE":"inaktiv",
8
+ "LABEL_ONLINE":"online",
9
+ "LABEL_OFFLINE":"offline",
8
10
  "LABEL_NO_MSG_HERE": "Hier noch keine Nachricht...",
9
11
  "LABEL_TODAY": "heute",
10
12
  "LABEL_TOMORROW": "gestern",
@@ -44,6 +46,7 @@
44
46
  "LABEL_VIDEO_CHAT": "Videoanruf",
45
47
  "LABEL_LEAVE_GROUP": "Die Gruppe verlassen",
46
48
  "LABEL_CLOSE_GROUP": "Nah dran",
49
+ "LABEL_OPEN_INFO_CONVERSATION":"Konversationsdetails öffnen",
47
50
  "ALERT_TITLE": "Aufmerksamkeit!",
48
51
  "CLOSE_ALERT_CONFIRM_LABEL": "OK",
49
52
  "CLOSE_ALERT_CANCEL_LABEL": "ABBRECHEN",
@@ -163,6 +166,8 @@
163
166
  "WAITING_TIME_FOUND": "Das Team antwortet normalerweise in $reply_time",
164
167
  "WAITING_TIME_NOT_FOUND": "Das Team wird so schnell wie möglich antworten",
165
168
  "CLOSED": "ABGESCHLOSSEN",
169
+ "DIRECT_CHAT":"Direkter Chat",
170
+ "GROUP_CHAT":"Gruppenchat",
166
171
  "PleaseSelectChatToStartMessaging": "Bitte wählen Sie einen Chat aus, um die Nachrichtenübermittlung zu starten",
167
172
  "FromThisAreNew": "------------------",
168
173
  "Preview": "Vorschau",
@@ -5,6 +5,8 @@
5
5
  "LABEL_AVAILABLE": "available",
6
6
  "LABEL_NOT_AVAILABLE": "not available",
7
7
  "LABEL_INACTIVE":"inactive",
8
+ "LABEL_ONLINE":"online",
9
+ "LABEL_OFFLINE":"offline",
8
10
  "LABEL_NO_MSG_HERE": "Still no message here...",
9
11
  "LABEL_TODAY": "today",
10
12
  "LABEL_TOMORROW": "yesterday",
@@ -44,6 +46,7 @@
44
46
  "LABEL_VIDEO_CHAT": "Video call",
45
47
  "LABEL_LEAVE_GROUP": "Leave the group",
46
48
  "LABEL_CLOSE_GROUP": "Close",
49
+ "LABEL_OPEN_INFO_CONVERSATION":"Open conversation details",
47
50
  "ALERT_TITLE": "Attention!",
48
51
  "CLOSE_ALERT_CONFIRM_LABEL": "OK",
49
52
  "CLOSE_ALERT_CANCEL_LABEL": "CANCEL",
@@ -163,6 +166,8 @@
163
166
  "WAITING_TIME_FOUND": "The team typically replies in $reply_time",
164
167
  "WAITING_TIME_NOT_FOUND": "The team will reply as soon as possible",
165
168
  "CLOSED": "CLOSED",
169
+ "DIRECT_CHAT":"Direct chat",
170
+ "GROUP_CHAT":"Group chat",
166
171
  "PleaseSelectChatToStartMessaging": "Please select a chat to start messaging",
167
172
  "FromThisAreNew": "------------------",
168
173
  "Preview": "Preview",
@@ -5,6 +5,8 @@
5
5
  "LABEL_AVAILABLE": "disponible",
6
6
  "LABEL_NOT_AVAILABLE": "no disponible",
7
7
  "LABEL_INACTIVE":"inactiva",
8
+ "LABEL_ONLINE":"en línea",
9
+ "LABEL_OFFLINE":"desconectado",
8
10
  "LABEL_NO_MSG_HERE": "Todavía no hay mensajes...",
9
11
  "LABEL_TODAY": "hoy",
10
12
  "LABEL_TOMORROW": "ayer",
@@ -44,6 +46,7 @@
44
46
  "LABEL_VIDEO_CHAT": "Videollamada",
45
47
  "LABEL_LEAVE_GROUP": "Dejar el grupo",
46
48
  "LABEL_CLOSE_GROUP": "Cerrar",
49
+ "LABEL_OPEN_INFO_CONVERSATION":"Abrir detalles de la conversación",
47
50
  "ALERT_TITLE": "¡Atención!",
48
51
  "CLOSE_ALERT_CONFIRM_LABEL": "Ok",
49
52
  "CLOSE_ALERT_CANCEL_LABEL": "CANCAR",
@@ -163,6 +166,8 @@
163
166
  "WAITING_TIME_FOUND": "El equipo normalmente responde en $reply_time",
164
167
  "WAITING_TIME_NOT_FOUND": "El equipo responderá lo antes posible",
165
168
  "CLOSED": "CERRADO",
169
+ "DIRECT_CHAT":"Chat directo",
170
+ "GROUP_CHAT":"Grupo de chat",
166
171
  "PleaseSelectChatToStartMessaging": "Por favor, selecciona un chat para empezar a enviar mensajes",
167
172
  "FromThisAreNew": "------------------",
168
173
  "Preview": "Vista previa",
@@ -5,6 +5,8 @@
5
5
  "LABEL_AVAILABLE": "disponible",
6
6
  "LABEL_NOT_AVAILABLE": "indisponible",
7
7
  "LABEL_INACTIVE":"inactif",
8
+ "LABEL_ONLINE":"en línea",
9
+ "LABEL_OFFLINE":"hors ligne",
8
10
  "LABEL_NO_MSG_HERE": "Toujours pas de message ici...",
9
11
  "LABEL_TODAY": "aujourd'hui",
10
12
  "LABEL_TOMORROW": "hier",
@@ -44,6 +46,7 @@
44
46
  "LABEL_VIDEO_CHAT": "Appel vidéo",
45
47
  "LABEL_LEAVE_GROUP": "Quitter le groupe",
46
48
  "LABEL_CLOSE_GROUP": "Fermer",
49
+ "LABEL_OPEN_INFO_CONVERSATION":"Ouvrir les détails de la conversation",
47
50
  "ALERT_TITLE": "Attention!",
48
51
  "CLOSE_ALERT_CONFIRM_LABEL": "d'accord",
49
52
  "CLOSE_ALERT_CANCEL_LABEL": "ANNULER",
@@ -163,6 +166,8 @@
163
166
  "WAITING_TIME_FOUND": "L'équipe répond généralement en $reply_time",
164
167
  "WAITING_TIME_NOT_FOUND": "L'équipe vous répondra dans les plus brefs délais",
165
168
  "CLOSED": "FERMÉ",
169
+ "DIRECT_CHAT":"Chat direct",
170
+ "GROUP_CHAT":"Chat de groupe",
166
171
  "PleaseSelectChatToStartMessaging": "Veuillez sélectionner un chat pour commencer à envoyer des messages",
167
172
  "FromThisAreNew": "------------------",
168
173
  "Preview": "Aperçu",
@@ -5,6 +5,8 @@
5
5
  "LABEL_AVAILABLE": "disponibile",
6
6
  "LABEL_NOT_AVAILABLE": "non disponibile",
7
7
  "LABEL_INACTIVE":"inattivo",
8
+ "LABEL_ONLINE":"in linea",
9
+ "LABEL_OFFLINE":"disconnesso",
8
10
  "LABEL_NO_MSG_HERE": "Ancora nessun messaggio qui...",
9
11
  "LABEL_TODAY": "oggi",
10
12
  "LABEL_TOMORROW": "ieri",
@@ -44,6 +46,7 @@
44
46
  "LABEL_VIDEO_CHAT": "Video chiamata",
45
47
  "LABEL_LEAVE_GROUP": "Abbandona il gruppo",
46
48
  "LABEL_CLOSE_GROUP": "Chiudi",
49
+ "LABEL_OPEN_INFO_CONVERSATION":"Apri i dettagli della conversazione",
47
50
  "ALERT_TITLE": "Attenzione!",
48
51
  "CLOSE_ALERT_CONFIRM_LABEL": "OK",
49
52
  "CLOSE_ALERT_CANCEL_LABEL": "ANNULLA",
@@ -163,6 +166,8 @@
163
166
  "WAITING_TIME_FOUND": "Il team tipicamente risponde in $reply_time",
164
167
  "WAITING_TIME_NOT_FOUND": "Vi risponderemo appena possibile",
165
168
  "CLOSED": "CHIUSA",
169
+ "DIRECT_CHAT":"Chat diretta",
170
+ "GROUP_CHAT":"Chat di gruppo",
166
171
  "PleaseSelectChatToStartMessaging": "Seleziona una chat per iniziare a messaggiare",
167
172
  "FromThisAreNew": "------------------",
168
173
  "Preview": "Anteprima",
@@ -5,6 +5,8 @@
5
5
  "LABEL_AVAILABLE": "қолжетімді",
6
6
  "LABEL_NOT_AVAILABLE": "жоқ",
7
7
  "LABEL_INACTIVE":"белсенді емес",
8
+ "LABEL_ONLINE":"желіде",
9
+ "LABEL_OFFLINE":"желіден тыс",
8
10
  "LABEL_NO_MSG_HERE": "Бұл жерде әлі хабар жоқ...",
9
11
  "LABEL_TODAY": "бүгін",
10
12
  "LABEL_TOMORROW": "кеше",
@@ -44,6 +46,7 @@
44
46
  "LABEL_VIDEO_CHAT": "Бейне қоңырау",
45
47
  "LABEL_LEAVE_GROUP": "Топтан шығыңыз",
46
48
  "LABEL_CLOSE_GROUP": "Жабық",
49
+ "LABEL_OPEN_INFO_CONVERSATION":"Әңгімелесу мәліметтерін ашыңыз",
47
50
  "ALERT_TITLE": "Назар аударыңыз!",
48
51
  "CLOSE_ALERT_CONFIRM_LABEL": "ЖАРАЙДЫ МА",
49
52
  "CLOSE_ALERT_CANCEL_LABEL": "БАС ТАРТУ",
@@ -163,6 +166,8 @@
163
166
  "WAITING_TIME_FOUND": "Топ әдетте $reply_time-мен жауап береді",
164
167
  "WAITING_TIME_NOT_FOUND": "Команда мүмкіндігінше тезірек жауап береді",
165
168
  "CLOSED": "ЖАБЫҚ",
169
+ "DIRECT_CHAT":"Тікелей чат",
170
+ "GROUP_CHAT":"Топтық чат",
166
171
  "PleaseSelectChatToStartMessaging": "Хабар алмасуды бастау үшін чатты таңдаңыз",
167
172
  "FromThisAreNew": "------------------",
168
173
  "Preview": "Алдын ала қарау",
@@ -5,6 +5,8 @@
5
5
  "LABEL_AVAILABLE": "disponível",
6
6
  "LABEL_NOT_AVAILABLE": "não disponível",
7
7
  "LABEL_INACTIVE":"inativo",
8
+ "LABEL_ONLINE":"conectados",
9
+ "LABEL_OFFLINE":"desligada",
8
10
  "LABEL_NO_MSG_HERE": "Ainda sem mensagem aqui...",
9
11
  "LABEL_TODAY": "hoje",
10
12
  "LABEL_TOMORROW": "ontem",
@@ -44,6 +46,7 @@
44
46
  "LABEL_VIDEO_CHAT": "Videochamada",
45
47
  "LABEL_LEAVE_GROUP": "Sair do grupo",
46
48
  "LABEL_CLOSE_GROUP": "Fechar",
49
+ "LABEL_OPEN_INFO_CONVERSATION":"Abrir detalhes da conversa",
47
50
  "ALERT_TITLE": "Atenção!",
48
51
  "CLOSE_ALERT_CONFIRM_LABEL": "OK",
49
52
  "CLOSE_ALERT_CANCEL_LABEL": "CANCELAR",
@@ -163,6 +166,8 @@
163
166
  "WAITING_TIME_FOUND": "A equipe normalmente responde em $reply_time",
164
167
  "WAITING_TIME_NOT_FOUND": "A equipe responderá o mais rápido possível",
165
168
  "CLOSED": "FECHADO",
169
+ "DIRECT_CHAT":"Bate-papo direto",
170
+ "GROUP_CHAT":"Conversa em grupo",
166
171
  "PleaseSelectChatToStartMessaging": "Selecione um bate-papo para começar a enviar mensagens",
167
172
  "FromThisAreNew": "------------------",
168
173
  "Preview": "Visualizar",
@@ -5,6 +5,8 @@
5
5
  "LABEL_AVAILABLE": "имеется в наличии",
6
6
  "LABEL_NOT_AVAILABLE": "недоступно",
7
7
  "LABEL_INACTIVE":"неактивный",
8
+ "LABEL_ONLINE":"онлайн",
9
+ "LABEL_OFFLINE":"не в сети",
8
10
  "LABEL_NO_MSG_HERE": "До сих пор нет сообщения здесь...",
9
11
  "LABEL_TODAY": "сегодня",
10
12
  "LABEL_TOMORROW": "вчерашний день",
@@ -44,6 +46,7 @@
44
46
  "LABEL_VIDEO_CHAT": "Видеозвонок",
45
47
  "LABEL_LEAVE_GROUP": "Выйти из группы",
46
48
  "LABEL_CLOSE_GROUP": "Закрывать",
49
+ "LABEL_OPEN_INFO_CONVERSATION":"Открыть детали беседы",
47
50
  "ALERT_TITLE": "Внимание!",
48
51
  "CLOSE_ALERT_CONFIRM_LABEL": "Ok",
49
52
  "CLOSE_ALERT_CANCEL_LABEL": "ОТМЕНИТЬ",
@@ -163,6 +166,8 @@
163
166
  "WAITING_TIME_FOUND": "Команда обычно отвечает $reply_time",
164
167
  "WAITING_TIME_NOT_FOUND": "Команда ответит как можно скорее",
165
168
  "CLOSED": "ЗАКРЫТО",
169
+ "DIRECT_CHAT":"Прямой чат",
170
+ "GROUP_CHAT":"Групповой чат",
166
171
  "PleaseSelectChatToStartMessaging": "Пожалуйста, выберите чат, чтобы начать обмен сообщениями",
167
172
  "FromThisAreNew": "------------------",
168
173
  "Preview": "Предварительный просмотр",
@@ -5,6 +5,8 @@
5
5
  "LABEL_AVAILABLE": "на располагању",
6
6
  "LABEL_NOT_AVAILABLE": "није доступно",
7
7
  "LABEL_INACTIVE":"неактиван",
8
+ "LABEL_ONLINE":"онлајн",
9
+ "LABEL_OFFLINE":"одсутан",
8
10
  "LABEL_NO_MSG_HERE": "Још увек нема поруке овде...",
9
11
  "LABEL_TODAY": "данас",
10
12
  "LABEL_TOMORROW": "јуче",
@@ -44,6 +46,7 @@
44
46
  "LABEL_VIDEO_CHAT": "Видео позив",
45
47
  "LABEL_LEAVE_GROUP": "Напусти групу",
46
48
  "LABEL_CLOSE_GROUP": "Затвори",
49
+ "LABEL_OPEN_INFO_CONVERSATION":"Отворите детаље разговора",
47
50
  "ALERT_TITLE": "УПОЗОРЕЊЕ",
48
51
  "CLOSE_ALERT_CONFIRM_LABEL": "ок",
49
52
  "CLOSE_ALERT_CANCEL_LABEL": "ПОНИШТИТИ, ОТКАЗАТИ",
@@ -163,6 +166,8 @@
163
166
  "WAITING_TIME_FOUND": "Тим обично одговара у $reply_time",
164
167
  "WAITING_TIME_NOT_FOUND": "Тим ће одговорити у најкраћем могућем року",
165
168
  "CLOSED": "ЗАТВОРЕНО",
169
+ "DIRECT_CHAT":"Директно ћаскање",
170
+ "GROUP_CHAT":"Групно ћаскање",
166
171
  "PleaseSelectChatToStartMessaging": "Изаберите ћаскање да бисте започели размену порука",
167
172
  "FromThisAreNew": "------------------",
168
173
  "Preview": "Преглед",
@@ -5,6 +5,8 @@
5
5
  "LABEL_AVAILABLE": "tillgängligt",
6
6
  "LABEL_NOT_AVAILABLE": "inte tillgänglig",
7
7
  "LABEL_INACTIVE":"inaktiv",
8
+ "LABEL_ONLINE":"uppkopplad",
9
+ "LABEL_OFFLINE":"off-line",
8
10
  "LABEL_NO_MSG_HERE": "Fortfarande inget meddelande här...",
9
11
  "LABEL_TODAY": "i dag",
10
12
  "LABEL_TOMORROW": "i går",
@@ -44,6 +46,7 @@
44
46
  "LABEL_VIDEO_CHAT": "Videosamtal",
45
47
  "LABEL_LEAVE_GROUP": "Lämna gruppen",
46
48
  "LABEL_CLOSE_GROUP": "Stänga",
49
+ "LABEL_OPEN_INFO_CONVERSATION":"Öppna konversationsinformation",
47
50
  "ALERT_TITLE": "Uppmärksamhet!",
48
51
  "CLOSE_ALERT_CONFIRM_LABEL": "OK",
49
52
  "CLOSE_ALERT_CANCEL_LABEL": "ANNULLERA",
@@ -163,6 +166,8 @@
163
166
  "WAITING_TIME_FOUND": "Teamet svarar vanligtvis med $reply_time",
164
167
  "WAITING_TIME_NOT_FOUND": "Teamet kommer att svara så snart som möjligt",
165
168
  "CLOSED": "STÄNGD",
169
+ "DIRECT_CHAT":"Direkt chatt",
170
+ "GROUP_CHAT":"Gruppchatt",
166
171
  "PleaseSelectChatToStartMessaging": "Välj en chatt för att börja skicka meddelanden",
167
172
  "FromThisAreNew": "------------------",
168
173
  "Preview": "Förhandsvisning",
@@ -5,6 +5,8 @@
5
5
  "LABEL_AVAILABLE": "mevcut",
6
6
  "LABEL_NOT_AVAILABLE": "müsait değil",
7
7
  "LABEL_INACTIVE":"etkin değil",
8
+ "LABEL_ONLINE":"internet üzerinden",
9
+ "LABEL_OFFLINE":"çevrimdışı",
8
10
  "LABEL_NO_MSG_HERE": "Hala mesaj yok...",
9
11
  "LABEL_TODAY": "bugün",
10
12
  "LABEL_TOMORROW": "dün",
@@ -44,6 +46,7 @@
44
46
  "LABEL_VIDEO_CHAT": "Görüntülü arama",
45
47
  "LABEL_LEAVE_GROUP": "Gruptan ayrıl",
46
48
  "LABEL_CLOSE_GROUP": "Kapat",
49
+ "LABEL_OPEN_INFO_CONVERSATION":"Görüşme ayrıntılarını aç",
47
50
  "ALERT_TITLE": "Dikkat!",
48
51
  "CLOSE_ALERT_CONFIRM_LABEL": "Tamam",
49
52
  "CLOSE_ALERT_CANCEL_LABEL": "İPTAL ET",
@@ -163,6 +166,8 @@
163
166
  "WAITING_TIME_FOUND": "Ekip genellikle $reply_time",
164
167
  "WAITING_TIME_NOT_FOUND": "Ekip en kısa sürede cevap verecektir",
165
168
  "CLOSED": "KAPALI",
169
+ "DIRECT_CHAT":"Doğrudan sohbet",
170
+ "GROUP_CHAT":"Grup Sohbeti",
166
171
  "PleaseSelectChatToStartMessaging": "Mesajlaşmaya başlamak için lütfen bir sohbet seçin",
167
172
  "FromThisAreNew": "------------------",
168
173
  "Preview": "Ön izleme",
@@ -5,6 +5,8 @@
5
5
  "LABEL_AVAILABLE": "доступний",
6
6
  "LABEL_NOT_AVAILABLE": "недоступний",
7
7
  "LABEL_INACTIVE":"неактивний",
8
+ "LABEL_ONLINE":"онлайн",
9
+ "LABEL_OFFLINE":"офлайн",
8
10
  "LABEL_NO_MSG_HERE": "Тут досі немає повідомлення...",
9
11
  "LABEL_TODAY": "сьогодні",
10
12
  "LABEL_TOMORROW": "вчора",
@@ -44,6 +46,7 @@
44
46
  "LABEL_VIDEO_CHAT": "Відеодзвінок",
45
47
  "LABEL_LEAVE_GROUP": "Вийти з групи",
46
48
  "LABEL_CLOSE_GROUP": "Закрити",
49
+ "LABEL_OPEN_INFO_CONVERSATION":"Відкрити деталі розмови",
47
50
  "ALERT_TITLE": "Увага!",
48
51
  "CLOSE_ALERT_CONFIRM_LABEL": "добре",
49
52
  "CLOSE_ALERT_CANCEL_LABEL": "СКАСУВАТИ",
@@ -163,6 +166,8 @@
163
166
  "WAITING_TIME_FOUND": "Команда зазвичай відповідає $ час відповіді",
164
167
  "WAITING_TIME_NOT_FOUND": "Команда відповість якомога швидше",
165
168
  "CLOSED": "ЗАЧИНЕНО",
169
+ "DIRECT_CHAT":"Прямий чат",
170
+ "GROUP_CHAT":"Груповий чат",
166
171
  "PleaseSelectChatToStartMessaging": "Виберіть чат, щоб почати обмін повідомленнями",
167
172
  "FromThisAreNew": "------------------",
168
173
  "Preview": "Попередній перегляд",
@@ -6,6 +6,8 @@
6
6
  "LABEL_AVAILABLE": "mavjud",
7
7
  "LABEL_NOT_AVAILABLE": "mavjud emas",
8
8
  "LABEL_INACTIVE":"harakatsiz",
9
+ "LABEL_ONLINE":"onlayn",
10
+ "LABEL_OFFLINE":"oflayn",
9
11
  "LABEL_NO_MSG_HERE": "Bu yerda hali xabar yo'q...",
10
12
  "LABEL_TODAY": "Bugun",
11
13
  "LABEL_TOMORROW": "kecha",
@@ -45,6 +47,7 @@
45
47
  "LABEL_VIDEO_CHAT": "Video qo'ng'iroq",
46
48
  "LABEL_LEAVE_GROUP": "Guruhni tark eting",
47
49
  "LABEL_CLOSE_GROUP": "Yopish",
50
+ "LABEL_OPEN_INFO_CONVERSATION":"Suhbat tafsilotlarini oching",
48
51
  "ALERT_TITLE": "Diqqat!",
49
52
  "CLOSE_ALERT_CONFIRM_LABEL": "OK",
50
53
  "CLOSE_ALERT_CANCEL_LABEL": "BEKOR",
@@ -164,6 +167,8 @@
164
167
  "WAITING_TIME_FOUND": "Jamoa odatda $reply_timebilan javob beradi",
165
168
  "WAITING_TIME_NOT_FOUND": "Jamoa imkon qadar tezroq javob beradi",
166
169
  "CLOSED": "YOPIQ",
170
+ "DIRECT_CHAT":"To'g'ridan-to'g'ri suhbat",
171
+ "GROUP_CHAT":"Guruh suhbati",
167
172
  "PleaseSelectChatToStartMessaging": "Xabar yozishni boshlash uchun chatni tanlang",
168
173
  "FromThisAreNew": "------------------",
169
174
  "Preview": "Ko‘rib chiqish",
@@ -12,11 +12,11 @@ import 'firebase/database';
12
12
  import { TypingService } from '../abstract/typing.service';
13
13
  import { CustomLogger } from '../logger/customLogger';
14
14
  import { LoggerInstance } from '../logger/loggerInstance';
15
+ import { TIME_TYPING_MESSAGE } from 'src/chat21-core/utils/constants';
15
16
 
16
17
 
17
18
  export class TypingModel {
18
19
 
19
-
20
20
  constructor(
21
21
  public uid: string,
22
22
  public timestamp: any,
@@ -35,14 +35,11 @@ export class FirebaseTypingService extends TypingService {
35
35
  BSIsTyping: BehaviorSubject<any> = new BehaviorSubject<any>(null);
36
36
  BSSetTyping: BehaviorSubject<any> = new BehaviorSubject<any>(null);
37
37
 
38
- // public params
39
- // public tenant: string;
40
- private tenant: string;
41
-
42
- // private params
43
38
  private urlNodeTypings: string;
44
39
  private setTimeoutWritingMessages: any;
40
+ private tenant: string;
45
41
  private logger: LoggerService = LoggerInstance.getInstance();
42
+ private ref: firebase.database.Query;
46
43
 
47
44
  constructor() {
48
45
  super();
@@ -64,10 +61,11 @@ export class FirebaseTypingService extends TypingService {
64
61
  urlTyping = this.urlNodeTypings + idCurrentUser + '/' + idConversation;
65
62
  }
66
63
  this.logger.debug('[FIREBASETypingSERVICE] urlTyping: ', urlTyping);
67
- const ref = firebase.database().ref(urlTyping);
68
- ref.on('child_changed', (childSnapshot) => {
64
+ this.ref = firebase.database().ref(urlTyping);
65
+ this.ref.on('child_changed', (childSnapshot) => {
69
66
  const precence: TypingModel = childSnapshot.val();
70
- this.BSIsTyping.next({uid: idConversation, uidUserTypingNow: precence.uid, nameUserTypingNow: precence.name});
67
+ this.logger.debug('[FIREBASETypingSERVICE] child_changed: ', precence);
68
+ this.BSIsTyping.next({uid: idConversation, uidUserTypingNow: precence.uid, nameUserTypingNow: precence.name, waitTime: TIME_TYPING_MESSAGE});
71
69
  });
72
70
  }
73
71
 
@@ -43,8 +43,12 @@ export const CHANNEL_TYPE_GROUP = 'group';
43
43
  // TYPES MESSAGES
44
44
  export const TYPE_MSG_TEXT = 'text';
45
45
  export const TYPE_MSG_IMAGE = 'image';
46
+ export const TYPE_MSG_FILE = 'file';
47
+ export const TYPE_MSG_BUTTON = 'button';
48
+
46
49
  export const MAX_WIDTH_IMAGES = 300;
47
50
  export const MIN_WIDTH_IMAGES = 130;
51
+ export const TIME_TYPING_MESSAGE = 2000;
48
52
  export const TYPE_DIRECT = 'direct';
49
53
  export const TYPE_GROUP = 'group';
50
54
  export const SYSTEM = 'system';
@@ -69,7 +73,7 @@ export const TOUCHING_OPERATOR = "TOUCHING_OPERATOR";
69
73
  // URLS
70
74
  // export const URL_SOUND = 'assets/sounds/pling.mp3';
71
75
  export const URL_SOUND_LIST_CONVERSATION = '/assets/sounds/pling.mp3';
72
- export const URL_SOUND_CONVERSATION_DETAIL = '/assets/sounds/justsaying.mp3';
76
+ export const URL_SOUND_CONVERSATION_ADDED = '/assets/sounds/wheep-wheep.mp3';
73
77
  // export const CHAT_SEND_BY_EMAIL_LINK =
74
78
  // 'mailto:?subject=Transcript Chat Conversation&body=Salve,%0D%0A%0D%0Adi
75
79
  // seguito potrà scaricare il transcript della conversazione intercorsa con il nostro servizio di
@@ -1,6 +1,9 @@
1
- <div class="tile-typing-now" [class.active]="isTyping">
2
- <span *ngIf="nameUserTypingNow">
3
- {{nameUserTypingNow}}
4
- </span>
5
- {{ translationMap?.get('LABEL_IS_WRITING') }}
1
+ <div class="tile-typing-now" *ngIf="typingLocation === 'header'">
2
+ <span *ngIf="nameUserTypingNow">{{nameUserTypingNow}} </span>
3
+ {{ translationMap?.get('LABEL_WRITING') }}
4
+ </div>
5
+ <div class="spinner" *ngIf="typingLocation === 'content'">
6
+ <div class="bounce1"></div>
7
+ <div class="bounce2"></div>
8
+ <div class="bounce3"></div>
6
9
  </div>
@@ -1,10 +1,24 @@
1
+ :root {
2
+ --themeColor: rgb(240, 242, 247);
3
+ --foregroundColor: black;
4
+ }
5
+
6
+
1
7
  .tile-typing-now {
2
- font-size: 12px;
3
- background-color: #fff;
4
- display: none;
5
- &.active {
6
- display: block;
7
- }
8
+ position: absolute;
9
+ left: 40px;
10
+ right: 40px;
11
+ bottom: 3px;
12
+ width: auto;
13
+ text-align: center;
14
+ margin: 0px;
15
+ padding: 0px;
16
+ font-size: 1.1em;
17
+ color: var(--foregroundColor);
18
+ //display: none;
19
+ // &.active {
20
+ // display: block;
21
+ // }
8
22
  }
9
23
 
10
24
  /* BEGIN LOADING */
@@ -14,49 +28,105 @@
14
28
  left: 0;
15
29
  top: 0;
16
30
  margin: 0;
17
- &.active {
18
- display: inline-block;
19
- width: 30px;
20
- }
31
+ // &.active {
32
+ // display: inline-block;
33
+ // width: 30px;
34
+ // }
21
35
  }
22
36
  #tile-spinner > div {
23
37
  width: 6px;
24
38
  height: 6px;
25
39
  background-color: var(--basic-blue);
26
40
  }
41
+ // .spinner {
42
+ // margin: 100px auto 0;
43
+ // width: 70px;
44
+ // text-align: center;
45
+ // }
46
+ // .spinner > div {
47
+ // width: 18px;
48
+ // height: 18px;
49
+ // background-color: #333;
50
+ // border-radius: 100%;
51
+ // display: inline-block;
52
+ // -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
53
+ // animation: sk-bouncedelay 1.4s infinite ease-in-out both;
54
+ // }
55
+ // .spinner .bounce1 {
56
+ // -webkit-animation-delay: -0.32s;
57
+ // animation-delay: -0.32s;
58
+ // }
59
+ // .spinner .bounce2 {
60
+ // -webkit-animation-delay: -0.16s;
61
+ // animation-delay: -0.16s;
62
+ // }
63
+ // @-webkit-keyframes sk-bouncedelay {
64
+ // 0%, 80%, 100% { -webkit-transform: scale(0) }
65
+ // 40% { -webkit-transform: scale(1.0) }
66
+ // }
67
+ // @keyframes sk-bouncedelay {
68
+ // 0%, 80%, 100% {
69
+ // -webkit-transform: scale(0);
70
+ // transform: scale(0);
71
+ // } 40% {
72
+ // -webkit-transform: scale(1.0);
73
+ // transform: scale(1.0);
74
+ // }
75
+ // }
76
+ /* END LOADING */
77
+
78
+
79
+ /* ******BOUNCE SPINNER START****** */
27
80
  .spinner {
28
- margin: 100px auto 0;
81
+ margin: 15px 10px; //remove it if activate avatar image
29
82
  width: 70px;
30
- text-align: center;
83
+ // text-align: center;
84
+ min-height: 20px;
85
+ display: block;
31
86
  }
87
+
32
88
  .spinner > div {
33
- width: 18px;
34
- height: 18px;
89
+ width: 9px;
90
+ height: 9px;
35
91
  background-color: #333;
92
+
36
93
  border-radius: 100%;
37
94
  display: inline-block;
38
95
  -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
39
96
  animation: sk-bouncedelay 1.4s infinite ease-in-out both;
40
97
  }
98
+
41
99
  .spinner .bounce1 {
42
100
  -webkit-animation-delay: -0.32s;
43
101
  animation-delay: -0.32s;
102
+ background-color: var(--themeColor)
44
103
  }
104
+
45
105
  .spinner .bounce2 {
46
106
  -webkit-animation-delay: -0.16s;
47
107
  animation-delay: -0.16s;
108
+ background-color: var(--themeColor);
109
+ opacity: 0.4
48
110
  }
111
+
112
+ .spinner .bounce3 {
113
+ background-color: var(--themeColor);
114
+ opacity: 0.6
115
+ }
116
+
117
+
49
118
  @-webkit-keyframes sk-bouncedelay {
50
119
  0%, 80%, 100% { -webkit-transform: scale(0) }
51
120
  40% { -webkit-transform: scale(1.0) }
52
121
  }
122
+
53
123
  @keyframes sk-bouncedelay {
54
124
  0%, 80%, 100% {
55
- -webkit-transform: scale(0);
56
- transform: scale(0);
125
+ -webkit-transform: scale(0);
126
+ transform: scale(0);
57
127
  } 40% {
58
128
  -webkit-transform: scale(1.0);
59
129
  transform: scale(1.0);
60
130
  }
61
131
  }
62
- /* END LOADING */
132
+ /* ******BOUNCE SPINNER END****** */