@armoyu/ui 1.0.7 → 1.0.8

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 (391) hide show
  1. package/dist/app/api/proxy/[...path]/route.d.ts +1 -0
  2. package/dist/app/api/proxy/[...path]/route.d.ts.map +1 -1
  3. package/dist/app/api/proxy/[...path]/route.js +39 -3
  4. package/dist/app/api/proxy/[...path]/route.js.map +1 -1
  5. package/dist/app/gruplar/[groupId]/page.d.ts +2 -0
  6. package/dist/app/gruplar/[groupId]/page.d.ts.map +1 -0
  7. package/dist/app/gruplar/[groupId]/page.js +10 -0
  8. package/dist/app/gruplar/[groupId]/page.js.map +1 -0
  9. package/dist/app/layout.d.ts +1 -0
  10. package/dist/app/layout.d.ts.map +1 -1
  11. package/dist/app/layout.js +3 -1
  12. package/dist/app/layout.js.map +1 -1
  13. package/dist/app/not-found.d.ts +2 -0
  14. package/dist/app/not-found.d.ts.map +1 -0
  15. package/dist/app/not-found.js +7 -0
  16. package/dist/app/not-found.js.map +1 -0
  17. package/dist/app/page.d.ts.map +1 -1
  18. package/dist/app/page.js +15 -19
  19. package/dist/app/page.js.map +1 -1
  20. package/dist/components/modules/chat/ChatContainer.d.ts.map +1 -1
  21. package/dist/components/modules/chat/ChatContainer.js +198 -196
  22. package/dist/components/modules/chat/ChatContainer.js.map +1 -1
  23. package/dist/components/modules/chat/ChatLayout.d.ts +2 -0
  24. package/dist/components/modules/chat/ChatLayout.d.ts.map +1 -0
  25. package/dist/components/modules/chat/ChatLayout.js +190 -0
  26. package/dist/components/modules/chat/ChatLayout.js.map +1 -0
  27. package/dist/components/modules/chat/ChatList.d.ts +1 -1
  28. package/dist/components/modules/chat/ChatList.d.ts.map +1 -1
  29. package/dist/components/modules/chat/ChatList.js +52 -51
  30. package/dist/components/modules/chat/ChatList.js.map +1 -1
  31. package/dist/components/modules/chat/widgets/ChatInput.d.ts +5 -0
  32. package/dist/components/modules/chat/widgets/ChatInput.d.ts.map +1 -0
  33. package/dist/components/modules/chat/widgets/ChatInput.js +31 -0
  34. package/dist/components/modules/chat/widgets/ChatInput.js.map +1 -0
  35. package/dist/components/modules/chat/widgets/ChatList.d.ts +7 -0
  36. package/dist/components/modules/chat/widgets/ChatList.d.ts.map +1 -0
  37. package/dist/components/modules/chat/widgets/ChatList.js +53 -0
  38. package/dist/components/modules/chat/widgets/ChatList.js.map +1 -0
  39. package/dist/components/modules/chat/widgets/ChatMessage.d.ts +12 -0
  40. package/dist/components/modules/chat/widgets/ChatMessage.d.ts.map +1 -0
  41. package/dist/components/modules/chat/widgets/ChatMessage.js +7 -0
  42. package/dist/components/modules/chat/widgets/ChatMessage.js.map +1 -0
  43. package/dist/components/modules/chat/widgets/ChatNotes.d.ts +2 -0
  44. package/dist/components/modules/chat/widgets/ChatNotes.d.ts.map +1 -0
  45. package/dist/components/modules/chat/widgets/ChatNotes.js +12 -0
  46. package/dist/components/modules/chat/widgets/ChatNotes.js.map +1 -0
  47. package/dist/components/modules/community/CommunityLayout.d.ts +7 -0
  48. package/dist/components/modules/community/CommunityLayout.d.ts.map +1 -0
  49. package/dist/components/modules/community/CommunityLayout.js +137 -0
  50. package/dist/components/modules/community/CommunityLayout.js.map +1 -0
  51. package/dist/components/modules/community/GroupHeader.d.ts.map +1 -1
  52. package/dist/components/modules/community/GroupHeader.js +17 -17
  53. package/dist/components/modules/community/GroupHeader.js.map +1 -1
  54. package/dist/components/modules/community/GroupProfileContent.d.ts +1 -0
  55. package/dist/components/modules/community/GroupProfileContent.d.ts.map +1 -1
  56. package/dist/components/modules/community/GroupProfileContent.js +85 -61
  57. package/dist/components/modules/community/GroupProfileContent.js.map +1 -1
  58. package/dist/components/modules/community/widgets/GroupAboutCard.d.ts.map +1 -1
  59. package/dist/components/modules/community/widgets/GroupAboutCard.js +2 -1
  60. package/dist/components/modules/community/widgets/GroupAboutCard.js.map +1 -1
  61. package/dist/components/modules/community/widgets/GroupEventsList.d.ts.map +1 -1
  62. package/dist/components/modules/community/widgets/GroupEventsList.js +2 -2
  63. package/dist/components/modules/community/widgets/GroupEventsList.js.map +1 -1
  64. package/dist/components/modules/community/widgets/GroupFeedSection.d.ts.map +1 -1
  65. package/dist/components/modules/community/widgets/GroupFeedSection.js +3 -2
  66. package/dist/components/modules/community/widgets/GroupFeedSection.js.map +1 -1
  67. package/dist/components/modules/community/widgets/GroupHeader.d.ts +11 -0
  68. package/dist/components/modules/community/widgets/GroupHeader.d.ts.map +1 -0
  69. package/dist/components/modules/community/widgets/GroupHeader.js +18 -0
  70. package/dist/components/modules/community/widgets/GroupHeader.js.map +1 -0
  71. package/dist/components/modules/community/widgets/GroupMenu.d.ts +10 -0
  72. package/dist/components/modules/community/widgets/GroupMenu.d.ts.map +1 -0
  73. package/dist/components/modules/community/widgets/GroupMenu.js +17 -0
  74. package/dist/components/modules/community/widgets/GroupMenu.js.map +1 -0
  75. package/dist/components/modules/community/widgets/GroupPermissions.d.ts.map +1 -1
  76. package/dist/components/modules/community/widgets/GroupPermissions.js +2 -2
  77. package/dist/components/modules/community/widgets/GroupPermissions.js.map +1 -1
  78. package/dist/components/modules/community/widgets/GroupStatsGrid.d.ts.map +1 -1
  79. package/dist/components/modules/community/widgets/GroupStatsGrid.js +8 -6
  80. package/dist/components/modules/community/widgets/GroupStatsGrid.js.map +1 -1
  81. package/dist/components/modules/community/widgets/GroupTopMembers.d.ts.map +1 -1
  82. package/dist/components/modules/community/widgets/GroupTopMembers.js +2 -1
  83. package/dist/components/modules/community/widgets/GroupTopMembers.js.map +1 -1
  84. package/dist/components/modules/community/widgets/SchoolCard.d.ts +7 -0
  85. package/dist/components/modules/community/widgets/SchoolCard.d.ts.map +1 -0
  86. package/dist/components/modules/community/widgets/SchoolCard.js +8 -0
  87. package/dist/components/modules/community/widgets/SchoolCard.js.map +1 -0
  88. package/dist/components/modules/community/widgets/SurveyCard.d.ts +8 -0
  89. package/dist/components/modules/community/widgets/SurveyCard.d.ts.map +1 -0
  90. package/dist/components/modules/community/widgets/SurveyCard.js +25 -0
  91. package/dist/components/modules/community/widgets/SurveyCard.js.map +1 -0
  92. package/dist/components/modules/forum/widgets/ForumBoard.d.ts +17 -0
  93. package/dist/components/modules/forum/widgets/ForumBoard.d.ts.map +1 -0
  94. package/dist/components/modules/forum/widgets/ForumBoard.js +7 -0
  95. package/dist/components/modules/forum/widgets/ForumBoard.js.map +1 -0
  96. package/dist/components/modules/forum/widgets/ForumCategoryList.js +1 -1
  97. package/dist/components/modules/forum/widgets/ForumCategoryList.js.map +1 -1
  98. package/dist/components/modules/forum/widgets/ForumPost.d.ts +14 -0
  99. package/dist/components/modules/forum/widgets/ForumPost.d.ts.map +1 -0
  100. package/dist/components/modules/forum/widgets/ForumPost.js +6 -0
  101. package/dist/components/modules/forum/widgets/ForumPost.js.map +1 -0
  102. package/dist/components/modules/forum/widgets/NewTopicModal.d.ts +8 -0
  103. package/dist/components/modules/forum/widgets/NewTopicModal.d.ts.map +1 -0
  104. package/dist/components/modules/forum/widgets/NewTopicModal.js +27 -0
  105. package/dist/components/modules/forum/widgets/NewTopicModal.js.map +1 -0
  106. package/dist/components/modules/forum/widgets/TopicItem.d.ts +16 -0
  107. package/dist/components/modules/forum/widgets/TopicItem.d.ts.map +1 -0
  108. package/dist/components/modules/forum/widgets/TopicItem.js +7 -0
  109. package/dist/components/modules/forum/widgets/TopicItem.js.map +1 -0
  110. package/dist/components/modules/galleries/widgets/GalleryCard.d.ts +10 -0
  111. package/dist/components/modules/galleries/widgets/GalleryCard.d.ts.map +1 -0
  112. package/dist/components/modules/galleries/widgets/GalleryCard.js +6 -0
  113. package/dist/components/modules/galleries/widgets/GalleryCard.js.map +1 -0
  114. package/dist/components/modules/giveaways/widgets/GiveawayCard.d.ts +10 -0
  115. package/dist/components/modules/giveaways/widgets/GiveawayCard.d.ts.map +1 -0
  116. package/dist/components/modules/giveaways/widgets/GiveawayCard.js +7 -0
  117. package/dist/components/modules/giveaways/widgets/GiveawayCard.js.map +1 -0
  118. package/dist/components/modules/groups/GroupCard.d.ts +13 -12
  119. package/dist/components/modules/groups/GroupCard.d.ts.map +1 -1
  120. package/dist/components/modules/groups/GroupCard.js +7 -6
  121. package/dist/components/modules/groups/GroupCard.js.map +1 -1
  122. package/dist/components/modules/groups/widgets/ApplicationModal.d.ts +8 -0
  123. package/dist/components/modules/groups/widgets/ApplicationModal.d.ts.map +1 -0
  124. package/dist/components/modules/groups/widgets/ApplicationModal.js +28 -0
  125. package/dist/components/modules/groups/widgets/ApplicationModal.js.map +1 -0
  126. package/dist/components/modules/groups/widgets/GroupCard.d.ts +14 -0
  127. package/dist/components/modules/groups/widgets/GroupCard.d.ts.map +1 -0
  128. package/dist/components/modules/groups/widgets/GroupCard.js +8 -0
  129. package/dist/components/modules/groups/widgets/GroupCard.js.map +1 -0
  130. package/dist/components/modules/guest/widgets/Introduction.d.ts +2 -0
  131. package/dist/components/modules/guest/widgets/Introduction.d.ts.map +1 -0
  132. package/dist/components/modules/guest/widgets/Introduction.js +15 -0
  133. package/dist/components/modules/guest/widgets/Introduction.js.map +1 -0
  134. package/dist/components/modules/news/widgets/NewsCard.d.ts +12 -0
  135. package/dist/components/modules/news/widgets/NewsCard.d.ts.map +1 -0
  136. package/dist/components/modules/news/widgets/NewsCard.js +7 -0
  137. package/dist/components/modules/news/widgets/NewsCard.js.map +1 -0
  138. package/dist/components/modules/news/widgets/NewsComments.d.ts +4 -0
  139. package/dist/components/modules/news/widgets/NewsComments.d.ts.map +1 -0
  140. package/dist/components/modules/news/widgets/NewsComments.js +6 -0
  141. package/dist/components/modules/news/widgets/NewsComments.js.map +1 -0
  142. package/dist/components/modules/posts/MediaLightbox.d.ts +14 -0
  143. package/dist/components/modules/posts/MediaLightbox.d.ts.map +1 -0
  144. package/dist/components/modules/posts/MediaLightbox.js +47 -0
  145. package/dist/components/modules/posts/MediaLightbox.js.map +1 -0
  146. package/dist/components/modules/posts/PostCard.d.ts +26 -0
  147. package/dist/components/modules/posts/PostCard.d.ts.map +1 -0
  148. package/dist/components/modules/posts/PostCard.js +116 -0
  149. package/dist/components/modules/posts/PostCard.js.map +1 -0
  150. package/dist/components/modules/posts/PostInteractionsModal.d.ts +12 -0
  151. package/dist/components/modules/posts/PostInteractionsModal.d.ts.map +1 -0
  152. package/dist/components/modules/posts/PostInteractionsModal.js +13 -0
  153. package/dist/components/modules/posts/PostInteractionsModal.js.map +1 -0
  154. package/dist/components/modules/posts/RepostModal.d.ts +22 -0
  155. package/dist/components/modules/posts/RepostModal.d.ts.map +1 -0
  156. package/dist/components/modules/posts/RepostModal.js +76 -0
  157. package/dist/components/modules/posts/RepostModal.js.map +1 -0
  158. package/dist/components/modules/posts/Stories.d.ts +2 -0
  159. package/dist/components/modules/posts/Stories.d.ts.map +1 -0
  160. package/dist/components/modules/posts/Stories.js +16 -0
  161. package/dist/components/modules/posts/Stories.js.map +1 -0
  162. package/dist/components/modules/posts/StoryViewer.d.ts +10 -0
  163. package/dist/components/modules/posts/StoryViewer.d.ts.map +1 -0
  164. package/dist/components/modules/posts/StoryViewer.js +48 -0
  165. package/dist/components/modules/posts/StoryViewer.js.map +1 -0
  166. package/dist/components/modules/posts/reels/ReelCard.d.ts +16 -0
  167. package/dist/components/modules/posts/reels/ReelCard.d.ts.map +1 -0
  168. package/dist/components/modules/posts/reels/ReelCard.js +70 -0
  169. package/dist/components/modules/posts/reels/ReelCard.js.map +1 -0
  170. package/dist/components/modules/posts/reels/ReelsContainer.d.ts +8 -0
  171. package/dist/components/modules/posts/reels/ReelsContainer.d.ts.map +1 -0
  172. package/dist/components/modules/posts/reels/ReelsContainer.js +37 -0
  173. package/dist/components/modules/posts/reels/ReelsContainer.js.map +1 -0
  174. package/dist/components/modules/posts/widgets/MediaLightbox.d.ts +14 -0
  175. package/dist/components/modules/posts/widgets/MediaLightbox.d.ts.map +1 -0
  176. package/dist/components/modules/posts/widgets/MediaLightbox.js +47 -0
  177. package/dist/components/modules/posts/widgets/MediaLightbox.js.map +1 -0
  178. package/dist/components/modules/posts/widgets/PostCard.d.ts +26 -0
  179. package/dist/components/modules/posts/widgets/PostCard.d.ts.map +1 -0
  180. package/dist/components/modules/posts/widgets/PostCard.js +116 -0
  181. package/dist/components/modules/posts/widgets/PostCard.js.map +1 -0
  182. package/dist/components/modules/posts/widgets/PostInteractionsModal.d.ts +12 -0
  183. package/dist/components/modules/posts/widgets/PostInteractionsModal.d.ts.map +1 -0
  184. package/dist/components/modules/posts/widgets/PostInteractionsModal.js +13 -0
  185. package/dist/components/modules/posts/widgets/PostInteractionsModal.js.map +1 -0
  186. package/dist/components/modules/posts/widgets/RepostModal.d.ts +22 -0
  187. package/dist/components/modules/posts/widgets/RepostModal.d.ts.map +1 -0
  188. package/dist/components/modules/posts/widgets/RepostModal.js +76 -0
  189. package/dist/components/modules/posts/widgets/RepostModal.js.map +1 -0
  190. package/dist/components/modules/posts/widgets/Stories.d.ts +2 -0
  191. package/dist/components/modules/posts/widgets/Stories.d.ts.map +1 -0
  192. package/dist/components/modules/posts/widgets/Stories.js +16 -0
  193. package/dist/components/modules/posts/widgets/Stories.js.map +1 -0
  194. package/dist/components/modules/posts/widgets/StoryViewer.d.ts +10 -0
  195. package/dist/components/modules/posts/widgets/StoryViewer.d.ts.map +1 -0
  196. package/dist/components/modules/posts/widgets/StoryViewer.js +48 -0
  197. package/dist/components/modules/posts/widgets/StoryViewer.js.map +1 -0
  198. package/dist/components/modules/posts/widgets/reels/ReelCard.d.ts +16 -0
  199. package/dist/components/modules/posts/widgets/reels/ReelCard.d.ts.map +1 -0
  200. package/dist/components/modules/posts/widgets/reels/ReelCard.js +55 -0
  201. package/dist/components/modules/posts/widgets/reels/ReelCard.js.map +1 -0
  202. package/dist/components/modules/posts/widgets/reels/ReelsContainer.d.ts +8 -0
  203. package/dist/components/modules/posts/widgets/reels/ReelsContainer.d.ts.map +1 -0
  204. package/dist/components/modules/posts/widgets/reels/ReelsContainer.js +29 -0
  205. package/dist/components/modules/posts/widgets/reels/ReelsContainer.js.map +1 -0
  206. package/dist/components/modules/profile/ProfileLayout.d.ts +5 -0
  207. package/dist/components/modules/profile/ProfileLayout.d.ts.map +1 -0
  208. package/dist/components/modules/profile/ProfileLayout.js +71 -0
  209. package/dist/components/modules/profile/ProfileLayout.js.map +1 -0
  210. package/dist/components/modules/profile/tabs/PostsTab.js +1 -1
  211. package/dist/components/modules/profile/tabs/PostsTab.js.map +1 -1
  212. package/dist/components/modules/profile/widgets/CloudStorageModal.d.ts +9 -0
  213. package/dist/components/modules/profile/widgets/CloudStorageModal.d.ts.map +1 -0
  214. package/dist/components/modules/profile/widgets/CloudStorageModal.js +32 -0
  215. package/dist/components/modules/profile/widgets/CloudStorageModal.js.map +1 -0
  216. package/dist/components/modules/profile/widgets/EditProfileModal.d.ts +9 -0
  217. package/dist/components/modules/profile/widgets/EditProfileModal.d.ts.map +1 -0
  218. package/dist/components/modules/profile/widgets/EditProfileModal.js +28 -0
  219. package/dist/components/modules/profile/widgets/EditProfileModal.js.map +1 -0
  220. package/dist/components/modules/profile/widgets/ProfileHeader.d.ts +8 -0
  221. package/dist/components/modules/profile/widgets/ProfileHeader.d.ts.map +1 -0
  222. package/dist/components/modules/profile/widgets/ProfileHeader.js +20 -0
  223. package/dist/components/modules/profile/widgets/ProfileHeader.js.map +1 -0
  224. package/dist/components/modules/profile/widgets/ProfileSidebar.d.ts +11 -0
  225. package/dist/components/modules/profile/widgets/ProfileSidebar.d.ts.map +1 -0
  226. package/dist/components/modules/profile/widgets/ProfileSidebar.js +9 -0
  227. package/dist/components/modules/profile/widgets/ProfileSidebar.js.map +1 -0
  228. package/dist/components/modules/profile/widgets/ProfileStats.d.ts +7 -0
  229. package/dist/components/modules/profile/widgets/ProfileStats.d.ts.map +1 -0
  230. package/dist/components/modules/profile/widgets/ProfileStats.js +21 -0
  231. package/dist/components/modules/profile/widgets/ProfileStats.js.map +1 -0
  232. package/dist/components/modules/profile/widgets/ProfileTabsArea.d.ts +14 -0
  233. package/dist/components/modules/profile/widgets/ProfileTabsArea.d.ts.map +1 -0
  234. package/dist/components/modules/profile/widgets/ProfileTabsArea.js +59 -0
  235. package/dist/components/modules/profile/widgets/ProfileTabsArea.js.map +1 -0
  236. package/dist/components/modules/profile/widgets/TeamSelectorModal.d.ts +11 -0
  237. package/dist/components/modules/profile/widgets/TeamSelectorModal.d.ts.map +1 -0
  238. package/dist/components/modules/profile/widgets/TeamSelectorModal.js +17 -0
  239. package/dist/components/modules/profile/widgets/TeamSelectorModal.js.map +1 -0
  240. package/dist/components/modules/shop/BackToStore.d.ts +2 -0
  241. package/dist/components/modules/shop/BackToStore.d.ts.map +1 -0
  242. package/dist/components/modules/shop/BackToStore.js +11 -0
  243. package/dist/components/modules/shop/BackToStore.js.map +1 -0
  244. package/dist/components/modules/shop/DetailLayout.d.ts +8 -0
  245. package/dist/components/modules/shop/DetailLayout.d.ts.map +1 -0
  246. package/dist/components/modules/shop/DetailLayout.js +22 -0
  247. package/dist/components/modules/shop/DetailLayout.js.map +1 -0
  248. package/dist/components/modules/shop/ProductCard.d.ts +8 -0
  249. package/dist/components/modules/shop/ProductCard.d.ts.map +1 -0
  250. package/dist/components/modules/shop/ProductCard.js +11 -0
  251. package/dist/components/modules/shop/ProductCard.js.map +1 -0
  252. package/dist/components/modules/shop/ProductDetailPage.d.ts +8 -0
  253. package/dist/components/modules/shop/ProductDetailPage.d.ts.map +1 -0
  254. package/dist/components/modules/shop/ProductDetailPage.js +22 -0
  255. package/dist/components/modules/shop/ProductDetailPage.js.map +1 -0
  256. package/dist/components/modules/shop/StoreHeader.d.ts +6 -0
  257. package/dist/components/modules/shop/StoreHeader.d.ts.map +1 -0
  258. package/dist/components/modules/shop/StoreHeader.js +9 -0
  259. package/dist/components/modules/shop/StoreHeader.js.map +1 -0
  260. package/dist/components/modules/shop/StoreLayout.d.ts +8 -0
  261. package/dist/components/modules/shop/StoreLayout.d.ts.map +1 -0
  262. package/dist/components/modules/shop/StoreLayout.js +6 -0
  263. package/dist/components/modules/shop/StoreLayout.js.map +1 -0
  264. package/dist/components/modules/shop/widgets/BackToStore.d.ts +2 -0
  265. package/dist/components/modules/shop/widgets/BackToStore.d.ts.map +1 -0
  266. package/dist/components/modules/shop/widgets/BackToStore.js +11 -0
  267. package/dist/components/modules/shop/widgets/BackToStore.js.map +1 -0
  268. package/dist/components/modules/shop/widgets/CategoryWidget.d.ts +8 -0
  269. package/dist/components/modules/shop/widgets/CategoryWidget.d.ts.map +1 -0
  270. package/dist/components/modules/shop/widgets/CategoryWidget.js +23 -0
  271. package/dist/components/modules/shop/widgets/CategoryWidget.js.map +1 -0
  272. package/dist/components/modules/shop/widgets/ProductCard.d.ts +8 -0
  273. package/dist/components/modules/shop/widgets/ProductCard.d.ts.map +1 -0
  274. package/dist/components/modules/shop/widgets/ProductCard.js +10 -0
  275. package/dist/components/modules/shop/widgets/ProductCard.js.map +1 -0
  276. package/dist/components/modules/shop/widgets/StoreHeader.d.ts +6 -0
  277. package/dist/components/modules/shop/widgets/StoreHeader.d.ts.map +1 -0
  278. package/dist/components/modules/shop/widgets/StoreHeader.js +9 -0
  279. package/dist/components/modules/shop/widgets/StoreHeader.js.map +1 -0
  280. package/dist/components/modules/shop/widgets/StoreProductGrid.d.ts +7 -0
  281. package/dist/components/modules/shop/widgets/StoreProductGrid.d.ts.map +1 -0
  282. package/dist/components/modules/shop/widgets/StoreProductGrid.js +13 -0
  283. package/dist/components/modules/shop/widgets/StoreProductGrid.js.map +1 -0
  284. package/dist/components/modules/shop/widgets/StoreSidebar.d.ts +8 -0
  285. package/dist/components/modules/shop/widgets/StoreSidebar.d.ts.map +1 -0
  286. package/dist/components/modules/shop/widgets/StoreSidebar.js +8 -0
  287. package/dist/components/modules/shop/widgets/StoreSidebar.js.map +1 -0
  288. package/dist/components/modules/shop/widgets/StoreTrustBadges.d.ts +2 -0
  289. package/dist/components/modules/shop/widgets/StoreTrustBadges.d.ts.map +1 -0
  290. package/dist/components/modules/shop/widgets/StoreTrustBadges.js +29 -0
  291. package/dist/components/modules/shop/widgets/StoreTrustBadges.js.map +1 -0
  292. package/dist/components/modules/social/Dashboard.d.ts +2 -0
  293. package/dist/components/modules/social/Dashboard.d.ts.map +1 -0
  294. package/dist/components/modules/social/Dashboard.js +251 -0
  295. package/dist/components/modules/social/Dashboard.js.map +1 -0
  296. package/dist/components/modules/social/SidebarLeft.d.ts +2 -0
  297. package/dist/components/modules/social/SidebarLeft.d.ts.map +1 -0
  298. package/dist/components/modules/social/SidebarLeft.js +9 -0
  299. package/dist/components/modules/social/SidebarLeft.js.map +1 -0
  300. package/dist/components/modules/social/SocialLayout.d.ts +2 -0
  301. package/dist/components/modules/social/SocialLayout.d.ts.map +1 -0
  302. package/dist/components/modules/social/SocialLayout.js +249 -0
  303. package/dist/components/modules/social/SocialLayout.js.map +1 -0
  304. package/dist/components/modules/social/widgets/EconomyWidget.d.ts +2 -0
  305. package/dist/components/modules/social/widgets/EconomyWidget.d.ts.map +1 -0
  306. package/dist/components/modules/social/widgets/EconomyWidget.js +38 -0
  307. package/dist/components/modules/social/widgets/EconomyWidget.js.map +1 -0
  308. package/dist/components/modules/social/widgets/LeagueWidget.d.ts +2 -0
  309. package/dist/components/modules/social/widgets/LeagueWidget.d.ts.map +1 -0
  310. package/dist/components/modules/social/widgets/LeagueWidget.js +36 -0
  311. package/dist/components/modules/social/widgets/LeagueWidget.js.map +1 -0
  312. package/dist/components/modules/social/widgets/MinecraftWidget.d.ts +2 -0
  313. package/dist/components/modules/social/widgets/MinecraftWidget.d.ts.map +1 -0
  314. package/dist/components/modules/social/widgets/MinecraftWidget.js +36 -0
  315. package/dist/components/modules/social/widgets/MinecraftWidget.js.map +1 -0
  316. package/dist/components/modules/social/widgets/RankingWidget.d.ts +5 -0
  317. package/dist/components/modules/social/widgets/RankingWidget.d.ts.map +1 -0
  318. package/dist/components/modules/social/widgets/RankingWidget.js +79 -0
  319. package/dist/components/modules/social/widgets/RankingWidget.js.map +1 -0
  320. package/dist/components/modules/social/widgets/SocialSidebar.d.ts +2 -0
  321. package/dist/components/modules/social/widgets/SocialSidebar.d.ts.map +1 -0
  322. package/dist/components/modules/social/widgets/SocialSidebar.js +9 -0
  323. package/dist/components/modules/social/widgets/SocialSidebar.js.map +1 -0
  324. package/dist/components/modules/stations/widgets/StationCard.d.ts +3 -0
  325. package/dist/components/modules/stations/widgets/StationCard.d.ts.map +1 -0
  326. package/dist/components/modules/stations/widgets/StationCard.js +26 -0
  327. package/dist/components/modules/stations/widgets/StationCard.js.map +1 -0
  328. package/dist/components/modules/stations/widgets/StationQRModal.d.ts +10 -0
  329. package/dist/components/modules/stations/widgets/StationQRModal.d.ts.map +1 -0
  330. package/dist/components/modules/stations/widgets/StationQRModal.js +13 -0
  331. package/dist/components/modules/stations/widgets/StationQRModal.js.map +1 -0
  332. package/dist/components/shared/FilterTabs.d.ts +16 -0
  333. package/dist/components/shared/FilterTabs.d.ts.map +1 -0
  334. package/dist/components/shared/FilterTabs.js +18 -0
  335. package/dist/components/shared/FilterTabs.js.map +1 -0
  336. package/dist/components/shared/FloatingChatButton.d.ts.map +1 -1
  337. package/dist/components/shared/FloatingChatButton.js +20 -20
  338. package/dist/components/shared/FloatingChatButton.js.map +1 -1
  339. package/dist/components/shared/ListToolbar.d.ts +32 -0
  340. package/dist/components/shared/ListToolbar.d.ts.map +1 -0
  341. package/dist/components/shared/ListToolbar.js +13 -0
  342. package/dist/components/shared/ListToolbar.js.map +1 -0
  343. package/dist/components/shared/MainLayoutWrapper.d.ts +2 -1
  344. package/dist/components/shared/MainLayoutWrapper.d.ts.map +1 -1
  345. package/dist/components/shared/MainLayoutWrapper.js +7 -7
  346. package/dist/components/shared/MainLayoutWrapper.js.map +1 -1
  347. package/dist/components/shared/NotFound.d.ts +21 -0
  348. package/dist/components/shared/NotFound.d.ts.map +1 -0
  349. package/dist/components/shared/NotFound.js +7 -0
  350. package/dist/components/shared/NotFound.js.map +1 -0
  351. package/dist/components/shared/SearchBar.d.ts +14 -0
  352. package/dist/components/shared/SearchBar.d.ts.map +1 -0
  353. package/dist/components/shared/SearchBar.js +21 -0
  354. package/dist/components/shared/SearchBar.js.map +1 -0
  355. package/dist/components/showcase/EventsTab.d.ts +2 -0
  356. package/dist/components/showcase/EventsTab.d.ts.map +1 -0
  357. package/dist/components/showcase/EventsTab.js +80 -0
  358. package/dist/components/showcase/EventsTab.js.map +1 -0
  359. package/dist/components/showcase/GroupTab.d.ts.map +1 -1
  360. package/dist/components/showcase/GroupTab.js +68 -18
  361. package/dist/components/showcase/GroupTab.js.map +1 -1
  362. package/dist/components/showcase/MessagesTab.d.ts.map +1 -1
  363. package/dist/components/showcase/MessagesTab.js +16 -2
  364. package/dist/components/showcase/MessagesTab.js.map +1 -1
  365. package/dist/components/showcase/ProfileTab.d.ts.map +1 -1
  366. package/dist/components/showcase/ProfileTab.js +7 -2
  367. package/dist/components/showcase/ProfileTab.js.map +1 -1
  368. package/dist/components/showcase/ReelsTab.d.ts +2 -0
  369. package/dist/components/showcase/ReelsTab.d.ts.map +1 -0
  370. package/dist/components/showcase/ReelsTab.js +34 -0
  371. package/dist/components/showcase/ReelsTab.js.map +1 -0
  372. package/dist/components/showcase/ShopTab.d.ts.map +1 -1
  373. package/dist/components/showcase/ShopTab.js +28 -2
  374. package/dist/components/showcase/ShopTab.js.map +1 -1
  375. package/dist/components/showcase/ShowcaseNavigation.d.ts +2 -0
  376. package/dist/components/showcase/ShowcaseNavigation.d.ts.map +1 -0
  377. package/dist/components/showcase/ShowcaseNavigation.js +29 -0
  378. package/dist/components/showcase/ShowcaseNavigation.js.map +1 -0
  379. package/dist/components/showcase/SocialTab.d.ts.map +1 -1
  380. package/dist/components/showcase/SocialTab.js +7 -2
  381. package/dist/components/showcase/SocialTab.js.map +1 -1
  382. package/dist/context/ChatContext.d.ts +21 -12
  383. package/dist/context/ChatContext.d.ts.map +1 -1
  384. package/dist/context/ChatContext.js +95 -17
  385. package/dist/context/ChatContext.js.map +1 -1
  386. package/dist/index.d.ts +56 -45
  387. package/dist/index.d.ts.map +1 -1
  388. package/dist/index.js +55 -47
  389. package/dist/index.js.map +1 -1
  390. package/package.json +1 -1
  391. package/src/globals.css +5 -5
