adminator-admin-dashboard 2.8.1 → 4.1.5

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 (179) hide show
  1. package/CHANGELOG.md +499 -0
  2. package/CLAUDE.md +126 -154
  3. package/README.md +321 -370
  4. package/dist/2026.js +8751 -0
  5. package/dist/2026.js.map +1 -0
  6. package/dist/404.html +36 -16
  7. package/dist/500.html +36 -16
  8. package/dist/assets/static/images/logo.svg +3 -3
  9. package/dist/basic-table.html +152 -699
  10. package/dist/blank.html +42 -507
  11. package/dist/buttons.html +152 -448
  12. package/dist/calendar.html +246 -658
  13. package/dist/charts.html +124 -658
  14. package/dist/chat.html +209 -706
  15. package/dist/compose.html +141 -618
  16. package/dist/datatable.html +467 -991
  17. package/dist/email.html +430 -943
  18. package/dist/forms.html +208 -733
  19. package/dist/google-maps.html +123 -513
  20. package/dist/index.html +436 -1041
  21. package/dist/runtime.js +1299 -0
  22. package/dist/runtime.js.map +1 -0
  23. package/dist/signin.html +92 -92
  24. package/dist/signup.html +106 -91
  25. package/dist/ui.html +268 -897
  26. package/dist/vector-maps.html +132 -511
  27. package/dist/vendor-chartjs.js +14593 -0
  28. package/dist/vendor-chartjs.js.map +1 -0
  29. package/dist/vendor-fullcalendar.js +14793 -0
  30. package/dist/vendor-fullcalendar.js.map +1 -0
  31. package/dist/vendors.js +3758 -0
  32. package/dist/vendors.js.map +1 -0
  33. package/package.json +50 -52
  34. package/src/404.html +35 -15
  35. package/src/500.html +35 -15
  36. package/src/assets/scripts/2026/Shell.js +312 -0
  37. package/src/assets/scripts/2026/calendar.js +123 -0
  38. package/src/assets/scripts/2026/charts.js +259 -0
  39. package/src/assets/scripts/2026/index.js +35 -0
  40. package/src/assets/scripts/2026/init.js +207 -0
  41. package/src/assets/scripts/2026/maps.js +78 -0
  42. package/src/assets/scripts/2026/palette.js +266 -0
  43. package/src/assets/static/images/logo.svg +3 -3
  44. package/src/assets/styles/2026/_animations.scss +14 -0
  45. package/src/assets/styles/2026/_auth.scss +215 -0
  46. package/src/assets/styles/2026/_base.scss +37 -0
  47. package/src/assets/styles/2026/_calendar.scss +380 -0
  48. package/src/assets/styles/2026/_charts.scss +44 -0
  49. package/src/assets/styles/2026/_chat.scss +350 -0
  50. package/src/assets/styles/2026/_components.scss +140 -0
  51. package/src/assets/styles/2026/_dashboard.scss +520 -0
  52. package/src/assets/styles/2026/_data.scss +130 -0
  53. package/src/assets/styles/2026/_dropdowns.scss +128 -0
  54. package/src/assets/styles/2026/_email.scss +599 -0
  55. package/src/assets/styles/2026/_error.scss +98 -0
  56. package/src/assets/styles/2026/_forms.scss +215 -0
  57. package/src/assets/styles/2026/_fullcalendar.scss +134 -0
  58. package/src/assets/styles/2026/_palette.scss +173 -0
  59. package/src/assets/styles/2026/_responsive.scss +229 -0
  60. package/src/assets/styles/2026/_shell.scss +290 -0
  61. package/src/assets/styles/2026/_tokens.scss +80 -0
  62. package/src/assets/styles/2026/_ui.scss +365 -0
  63. package/src/assets/styles/2026/index.scss +23 -0
  64. package/src/basic-table.html +153 -710
  65. package/src/blank.html +42 -517
  66. package/src/buttons.html +152 -458
  67. package/src/calendar.html +246 -668
  68. package/src/charts.html +124 -668
  69. package/src/chat.html +209 -716
  70. package/src/compose.html +142 -629
  71. package/src/datatable.html +466 -1000
  72. package/src/email.html +429 -952
  73. package/src/forms.html +207 -742
  74. package/src/google-maps.html +128 -523
  75. package/src/index.html +438 -1050
  76. package/src/signin.html +92 -92
  77. package/src/signup.html +106 -91
  78. package/src/ui.html +267 -906
  79. package/src/vector-maps.html +133 -522
  80. package/dist/1e59d2330b4c6deb84b3.ttf +0 -0
  81. package/dist/20fd1704ea223900efa9.woff2 +0 -0
  82. package/dist/29b39089170885ae2967.woff +0 -0
  83. package/dist/8b43027f47b20503057d.eot +0 -0
  84. package/dist/9bad94440d49256265a5.eot +0 -0
  85. package/dist/assets/fontawesome-webfont.svg +0 -2671
  86. package/dist/assets/themify.svg +0 -362
  87. package/dist/eda8b94308c6f538f04a.ttf +0 -0
  88. package/dist/f691f37e57f04c152e23.woff +0 -0
  89. package/dist/main.js +0 -61323
  90. package/dist/main.js.map +0 -1
  91. package/src/assets/scripts/app 2.js +0 -645
  92. package/src/assets/scripts/app.js +0 -645
  93. package/src/assets/scripts/charts/chartJS/index.js +0 -148
  94. package/src/assets/scripts/charts/easyPieChart/index.js +0 -200
  95. package/src/assets/scripts/charts/index.js +0 -3
  96. package/src/assets/scripts/charts/sparkline/index.js +0 -208
  97. package/src/assets/scripts/chat/index.js +0 -11
  98. package/src/assets/scripts/components/Chart.js +0 -1390
  99. package/src/assets/scripts/components/Sidebar.js +0 -241
  100. package/src/assets/scripts/constants/colors.js +0 -274
  101. package/src/assets/scripts/datatable/index.js +0 -379
  102. package/src/assets/scripts/datepicker/index.js +0 -302
  103. package/src/assets/scripts/email/index.js +0 -25
  104. package/src/assets/scripts/fullcalendar/index.js +0 -86
  105. package/src/assets/scripts/googleMaps/index.js +0 -93
  106. package/src/assets/scripts/index.js +0 -18
  107. package/src/assets/scripts/masonry/index.js +0 -14
  108. package/src/assets/scripts/popover/index.js +0 -109
  109. package/src/assets/scripts/scrollbar/index.js +0 -10
  110. package/src/assets/scripts/search/index.js +0 -15
  111. package/src/assets/scripts/sidebar/index.js +0 -140
  112. package/src/assets/scripts/skycons/index.js +0 -52
  113. package/src/assets/scripts/ui/index.js +0 -412
  114. package/src/assets/scripts/utils/date.js +0 -242
  115. package/src/assets/scripts/utils/dom.js +0 -349
  116. package/src/assets/scripts/utils/index.js +0 -45
  117. package/src/assets/scripts/utils/theme.js +0 -107
  118. package/src/assets/scripts/vectorMaps/index.js +0 -277
  119. package/src/assets/styles/index.scss +0 -801
  120. package/src/assets/styles/spec/components/easyPieChart.scss +0 -11
  121. package/src/assets/styles/spec/components/footer.scss +0 -4
  122. package/src/assets/styles/spec/components/forms.scss +0 -288
  123. package/src/assets/styles/spec/components/index.scss +0 -9
  124. package/src/assets/styles/spec/components/loader.scss +0 -46
  125. package/src/assets/styles/spec/components/masonry.scss +0 -1
  126. package/src/assets/styles/spec/components/pageContainer.scss +0 -255
  127. package/src/assets/styles/spec/components/progressBar.scss +0 -6
  128. package/src/assets/styles/spec/components/sidebar.scss +0 -642
  129. package/src/assets/styles/spec/components/topbar.scss +0 -455
  130. package/src/assets/styles/spec/generic/base.scss +0 -102
  131. package/src/assets/styles/spec/generic/index.scss +0 -1
  132. package/src/assets/styles/spec/index.scss +0 -4
  133. package/src/assets/styles/spec/screens/chat.scss +0 -147
  134. package/src/assets/styles/spec/screens/email.scss +0 -108
  135. package/src/assets/styles/spec/screens/index.scss +0 -2
  136. package/src/assets/styles/spec/settings/baseColors.scss +0 -103
  137. package/src/assets/styles/spec/settings/borders.scss +0 -6
  138. package/src/assets/styles/spec/settings/breakpoints.scss +0 -26
  139. package/src/assets/styles/spec/settings/fonts.scss +0 -4
  140. package/src/assets/styles/spec/settings/index.scss +0 -4
  141. package/src/assets/styles/spec/settings/materialColors.scss +0 -550
  142. package/src/assets/styles/spec/tools/index.scss +0 -1
  143. package/src/assets/styles/spec/tools/mixins/clearfix.scss +0 -15
  144. package/src/assets/styles/spec/tools/mixins/index.scss +0 -3
  145. package/src/assets/styles/spec/tools/mixins/mediaQueriesRanges.scss +0 -58
  146. package/src/assets/styles/spec/tools/mixins/placeholder.scss +0 -10
  147. package/src/assets/styles/spec/utils/colors.scss +0 -33
  148. package/src/assets/styles/spec/utils/index.scss +0 -2
  149. package/src/assets/styles/spec/utils/layout/helpers/border.scss +0 -78
  150. package/src/assets/styles/spec/utils/layout/helpers/flex.scss +0 -220
  151. package/src/assets/styles/spec/utils/layout/helpers/index.scss +0 -11
  152. package/src/assets/styles/spec/utils/layout/helpers/layout.scss +0 -137
  153. package/src/assets/styles/spec/utils/layout/helpers/lists.scss +0 -23
  154. package/src/assets/styles/spec/utils/layout/helpers/margin.scss +0 -266
  155. package/src/assets/styles/spec/utils/layout/helpers/objects.scss +0 -91
  156. package/src/assets/styles/spec/utils/layout/helpers/padding.scss +0 -147
  157. package/src/assets/styles/spec/utils/layout/helpers/positions.scss +0 -118
  158. package/src/assets/styles/spec/utils/layout/helpers/pseudo.scss +0 -6
  159. package/src/assets/styles/spec/utils/layout/helpers/sizes.scss +0 -157
  160. package/src/assets/styles/spec/utils/layout/helpers/typography.scss +0 -127
  161. package/src/assets/styles/spec/utils/layout/index.scss +0 -3
  162. package/src/assets/styles/spec/utils/layout/mixins/generateResponsive.scss +0 -25
  163. package/src/assets/styles/spec/utils/layout/mixins/index.scss +0 -2
  164. package/src/assets/styles/spec/utils/layout/mixins/mediaQueryCondition.scss +0 -28
  165. package/src/assets/styles/spec/utils/layout/utils/center.scss +0 -54
  166. package/src/assets/styles/spec/utils/layout/utils/gap.scss +0 -229
  167. package/src/assets/styles/spec/utils/layout/utils/index.scss +0 -5
  168. package/src/assets/styles/spec/utils/layout/utils/layers.scss +0 -5
  169. package/src/assets/styles/spec/utils/layout/utils/peers.scss +0 -35
  170. package/src/assets/styles/utils/mobile.scss +0 -954
  171. package/src/assets/styles/utils/theme.css +0 -97
  172. package/src/assets/styles/vendor/datepicker.scss +0 -183
  173. package/src/assets/styles/vendor/font-awesome.css +0 -2337
  174. package/src/assets/styles/vendor/fullcalendar.scss +0 -217
  175. package/src/assets/styles/vendor/index.scss +0 -8
  176. package/src/assets/styles/vendor/jquery.datatables.scss +0 -162
  177. package/src/assets/styles/vendor/perfectScrollbar.scss +0 -4
  178. package/src/assets/styles/vendor/sparkline.scss +0 -6
  179. package/src/assets/styles/vendor/themify-icons.css +0 -1081
