messages.css 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. .position-relative {
  2. position: relative;
  3. }
  4. .overflow-hidden {
  5. overflow: hidden;
  6. }
  7. .position-absolute {
  8. position: absolute;
  9. }
  10. .opacity-0x {
  11. opacity: 0;
  12. }
  13. .im-body {
  14. height: calc(80vh - 185px) !important;
  15. }
  16. .im-container {
  17. display: flex;
  18. align-items: stretch;
  19. }
  20. .im-container .im-lhs {
  21. min-width: 300px;
  22. border-right: 1px solid #ddd;
  23. padding: 0.5rem;
  24. overflow: auto;
  25. }
  26. .im-container .im-lhs .im-conversation {
  27. border-radius: 4px;
  28. padding: 0.5rem;
  29. border: 1px solid #ddd;
  30. background: white;
  31. cursor: pointer;
  32. }
  33. .im-container .im-lhs .im-conversation:hover {
  34. background: aliceblue;
  35. text-decoration: none;
  36. }
  37. .im-container .im-lhs .im-conversation.active {
  38. background: aliceblue;
  39. border-color: #307899;
  40. }
  41. .im-container .im-lhs .im-conversation:not(:last-child) {
  42. margin-bottom: 0.5rem;
  43. }
  44. .im-container .im-lhs .im-conversation .unread-conversation {
  45. position: absolute;
  46. right: 0;
  47. top: 0;
  48. }
  49. .im-container .im-rhs {
  50. flex-grow: 1;
  51. display: inline-flex;
  52. flex-direction: column;
  53. }
  54. .im-container .im-rhs .im-messages {
  55. flex-grow: 1;
  56. display: inline-flex;
  57. flex-direction: column;
  58. justify-content: flex-end;
  59. overflow: auto;
  60. margin-bottom: 1rem;
  61. }
  62. .im-container .im-message {
  63. margin-top: 0.5rem;
  64. padding: 0 0.5rem;
  65. text-align: left;
  66. }
  67. .im-container .im-message.sent {
  68. text-align: right;
  69. }
  70. .im-container .im-rhs .im-messages-header {
  71. padding-bottom: 0.5rem;
  72. border-bottom: 1px solid #eee;
  73. }
  74. .im-container .im-message .im-message-sender {
  75. display: flex;
  76. justify-content: flex-start;
  77. }
  78. .im-container .im-message .im-message-sender .unread-message {
  79. margin-bottom: -5px;
  80. margin-top: -5px;
  81. font-size: 16px;
  82. }
  83. .im-container .im-message .im-message-content {
  84. background: #eee;
  85. border-radius: 6px;
  86. padding: 0.5rem;
  87. margin-top: 0.25rem;
  88. /* white-space: pre-wrap; */
  89. word-break: break-word;
  90. text-align: left;
  91. display: inline-block;
  92. min-width: 150px;
  93. max-width: 75%;
  94. flex-grow: 0;
  95. margin-right: 5px;
  96. }
  97. .im-container .im-message.sent .im-message-sender {
  98. justify-content: flex-end;
  99. }
  100. .im-container .im-message.sent .im-message-content {
  101. margin-left: auto;
  102. background: #e4f9ff;
  103. }
  104. .im-container .im-rhs .im-input textarea {
  105. width: 100%;
  106. height: 35px;
  107. border:none;
  108. resize:none;
  109. padding: 0.3rem;
  110. box-shadow: none !important;
  111. }
  112. .im-container .im-rhs .im-input textarea:focus,
  113. .im-container .im-rhs .im-input textarea:active,
  114. .im-container .im-rhs .im-input textarea:focus-visible {
  115. border:none;
  116. outline: 0;
  117. }
  118. .im-container .im-rhs .im-input #selected-files .selected-file {
  119. background: #eee;
  120. border: 1px solid #ccc;
  121. border-radius: 3px;
  122. padding: 2px 20px 2px 5px;
  123. cursor: pointer;
  124. position: relative;
  125. margin-top: 6px;
  126. margin-right: 6px;
  127. }
  128. .im-container .im-rhs .im-input #selected-files .selected-file:hover {
  129. color: #b11313;
  130. }
  131. .im-container .im-rhs .im-input #selected-files .selected-file:after {
  132. position: absolute;
  133. content: '✕';
  134. right: 4px;
  135. color: #b11313;
  136. }
  137. .im-container .im-message.sent .header-item.text-sm {
  138. margin-right: 5px;
  139. }
  140. .im-container .im-message.sent .header-item {
  141. margin-left: 0.75rem;
  142. }
  143. .im-container .im-message.received .header-item {
  144. margin-right: 0.75rem;
  145. }
  146. .im-container .im-message.sent .attachment {
  147. margin-left: 0.75rem;
  148. }
  149. .im-container .im-message.received .attachment {
  150. margin-right: 0.75rem;
  151. }
  152. .im-container .im-rhs .im-video-container {
  153. max-width: 480px;
  154. display: inline-block;
  155. position: relative;
  156. margin-top: 4px;
  157. }
  158. .im-container .im-rhs .im-video-container video {
  159. max-width: 100%;
  160. }
  161. .im-container .im-rhs .im-video-container .vs-control {
  162. opacity: 0;
  163. transition: opacity 0.3s ease;
  164. position: absolute;
  165. margin: 0 !important;
  166. top: 0;
  167. right: 0;
  168. background: rgba(238, 238, 238, 0.75) !important;
  169. border: 0 !important;
  170. border-bottom-left-radius: 3px;
  171. text-align: right !important;
  172. width: auto !important;
  173. font-size: 11px !important;
  174. }
  175. .im-container .im-rhs .im-video-container:hover .vs-control {
  176. opacity: 1;
  177. background: rgba(238, 238, 238, 1) !important;
  178. }
  179. .im-container .im-rhs .im-video-container .vs-control select {
  180. width: auto !important;
  181. border: 0 !important;
  182. }
  183. .msg-header {
  184. background-color: #fefefe;
  185. color: #333;
  186. border-bottom: 1px solid #ccc;
  187. }
  188. .im-body .card-body {
  189. background-color: #fefefe;
  190. }
  191. .msg-input {
  192. border: 1px solid #eee;
  193. padding: 8px 10px;
  194. border-radius: 50px;
  195. background-color: #ffffff;
  196. width: 100%;
  197. display: flex;
  198. align-items: center;
  199. justify-content: space-between;
  200. }
  201. .msg-input textarea, .msg-input textarea:focus{
  202. outline:0;
  203. box-shadow: 0;
  204. border:none;
  205. width: 100%;
  206. }
  207. .btn-input, .btn-input:hover, .btn-input:focus {
  208. height: 40px;
  209. width: 40px;
  210. font-size: 18px;
  211. display: grid;
  212. place-items:center;
  213. border-radius: 100%;
  214. background: #0367b0;
  215. color: #fff;
  216. }
  217. .btn-input i {
  218. margin-left: -4px;
  219. }
  220. .plus, .plus:hover, .plus:focus {
  221. outline:0;
  222. border:0;
  223. background: 0;
  224. color: #aaa;
  225. margin-right: 5px;
  226. }
  227. .fabs {
  228. display: flex;
  229. gap: 5px;
  230. }
  231. .fabs .btn {
  232. margin-left: 0 !important;
  233. margin-bottom: 10px;
  234. height: 40px;
  235. width: 40px;
  236. border-radius: 100%;
  237. }
  238. .msg-list {
  239. height: calc(100vh - 185px) !important;
  240. overflow-y: auto;
  241. }
  242. .msg-list .msg-header {
  243. position: sticky;
  244. top: 0;
  245. }
  246. .pt {
  247. color: #000000;
  248. }
  249. .active-pt, .pt:hover {
  250. background-color: #c2efff;
  251. color: #000000;
  252. transition: .5s;
  253. }
  254. .im-container .im-message .im-message-sender {
  255. position: relative;
  256. }
  257. .im-container .im-message .delete,
  258. .im-container .im-message .edit {
  259. position: absolute;
  260. right: -14px;
  261. top: 0px;
  262. }
  263. .im-container .im-message .edit {
  264. right: -18px;
  265. top: 25px;
  266. }
  267. .im-container .im-message:hover .edit,
  268. .im-container .im-message:focus .edit,
  269. .im-container .im-message:hover .delete,
  270. .im-container .im-message:focus .delete {
  271. display: block;
  272. }
  273. .circle-icon {
  274. margin-top: 5px;
  275. height: 40px;
  276. width: 40px;
  277. text-align: center;
  278. border-radius: 100%;
  279. background-color: #ededed;
  280. font-size: 15px;
  281. font-weight: bold;
  282. display: grid;
  283. color: #444;
  284. place-items: center;
  285. }
  286. .circle-icon.op {
  287. opacity: 0;
  288. height: 10px;
  289. }
  290. .sidebar a {
  291. display: block;
  292. padding: 8px 12px;
  293. color: #000000;
  294. border-bottom: 1px solid #ddd;
  295. font-size: 15px;
  296. }
  297. .sidebar a:last-child {
  298. border-bottom: 0;
  299. }
  300. .sidebar .active,
  301. .sidebar a:hover {
  302. color:var(--pry-color);
  303. border-bottom-color: var(--pry-color);
  304. transition: .5s;
  305. }
  306. .custom-menu {
  307. transform: none !important;
  308. top: 30px !important;
  309. }
  310. .custom-menu .dropdown-item {
  311. padding: 10px !important;
  312. border-bottom: 1px solid #eee;
  313. }
  314. .table *{
  315. font-size: 14px !important;
  316. }
  317. @media screen and (max-width:500px) {
  318. .fabs {
  319. display: block;
  320. }
  321. }