@@ -0,0 +1,190 @@
1
+ 'use client';
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import React, { useState, useEffect } from 'react';
4
+ import { Chat, User, ChatMessage as ChatMessageModel } from '@armoyu/core';
5
+ // Shared Contexts / Utils from main index
6
+ import { useAuth, useChat, useSocket, userList } from '../../../index';
7
+ // Module specific widgets
8
+ import { ChatList } from './widgets/ChatList';
9
+ import { ChatMessage } from './widgets/ChatMessage';
10
+ import { ChatInput } from './widgets/ChatInput';
11
+ export function ChatLayout() {
12
+ const { user, session } = useAuth();
13
+ const { closeChat, isLiveMode, activeMessages, fetchMessages, sendMessage: sendApiMessage } = useChat();
14
+ const { emit, on, isConnected } = useSocket();
15
+ // Eğer null ise liste görünümü açık, ID var ise mesajlaşma açık.
16
+ const [activeContactId, setActiveContactId] = useState(null);
17
+ // Local state for Mock mode (Fallback)
18
+ const [localMessages, setLocalMessages] = useState([]);
19
+ const [localContacts, setLocalContacts] = useState([]);
20
+ const [isTyping, setIsTyping] = useState(false);
21
+ const messagesEndRef = React.useRef(null);
22
+ const scrollToBottom = () => {
23
+ messagesEndRef.current?.scrollIntoView({ behavior: 'smooth' });
24
+ };
25
+ // Scroll to bottom when messages or typing status changes
26
+ useEffect(() => {
27
+ scrollToBottom();
28
+ }, [localMessages, activeMessages, isTyping]);
29
+ // Sync with session's chatList for MOCK mode
30
+ useEffect(() => {
31
+ if (!isLiveMode && session?.chatList) {
32
+ setLocalContacts(session.chatList);
33
+ }
34
+ }, [session?.chatList, isLiveMode]);
35
+ // Handle Contact Selection in LIVE mode
36
+ useEffect(() => {
37
+ if (isLiveMode && activeContactId) {
38
+ // API expects numeric ID usually, but our models use string.
39
+ // Try to convert if it's a numeric string.
40
+ const idNum = parseInt(activeContactId);
41
+ if (!isNaN(idNum)) {
42
+ fetchMessages(idNum);
43
+ }
44
+ }
45
+ }, [activeContactId, isLiveMode, fetchMessages]);
46
+ useEffect(() => {
47
+ const offMsg = on('message', (incomingMsg) => {
48
+ console.log('[ChatLayout] Incoming socket message:', incomingMsg);
49
+ const msgModel = new ChatMessageModel({
50
+ id: incomingMsg.id,
51
+ sender: incomingMsg.sender ? new User(incomingMsg.sender) : undefined,
52
+ content: incomingMsg.content,
53
+ timestamp: incomingMsg.timestamp,
54
+ isSystem: incomingMsg.isSystem || false
55
+ });
56
+ // UPDATE LOCAL STATE FOR MOCK MODE
57
+ if (!isLiveMode) {
58
+ setLocalContacts(prev => {
59
+ const contactId = incomingMsg.chatId || incomingMsg.sender?.username;
60
+ const contactExists = prev.some(c => c.id === contactId);
61
+ if (!contactExists && incomingMsg.sender?.username !== user?.username) {
62
+ const newChat = new Chat({
63
+ id: contactId,
64
+ name: incomingMsg.sender?.displayName || incomingMsg.sender?.username || 'Bilinmeyen',
65
+ avatar: incomingMsg.sender?.avatar || '',
66
+ lastMessage: msgModel,
67
+ time: msgModel.timestamp,
68
+ updatedAt: Date.now(),
69
+ messages: [msgModel],
70
+ unreadCount: (activeContactId !== contactId) ? 1 : 0,
71
+ isOnline: true
72
+ });
73
+ return [newChat, ...prev];
74
+ }
75
+ return prev.map(c => {
76
+ if (c.id === contactId) {
77
+ const messageExists = c.messages.some(m => m.id === msgModel.id);
78
+ return new Chat({
79
+ ...c,
80
+ lastMessage: msgModel,
81
+ time: msgModel.timestamp,
82
+ updatedAt: Date.now(),
83
+ messages: messageExists ? c.messages : [...(c.messages || []), msgModel],
84
+ unreadCount: (activeContactId !== c.id && incomingMsg.sender?.username !== user?.username) ? c.unreadCount + 1 : c.unreadCount
85
+ });
86
+ }
87
+ return c;
88
+ });
89
+ });
90
+ if (activeContactId === incomingMsg.chatId || activeContactId === incomingMsg.sender?.username) {
91
+ setLocalMessages(prev => {
92
+ if (prev.some(m => m.id === incomingMsg.id))
93
+ return prev;
94
+ return [...prev, msgModel];
95
+ });
96
+ }
97
+ }
98
+ setIsTyping(false);
99
+ });
100
+ const offTyping = on('typing', (data) => {
101
+ const isChattingWithSender = data.username === activeContactId && data.chatId === user?.username;
102
+ const isBotTyping = data.username === 'system' && data.chatId === user?.username;
103
+ if (isChattingWithSender || isBotTyping) {
104
+ setIsTyping(data.isTyping);
105
+ }
106
+ });
107
+ return () => {
108
+ offMsg();
109
+ offTyping();
110
+ };
111
+ }, [on, activeContactId, user?.username, isLiveMode]);
112
+ const handleSelectContact = (id) => {
113
+ if (!isLiveMode) {
114
+ let contact = localContacts.find((c) => c.id === id);
115
+ if (!contact) {
116
+ const newUser = userList.find((u) => u.username === id);
117
+ if (newUser) {
118
+ contact = new Chat({
119
+ id: newUser.username,
120
+ name: newUser.displayName,
121
+ avatar: newUser.avatar,
122
+ updatedAt: Date.now(),
123
+ messages: [],
124
+ isOnline: true,
125
+ unreadCount: 0
126
+ });
127
+ setLocalContacts([contact, ...localContacts]);
128
+ }
129
+ }
130
+ setLocalMessages(contact?.messages || []);
131
+ }
132
+ setActiveContactId(id);
133
+ setIsTyping(false);
134
+ };
135
+ const handleSendMessage = async (text) => {
136
+ if (!text.trim() || !activeContactId)
137
+ return;
138
+ if (isLiveMode) {
139
+ const idNum = parseInt(activeContactId);
140
+ if (!isNaN(idNum)) {
141
+ await sendApiMessage(idNum, text);
142
+ }
143
+ }
144
+ else {
145
+ // MOCK MODE LOGIC
146
+ const newMessage = new ChatMessageModel({
147
+ id: Date.now().toString(),
148
+ sender: user || undefined,
149
+ content: text,
150
+ timestamp: new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }),
151
+ isSystem: false
152
+ });
153
+ setLocalMessages(prev => [...prev, newMessage]);
154
+ setLocalContacts(prev => prev.map(c => {
155
+ if (c.id === activeContactId) {
156
+ return new Chat({
157
+ ...c,
158
+ lastMessage: newMessage,
159
+ time: newMessage.timestamp,
160
+ updatedAt: Date.now(),
161
+ messages: [...(c.messages || []), newMessage]
162
+ });
163
+ }
164
+ return c;
165
+ }));
166
+ }
167
+ // Emit via socket for instant cross-tab / real-time feel
168
+ emit('message', {
169
+ id: Date.now().toString(),
170
+ chatId: activeContactId,
171
+ sender: {
172
+ username: user?.username,
173
+ displayName: user?.displayName,
174
+ avatar: user?.avatar
175
+ },
176
+ content: text,
177
+ timestamp: new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }),
178
+ });
179
+ };
180
+ if (!user) {
181
+ return (_jsx("div", { className: "flex items-center justify-center h-full text-armoyu-text-muted bg-armoyu-card-bg rounded-3xl border border-gray-200 dark:border-white/10", children: "Sohbetleri g\u00F6rmek i\u00E7in giri\u015F yapmal\u0131s\u0131n\u0131z." }));
182
+ }
183
+ const activeContact = activeContactId ? localContacts.find((c) => c.id === activeContactId) : null;
184
+ return (_jsxs("div", { className: "flex h-full w-full bg-armoyu-header-bg overflow-hidden relative z-10", children: [!activeContactId && (_jsx("div", { className: "w-full h-full flex flex-col animate-in fade-in slide-in-from-left-4 duration-300", children: _jsx(ChatList, { contacts: localContacts, activeId: '', onSelect: handleSelectContact }) })), activeContactId && activeContact && (_jsxs("div", { className: "w-full h-full flex flex-col bg-armoyu-bg relative animate-in fade-in slide-in-from-right-4 duration-300", children: [_jsxs("div", { className: "h-[76px] border-b border-gray-200 dark:border-white/5 bg-armoyu-card-bg flex items-center px-4 gap-3 z-10 shrink-0", children: [_jsx("button", { onClick: () => setActiveContactId(null), className: "p-2 -ml-2 text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5 transition-colors rounded-full focus:outline-none", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "28", height: "28", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polyline", { points: "15 18 9 12 15 6" }) }) }), _jsx("img", { src: activeContact.avatar, className: "w-10 h-10 rounded-full border border-black/5 dark:border-white/10 shadow-sm", alt: "" }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("h3", { className: "font-bold text-armoyu-text truncate text-base", children: activeContact.name }), _jsx("div", { className: "flex items-center gap-1.5 mt-0.5", children: activeContact.isOnline ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "w-2 h-2 rounded-full bg-emerald-500 shadow-[0_0_5px_rgba(16,185,129,0.6)] animate-pulse" }), _jsx("span", { className: "text-xs font-bold text-emerald-500 shadow-sm", children: "\u00C7evrimi\u00E7i" })] })) : (_jsxs(_Fragment, { children: [_jsx("span", { className: "w-2 h-2 rounded-full bg-gray-400 dark:bg-gray-600" }), _jsxs("span", { className: "text-xs font-bold text-armoyu-text-muted", children: ["Son g\u00F6r\u00FClme ", activeContact.lastSeen] })] })) })] }), _jsxs("div", { className: "flex gap-1", children: [_jsx("button", { className: "p-2 text-armoyu-text-muted hover:text-blue-500 rounded-full hover:bg-blue-500/10 transition-colors", title: "Ara", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("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" }) }) }), _jsx("button", { onClick: closeChat, className: "p-2 text-armoyu-text-muted hover:text-red-500 rounded-full hover:bg-red-500/10 transition-colors", title: "Sohbeti Kapat", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) })] })] }), _jsxs("div", { className: "flex-1 overflow-y-auto p-4 md:p-6 space-y-2 relative hide-scrollbar", children: [_jsx("div", { className: "text-center mb-8", children: _jsx("span", { className: "inline-block bg-black/5 dark:bg-white/5 text-armoyu-text-muted text-xs font-bold px-3 py-1 rounded-full border border-black/5 dark:border-white/5", children: "Bug\u00FCn" }) }), (isLiveMode ? activeMessages : localMessages).map(msg => (_jsx(ChatMessage, { id: msg.id, sender: {
185
+ name: msg.sender?.displayName || 'Bilinmiyor',
186
+ avatar: msg.sender?.avatar || '',
187
+ isSelf: msg.sender?.username === user?.username
188
+ }, content: msg.content, timestamp: msg.timestamp }, msg.id))), isTyping && (_jsx("div", { className: "flex gap-2 items-center px-4 animate-in fade-in slide-in-from-bottom-2 duration-300", children: _jsxs("div", { className: "flex gap-1 items-center bg-black/5 dark:bg-white/5 px-3 py-1.5 rounded-2xl border border-black/5 dark:border-white/5", children: [_jsxs("div", { className: "flex gap-0.5 mt-0.5", children: [_jsx("span", { className: "w-1 h-1 rounded-full bg-blue-500 animate-bounce [animation-delay:-0.3s]" }), _jsx("span", { className: "w-1 h-1 rounded-full bg-blue-500 animate-bounce [animation-delay:-0.15s]" }), _jsx("span", { className: "w-1 h-1 rounded-full bg-blue-500 animate-bounce" })] }), _jsx("span", { className: "text-[10px] font-bold text-armoyu-text-muted italic ml-1", children: "Yaz\u0131yor..." })] }) })), _jsx("div", { ref: messagesEndRef, className: "h-2" })] }), _jsx(ChatInput, { onSend: handleSendMessage, chatId: activeContactId })] }))] }));
189
+ }
190
+ //# sourceMappingURL=ChatLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatLayout.js","sourceRoot":"","sources":["../../../../src/components/modules/chat/ChatLayout.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Chat } from '@armoyu/core';
2
- export declare function ChatList({ contacts, activeId, onSelect }: {
2
+ export declare function ChatList({ contacts: mockContacts, activeId, onSelect }: {
3
3
  contacts: Chat[];
4
4
  activeId: string;
5
5
  onSelect: (id: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatList.d.ts","sourceRoot":"","sources":["../../../../src/components/modules/chat/ChatList.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAKpC,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,2CAwKhI"}
1
+ {"version":3,"file":"ChatList.d.ts","sourceRoot":"","sources":["../../../../src/components/modules/chat/ChatList.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAKpC,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,2CA0K9I"}
@@ -1,52 +1,53 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useChat } from '../../../context/ChatContext';
3
- import { useSocket } from '../../../context/SocketContext';
4
- import { ChatNotes } from './ChatNotes';
5
- import { useState } from 'react';
6
- import { userList } from '../../../lib/constants/seedData';
7
- import { useAuth } from '../../../context/AuthContext';
8
- export function ChatList({ contacts, activeId, onSelect }) {
9
- const { user } = useAuth();
10
- const { closeChat } = useChat();
11
- const { isConnected } = useSocket();
12
- const [searchQuery, setSearchQuery] = useState('');
13
- const [activeFilter, setActiveFilter] = useState('all');
14
- const filteredActiveContacts = contacts
15
- .filter(c => {
16
- // 1. Search Query Filter
17
- const matchesSearch = c.name.toLowerCase().includes(searchQuery.toLowerCase()) ||
18
- (c.lastMessage?.content || '').toLowerCase().includes(searchQuery.toLowerCase());
19
- if (!matchesSearch)
20
- return false;
21
- // 2. Category Filter
22
- if (activeFilter === 'unread')
23
- return c.unreadCount > 0;
24
- if (activeFilter === 'favorites')
25
- return c.isFavorite;
26
- if (activeFilter === 'groups')
27
- return c.isGroup;
28
- return true; // 'all'
29
- })
30
- .sort((a, b) => (b.updatedAt || 0) - (a.updatedAt || 0));
31
- // 3. New Contact Search (Only when searching)
32
- const additionalContacts = searchQuery.length >= 2
33
- ? userList.filter((u) => {
34
- const matchesSearch = u.displayName.toLowerCase().includes(searchQuery.toLowerCase()) ||
35
- u.username.toLowerCase().includes(searchQuery.toLowerCase());
36
- const isNotSelf = u.username !== user?.username;
37
- const notInContacts = !contacts.some(c => c.id === u.username);
38
- return matchesSearch && isNotSelf && notInContacts;
39
- }).slice(0, 10)
40
- : [];
41
- return (_jsxs("div", { className: "w-full h-full flex flex-col bg-armoyu-bg border-r border-gray-200 dark:border-white/5", children: [_jsxs("div", { className: "p-4 md:p-5 border-b border-gray-200 dark:border-white/5", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("h2", { className: "text-xl font-bold text-armoyu-text tracking-tight flex items-center gap-2", children: "Sohbetler" }), _jsxs("div", { className: "flex items-center gap-1.5 px-2 py-0.5 rounded-full bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/5", children: [_jsx("div", { className: `w-1.5 h-1.5 rounded-full ${isConnected ? 'bg-emerald-500 shadow-[0_0_5px_rgba(16,185,129,0.8)]' : 'bg-red-500'} animate-pulse` }), _jsx("span", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-tighter", children: isConnected ? 'Sockete Bağlı' : 'Bağlanıyor...' })] })] }), _jsx("button", { onClick: closeChat, className: "p-2 -mr-2 text-armoyu-text-muted hover:text-red-500 hover:bg-red-500/10 transition-colors rounded-full", title: "Sohbeti Kapat", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) })] }), _jsxs("div", { className: "relative mt-4", children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", className: "absolute left-3 top-1/2 -translate-y-1/2 text-gray-500", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [_jsx("circle", { cx: "11", cy: "11", r: "8" }), _jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })] }), _jsx("input", { type: "text", placeholder: "Ki\u015Fi ara...", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), className: "w-full bg-white/5 dark:bg-black/20 border border-black/10 dark:border-white/10 rounded-xl pl-10 pr-4 py-2.5 text-sm text-slate-900 dark:text-white placeholder-gray-500 hover:border-black/20 dark:hover:border-white/20 focus:outline-none focus:border-blue-500 transition-all" })] })] }), _jsx(ChatNotes, {}), _jsx("div", { className: "px-4 pb-4 flex gap-2 overflow-x-auto no-scrollbar shrink-0", children: [
42
- { id: 'all', label: 'Tümü' },
43
- { id: 'unread', label: 'Okunmamış' },
44
- { id: 'favorites', label: 'Favoriler' },
45
- { id: 'groups', label: 'Gruplar' }
46
- ].map((filter) => (_jsx("button", { onClick: () => setActiveFilter(filter.id), className: `px-4 py-2 rounded-xl text-xs font-black transition-all whitespace-nowrap border ${activeFilter === filter.id
47
- ? 'bg-blue-500 text-white border-blue-500 shadow-md shadow-blue-500/20 scale-105'
48
- : 'bg-black/5 dark:bg-white/5 text-armoyu-text-muted border-transparent hover:bg-black/10 dark:hover:bg-white/10'}`, children: filter.label }, filter.id))) }), _jsxs("div", { className: "flex-1 overflow-y-auto no-scrollbar p-3 space-y-1.5", children: [_jsxs("div", { className: "space-y-1.5", children: [searchQuery.length > 0 && filteredActiveContacts.length > 0 && (_jsx("div", { className: "px-3 py-1 text-[10px] font-black text-armoyu-text-muted uppercase tracking-[0.2em] opacity-50", children: "Sohbet Ge\u00E7mi\u015Fi" })), filteredActiveContacts.map(c => (_jsxs("button", { onClick: () => onSelect(c.id), className: `w-full flex items-center gap-4 p-3 rounded-2xl transition-all cursor-pointer text-left ${activeId === c.id
49
- ? 'bg-blue-500/10 dark:bg-blue-500/20 border border-blue-500/20 shadow-inner'
50
- : 'hover:bg-black/5 dark:hover:bg-white/5 border border-transparent'}`, children: [_jsxs("div", { className: "relative shrink-0", children: [_jsx("img", { src: c.avatar, alt: c.name, className: "w-12 h-12 rounded-full object-cover border border-white/10 shadow-sm" }), c.isOnline && (_jsx("div", { className: "absolute -bottom-0.5 -right-0.5 w-3.5 h-3.5 bg-green-500 rounded-full border-2 border-white dark:border-[#0a0a0e] shadow-sm" }))] }), _jsxs("div", { className: "flex-1 overflow-hidden", children: [_jsxs("div", { className: "flex justify-between items-center mb-1", children: [_jsx("span", { className: "font-black text-slate-900 dark:text-gray-200 text-sm truncate max-w-[130px]", children: c.name }), _jsx("span", { className: "text-xs text-gray-500 font-black", children: c.time })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: `text-xs truncate max-w-[120px] font-bold ${c.unreadCount > 0 ? 'text-slate-950 dark:text-white' : 'text-slate-500'}`, children: c.lastMessage?.content || 'Mesaj yok' }), c.unreadCount > 0 && (_jsx("span", { className: "bg-blue-500 text-white text-[10px] font-black px-1.5 py-0.5 rounded-md leading-none shadow-md animate-in zoom-in duration-300", children: c.unreadCount > 9 ? '9+' : c.unreadCount }))] })] })] }, c.id)))] }), additionalContacts.length > 0 && (_jsxs("div", { className: "space-y-1.5 mt-6 animate-in fade-in slide-in-from-top-2 duration-500", children: [_jsx("div", { className: "px-3 py-1 text-[10px] font-black text-blue-500 uppercase tracking-[0.2em]", children: "Yeni Sohbet Ba\u015Flat" }), additionalContacts.map((u) => (_jsxs("button", { onClick: () => onSelect(u.username), className: "w-full flex items-center gap-4 p-3 rounded-2xl hover:bg-white/5 border border-transparent transition-all group", children: [_jsx("div", { className: "relative shrink-0", children: _jsx("img", { src: u.avatar, alt: u.displayName, className: "w-12 h-12 rounded-full object-cover border border-white/10 shadow-sm opacity-60 group-hover:opacity-100 transition-opacity" }) }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("div", { className: "font-black text-slate-900 dark:text-gray-200 text-sm truncate", children: u.displayName }), _jsxs("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-tighter", children: ["@", u.username] })] }), _jsx("div", { className: "w-8 h-8 rounded-full bg-blue-500/10 flex items-center justify-center text-blue-500 scale-0 group-hover:scale-100 transition-all duration-300", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" }) }) })] }, u.username)))] })), searchQuery.length > 0 && filteredActiveContacts.length === 0 && additionalContacts.length === 0 && (_jsx("div", { className: "py-12 text-center", children: _jsx("div", { className: "text-armoyu-text-muted text-sm font-bold opacity-30", children: "Sonu\u00E7 bulunamad\u0131" }) }))] })] }));
51
- }
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useChat } from '../../../context/ChatContext';
3
+ import { useSocket } from '../../../context/SocketContext';
4
+ import { ChatNotes } from './ChatNotes';
5
+ import { useState } from 'react';
6
+ import { userList } from '../../../lib/constants/seedData';
7
+ import { useAuth } from '../../../context/AuthContext';
8
+ export function ChatList({ contacts: mockContacts, activeId, onSelect }) {
9
+ const { user } = useAuth();
10
+ const { closeChat, isLiveMode, chatList: liveContacts } = useChat();
11
+ const { isConnected } = useSocket();
12
+ const [searchQuery, setSearchQuery] = useState('');
13
+ const [activeFilter, setActiveFilter] = useState('all');
14
+ const currentContacts = isLiveMode ? liveContacts : mockContacts;
15
+ const filteredActiveContacts = currentContacts
16
+ .filter(c => {
17
+ // 1. Search Query Filter
18
+ const matchesSearch = c.name.toLowerCase().includes(searchQuery.toLowerCase()) ||
19
+ (c.lastMessage?.content || '').toLowerCase().includes(searchQuery.toLowerCase());
20
+ if (!matchesSearch)
21
+ return false;
22
+ // 2. Category Filter
23
+ if (activeFilter === 'unread')
24
+ return c.unreadCount > 0;
25
+ if (activeFilter === 'favorites')
26
+ return c.isFavorite;
27
+ if (activeFilter === 'groups')
28
+ return c.isGroup;
29
+ return true; // 'all'
30
+ })
31
+ .sort((a, b) => (b.updatedAt || 0) - (a.updatedAt || 0));
32
+ // 3. New Contact Search (Only when searching)
33
+ const additionalContacts = searchQuery.length >= 2
34
+ ? userList.filter((u) => {
35
+ const matchesSearch = u.displayName.toLowerCase().includes(searchQuery.toLowerCase()) ||
36
+ u.username.toLowerCase().includes(searchQuery.toLowerCase());
37
+ const isNotSelf = u.username !== user?.username;
38
+ const notInContacts = !currentContacts.some(c => c.id === u.username);
39
+ return matchesSearch && isNotSelf && notInContacts;
40
+ }).slice(0, 10)
41
+ : [];
42
+ return (_jsxs("div", { className: "w-full h-full flex flex-col bg-armoyu-bg border-r border-gray-200 dark:border-white/5", children: [_jsxs("div", { className: "p-4 md:p-5 border-b border-gray-200 dark:border-white/5", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("h2", { className: "text-xl font-bold text-armoyu-text tracking-tight flex items-center gap-2", children: "Sohbetler" }), _jsxs("div", { className: "flex items-center gap-1.5 px-2 py-0.5 rounded-full bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/5", children: [_jsx("div", { className: `w-1.5 h-1.5 rounded-full ${isConnected ? 'bg-emerald-500 shadow-[0_0_5px_rgba(16,185,129,0.8)]' : 'bg-red-500'} animate-pulse` }), _jsx("span", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-tighter", children: isConnected ? 'Sockete Bağlı' : 'Bağlanıyor...' })] })] }), _jsx("button", { onClick: closeChat, className: "p-2 -mr-2 text-armoyu-text-muted hover:text-red-500 hover:bg-red-500/10 transition-colors rounded-full", title: "Sohbeti Kapat", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) })] }), _jsxs("div", { className: "relative mt-4", children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", className: "absolute left-3 top-1/2 -translate-y-1/2 text-gray-500", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [_jsx("circle", { cx: "11", cy: "11", r: "8" }), _jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })] }), _jsx("input", { type: "text", placeholder: "Ki\u015Fi ara...", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), className: "w-full bg-white/5 dark:bg-black/20 border border-black/10 dark:border-white/10 rounded-xl pl-10 pr-4 py-2.5 text-sm text-slate-900 dark:text-white placeholder-gray-500 hover:border-black/20 dark:hover:border-white/20 focus:outline-none focus:border-blue-500 transition-all" })] })] }), _jsx(ChatNotes, {}), _jsx("div", { className: "px-4 pb-4 flex gap-2 overflow-x-auto no-scrollbar shrink-0", children: [
43
+ { id: 'all', label: 'Tümü' },
44
+ { id: 'unread', label: 'Okunmamış' },
45
+ { id: 'favorites', label: 'Favoriler' },
46
+ { id: 'groups', label: 'Gruplar' }
47
+ ].map((filter) => (_jsx("button", { onClick: () => setActiveFilter(filter.id), className: `px-4 py-2 rounded-xl text-xs font-black transition-all whitespace-nowrap border ${activeFilter === filter.id
48
+ ? 'bg-blue-500 text-white border-blue-500 shadow-md shadow-blue-500/20 scale-105'
49
+ : 'bg-black/5 dark:bg-white/5 text-armoyu-text-muted border-transparent hover:bg-black/10 dark:hover:bg-white/10'}`, children: filter.label }, filter.id))) }), _jsxs("div", { className: "flex-1 overflow-y-auto no-scrollbar p-3 space-y-1.5", children: [_jsxs("div", { className: "space-y-1.5", children: [searchQuery.length > 0 && filteredActiveContacts.length > 0 && (_jsx("div", { className: "px-3 py-1 text-[10px] font-black text-armoyu-text-muted uppercase tracking-[0.2em] opacity-50", children: "Sohbet Ge\u00E7mi\u015Fi" })), filteredActiveContacts.map((c, idx) => (_jsxs("button", { onClick: () => onSelect(c.id), className: `w-full flex items-center gap-4 p-3 rounded-2xl transition-all cursor-pointer text-left ${activeId === c.id
50
+ ? 'bg-blue-500/10 dark:bg-blue-500/20 border border-blue-500/20 shadow-inner'
51
+ : 'hover:bg-black/5 dark:hover:bg-white/5 border border-transparent'}`, children: [_jsxs("div", { className: "relative shrink-0", children: [_jsx("img", { src: c.avatar, alt: c.name, className: "w-12 h-12 rounded-full object-cover border border-white/10 shadow-sm" }), c.isOnline && (_jsx("div", { className: "absolute -bottom-0.5 -right-0.5 w-3.5 h-3.5 bg-green-500 rounded-full border-2 border-white dark:border-[#0a0a0e] shadow-sm" }))] }), _jsxs("div", { className: "flex-1 overflow-hidden", children: [_jsxs("div", { className: "flex justify-between items-center mb-1", children: [_jsx("span", { className: "font-black text-slate-900 dark:text-gray-200 text-sm truncate max-w-[130px]", children: c.name }), _jsx("span", { className: "text-xs text-gray-500 font-black", children: c.time })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: `text-xs truncate max-w-[120px] font-bold ${c.unreadCount > 0 ? 'text-slate-950 dark:text-white' : 'text-slate-500'}`, children: c.lastMessage?.content || 'Mesaj yok' }), c.unreadCount > 0 && (_jsx("span", { className: "bg-blue-500 text-white text-[10px] font-black px-1.5 py-0.5 rounded-md leading-none shadow-md animate-in zoom-in duration-300", children: c.unreadCount > 9 ? '9+' : c.unreadCount }))] })] })] }, `${c.id}-${idx}`)))] }), additionalContacts.length > 0 && (_jsxs("div", { className: "space-y-1.5 mt-6 animate-in fade-in slide-in-from-top-2 duration-500", children: [_jsx("div", { className: "px-3 py-1 text-[10px] font-black text-blue-500 uppercase tracking-[0.2em]", children: "Yeni Sohbet Ba\u015Flat" }), additionalContacts.map((u) => (_jsxs("button", { onClick: () => onSelect(u.username), className: "w-full flex items-center gap-4 p-3 rounded-2xl hover:bg-white/5 border border-transparent transition-all group", children: [_jsx("div", { className: "relative shrink-0", children: _jsx("img", { src: u.avatar, alt: u.displayName, className: "w-12 h-12 rounded-full object-cover border border-white/10 shadow-sm opacity-60 group-hover:opacity-100 transition-opacity" }) }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("div", { className: "font-black text-slate-900 dark:text-gray-200 text-sm truncate", children: u.displayName }), _jsxs("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-tighter", children: ["@", u.username] })] }), _jsx("div", { className: "w-8 h-8 rounded-full bg-blue-500/10 flex items-center justify-center text-blue-500 scale-0 group-hover:scale-100 transition-all duration-300", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" }) }) })] }, u.username)))] })), searchQuery.length > 0 && filteredActiveContacts.length === 0 && additionalContacts.length === 0 && (_jsx("div", { className: "py-12 text-center", children: _jsx("div", { className: "text-armoyu-text-muted text-sm font-bold opacity-30", children: "Sonu\u00E7 bulunamad\u0131" }) }))] })] }));
52
+ }
52
53
  //# sourceMappingURL=ChatList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatList.js","sourceRoot":"","sources":["../../../../src/components/modules/chat/ChatList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatList.js","sourceRoot":"","sources":["../../../../src/components/modules/chat/ChatList.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function ChatInput({ onSend, chatId }: {
2
+ onSend: (text: string) => void;
3
+ chatId?: string;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=ChatInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/chat/widgets/ChatInput.tsx"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,2CAoDhG"}
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { Button } from '../../../Button';
4
+ import { useSocket } from '../../../../context/SocketContext';
5
+ export function ChatInput({ onSend, chatId }) {
6
+ const [text, setText] = useState('');
7
+ const { emit } = useSocket();
8
+ const handleSend = (e) => {
9
+ e.preventDefault();
10
+ if (text.trim()) {
11
+ onSend(text);
12
+ setText('');
13
+ if (chatId)
14
+ emit('typing', { chatId, isTyping: false });
15
+ }
16
+ };
17
+ const handleChange = (val) => {
18
+ setText(val);
19
+ if (chatId) {
20
+ const isTyping = val.length > 0;
21
+ // Include username to help receiver filter out self
22
+ emit('typing', {
23
+ chatId,
24
+ isTyping,
25
+ username: typeof window !== 'undefined' ? localStorage.getItem('armoyu_username') : undefined
26
+ });
27
+ }
28
+ };
29
+ return (_jsxs("form", { onSubmit: handleSend, className: "p-3 border-t border-gray-200 dark:border-white/5 flex items-center gap-3 bg-armoyu-card-bg", children: [_jsx("button", { type: "button", className: "text-gray-400 hover:text-blue-500 p-2 transition-colors shrink-0", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("path", { d: "M8 14s1.5 2 4 2 4-2 4-2" }), _jsx("line", { x1: "9", y1: "9", x2: "9.01", y2: "9" }), _jsx("line", { x1: "15", y1: "9", x2: "15.01", y2: "9" })] }) }), _jsx("button", { type: "button", className: "text-gray-400 hover:text-blue-500 p-2 transition-colors hidden sm:block shrink-0", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: _jsx("path", { d: "M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48" }) }) }), _jsx("input", { type: "text", value: text, onChange: (e) => handleChange(e.target.value), placeholder: "Bir mesaj yaz\u0131n...", className: "flex-1 min-w-0 bg-black/5 dark:bg-black/40 border border-black/10 dark:border-white/10 rounded-full px-4 py-2.5 text-sm text-armoyu-text placeholder-armoyu-text-muted focus:outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500 transition-all shadow-inner" }), _jsx(Button, { variant: "primary", className: "rounded-full w-10 h-10 p-0 flex items-center justify-center shadow-[0_0_15px_rgba(37,99,235,0.3)] shrink-0 group", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", className: "translate-x-0.5 group-hover:translate-x-1 group-hover:-translate-y-0.5 transition-transform", children: [_jsx("line", { x1: "22", y1: "2", x2: "11", y2: "13" }), _jsx("polygon", { points: "22 2 15 22 11 13 2 9 22 2" })] }) })] }));
30
+ }
31
+ //# sourceMappingURL=ChatInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatInput.js","sourceRoot":"","sources":["../../../../../src/components/modules/chat/widgets/ChatInput.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Chat } from '@armoyu/core';
2
+ export declare function ChatList({ contacts: mockContacts, activeId, onSelect }: {
3
+ contacts: Chat[];
4
+ activeId: string;
5
+ onSelect: (id: string) => void;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=ChatList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatList.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/chat/widgets/ChatList.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAKpC,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,2CA0K9I"}
@@ -0,0 +1,53 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useChat } from '../../../../context/ChatContext';
3
+ import { useSocket } from '../../../../context/SocketContext';
4
+ import { ChatNotes } from '@/components/modules/chat/widgets/ChatNotes';
5
+ import { useState } from 'react';
6
+ import { userList } from '../../../../lib/constants/seedData';
7
+ import { useAuth } from '../../../../context/AuthContext';
8
+ export function ChatList({ contacts: mockContacts, activeId, onSelect }) {
9
+ const { user } = useAuth();
10
+ const { closeChat, isLiveMode, chatList: liveContacts } = useChat();
11
+ const { isConnected } = useSocket();
12
+ const [searchQuery, setSearchQuery] = useState('');
13
+ const [activeFilter, setActiveFilter] = useState('all');
14
+ const currentContacts = isLiveMode ? liveContacts : mockContacts;
15
+ const filteredActiveContacts = currentContacts
16
+ .filter(c => {
17
+ // 1. Search Query Filter
18
+ const matchesSearch = c.name.toLowerCase().includes(searchQuery.toLowerCase()) ||
19
+ (c.lastMessage?.content || '').toLowerCase().includes(searchQuery.toLowerCase());
20
+ if (!matchesSearch)
21
+ return false;
22
+ // 2. Category Filter
23
+ if (activeFilter === 'unread')
24
+ return c.unreadCount > 0;
25
+ if (activeFilter === 'favorites')
26
+ return c.isFavorite;
27
+ if (activeFilter === 'groups')
28
+ return c.isGroup;
29
+ return true; // 'all'
30
+ })
31
+ .sort((a, b) => (b.updatedAt || 0) - (a.updatedAt || 0));
32
+ // 3. New Contact Search (Only when searching)
33
+ const additionalContacts = searchQuery.length >= 2
34
+ ? userList.filter((u) => {
35
+ const matchesSearch = u.displayName.toLowerCase().includes(searchQuery.toLowerCase()) ||
36
+ u.username.toLowerCase().includes(searchQuery.toLowerCase());
37
+ const isNotSelf = u.username !== user?.username;
38
+ const notInContacts = !currentContacts.some(c => c.id === u.username);
39
+ return matchesSearch && isNotSelf && notInContacts;
40
+ }).slice(0, 10)
41
+ : [];
42
+ return (_jsxs("div", { className: "w-full h-full flex flex-col bg-armoyu-bg border-r border-gray-200 dark:border-white/5", children: [_jsxs("div", { className: "p-4 md:p-5 border-b border-gray-200 dark:border-white/5", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("h2", { className: "text-xl font-bold text-armoyu-text tracking-tight flex items-center gap-2", children: "Sohbetler" }), _jsxs("div", { className: "flex items-center gap-1.5 px-2 py-0.5 rounded-full bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/5", children: [_jsx("div", { className: `w-1.5 h-1.5 rounded-full ${isConnected ? 'bg-emerald-500 shadow-[0_0_5px_rgba(16,185,129,0.8)]' : 'bg-red-500'} animate-pulse` }), _jsx("span", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-tighter", children: isConnected ? 'Sockete Bağlı' : 'Bağlanıyor...' })] })] }), _jsx("button", { onClick: closeChat, className: "p-2 -mr-2 text-armoyu-text-muted hover:text-red-500 hover:bg-red-500/10 transition-colors rounded-full", title: "Sohbeti Kapat", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) })] }), _jsxs("div", { className: "relative mt-4", children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", className: "absolute left-3 top-1/2 -translate-y-1/2 text-gray-500", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [_jsx("circle", { cx: "11", cy: "11", r: "8" }), _jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })] }), _jsx("input", { type: "text", placeholder: "Ki\u015Fi ara...", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), className: "w-full bg-white/5 dark:bg-black/20 border border-black/10 dark:border-white/10 rounded-xl pl-10 pr-4 py-2.5 text-sm text-slate-900 dark:text-white placeholder-gray-500 hover:border-black/20 dark:hover:border-white/20 focus:outline-none focus:border-blue-500 transition-all" })] })] }), _jsx(ChatNotes, {}), _jsx("div", { className: "px-4 pb-4 flex gap-2 overflow-x-auto no-scrollbar shrink-0", children: [
43
+ { id: 'all', label: 'Tümü' },
44
+ { id: 'unread', label: 'Okunmamış' },
45
+ { id: 'favorites', label: 'Favoriler' },
46
+ { id: 'groups', label: 'Gruplar' }
47
+ ].map((filter) => (_jsx("button", { onClick: () => setActiveFilter(filter.id), className: `px-4 py-2 rounded-xl text-xs font-black transition-all whitespace-nowrap border ${activeFilter === filter.id
48
+ ? 'bg-blue-500 text-white border-blue-500 shadow-md shadow-blue-500/20 scale-105'
49
+ : 'bg-black/5 dark:bg-white/5 text-armoyu-text-muted border-transparent hover:bg-black/10 dark:hover:bg-white/10'}`, children: filter.label }, filter.id))) }), _jsxs("div", { className: "flex-1 overflow-y-auto no-scrollbar p-3 space-y-1.5", children: [_jsxs("div", { className: "space-y-1.5", children: [searchQuery.length > 0 && filteredActiveContacts.length > 0 && (_jsx("div", { className: "px-3 py-1 text-[10px] font-black text-armoyu-text-muted uppercase tracking-[0.2em] opacity-50", children: "Sohbet Ge\u00E7mi\u015Fi" })), filteredActiveContacts.map((c, idx) => (_jsxs("button", { onClick: () => onSelect(c.id), className: `w-full flex items-center gap-4 p-3 rounded-2xl transition-all cursor-pointer text-left ${activeId === c.id
50
+ ? 'bg-blue-500/10 dark:bg-blue-500/20 border border-blue-500/20 shadow-inner'
51
+ : 'hover:bg-black/5 dark:hover:bg-white/5 border border-transparent'}`, children: [_jsxs("div", { className: "relative shrink-0", children: [_jsx("img", { src: c.avatar, alt: c.name, className: "w-12 h-12 rounded-full object-cover border border-white/10 shadow-sm" }), c.isOnline && (_jsx("div", { className: "absolute -bottom-0.5 -right-0.5 w-3.5 h-3.5 bg-green-500 rounded-full border-2 border-white dark:border-[#0a0a0e] shadow-sm" }))] }), _jsxs("div", { className: "flex-1 overflow-hidden", children: [_jsxs("div", { className: "flex justify-between items-center mb-1", children: [_jsx("span", { className: "font-black text-slate-900 dark:text-gray-200 text-sm truncate max-w-[130px]", children: c.name }), _jsx("span", { className: "text-xs text-gray-500 font-black", children: c.time })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: `text-xs truncate max-w-[120px] font-bold ${c.unreadCount > 0 ? 'text-slate-950 dark:text-white' : 'text-slate-500'}`, children: c.lastMessage?.content || 'Mesaj yok' }), c.unreadCount > 0 && (_jsx("span", { className: "bg-blue-500 text-white text-[10px] font-black px-1.5 py-0.5 rounded-md leading-none shadow-md animate-in zoom-in duration-300", children: c.unreadCount > 9 ? '9+' : c.unreadCount }))] })] })] }, `${c.id}-${idx}`)))] }), additionalContacts.length > 0 && (_jsxs("div", { className: "space-y-1.5 mt-6 animate-in fade-in slide-in-from-top-2 duration-500", children: [_jsx("div", { className: "px-3 py-1 text-[10px] font-black text-blue-500 uppercase tracking-[0.2em]", children: "Yeni Sohbet Ba\u015Flat" }), additionalContacts.map((u) => (_jsxs("button", { onClick: () => onSelect(u.username), className: "w-full flex items-center gap-4 p-3 rounded-2xl hover:bg-white/5 border border-transparent transition-all group", children: [_jsx("div", { className: "relative shrink-0", children: _jsx("img", { src: u.avatar, alt: u.displayName, className: "w-12 h-12 rounded-full object-cover border border-white/10 shadow-sm opacity-60 group-hover:opacity-100 transition-opacity" }) }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("div", { className: "font-black text-slate-900 dark:text-gray-200 text-sm truncate", children: u.displayName }), _jsxs("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-tighter", children: ["@", u.username] })] }), _jsx("div", { className: "w-8 h-8 rounded-full bg-blue-500/10 flex items-center justify-center text-blue-500 scale-0 group-hover:scale-100 transition-all duration-300", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" }) }) })] }, u.username)))] })), searchQuery.length > 0 && filteredActiveContacts.length === 0 && additionalContacts.length === 0 && (_jsx("div", { className: "py-12 text-center", children: _jsx("div", { className: "text-armoyu-text-muted text-sm font-bold opacity-30", children: "Sonu\u00E7 bulunamad\u0131" }) }))] })] }));
52
+ }
53
+ //# sourceMappingURL=ChatList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatList.js","sourceRoot":"","sources":["../../../../../src/components/modules/chat/widgets/ChatList.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface ChatMessageProps {
2
+ id: string;
3
+ sender: {
4
+ name: string;
5
+ avatar: string;
6
+ isSelf: boolean;
7
+ };
8
+ content: string;
9
+ timestamp: string;
10
+ }
11
+ export declare function ChatMessage({ sender, content, timestamp }: ChatMessageProps): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=ChatMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/chat/widgets/ChatMessage.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CA6B3E"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export function ChatMessage({ sender, content, timestamp }) {
3
+ return (_jsx("div", { className: `flex w-full ${sender.isSelf ? 'justify-end' : 'justify-start'} mb-4`, children: _jsxs("div", { className: `flex gap-3 items-end max-w-[85%] md:max-w-[70%] ${sender.isSelf ? 'flex-row-reverse' : 'flex-row'}`, children: [_jsx("img", { src: sender.avatar, alt: sender.name, className: "w-8 h-8 rounded-full border border-white/10 shadow-sm shrink-0" }), _jsxs("div", { className: `flex flex-col ${sender.isSelf ? 'items-end' : 'items-start'} gap-1.5`, children: [_jsxs("span", { className: "text-xs text-gray-500 font-bold tracking-wide dark:text-gray-400", children: [sender.name, " ", _jsx("span", { className: "opacity-50 mx-1", children: "\u2022" }), " ", timestamp] }), _jsx("div", { className: `p-3.5 rounded-2xl text-sm shadow-lg leading-relaxed font-medium ${sender.isSelf
4
+ ? 'bg-gradient-to-br from-blue-600 to-blue-500 text-white rounded-br-sm shadow-[0_4px_15px_rgba(37,99,235,0.3)]'
5
+ : 'bg-black/5 dark:bg-[#1a1a24] text-armoyu-text rounded-bl-sm border border-black/5 dark:border-white/5'}`, children: content })] })] }) }));
6
+ }
7
+ //# sourceMappingURL=ChatMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../../../../src/components/modules/chat/widgets/ChatMessage.tsx"],"names":[],"mappings":";AAaA,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAoB;IAC1E,OAAO,CACL,cAAK,SAAS,EAAE,eAAe,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,OAAO,YACnF,eAAK,SAAS,EAAE,mDAAmD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,EAAE,aAGlH,cACE,GAAG,EAAE,MAAM,CAAC,MAAM,EAClB,GAAG,EAAE,MAAM,CAAC,IAAI,EAChB,SAAS,EAAC,gEAAgE,GAC1E,EAGF,eAAK,SAAS,EAAE,iBAAiB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,UAAU,aACpF,gBAAM,SAAS,EAAC,kEAAkE,aAC/E,MAAM,CAAC,IAAI,OAAE,eAAM,SAAS,EAAC,iBAAiB,uBAAS,OAAE,SAAS,IAC9D,EACP,cAAK,SAAS,EAAE,mEACd,MAAM,CAAC,MAAM;gCACX,CAAC,CAAC,8GAA8G;gCAChH,CAAC,CAAC,uGACN,EAAE,YACC,OAAO,GACJ,IACF,IAEF,GACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function ChatNotes(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=ChatNotes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatNotes.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/chat/widgets/ChatNotes.tsx"],"names":[],"mappings":"AAMA,wBAAgB,SAAS,4CAUxB"}