package/dist/chat.html CHANGED
@@ -1,729 +1,232 @@
1
1
  <!DOCTYPE html>
2
- <html>
2
+ <html lang="en">
3
3
  <head>
4
4
  <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
6
- <title>Chat</title>
7
- <style>
8
- #loader {
9
- transition: all 0.3s ease-in-out;
10
- opacity: 1;
11
- visibility: visible;
12
- position: fixed;
13
- height: 100vh;
14
- width: 100%;
15
- background: #fff;
16
- z-index: 90000;
17
- }
18
-
19
- #loader.fadeOut {
20
- opacity: 0;
21
- visibility: hidden;
22
- }
23
-
24
-
25
-
26
- .spinner {
27
- width: 40px;
28
- height: 40px;
29
- position: absolute;
30
- top: calc(50% - 20px);
31
- left: calc(50% - 20px);
32
- background-color: #333;
33
- border-radius: 100%;
34
- -webkit-animation: sk-scaleout 1.0s infinite ease-in-out;
35
- animation: sk-scaleout 1.0s infinite ease-in-out;
36
- }
37
-
38
- @-webkit-keyframes sk-scaleout {
39
- 0% { -webkit-transform: scale(0) }
40
- 100% {
41
- -webkit-transform: scale(1.0);
42
- opacity: 0;
43
- }
44
- }
45
-
46
- @keyframes sk-scaleout {
47
- 0% {
48
- -webkit-transform: scale(0);
49
- transform: scale(0);
50
- } 100% {
51
- -webkit-transform: scale(1.0);
52
- transform: scale(1.0);
53
- opacity: 0;
54
- }
55
- }
56
- </style>
57
- <script defer="defer" src="main.js"></script></head>
58
- <body class="app">
59
-
60
-
61
-
62
-
63
-
64
-
65
- <div id="loader">
66
- <div class="spinner"></div>
67
- </div>
68
-
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <title>Chat · 2026 Redesign Preview</title>
69
7
  <script>
70
- window.addEventListener('load', function load() {
71
- const loader = document.getElementById('loader');
72
- setTimeout(function() {
73
- loader.classList.add('fadeOut');
74
- }, 300);
75
- });
8
+ (function () {
9
+ try {
10
+ var saved = localStorage.getItem('dash26-theme');
11
+ var prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
12
+ document.documentElement.setAttribute('data-theme', saved || (prefersDark ? 'dark' : 'light'));
13
+ } catch (e) {
14
+ document.documentElement.setAttribute('data-theme', 'light');
15
+ }
16
+ })();
76
17
  </script>
18
+ <script defer="defer" src="runtime.js"></script><script defer="defer" src="vendor-fullcalendar.js"></script><script defer="defer" src="vendor-chartjs.js"></script><script defer="defer" src="vendors.js"></script><script defer="defer" src="2026.js"></script></head>
19
+ <body data-active="chat" data-crumbs="Communications | Chat | Sara Kim">
20
+ <div class="shell">
21
+ <div data-shell-sidebar></div>
22
+ <div class="main">
23
+ <div data-shell-topbar></div>
24
+ <main class="content">
25
+ <section class="hero mail-hero">
26
+ <div class="hero-text">
27
+ <span class="eyebrow">Conversations</span>
28
+ <h1 class="hero-title">Chat <span class="accent">— team</span></h1>
29
+ <p class="hero-sub"><strong>5 conversations</strong> with unread messages · 3 active right now. Sara just typed.</p>
30
+ </div>
31
+ <div class="hero-actions">
32
+ <button class="btn btn--ghost">
33
+ <svg viewBox="0 0 24 24"><circle cx="11" cy="11" r="7"/><path d="m21 21-4.3-4.3"/></svg>
34
+ Search
35
+ </button>
36
+ <button class="btn btn--primary">
37
+ <svg viewBox="0 0 24 24"><path d="M12 5v14M5 12h14"/></svg>
38
+ New chat
39
+ </button>
40
+ </div>
41
+ </section>
42
+
43
+ <section class="chat-shell">
44
+
45
+
46
+ <aside class="chat-rail">
47
+ <div class="chat-rail-head">
48
+ <div class="chat-rail-title-row">
49
+ <div class="chat-rail-title">Direct<span class="meta">12 ACTIVE</span></div>
50
+ <button class="mail-tool" aria-label="New chat" style="width: 28px; height: 28px;">
51
+ <svg viewBox="0 0 24 24" style="width: 14px; height: 14px;" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 5v14M5 12h14"/></svg>
52
+ </button>
53
+ </div>
54
+ <div class="chat-search">
55
+ <svg viewBox="0 0 24 24"><circle cx="11" cy="11" r="7"/><path d="m21 21-4.3-4.3"/></svg>
56
+ <input type="text" placeholder="Search conversations…">
57
+ </div>
58
+ </div>
77
59
 
78
-
79
-
80
- <div>
81
- <!-- #Left Sidebar ==================== -->
82
- <div class="sidebar">
83
- <div class="sidebar-inner">
84
- <!-- ### $Sidebar Header ### -->
85
- <div class="sidebar-logo">
86
- <div class="peers ai-c fxw-nw">
87
- <div class="peer peer-greed">
88
- <a class="sidebar-link td-n" href="index.html">
89
- <div class="peers ai-c fxw-nw">
90
- <div class="peer">
91
- <div class="logo">
92
- <img src="assets/static/images/logo.svg" alt="">
93
- </div>
94
- </div>
95
- <div class="peer peer-greed">
96
- <h5 class="lh-1 mB-0 logo-text">Adminator</h5>
97
- </div>
98
- </div>
99
- </a>
60
+ <div class="chat-list-scroll">
61
+ <div class="chat-conv is-active is-unread">
62
+ <div class="chat-conv-avatar ma-2">SK<span class="presence"></span></div>
63
+ <div class="chat-conv-body">
64
+ <div class="chat-conv-top"><div class="chat-conv-name">Sara Kim</div><div class="chat-conv-time">now</div></div>
65
+ <div class="chat-conv-preview">Sara is typing…</div>
66
+ </div>
67
+ <div class="chat-conv-badge">3</div>
68
+ </div>
69
+ <div class="chat-conv is-unread">
70
+ <div class="chat-conv-avatar ma-3">LR<span class="presence"></span></div>
71
+ <div class="chat-conv-body">
72
+ <div class="chat-conv-top"><div class="chat-conv-name">Leo Reyes</div><div class="chat-conv-time">10:18</div></div>
73
+ <div class="chat-conv-preview">Pushed the dependency upgrade — all green ✅</div>
74
+ </div>
75
+ <div class="chat-conv-badge">2</div>
76
+ </div>
77
+ <div class="chat-conv">
78
+ <div class="chat-conv-avatar ma-4">MD<span class="presence away"></span></div>
79
+ <div class="chat-conv-body">
80
+ <div class="chat-conv-top"><div class="chat-conv-name">Mira Doe</div><div class="chat-conv-time">09:42</div></div>
81
+ <div class="chat-conv-preview">Sounds good — let\'s sync at 2pm.</div>
82
+ </div>
83
+ </div>
84
+ <div class="chat-conv">
85
+ <div class="chat-conv-avatar ma-1">AT<span class="presence"></span></div>
86
+ <div class="chat-conv-body">
87
+ <div class="chat-conv-top"><div class="chat-conv-name">Anya Trent</div><div class="chat-conv-time">Yest</div></div>
88
+ <div class="chat-conv-preview">You: I\'ll review the brand workshop notes tonight</div>
89
+ </div>
90
+ </div>
91
+ <div class="chat-conv">
92
+ <div class="chat-conv-avatar ma-5">PV<span class="presence off"></span></div>
93
+ <div class="chat-conv-body">
94
+ <div class="chat-conv-top"><div class="chat-conv-name">Paolo Vega</div><div class="chat-conv-time">Yest</div></div>
95
+ <div class="chat-conv-preview">Lisbon venue is confirmed for May 22</div>
96
+ </div>
97
+ </div>
98
+ <div class="chat-conv">
99
+ <div class="chat-conv-avatar ma-6">RG<span class="presence off"></span></div>
100
+ <div class="chat-conv-body">
101
+ <div class="chat-conv-top"><div class="chat-conv-name">Rita Gomez</div><div class="chat-conv-time">Tue</div></div>
102
+ <div class="chat-conv-preview">Coffee Tuesday morning?</div>
103
+ </div>
104
+ </div>
105
+ <div class="chat-conv">
106
+ <div class="chat-conv-avatar ma-2">JC<span class="presence away"></span></div>
107
+ <div class="chat-conv-body">
108
+ <div class="chat-conv-top"><div class="chat-conv-name">Jess Choi</div><div class="chat-conv-time">Mon</div></div>
109
+ <div class="chat-conv-preview">Newsletter draft v3 is ready for your eyes</div>
110
+ </div>
100
111
  </div>
101
- <div class="peer">
102
- <div class="mobile-toggle sidebar-toggle">
103
- <a href="" class="td-n">
104
- <i class="ti-arrow-circle-left"></i>
105
- </a>
112
+ <div class="chat-conv">
113
+ <div class="chat-conv-avatar ma-3">FB<span class="presence off"></span></div>
114
+ <div class="chat-conv-body">
115
+ <div class="chat-conv-top"><div class="chat-conv-name">Finance Bot</div><div class="chat-conv-time">Apr 21</div></div>
116
+ <div class="chat-conv-preview">March card statement is available</div>
106
117
  </div>
107
118
  </div>
108
119
  </div>
109
- </div>
110
-
111
- <!-- ### $Sidebar Menu ### -->
112
- <ul class="sidebar-menu scrollable pos-r">
113
- <li class="nav-item mT-30">
114
- <a class="sidebar-link" href="index.html">
115
- <span class="icon-holder">
116
- <i class="c-blue-500 ti-home"></i>
117
- </span>
118
- <span class="title">Dashboard</span>
119
- </a>
120
- </li>
121
- <li class="nav-item">
122
- <a class="sidebar-link" href="email.html">
123
- <span class="icon-holder">
124
- <i class="c-brown-500 ti-email"></i>
125
- </span>
126
- <span class="title">Email</span>
127
- </a>
128
- </li>
129
- <li class="nav-item">
130
- <a class="sidebar-link" href="compose.html">
131
- <span class="icon-holder">
132
- <i class="c-blue-500 ti-share"></i>
133
- </span>
134
- <span class="title">Compose</span>
135
- </a>
136
- </li>
137
- <li class="nav-item">
138
- <a class="sidebar-link" href="calendar.html">
139
- <span class="icon-holder">
140
- <i class="c-deep-orange-500 ti-calendar"></i>
141
- </span>
142
- <span class="title">Calendar</span>
143
- </a>
144
- </li>
145
- <li class="nav-item">
146
- <a class="sidebar-link" href="chat.html">
147
- <span class="icon-holder">
148
- <i class="c-deep-purple-500 ti-comment-alt"></i>
149
- </span>
150
- <span class="title">Chat</span>
151
- </a>
152
- </li>
153
- <li class="nav-item">
154
- <a class="sidebar-link" href="charts.html">
155
- <span class="icon-holder">
156
- <i class="c-indigo-500 ti-bar-chart"></i>
157
- </span>
158
- <span class="title">Charts</span>
159
- </a>
160
- </li>
161
- <li class="nav-item">
162
- <a class="sidebar-link" href="forms.html">
163
- <span class="icon-holder">
164
- <i class="c-light-blue-500 ti-pencil"></i>
165
- </span>
166
- <span class="title">Forms</span>
167
- </a>
168
- </li>
169
- <li class="nav-item dropdown">
170
- <a class="sidebar-link" href="ui.html">
171
- <span class="icon-holder">
172
- <i class="c-pink-500 ti-palette"></i>
173
- </span>
174
- <span class="title">UI Elements</span>
175
- </a>
176
- </li>
177
- <li class="nav-item dropdown">
178
- <a class="dropdown-toggle" href="javascript:void(0);">
179
- <span class="icon-holder">
180
- <i class="c-orange-500 ti-layout-list-thumb"></i>
181
- </span>
182
- <span class="title">Tables</span>
183
- <span class="arrow">
184
- <i class="ti-angle-right"></i>
185
- </span>
186
- </a>
187
- <ul class="dropdown-menu">
188
- <li>
189
- <a class="sidebar-link" href="basic-table.html">Basic Table</a>
190
- </li>
191
- <li>
192
- <a class="sidebar-link" href="datatable.html">Data Table</a>
193
- </li>
194
- </ul>
195
- </li>
196
- <li class="nav-item dropdown">
197
- <a class="dropdown-toggle" href="javascript:void(0);">
198
- <span class="icon-holder">
199
- <i class="c-purple-500 ti-map"></i>
200
- </span>
201
- <span class="title">Maps</span>
202
- <span class="arrow">
203
- <i class="ti-angle-right"></i>
204
- </span>
205
- </a>
206
- <ul class="dropdown-menu">
207
- <li>
208
- <a href="google-maps.html">Google Map</a>
209
- </li>
210
- <li>
211
- <a href="vector-maps.html">Vector Map</a>
212
- </li>
213
- </ul>
214
- </li>
215
- <li class="nav-item dropdown">
216
- <a class="dropdown-toggle" href="javascript:void(0);">
217
- <span class="icon-holder">
218
- <i class="c-red-500 ti-files"></i>
219
- </span>
220
- <span class="title">Pages</span>
221
- <span class="arrow">
222
- <i class="ti-angle-right"></i>
223
- </span>
224
- </a>
225
- <ul class="dropdown-menu">
226
- <li>
227
- <a class="sidebar-link" href="blank.html">Blank</a>
228
- </li>
229
- <li>
230
- <a class="sidebar-link" href="404.html">404</a>
231
- </li>
232
- <li>
233
- <a class="sidebar-link" href="500.html">500</a>
234
- </li>
235
- <li>
236
- <a class="sidebar-link" href="signin.html">Sign In</a>
237
- </li>
238
- <li>
239
- <a class="sidebar-link" href="signup.html">Sign Up</a>
240
- </li>
241
- </ul>
242
- </li>
243
- <li class="nav-item dropdown">
244
- <a class="dropdown-toggle" href="javascript:void(0);">
245
- <span class="icon-holder">
246
- <i class="c-teal-500 ti-view-list-alt"></i>
247
- </span>
248
- <span class="title">Multiple Levels</span>
249
- <span class="arrow">
250
- <i class="ti-angle-right"></i>
251
- </span>
252
- </a>
253
- <ul class="dropdown-menu">
254
- <li class="nav-item dropdown">
255
- <a href="javascript:void(0);">
256
- <span>Menu Item</span>
257
- </a>
258
- </li>
259
- <li class="nav-item dropdown">
260
- <a href="javascript:void(0);">
261
- <span>Menu Item</span>
262
- <span class="arrow">
263
- <i class="ti-angle-right"></i>
264
- </span>
265
- </a>
266
- <ul class="dropdown-menu">
267
- <li>
268
- <a href="javascript:void(0);">Menu Item</a>
269
- </li>
270
- <li>
271
- <a href="javascript:void(0);">Menu Item</a>
272
- </li>
273
- </ul>
274
- </li>
275
- </ul>
276
- </li>
277
- </ul>
278
- </div>
279
- </div>
280
-
281
- <!-- #Main ============================ -->
282
- <div class="page-container">
283
- <!-- ### $Topbar ### -->
284
- <div class="header navbar">
285
- <div class="header-container">
286
- <ul class="nav-left">
287
- <li>
288
- <a id="sidebar-toggle" class="sidebar-toggle" href="javascript:void(0);">
289
- <i class="ti-menu"></i>
290
- </a>
291
- </li>
292
- <li class="search-box">
293
- <a class="search-toggle no-pdd-right" href="javascript:void(0);">
294
- <i class="search-icon ti-search pdd-right-10"></i>
295
- <i class="search-icon-close ti-close pdd-right-10"></i>
296
- </a>
297
- </li>
298
- <li class="search-input">
299
- <input class="form-control" type="text" placeholder="Search...">
300
- </li>
301
- </ul>
302
- <ul class="nav-right">
303
- <li class="notifications dropdown">
304
- <span class="counter bgc-red">3</span>
305
- <a href="" class="dropdown-toggle no-after" data-bs-toggle="dropdown">
306
- <i class="ti-bell"></i>
307
- </a>
120
+ </aside>
121
+
122
+
123
+ <section class="chat-pane">
124
+ <div class="chat-pane-head">
125
+ <div class="av ma-2">SK<span class="presence"></span></div>
126
+ <div class="meta">
127
+ <div class="name">Sara Kim</div>
128
+ <div class="status"><span class="dot"></span> Active now · typing</div>
129
+ </div>
130
+ <div class="chat-pane-head-tools">
131
+ <button class="mail-tool" aria-label="Call"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/></svg></button>
132
+ <button class="mail-tool" aria-label="Video"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"><polygon points="23 7 16 12 23 17 23 7"/><rect x="1" y="5" width="15" height="14" rx="2"/></svg></button>
133
+ <button class="mail-tool" aria-label="Info"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4M12 8h.01"/></svg></button>
134
+ <button class="mail-tool" aria-label="More"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"><circle cx="12" cy="12" r="1"/><circle cx="12" cy="5" r="1"/><circle cx="12" cy="19" r="1"/></svg></button>
135
+ </div>
136
+ </div>
308
137
 
309
- <ul class="dropdown-menu">
310
- <li class="pX-20 pY-15 bdB">
311
- <i class="ti-bell pR-10"></i>
312
- <span class="fsz-sm fw-600 c-grey-900">Notifications</span>
313
- </li>
314
- <li>
315
- <ul class="ovY-a pos-r scrollable lis-n p-0 m-0 fsz-sm">
316
- <li>
317
- <a href="" class="peers fxw-nw td-n p-20 bdB c-grey-800 cH-blue bgcH-grey-100">
318
- <div class="peer mR-15">
319
- <img class="w-3r bdrs-50p" src="https://randomuser.me/api/portraits/men/1.jpg" alt="">
320
- </div>
321
- <div class="peer peer-greed">
322
- <span>
323
- <span class="fw-500">John Doe</span>
324
- <span class="c-grey-600">liked your <span class="text-dark">post</span>
325
- </span>
326
- </span>
327
- <p class="m-0">
328
- <small class="fsz-xs">5 mins ago</small>
329
- </p>
330
- </div>
331
- </a>
332
- </li>
333
- <li>
334
- <a href="" class="peers fxw-nw td-n p-20 bdB c-grey-800 cH-blue bgcH-grey-100">
335
- <div class="peer mR-15">
336
- <img class="w-3r bdrs-50p" src="https://randomuser.me/api/portraits/men/2.jpg" alt="">
337
- </div>
338
- <div class="peer peer-greed">
339
- <span>
340
- <span class="fw-500">Moo Doe</span>
341
- <span class="c-grey-600">liked your <span class="text-dark">cover image</span>
342
- </span>
343
- </span>
344
- <p class="m-0">
345
- <small class="fsz-xs">7 mins ago</small>
346
- </p>
347
- </div>
348
- </a>
349
- </li>
350
- <li>
351
- <a href="" class="peers fxw-nw td-n p-20 bdB c-grey-800 cH-blue bgcH-grey-100">
352
- <div class="peer mR-15">
353
- <img class="w-3r bdrs-50p" src="https://randomuser.me/api/portraits/men/3.jpg" alt="">
354
- </div>
355
- <div class="peer peer-greed">
356
- <span>
357
- <span class="fw-500">Lee Doe</span>
358
- <span class="c-grey-600">commented on your <span class="text-dark">video</span>
359
- </span>
360
- </span>
361
- <p class="m-0">
362
- <small class="fsz-xs">10 mins ago</small>
363
- </p>
364
- </div>
365
- </a>
366
- </li>
367
- </ul>
368
- </li>
369
- <li class="pX-20 pY-15 ta-c bdT">
370
- <span>
371
- <a href="" class="c-grey-600 cH-blue fsz-sm td-n">View All Notifications <i class="ti-angle-right fsz-xs mL-10"></i></a>
372
- </span>
373
- </li>
374
- </ul>
375
- </li>
376
- <li class="notifications dropdown">
377
- <span class="counter bgc-blue">3</span>
378
- <a href="" class="dropdown-toggle no-after" data-bs-toggle="dropdown">
379
- <i class="ti-email"></i>
380
- </a>
138
+ <div class="chat-thread">
139
+ <div class="chat-day-sep">Yesterday</div>
140
+ <div class="chat-msg">
141
+ <div class="chat-msg-av ma-2">SK</div>
142
+ <div class="chat-msg-stack">
143
+ <div class="chat-bub">Hey John — got a minute to look at the Q2 launch deck?</div>
144
+ <div class="chat-msg-meta">15:42</div>
145
+ </div>
146
+ </div>
147
+ <div class="chat-msg me">
148
+ <div class="chat-msg-av me">JD</div>
149
+ <div class="chat-msg-stack">
150
+ <div class="chat-bub">Sure, send it over.</div>
151
+ <div class="chat-msg-meta">15:45 · <span class="read">Read</span></div>
152
+ </div>
153
+ </div>
154
+ <div class="chat-msg">
155
+ <div class="chat-msg-av ma-2">SK</div>
156
+ <div class="chat-msg-stack">
157
+ <div class="chat-bub">Sent in email — but here\'s the summary: pricing section needs your call before Thursday.</div>
158
+ <div class="chat-msg-meta">15:46</div>
159
+ </div>
160
+ </div>
381
161
 
382
- <ul class="dropdown-menu">
383
- <li class="pX-20 pY-15 bdB">
384
- <i class="ti-email pR-10"></i>
385
- <span class="fsz-sm fw-600 c-grey-900">Emails</span>
386
- </li>
387
- <li>
388
- <ul class="ovY-a pos-r scrollable lis-n p-0 m-0 fsz-sm">
389
- <li>
390
- <a href="" class="peers fxw-nw td-n p-20 bdB c-grey-800 cH-blue bgcH-grey-100">
391
- <div class="peer mR-15">
392
- <img class="w-3r bdrs-50p" src="https://randomuser.me/api/portraits/men/1.jpg" alt="">
393
- </div>
394
- <div class="peer peer-greed">
395
- <div>
396
- <div class="peers jc-sb fxw-nw mB-5">
397
- <div class="peer">
398
- <p class="fw-500 mB-0">John Doe</p>
399
- </div>
400
- <div class="peer">
401
- <small class="fsz-xs">5 mins ago</small>
402
- </div>
403
- </div>
404
- <span class="c-grey-600 fsz-sm">
405
- Want to create your own customized data generator for your app...
406
- </span>
407
- </div>
408
- </div>
409
- </a>
410
- </li>
411
- <li>
412
- <a href="" class="peers fxw-nw td-n p-20 bdB c-grey-800 cH-blue bgcH-grey-100">
413
- <div class="peer mR-15">
414
- <img class="w-3r bdrs-50p" src="https://randomuser.me/api/portraits/men/2.jpg" alt="">
415
- </div>
416
- <div class="peer peer-greed">
417
- <div>
418
- <div class="peers jc-sb fxw-nw mB-5">
419
- <div class="peer">
420
- <p class="fw-500 mB-0">Moo Doe</p>
421
- </div>
422
- <div class="peer">
423
- <small class="fsz-xs">15 mins ago</small>
424
- </div>
425
- </div>
426
- <span class="c-grey-600 fsz-sm">
427
- Want to create your own customized data generator for your app...
428
- </span>
429
- </div>
430
- </div>
431
- </a>
432
- </li>
433
- <li>
434
- <a href="" class="peers fxw-nw td-n p-20 bdB c-grey-800 cH-blue bgcH-grey-100">
435
- <div class="peer mR-15">
436
- <img class="w-3r bdrs-50p" src="https://randomuser.me/api/portraits/men/3.jpg" alt="">
437
- </div>
438
- <div class="peer peer-greed">
439
- <div>
440
- <div class="peers jc-sb fxw-nw mB-5">
441
- <div class="peer">
442
- <p class="fw-500 mB-0">Lee Doe</p>
443
- </div>
444
- <div class="peer">
445
- <small class="fsz-xs">25 mins ago</small>
446
- </div>
447
- </div>
448
- <span class="c-grey-600 fsz-sm">
449
- Want to create your own customized data generator for your app...
450
- </span>
451
- </div>
452
- </div>
453
- </a>
454
- </li>
455
- </ul>
456
- </li>
457
- <li class="pX-20 pY-15 ta-c bdT">
458
- <span>
459
- <a href="email.html" class="c-grey-600 cH-blue fsz-sm td-n">View All Email <i class="fs-xs ti-angle-right mL-10"></i></a>
460
- </span>
461
- </li>
462
- </ul>
463
- </li>
464
- <li class="dropdown">
465
- <a href="" class="dropdown-toggle no-after peers fxw-nw ai-c lh-1" data-bs-toggle="dropdown">
466
- <div class="peer mR-10">
467
- <img class="w-2r bdrs-50p" src="https://randomuser.me/api/portraits/men/10.jpg" alt="">
468
- </div>
469
- <div class="peer">
470
- <span class="fsz-sm c-grey-900">John Doe</span>
162
+ <div class="chat-day-sep">Today</div>
163
+ <div class="chat-msg">
164
+ <div class="chat-msg-av ma-2">SK</div>
165
+ <div class="chat-msg-stack">
166
+ <div class="chat-bub">Morning! Did you get a chance to review the deck?</div>
167
+ <div class="chat-msg-meta">09:14</div>
168
+ </div>
169
+ </div>
170
+ <div class="chat-msg me">
171
+ <div class="chat-msg-av me">JD</div>
172
+ <div class="chat-msg-stack">
173
+ <div class="chat-bub">Just finishing it now — the new pricing tiers look strong. One thought: can we A/B test the "Team" plan name?</div>
174
+ <div class="chat-msg-meta">09:32 · <span class="read">Read</span></div>
175
+ </div>
176
+ </div>
177
+ <div class="chat-msg">
178
+ <div class="chat-msg-av ma-2">SK</div>
179
+ <div class="chat-msg-stack">
180
+ <div class="chat-bub">Definitely — I\'ll spin up the test variants this afternoon.</div>
181
+ <div class="chat-bub">Also, Mira pushed back on the "Studio" name. Want to sync briefly?</div>
182
+ <div class="chat-msg-meta">09:38</div>
183
+ </div>
184
+ </div>
185
+ <div class="chat-msg me">
186
+ <div class="chat-msg-av me">JD</div>
187
+ <div class="chat-msg-stack">
188
+ <div class="chat-bub">Yes — drop a 15-min slot on my cal.</div>
189
+ <div class="chat-msg-meta">09:41 · <span class="read">Read</span></div>
190
+ </div>
191
+ </div>
192
+ <div class="chat-msg">
193
+ <div class="chat-msg-av ma-2">SK</div>
194
+ <div class="chat-msg-stack">
195
+ <div class="chat-bub" style="background: var(--bg-card); color: var(--t-base);">
196
+ 📅 Calendar invite · <strong>Pricing sync</strong><br>
197
+ <span style="font-size: 12px; color: var(--t-muted);">Today · 14:00 — 14:15 · Zoom</span>
471
198
  </div>
472
- </a>
473
- <ul class="dropdown-menu fsz-sm">
474
- <li>
475
- <a href="" class="d-b td-n pY-5 bgcH-grey-100 c-grey-700">
476
- <i class="ti-settings mR-10"></i>
477
- <span>Setting</span>
478
- </a>
479
- </li>
480
- <li>
481
- <a href="" class="d-b td-n pY-5 bgcH-grey-100 c-grey-700">
482
- <i class="ti-user mR-10"></i>
483
- <span>Profile</span>
484
- </a>
485
- </li>
486
- <li>
487
- <a href="email.html" class="d-b td-n pY-5 bgcH-grey-100 c-grey-700">
488
- <i class="ti-email mR-10"></i>
489
- <span>Messages</span>
490
- </a>
491
- </li>
492
- <li role="separator" class="divider"></li>
493
- <li>
494
- <a href="" class="d-b td-n pY-5 bgcH-grey-100 c-grey-700">
495
- <i class="ti-power-off mR-10"></i>
496
- <span>Logout</span>
497
- </a>
498
- </li>
499
- </ul>
500
- </li>
501
- </ul>
502
- </div>
503
- </div>
504
-
505
- <!-- ### $App Screen Content ### -->
506
- <main class="main-content bgc-grey-100">
507
- <div id="mainContent">
508
- <div class="full-container">
509
- <div class="peers fxw-nw pos-r">
510
-
511
- <div class="peer bdR" id="chat-sidebar">
512
- <div class="layers h-100">
513
-
514
- <div class="bdB layer w-100">
515
- <input type="text" placeholder="Search contacts..." name="chatSearch" class="form-constrol p-15 bdrs-0 w-100 bdw-0">
516
- </div>
517
-
518
-
519
- <div class="layer w-100 fxg-1 scrollable pos-r">
520
- <div class="peers fxw-nw ai-c p-20 bdB bgc-white bgcH-grey-50 cur-p">
521
- <div class="peer">
522
- <img src="https://randomuser.me/api/portraits/men/1.jpg" alt="" class="w-3r h-3r bdrs-50p">
523
- </div>
524
- <div class="peer peer-greed pL-20">
525
- <h6 class="mB-0 lh-1 fw-400">John Doe</h6>
526
- <small class="lh-1 c-green-500">Online</small>
527
- </div>
528
- </div>
529
- <div class="peers fxw-nw ai-c p-20 bdB bgc-white bgcH-grey-50 cur-p">
530
- <div class="peer">
531
- <img src="https://randomuser.me/api/portraits/men/2.jpg" alt="" class="w-3r h-3r bdrs-50p">
532
- </div>
533
- <div class="peer peer-greed pL-20">
534
- <h6 class="mB-0 lh-1 fw-400">Moo Doe</h6>
535
- <small class="lh-1 c-amber-500">Away</small>
536
- </div>
537
- </div>
538
- <div class="peers fxw-nw ai-c p-20 bdB bgc-white bgcH-grey-50 cur-p">
539
- <div class="peer">
540
- <img src="https://randomuser.me/api/portraits/men/3.jpg" alt="" class="w-3r h-3r bdrs-50p">
541
- </div>
542
- <div class="peer peer-greed pL-20">
543
- <h6 class="mB-0 lh-1 fw-400">Adam Jones</h6>
544
- <small class="lh-1 c-grey-500">Offline</small>
545
- </div>
546
- </div>
547
- <div class="peers fxw-nw ai-c p-20 bdB bgc-white bgcH-grey-50 cur-p">
548
- <div class="peer">
549
- <img src="https://randomuser.me/api/portraits/men/4.jpg" alt="" class="w-3r h-3r bdrs-50p">
550
- </div>
551
- <div class="peer peer-greed pL-20">
552
- <h6 class="mB-0 lh-1 fw-400">Mizo Doe</h6>
553
- <small class="lh-1 c-red-500">Busy</small>
554
- </div>
555
- </div>
556
- <div class="peers fxw-nw ai-c p-20 bdB bgc-white bgcH-grey-50 cur-p">
557
- <div class="peer">
558
- <img src="https://randomuser.me/api/portraits/men/1.jpg" alt="" class="w-3r h-3r bdrs-50p">
559
- </div>
560
- <div class="peer peer-greed pL-20">
561
- <h6 class="mB-0 lh-1 fw-400">John Doe</h6>
562
- <small class="lh-1 c-green-500">Online</small>
563
- </div>
564
- </div>
565
- <div class="peers fxw-nw ai-c p-20 bdB bgc-white bgcH-grey-50 cur-p">
566
- <div class="peer">
567
- <img src="https://randomuser.me/api/portraits/men/2.jpg" alt="" class="w-3r h-3r bdrs-50p">
568
- </div>
569
- <div class="peer peer-greed pL-20">
570
- <h6 class="mB-0 lh-1 fw-400">Moo Doe</h6>
571
- <small class="lh-1 c-amber-500">Away</small>
572
- </div>
573
- </div>
574
- <div class="peers fxw-nw ai-c p-20 bdB bgc-white bgcH-grey-50 cur-p">
575
- <div class="peer">
576
- <img src="https://randomuser.me/api/portraits/men/3.jpg" alt="" class="w-3r h-3r bdrs-50p">
577
- </div>
578
- <div class="peer peer-greed pL-20">
579
- <h6 class="mB-0 lh-1 fw-400">Adam Jones</h6>
580
- <small class="lh-1 c-grey-500">Offline</small>
581
- </div>
582
- </div>
583
- <div class="peers fxw-nw ai-c p-20 bdB bgc-white bgcH-grey-50 cur-p">
584
- <div class="peer">
585
- <img src="https://randomuser.me/api/portraits/men/4.jpg" alt="" class="w-3r h-3r bdrs-50p">
586
- </div>
587
- <div class="peer peer-greed pL-20">
588
- <h6 class="mB-0 lh-1 fw-400">Mizo Doe</h6>
589
- <small class="lh-1 c-red-500">Busy</small>
590
- </div>
591
- </div>
592
- </div>
199
+ <div class="chat-msg-meta">10:18</div>
200
+ </div>
201
+ </div>
202
+ <div class="chat-msg">
203
+ <div class="chat-msg-av ma-2">SK</div>
204
+ <div class="chat-msg-stack">
205
+ <div class="chat-typing">
206
+ <span>Sara is typing</span>
207
+ <span class="chat-typing-dots"><span></span><span></span><span></span></span>
593
208
  </div>
594
209
  </div>
210
+ </div>
211
+ </div>
595
212
 
596
-
597
- <div class="peer peer-greed" id="chat-box">
598
- <div class="layers h-100">
599
- <div class="layer w-100">
600
-
601
- <div class="peers fxw-nw jc-sb ai-c pY-20 pX-30 bgc-white">
602
- <div class="peers ai-c">
603
- <div class="peer d-n@md+">
604
- <a href="" title="" id="chat-sidebar-toggle" class="td-n c-grey-900 cH-blue-500 mR-30">
605
- <i class="ti-menu"></i>
606
- </a>
607
- </div>
608
- <div class="peer mR-20">
609
- <img src="https://randomuser.me/api/portraits/men/12.jpg" alt="" class="w-3r h-3r bdrs-50p">
610
- </div>
611
- <div class="peer">
612
- <h6 class="lh-1 mB-0">John Doe</h6>
613
- <i class="fsz-sm lh-1">Typing...</i>
614
- </div>
615
- </div>
616
- <div class="peers">
617
- <a href="" class="peer td-n c-grey-900 cH-blue-500 fsz-md mR-30" title="">
618
- <i class="ti-video-camera"></i>
619
- </a>
620
- <a href="" class="peer td-n c-grey-900 cH-blue-500 fsz-md mR-30" title="">
621
- <i class="ti-headphone"></i>
622
- </a>
623
- <a href="" class="peer td-n c-grey-900 cH-blue-500 fsz-md" title="">
624
- <i class="ti-more"></i>
625
- </a>
626
- </div>
627
- </div>
628
- </div>
629
- <div class="layer w-100 fxg-1 bgc-grey-200 scrollable pos-r">
630
-
631
- <div class="p-20 gapY-15">
632
-
633
- <div class="peers fxw-nw">
634
- <div class="peer mR-20">
635
- <img class="w-2r bdrs-50p" src="https://randomuser.me/api/portraits/men/11.jpg" alt="">
636
- </div>
637
- <div class="peer peer-greed">
638
- <div class="layers ai-fs gapY-5">
639
- <div class="layer">
640
- <div class="peers fxw-nw ai-c pY-3 pX-10 bgc-white bdrs-2 lh-3/2">
641
- <div class="peer mR-10">
642
- <small>10:00 AM</small>
643
- </div>
644
- <div class="peer-greed">
645
- <span>Lorem Ipsum is simply dummy text of</span>
646
- </div>
647
- </div>
648
- </div>
649
- <div class="layer">
650
- <div class="peers fxw-nw ai-c pY-3 pX-10 bgc-white bdrs-2 lh-3/2">
651
- <div class="peer mR-10">
652
- <small>10:00 AM</small>
653
- </div>
654
- <div class="peer-greed">
655
- <span>the printing and typesetting industry.</span>
656
- </div>
657
- </div>
658
- </div>
659
- <div class="layer">
660
- <div class="peers fxw-nw ai-c pY-3 pX-10 bgc-white bdrs-2 lh-3/2">
661
- <div class="peer mR-10">
662
- <small>10:00 AM</small>
663
- </div>
664
- <div class="peer-greed">
665
- <span>Lorem Ipsum has been the industry's</span>
666
- </div>
667
- </div>
668
- </div>
669
- </div>
670
- </div>
671
- </div>
672
-
673
-
674
- <div class="peers fxw-nw ai-fe">
675
- <div class="peer ord-1 mL-20">
676
- <img class="w-2r bdrs-50p" src="https://randomuser.me/api/portraits/men/12.jpg" alt="">
677
- </div>
678
- <div class="peer peer-greed ord-0">
679
- <div class="layers ai-fe gapY-10">
680
- <div class="layer">
681
- <div class="peers fxw-nw ai-c pY-3 pX-10 bgc-white bdrs-2 lh-3/2">
682
- <div class="peer mL-10 ord-1">
683
- <small>10:00 AM</small>
684
- </div>
685
- <div class="peer-greed ord-0">
686
- <span>Heloo</span>
687
- </div>
688
- </div>
689
- </div>
690
- <div class="layer">
691
- <div class="peers fxw-nw ai-c pY-3 pX-10 bgc-white bdrs-2 lh-3/2">
692
- <div class="peer mL-10 ord-1">
693
- <small>10:00 AM</small>
694
- </div>
695
- <div class="peer-greed ord-0">
696
- <span>??</span>
697
- </div>
698
- </div>
699
- </div>
700
- </div>
701
- </div>
702
- </div>
703
- </div>
704
- </div>
705
- <div class="layer w-100">
706
-
707
- <div class="p-20 bdT bgc-white">
708
- <div class="pos-r">
709
- <input type="text" class="form-control bdrs-10em m-0" placeholder="Say something...">
710
- <button type="button" class="btn btn-primary bdrs-50p w-2r p-0 h-2r pos-a r-1 t-1 btn-color">
711
- <i class="fa fa-paper-plane-o"></i>
712
- </button>
713
- </div>
714
- </div>
715
- </div>
716
- </div>
213
+ <div class="chat-composer">
214
+ <div class="chat-composer-input">
215
+ <textarea placeholder="Reply to Sara…" rows="1"></textarea>
216
+ <div class="chat-composer-tools">
217
+ <button class="tool" aria-label="Attach"><svg viewBox="0 0 24 24"><path d="m21 12-9 9a6 6 0 0 1-8-8l9-9a4 4 0 0 1 6 6l-9 9a2 2 0 0 1-3-3l9-9"/></svg></button>
218
+ <button class="tool" aria-label="Emoji"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><path d="M8 14s1.5 2 4 2 4-2 4-2M9 9h.01M15 9h.01"/></svg></button>
219
+ <button class="tool" aria-label="Mention"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="4"/><path d="M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94"/></svg></button>
717
220
  </div>
221
+ <button class="chat-composer-send" aria-label="Send">
222
+ <svg viewBox="0 0 24 24"><path d="m22 2-7 20-4-9-9-4z"/><path d="M22 2 11 13"/></svg>
223
+ </button>
718
224
  </div>
719
225
  </div>
720
- </div>
226
+ </section>
227
+ </section>
721
228
  </main>
722
-
723
- <!-- ### $App Screen Footer ### -->
724
- <footer class="bdT ta-c p-30 lh-0 fsz-sm c-grey-600">
725
- <span>Copyright © 2025 Designed by <a href="https://colorlib.com" target="_blank" rel="nofollow noopener noreferrer" title="Colorlib">Colorlib</a>. All rights reserved.</span>
726
- </footer>
229
+ <div data-shell-footer></div>
727
230
  </div>
728
231
  </div>
729
232
  </body>