@armoyu/ui 1.0.0

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 (384) hide show
  1. package/dist/app/layout.d.ts +7 -0
  2. package/dist/app/layout.d.ts.map +1 -0
  3. package/dist/app/layout.js +31 -0
  4. package/dist/app/layout.js.map +1 -0
  5. package/dist/app/page.d.ts +2 -0
  6. package/dist/app/page.d.ts.map +1 -0
  7. package/dist/app/page.js +40 -0
  8. package/dist/app/page.js.map +1 -0
  9. package/dist/components/Button.d.ts +8 -0
  10. package/dist/components/Button.d.ts.map +1 -0
  11. package/dist/components/Button.js +16 -0
  12. package/dist/components/Button.js.map +1 -0
  13. package/dist/components/GenderStatsBar.d.ts +6 -0
  14. package/dist/components/GenderStatsBar.d.ts.map +1 -0
  15. package/dist/components/GenderStatsBar.js +8 -0
  16. package/dist/components/GenderStatsBar.js.map +1 -0
  17. package/dist/components/RollingNumber.d.ts +7 -0
  18. package/dist/components/RollingNumber.d.ts.map +1 -0
  19. package/dist/components/RollingNumber.js +24 -0
  20. package/dist/components/RollingNumber.js.map +1 -0
  21. package/dist/components/Slider.d.ts +11 -0
  22. package/dist/components/Slider.d.ts.map +1 -0
  23. package/dist/components/Slider.js +36 -0
  24. package/dist/components/Slider.js.map +1 -0
  25. package/dist/components/StatsGrid.d.ts +6 -0
  26. package/dist/components/StatsGrid.d.ts.map +1 -0
  27. package/dist/components/StatsGrid.js +14 -0
  28. package/dist/components/StatsGrid.js.map +1 -0
  29. package/dist/components/ViewModeToggle.d.ts +8 -0
  30. package/dist/components/ViewModeToggle.d.ts.map +1 -0
  31. package/dist/components/ViewModeToggle.js +10 -0
  32. package/dist/components/ViewModeToggle.js.map +1 -0
  33. package/dist/components/modules/auth/Dashboard.d.ts +2 -0
  34. package/dist/components/modules/auth/Dashboard.d.ts.map +1 -0
  35. package/dist/components/modules/auth/Dashboard.js +251 -0
  36. package/dist/components/modules/auth/Dashboard.js.map +1 -0
  37. package/dist/components/modules/auth/MediaLightbox.d.ts +14 -0
  38. package/dist/components/modules/auth/MediaLightbox.d.ts.map +1 -0
  39. package/dist/components/modules/auth/MediaLightbox.js +47 -0
  40. package/dist/components/modules/auth/MediaLightbox.js.map +1 -0
  41. package/dist/components/modules/auth/PostCard.d.ts +25 -0
  42. package/dist/components/modules/auth/PostCard.d.ts.map +1 -0
  43. package/dist/components/modules/auth/PostCard.js +113 -0
  44. package/dist/components/modules/auth/PostCard.js.map +1 -0
  45. package/dist/components/modules/auth/PostInteractionsModal.d.ts +12 -0
  46. package/dist/components/modules/auth/PostInteractionsModal.d.ts.map +1 -0
  47. package/dist/components/modules/auth/PostInteractionsModal.js +13 -0
  48. package/dist/components/modules/auth/PostInteractionsModal.js.map +1 -0
  49. package/dist/components/modules/auth/RepostModal.d.ts +22 -0
  50. package/dist/components/modules/auth/RepostModal.d.ts.map +1 -0
  51. package/dist/components/modules/auth/RepostModal.js +76 -0
  52. package/dist/components/modules/auth/RepostModal.js.map +1 -0
  53. package/dist/components/modules/auth/SidebarLeft.d.ts +2 -0
  54. package/dist/components/modules/auth/SidebarLeft.d.ts.map +1 -0
  55. package/dist/components/modules/auth/SidebarLeft.js +41 -0
  56. package/dist/components/modules/auth/SidebarLeft.js.map +1 -0
  57. package/dist/components/modules/auth/Stories.d.ts +2 -0
  58. package/dist/components/modules/auth/Stories.d.ts.map +1 -0
  59. package/dist/components/modules/auth/Stories.js +16 -0
  60. package/dist/components/modules/auth/Stories.js.map +1 -0
  61. package/dist/components/modules/auth/StoryViewer.d.ts +10 -0
  62. package/dist/components/modules/auth/StoryViewer.d.ts.map +1 -0
  63. package/dist/components/modules/auth/StoryViewer.js +48 -0
  64. package/dist/components/modules/auth/StoryViewer.js.map +1 -0
  65. package/dist/components/modules/chat/ChatContainer.d.ts +2 -0
  66. package/dist/components/modules/chat/ChatContainer.d.ts.map +1 -0
  67. package/dist/components/modules/chat/ChatContainer.js +197 -0
  68. package/dist/components/modules/chat/ChatContainer.js.map +1 -0
  69. package/dist/components/modules/chat/ChatInput.d.ts +5 -0
  70. package/dist/components/modules/chat/ChatInput.d.ts.map +1 -0
  71. package/dist/components/modules/chat/ChatInput.js +31 -0
  72. package/dist/components/modules/chat/ChatInput.js.map +1 -0
  73. package/dist/components/modules/chat/ChatList.d.ts +7 -0
  74. package/dist/components/modules/chat/ChatList.d.ts.map +1 -0
  75. package/dist/components/modules/chat/ChatList.js +52 -0
  76. package/dist/components/modules/chat/ChatList.js.map +1 -0
  77. package/dist/components/modules/chat/ChatMessage.d.ts +12 -0
  78. package/dist/components/modules/chat/ChatMessage.d.ts.map +1 -0
  79. package/dist/components/modules/chat/ChatMessage.js +7 -0
  80. package/dist/components/modules/chat/ChatMessage.js.map +1 -0
  81. package/dist/components/modules/chat/ChatNotes.d.ts +2 -0
  82. package/dist/components/modules/chat/ChatNotes.d.ts.map +1 -0
  83. package/dist/components/modules/chat/ChatNotes.js +12 -0
  84. package/dist/components/modules/chat/ChatNotes.js.map +1 -0
  85. package/dist/components/modules/community/GroupHeader.d.ts +11 -0
  86. package/dist/components/modules/community/GroupHeader.d.ts.map +1 -0
  87. package/dist/components/modules/community/GroupHeader.js +18 -0
  88. package/dist/components/modules/community/GroupHeader.js.map +1 -0
  89. package/dist/components/modules/community/GroupMenu.d.ts +10 -0
  90. package/dist/components/modules/community/GroupMenu.d.ts.map +1 -0
  91. package/dist/components/modules/community/GroupMenu.js +17 -0
  92. package/dist/components/modules/community/GroupMenu.js.map +1 -0
  93. package/dist/components/modules/community/SchoolCard.d.ts +7 -0
  94. package/dist/components/modules/community/SchoolCard.d.ts.map +1 -0
  95. package/dist/components/modules/community/SchoolCard.js +8 -0
  96. package/dist/components/modules/community/SchoolCard.js.map +1 -0
  97. package/dist/components/modules/community/SurveyCard.d.ts +7 -0
  98. package/dist/components/modules/community/SurveyCard.d.ts.map +1 -0
  99. package/dist/components/modules/community/SurveyCard.js +38 -0
  100. package/dist/components/modules/community/SurveyCard.js.map +1 -0
  101. package/dist/components/modules/forum/ForumBoard.d.ts +17 -0
  102. package/dist/components/modules/forum/ForumBoard.d.ts.map +1 -0
  103. package/dist/components/modules/forum/ForumBoard.js +7 -0
  104. package/dist/components/modules/forum/ForumBoard.js.map +1 -0
  105. package/dist/components/modules/forum/ForumPost.d.ts +14 -0
  106. package/dist/components/modules/forum/ForumPost.d.ts.map +1 -0
  107. package/dist/components/modules/forum/ForumPost.js +6 -0
  108. package/dist/components/modules/forum/ForumPost.js.map +1 -0
  109. package/dist/components/modules/forum/NewTopicModal.d.ts +8 -0
  110. package/dist/components/modules/forum/NewTopicModal.d.ts.map +1 -0
  111. package/dist/components/modules/forum/NewTopicModal.js +27 -0
  112. package/dist/components/modules/forum/NewTopicModal.js.map +1 -0
  113. package/dist/components/modules/forum/TopicItem.d.ts +16 -0
  114. package/dist/components/modules/forum/TopicItem.d.ts.map +1 -0
  115. package/dist/components/modules/forum/TopicItem.js +7 -0
  116. package/dist/components/modules/forum/TopicItem.js.map +1 -0
  117. package/dist/components/modules/galleries/GalleryCard.d.ts +10 -0
  118. package/dist/components/modules/galleries/GalleryCard.d.ts.map +1 -0
  119. package/dist/components/modules/galleries/GalleryCard.js +6 -0
  120. package/dist/components/modules/galleries/GalleryCard.js.map +1 -0
  121. package/dist/components/modules/giveaways/GiveawayCard.d.ts +10 -0
  122. package/dist/components/modules/giveaways/GiveawayCard.d.ts.map +1 -0
  123. package/dist/components/modules/giveaways/GiveawayCard.js +7 -0
  124. package/dist/components/modules/giveaways/GiveawayCard.js.map +1 -0
  125. package/dist/components/modules/groups/ApplicationModal.d.ts +8 -0
  126. package/dist/components/modules/groups/ApplicationModal.d.ts.map +1 -0
  127. package/dist/components/modules/groups/ApplicationModal.js +28 -0
  128. package/dist/components/modules/groups/ApplicationModal.js.map +1 -0
  129. package/dist/components/modules/groups/GroupCard.d.ts +13 -0
  130. package/dist/components/modules/groups/GroupCard.d.ts.map +1 -0
  131. package/dist/components/modules/groups/GroupCard.js +7 -0
  132. package/dist/components/modules/groups/GroupCard.js.map +1 -0
  133. package/dist/components/modules/guest/Introduction.d.ts +2 -0
  134. package/dist/components/modules/guest/Introduction.d.ts.map +1 -0
  135. package/dist/components/modules/guest/Introduction.js +14 -0
  136. package/dist/components/modules/guest/Introduction.js.map +1 -0
  137. package/dist/components/modules/magaza/BackToStore.d.ts +2 -0
  138. package/dist/components/modules/magaza/BackToStore.d.ts.map +1 -0
  139. package/dist/components/modules/magaza/BackToStore.js +11 -0
  140. package/dist/components/modules/magaza/BackToStore.js.map +1 -0
  141. package/dist/components/modules/magaza/StoreHeader.d.ts +6 -0
  142. package/dist/components/modules/magaza/StoreHeader.d.ts.map +1 -0
  143. package/dist/components/modules/magaza/StoreHeader.js +9 -0
  144. package/dist/components/modules/magaza/StoreHeader.js.map +1 -0
  145. package/dist/components/modules/news/NewsCard.d.ts +12 -0
  146. package/dist/components/modules/news/NewsCard.d.ts.map +1 -0
  147. package/dist/components/modules/news/NewsCard.js +7 -0
  148. package/dist/components/modules/news/NewsCard.js.map +1 -0
  149. package/dist/components/modules/news/NewsComments.d.ts +2 -0
  150. package/dist/components/modules/news/NewsComments.d.ts.map +1 -0
  151. package/dist/components/modules/news/NewsComments.js +53 -0
  152. package/dist/components/modules/news/NewsComments.js.map +1 -0
  153. package/dist/components/modules/profile/CloudStorageModal.d.ts +9 -0
  154. package/dist/components/modules/profile/CloudStorageModal.d.ts.map +1 -0
  155. package/dist/components/modules/profile/CloudStorageModal.js +32 -0
  156. package/dist/components/modules/profile/CloudStorageModal.js.map +1 -0
  157. package/dist/components/modules/profile/EditProfileModal.d.ts +9 -0
  158. package/dist/components/modules/profile/EditProfileModal.d.ts.map +1 -0
  159. package/dist/components/modules/profile/EditProfileModal.js +28 -0
  160. package/dist/components/modules/profile/EditProfileModal.js.map +1 -0
  161. package/dist/components/modules/profile/ProfileContent.d.ts +5 -0
  162. package/dist/components/modules/profile/ProfileContent.d.ts.map +1 -0
  163. package/dist/components/modules/profile/ProfileContent.js +71 -0
  164. package/dist/components/modules/profile/ProfileContent.js.map +1 -0
  165. package/dist/components/modules/profile/ProfileHeader.d.ts +8 -0
  166. package/dist/components/modules/profile/ProfileHeader.d.ts.map +1 -0
  167. package/dist/components/modules/profile/ProfileHeader.js +20 -0
  168. package/dist/components/modules/profile/ProfileHeader.js.map +1 -0
  169. package/dist/components/modules/profile/ProfileStats.d.ts +2 -0
  170. package/dist/components/modules/profile/ProfileStats.d.ts.map +1 -0
  171. package/dist/components/modules/profile/ProfileStats.js +15 -0
  172. package/dist/components/modules/profile/ProfileStats.js.map +1 -0
  173. package/dist/components/modules/profile/TeamSelectorModal.d.ts +11 -0
  174. package/dist/components/modules/profile/TeamSelectorModal.d.ts.map +1 -0
  175. package/dist/components/modules/profile/TeamSelectorModal.js +17 -0
  176. package/dist/components/modules/profile/TeamSelectorModal.js.map +1 -0
  177. package/dist/components/modules/stations/StationCard.d.ts +3 -0
  178. package/dist/components/modules/stations/StationCard.d.ts.map +1 -0
  179. package/dist/components/modules/stations/StationCard.js +26 -0
  180. package/dist/components/modules/stations/StationCard.js.map +1 -0
  181. package/dist/components/modules/stations/StationQRModal.d.ts +10 -0
  182. package/dist/components/modules/stations/StationQRModal.d.ts.map +1 -0
  183. package/dist/components/modules/stations/StationQRModal.js +13 -0
  184. package/dist/components/modules/stations/StationQRModal.js.map +1 -0
  185. package/dist/components/shared/FloatingChatButton.d.ts +5 -0
  186. package/dist/components/shared/FloatingChatButton.d.ts.map +1 -0
  187. package/dist/components/shared/FloatingChatButton.js +21 -0
  188. package/dist/components/shared/FloatingChatButton.js.map +1 -0
  189. package/dist/components/shared/Footer.d.ts +2 -0
  190. package/dist/components/shared/Footer.d.ts.map +1 -0
  191. package/dist/components/shared/Footer.js +10 -0
  192. package/dist/components/shared/Footer.js.map +1 -0
  193. package/dist/components/shared/Header.d.ts +2 -0
  194. package/dist/components/shared/Header.d.ts.map +1 -0
  195. package/dist/components/shared/Header.js +98 -0
  196. package/dist/components/shared/Header.js.map +1 -0
  197. package/dist/components/shared/LoginModal.d.ts +5 -0
  198. package/dist/components/shared/LoginModal.d.ts.map +1 -0
  199. package/dist/components/shared/LoginModal.js +70 -0
  200. package/dist/components/shared/LoginModal.js.map +1 -0
  201. package/dist/components/shared/MainLayoutWrapper.d.ts +4 -0
  202. package/dist/components/shared/MainLayoutWrapper.d.ts.map +1 -0
  203. package/dist/components/shared/MainLayoutWrapper.js +8 -0
  204. package/dist/components/shared/MainLayoutWrapper.js.map +1 -0
  205. package/dist/components/shared/PageWidth.d.ts +6 -0
  206. package/dist/components/shared/PageWidth.d.ts.map +1 -0
  207. package/dist/components/shared/PageWidth.js +14 -0
  208. package/dist/components/shared/PageWidth.js.map +1 -0
  209. package/dist/components/showcase/CommunityTab.d.ts +2 -0
  210. package/dist/components/showcase/CommunityTab.d.ts.map +1 -0
  211. package/dist/components/showcase/CommunityTab.js +6 -0
  212. package/dist/components/showcase/CommunityTab.js.map +1 -0
  213. package/dist/components/showcase/CorporateTab.d.ts +2 -0
  214. package/dist/components/showcase/CorporateTab.d.ts.map +1 -0
  215. package/dist/components/showcase/CorporateTab.js +6 -0
  216. package/dist/components/showcase/CorporateTab.js.map +1 -0
  217. package/dist/components/showcase/GeneralTab.d.ts +2 -0
  218. package/dist/components/showcase/GeneralTab.d.ts.map +1 -0
  219. package/dist/components/showcase/GeneralTab.js +6 -0
  220. package/dist/components/showcase/GeneralTab.js.map +1 -0
  221. package/dist/components/showcase/MessagesTab.d.ts +2 -0
  222. package/dist/components/showcase/MessagesTab.d.ts.map +1 -0
  223. package/dist/components/showcase/MessagesTab.js +6 -0
  224. package/dist/components/showcase/MessagesTab.js.map +1 -0
  225. package/dist/components/showcase/ProfileTab.d.ts +2 -0
  226. package/dist/components/showcase/ProfileTab.d.ts.map +1 -0
  227. package/dist/components/showcase/ProfileTab.js +7 -0
  228. package/dist/components/showcase/ProfileTab.js.map +1 -0
  229. package/dist/components/showcase/ShopTab.d.ts +2 -0
  230. package/dist/components/showcase/ShopTab.d.ts.map +1 -0
  231. package/dist/components/showcase/ShopTab.js +6 -0
  232. package/dist/components/showcase/ShopTab.js.map +1 -0
  233. package/dist/components/showcase/SocialTab.d.ts +2 -0
  234. package/dist/components/showcase/SocialTab.d.ts.map +1 -0
  235. package/dist/components/showcase/SocialTab.js +7 -0
  236. package/dist/components/showcase/SocialTab.js.map +1 -0
  237. package/dist/context/AuthContext.d.ts +19 -0
  238. package/dist/context/AuthContext.d.ts.map +1 -0
  239. package/dist/context/AuthContext.js +75 -0
  240. package/dist/context/AuthContext.js.map +1 -0
  241. package/dist/context/CartContext.d.ts +17 -0
  242. package/dist/context/CartContext.d.ts.map +1 -0
  243. package/dist/context/CartContext.js +64 -0
  244. package/dist/context/CartContext.js.map +1 -0
  245. package/dist/context/ChatContext.d.ts +13 -0
  246. package/dist/context/ChatContext.d.ts.map +1 -0
  247. package/dist/context/ChatContext.js +18 -0
  248. package/dist/context/ChatContext.js.map +1 -0
  249. package/dist/context/LayoutContext.d.ts +11 -0
  250. package/dist/context/LayoutContext.d.ts.map +1 -0
  251. package/dist/context/LayoutContext.js +17 -0
  252. package/dist/context/LayoutContext.js.map +1 -0
  253. package/dist/context/SocketContext.d.ts +13 -0
  254. package/dist/context/SocketContext.d.ts.map +1 -0
  255. package/dist/context/SocketContext.js +31 -0
  256. package/dist/context/SocketContext.js.map +1 -0
  257. package/dist/context/ThemeContext.d.ts +11 -0
  258. package/dist/context/ThemeContext.d.ts.map +1 -0
  259. package/dist/context/ThemeContext.js +40 -0
  260. package/dist/context/ThemeContext.js.map +1 -0
  261. package/dist/index.d.ts +66 -0
  262. package/dist/index.d.ts.map +1 -0
  263. package/dist/index.js +81 -0
  264. package/dist/index.js.map +1 -0
  265. package/dist/lib/constants/educationData.d.ts +8 -0
  266. package/dist/lib/constants/educationData.d.ts.map +1 -0
  267. package/dist/lib/constants/educationData.js +118 -0
  268. package/dist/lib/constants/educationData.js.map +1 -0
  269. package/dist/lib/constants/punishmentData.d.ts +30 -0
  270. package/dist/lib/constants/punishmentData.d.ts.map +1 -0
  271. package/dist/lib/constants/punishmentData.js +184 -0
  272. package/dist/lib/constants/punishmentData.js.map +1 -0
  273. package/dist/lib/constants/seedData.d.ts +165 -0
  274. package/dist/lib/constants/seedData.d.ts.map +1 -0
  275. package/dist/lib/constants/seedData.js +709 -0
  276. package/dist/lib/constants/seedData.js.map +1 -0
  277. package/dist/lib/constants/stationData.d.ts +14 -0
  278. package/dist/lib/constants/stationData.d.ts.map +1 -0
  279. package/dist/lib/constants/stationData.js +167 -0
  280. package/dist/lib/constants/stationData.js.map +1 -0
  281. package/dist/lib/constants/surveyData.d.ts +3 -0
  282. package/dist/lib/constants/surveyData.d.ts.map +1 -0
  283. package/dist/lib/constants/surveyData.js +50 -0
  284. package/dist/lib/constants/surveyData.js.map +1 -0
  285. package/dist/lib/constants/teamData.d.ts +13 -0
  286. package/dist/lib/constants/teamData.d.ts.map +1 -0
  287. package/dist/lib/constants/teamData.js +66 -0
  288. package/dist/lib/constants/teamData.js.map +1 -0
  289. package/dist/lib/utils/numberFormat.d.ts +10 -0
  290. package/dist/lib/utils/numberFormat.d.ts.map +1 -0
  291. package/dist/lib/utils/numberFormat.js +17 -0
  292. package/dist/lib/utils/numberFormat.js.map +1 -0
  293. package/dist/lib/utils/odpUtils.d.ts +16 -0
  294. package/dist/lib/utils/odpUtils.d.ts.map +1 -0
  295. package/dist/lib/utils/odpUtils.js +44 -0
  296. package/dist/lib/utils/odpUtils.js.map +1 -0
  297. package/dist/types/index.d.ts +2 -0
  298. package/dist/types/index.d.ts.map +1 -0
  299. package/dist/types/index.js +2 -0
  300. package/dist/types/index.js.map +1 -0
  301. package/dist/types/stats.d.ts +18 -0
  302. package/dist/types/stats.d.ts.map +1 -0
  303. package/dist/types/stats.js +2 -0
  304. package/dist/types/stats.js.map +1 -0
  305. package/next.config.ts +13 -0
  306. package/package.json +46 -0
  307. package/postcss.config.js +6 -0
  308. package/src/app/layout.tsx +64 -0
  309. package/src/app/page.tsx +101 -0
  310. package/src/components/Button.tsx +41 -0
  311. package/src/components/GenderStatsBar.tsx +66 -0
  312. package/src/components/RollingNumber.tsx +50 -0
  313. package/src/components/Slider.tsx +114 -0
  314. package/src/components/StatsGrid.tsx +35 -0
  315. package/src/components/ViewModeToggle.tsx +39 -0
  316. package/src/components/modules/auth/Dashboard.tsx +649 -0
  317. package/src/components/modules/auth/MediaLightbox.tsx +112 -0
  318. package/src/components/modules/auth/PostCard.tsx +556 -0
  319. package/src/components/modules/auth/PostInteractionsModal.tsx +138 -0
  320. package/src/components/modules/auth/RepostModal.tsx +167 -0
  321. package/src/components/modules/auth/SidebarLeft.tsx +237 -0
  322. package/src/components/modules/auth/Stories.tsx +69 -0
  323. package/src/components/modules/auth/StoryViewer.tsx +146 -0
  324. package/src/components/modules/chat/ChatContainer.tsx +332 -0
  325. package/src/components/modules/chat/ChatInput.tsx +57 -0
  326. package/src/components/modules/chat/ChatList.tsx +179 -0
  327. package/src/components/modules/chat/ChatMessage.tsx +43 -0
  328. package/src/components/modules/chat/ChatNotes.tsx +58 -0
  329. package/src/components/modules/community/GroupHeader.tsx +111 -0
  330. package/src/components/modules/community/GroupMenu.tsx +82 -0
  331. package/src/components/modules/community/SchoolCard.tsx +104 -0
  332. package/src/components/modules/community/SurveyCard.tsx +149 -0
  333. package/src/components/modules/forum/ForumBoard.tsx +78 -0
  334. package/src/components/modules/forum/ForumPost.tsx +71 -0
  335. package/src/components/modules/forum/NewTopicModal.tsx +112 -0
  336. package/src/components/modules/forum/TopicItem.tsx +72 -0
  337. package/src/components/modules/galleries/GalleryCard.tsx +66 -0
  338. package/src/components/modules/giveaways/GiveawayCard.tsx +76 -0
  339. package/src/components/modules/groups/ApplicationModal.tsx +133 -0
  340. package/src/components/modules/groups/GroupCard.tsx +96 -0
  341. package/src/components/modules/guest/Introduction.tsx +60 -0
  342. package/src/components/modules/magaza/BackToStore.tsx +53 -0
  343. package/src/components/modules/magaza/StoreHeader.tsx +74 -0
  344. package/src/components/modules/news/NewsCard.tsx +66 -0
  345. package/src/components/modules/news/NewsComments.tsx +141 -0
  346. package/src/components/modules/profile/CloudStorageModal.tsx +200 -0
  347. package/src/components/modules/profile/EditProfileModal.tsx +191 -0
  348. package/src/components/modules/profile/ProfileContent.tsx +491 -0
  349. package/src/components/modules/profile/ProfileHeader.tsx +128 -0
  350. package/src/components/modules/profile/ProfileStats.tsx +72 -0
  351. package/src/components/modules/profile/TeamSelectorModal.tsx +129 -0
  352. package/src/components/modules/stations/StationCard.tsx +95 -0
  353. package/src/components/modules/stations/StationQRModal.tsx +102 -0
  354. package/src/components/shared/FloatingChatButton.tsx +57 -0
  355. package/src/components/shared/Footer.tsx +77 -0
  356. package/src/components/shared/Header.tsx +799 -0
  357. package/src/components/shared/LoginModal.tsx +208 -0
  358. package/src/components/shared/MainLayoutWrapper.tsx +15 -0
  359. package/src/components/shared/PageWidth.tsx +22 -0
  360. package/src/components/showcase/CommunityTab.tsx +22 -0
  361. package/src/components/showcase/CorporateTab.tsx +38 -0
  362. package/src/components/showcase/GeneralTab.tsx +41 -0
  363. package/src/components/showcase/MessagesTab.tsx +26 -0
  364. package/src/components/showcase/ProfileTab.tsx +20 -0
  365. package/src/components/showcase/ShopTab.tsx +24 -0
  366. package/src/components/showcase/SocialTab.tsx +28 -0
  367. package/src/context/AuthContext.tsx +104 -0
  368. package/src/context/CartContext.tsx +93 -0
  369. package/src/context/ChatContext.tsx +32 -0
  370. package/src/context/LayoutContext.tsx +29 -0
  371. package/src/context/SocketContext.tsx +50 -0
  372. package/src/context/ThemeContext.tsx +52 -0
  373. package/src/globals.css +187 -0
  374. package/src/index.ts +96 -0
  375. package/src/lib/constants/educationData.ts +124 -0
  376. package/src/lib/constants/punishmentData.ts +201 -0
  377. package/src/lib/constants/seedData.ts +758 -0
  378. package/src/lib/constants/stationData.ts +170 -0
  379. package/src/lib/constants/surveyData.ts +53 -0
  380. package/src/lib/constants/teamData.ts +69 -0
  381. package/src/lib/utils/numberFormat.ts +16 -0
  382. package/src/lib/utils/odpUtils.ts +51 -0
  383. package/src/types/index.ts +1 -0
  384. package/src/types/stats.ts +17 -0
@@ -0,0 +1,251 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState, useEffect, useRef, useMemo } from 'react';
3
+ import { useSearchParams, useRouter } from 'next/navigation';
4
+ import { useAuth } from '../../../context/AuthContext';
5
+ import { useSocket } from '../../../context/SocketContext';
6
+ import { PostCard } from './PostCard';
7
+ import { Stories } from './Stories';
8
+ import { SidebarLeft } from './SidebarLeft';
9
+ import { CloudStorageModal } from '../profile/CloudStorageModal';
10
+ import Link from 'next/link';
11
+ import { postList, groupList } from '../../../lib/constants/seedData';
12
+ import { Post } from '@armoyu/core';
13
+ import { CheckCircle2 } from 'lucide-react';
14
+ export function Dashboard() {
15
+ const { user } = useAuth();
16
+ const { on } = useSocket();
17
+ const searchParams = useSearchParams();
18
+ const router = useRouter();
19
+ const focusedPostId = searchParams.get('post');
20
+ const [isCloudModalOpen, setIsCloudModalOpen] = useState(false);
21
+ const [isBioModalOpen, setIsBioModalOpen] = useState(false);
22
+ const [tempBio, setTempBio] = useState(user?.bio || '');
23
+ const [selectedMedia, setSelectedMedia] = useState([]);
24
+ const [selectedTag, setSelectedTag] = useState(null);
25
+ const [visibleCount, setVisibleCount] = useState(10);
26
+ const [isLoadingMore, setIsLoadingMore] = useState(false);
27
+ const { updateUser } = useAuth();
28
+ const [posts, setPosts] = useState(postList);
29
+ const [newPostsBuffer, setNewPostsBuffer] = useState([]);
30
+ const [isAtTop, setIsAtTop] = useState(true);
31
+ const [postContent, setPostContent] = useState('');
32
+ const [isPosting, setIsPosting] = useState(false);
33
+ const textareaRef = useRef(null);
34
+ const handleBioSave = () => {
35
+ if (user) {
36
+ updateUser({
37
+ ...user,
38
+ bio: tempBio
39
+ });
40
+ setIsBioModalOpen(false);
41
+ }
42
+ };
43
+ // Gündemdeki Etiketleri Dinamik Hesapla
44
+ const trendingTags = useMemo(() => {
45
+ const counts = {};
46
+ posts.forEach(post => {
47
+ post.hashtags?.forEach(tag => {
48
+ counts[tag] = (counts[tag] || 0) + 1;
49
+ });
50
+ });
51
+ return Object.entries(counts)
52
+ .map(([name, count]) => ({ name, count }))
53
+ .sort((a, b) => b.count - a.count)
54
+ .slice(0, 5);
55
+ }, [posts]);
56
+ // Filtremele ve Pagination Mantığı
57
+ const allFilteredPosts = useMemo(() => {
58
+ // 1. Post ID filtresi (En yüksek öncelik)
59
+ if (focusedPostId) {
60
+ return posts.filter(p => p.id === focusedPostId);
61
+ }
62
+ // 2. Tag filtresi
63
+ if (selectedTag) {
64
+ return posts.filter(post => post.hashtags?.includes(selectedTag.replace('#', '')));
65
+ }
66
+ return posts;
67
+ }, [posts, focusedPostId, selectedTag]);
68
+ const visiblePosts = allFilteredPosts.slice(0, visibleCount);
69
+ // Auto-resize logic for textarea
70
+ useEffect(() => {
71
+ if (textareaRef.current) {
72
+ textareaRef.current.style.height = 'inherit';
73
+ textareaRef.current.style.height = `${textareaRef.current.scrollHeight}px`;
74
+ }
75
+ }, [postContent]);
76
+ useEffect(() => {
77
+ const handleScroll = () => {
78
+ setIsAtTop(window.scrollY < 150);
79
+ };
80
+ window.addEventListener('scroll', handleScroll);
81
+ return () => window.removeEventListener('scroll', handleScroll);
82
+ }, []);
83
+ // Socket Listener for New Posts
84
+ useEffect(() => {
85
+ console.log('[Dashboard] Setting up socket listener for "post" event');
86
+ const offPost = on('post', (data) => {
87
+ console.log('[Dashboard] New socket post received!', data);
88
+ const newPost = Post.fromJSON(data);
89
+ setPosts(currentPosts => {
90
+ // If this is a post from the CURRENT USER, find the pending version and replace it
91
+ if (newPost.author?.username === user?.username) {
92
+ // Check if there is a pending post (we look for matches in content and media count as a heuristic)
93
+ const pendingIdx = currentPosts.findIndex(p => p.isPending && p.content === newPost.content);
94
+ if (pendingIdx !== -1) {
95
+ const updated = [...currentPosts];
96
+ updated[pendingIdx] = newPost; // Replace pending with confirmed
97
+ return updated;
98
+ }
99
+ }
100
+ // Standard duplicate check
101
+ if (currentPosts.some(p => p.id === newPost.id))
102
+ return currentPosts;
103
+ if (window.scrollY < 150) {
104
+ return [newPost, ...currentPosts];
105
+ }
106
+ else {
107
+ setNewPostsBuffer(prev => {
108
+ if (prev.some(p => p.id === newPost.id))
109
+ return prev;
110
+ return [newPost, ...prev];
111
+ });
112
+ return currentPosts;
113
+ }
114
+ });
115
+ });
116
+ const offLike = on('post_like', (data) => {
117
+ const { postId, newCount } = data;
118
+ setPosts(currentPosts => currentPosts.map(p => {
119
+ if (p.id === postId) {
120
+ return {
121
+ ...p,
122
+ stats: { ...p.stats, likes: newCount }
123
+ };
124
+ }
125
+ return p;
126
+ }));
127
+ });
128
+ const offRepostCount = on('post_repost_count', (data) => {
129
+ const { postId } = data;
130
+ setPosts(currentPosts => currentPosts.map(p => {
131
+ if (p.id === postId) {
132
+ return {
133
+ ...p,
134
+ stats: { ...p.stats, reposts: (p.stats.reposts || 0) + 1 }
135
+ };
136
+ }
137
+ return p;
138
+ }));
139
+ });
140
+ return () => {
141
+ offPost();
142
+ offLike();
143
+ offRepostCount();
144
+ };
145
+ }, [on]);
146
+ const mergeNewPosts = () => {
147
+ setPosts(prev => [...newPostsBuffer, ...prev]);
148
+ setNewPostsBuffer([]);
149
+ window.scrollTo({ top: 0, behavior: 'smooth' });
150
+ };
151
+ const { emit } = useSocket();
152
+ const handleCreatePost = () => {
153
+ try {
154
+ if ((!postContent.trim() && selectedMedia.length === 0) || isPosting || !user) {
155
+ return;
156
+ }
157
+ // 1. Create optimistic local post
158
+ const tempId = 'p-temp-' + Date.now();
159
+ const optimisticPost = new Post({
160
+ id: tempId,
161
+ author: user,
162
+ content: postContent,
163
+ media: selectedMedia,
164
+ createdAt: 'Gönderiliyor...',
165
+ stats: { likes: 0, comments: 0, shares: 0, reposts: 0 },
166
+ hashtags: postContent.match(/#\w+/g)?.map(t => t.replace('#', '')) || [],
167
+ isPending: true
168
+ });
169
+ // 2. Clear inputs & Add to state immediately
170
+ const savedContent = postContent;
171
+ const savedMedia = [...selectedMedia];
172
+ setPosts(prev => [optimisticPost, ...prev]);
173
+ setPostContent('');
174
+ setSelectedMedia([]);
175
+ console.log('[Dashboard] Optimistic post added, inputs cleared.');
176
+ // 3. Prepare wire data
177
+ const wireData = {
178
+ id: 'p-' + Date.now(), // Real ID candidate
179
+ author: {
180
+ id: user.id,
181
+ username: user.username,
182
+ displayName: user.displayName,
183
+ avatar: user.avatar,
184
+ role: user.role,
185
+ verified: user.verified,
186
+ level: user.level
187
+ },
188
+ content: savedContent,
189
+ media: savedMedia,
190
+ createdAt: 'Şimdi',
191
+ stats: { likes: 0, comments: 0, shares: 0, reposts: 0 },
192
+ hashtags: savedContent.match(/#\w+/g)?.map(t => t.replace('#', '')) || []
193
+ };
194
+ // 4. Emit to socket server
195
+ emit('post', wireData);
196
+ }
197
+ catch (error) {
198
+ console.error('[Dashboard] Error in handleCreatePost:', error);
199
+ }
200
+ };
201
+ // Sonsuz Kaydırma Trigger (Intersection Observer)
202
+ const loaderRef = useRef(null);
203
+ useEffect(() => {
204
+ const observer = new IntersectionObserver((entries) => {
205
+ if (entries[0].isIntersecting && !isLoadingMore && visibleCount < allFilteredPosts.length) {
206
+ setIsLoadingMore(true);
207
+ setTimeout(() => {
208
+ setVisibleCount(prev => prev + 10);
209
+ setIsLoadingMore(false);
210
+ }, 800);
211
+ }
212
+ }, { threshold: 0.1 });
213
+ if (loaderRef.current) {
214
+ observer.observe(loaderRef.current);
215
+ }
216
+ return () => observer.disconnect();
217
+ }, [isLoadingMore, visibleCount, allFilteredPosts.length]);
218
+ return (_jsxs("div", { className: "w-full flex-1 flex gap-6 pb-20 animate-in fade-in slide-in-from-bottom-8 duration-700 items-start", children: [_jsx(SidebarLeft, {}), _jsxs("div", { className: "flex-1 flex flex-col pt-2", children: [_jsx(Stories, {}), _jsxs("div", { className: "glass-panel p-4 md:p-5 rounded-3xl border border-armoyu-card-border bg-armoyu-card-bg shadow-sm mb-8", children: [_jsxs("div", { className: "flex gap-4 items-start", children: [_jsx("img", { src: user?.avatar || "https://api.dicebear.com/7.x/avataaars/svg?seed=Armoyu", alt: "Avatar", className: "w-12 h-12 rounded-full border border-black/10 dark:border-white/10 shadow-sm mt-1" }), _jsxs("div", { className: "flex-1 flex flex-col gap-3", children: [_jsx("textarea", { ref: textareaRef, value: postContent, onChange: (e) => setPostContent(e.target.value), onKeyDown: (e) => {
219
+ if (e.key === 'Enter' && !e.shiftKey) {
220
+ e.preventDefault();
221
+ handleCreatePost();
222
+ }
223
+ }, placeholder: "Neler yap\u0131yorsun, d\u00FC\u015F\u00FCncelerini payla\u015F...", className: "w-full bg-black/5 dark:bg-white/5 border border-black/10 dark:border-white/10 hover:border-black/20 dark:hover:border-white/20 rounded-2xl px-5 py-3 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 font-medium resize-none min-h-[44px] max-h-[300px] overflow-y-auto" }), selectedMedia.length > 0 && (_jsx("div", { className: "flex gap-2.5 overflow-x-auto pb-2 scrollbar-hide animate-in fade-in slide-in-from-left-4 duration-300", children: selectedMedia.map((media, idx) => (_jsxs("div", { className: "relative group shrink-0", children: [media.type === 'video' ? (_jsxs("div", { className: "w-24 h-24 rounded-2xl bg-black/20 flex items-center justify-center border border-white/10 overflow-hidden", children: [_jsx("video", { src: media.url, className: "w-full h-full object-cover opacity-60" }), _jsx("div", { className: "absolute inset-0 flex items-center justify-center", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "white", children: _jsx("polygon", { points: "5 3 19 12 5 21 5 3" }) }) })] })) : (_jsx("img", { src: media.url, alt: "Preview", className: "w-24 h-24 rounded-2xl object-cover border border-white/10 shadow-md group-hover:scale-105 transition-transform" })), _jsx("button", { onClick: () => setSelectedMedia(prev => prev.filter((_, i) => i !== idx)), className: "absolute -top-1.5 -right-1.5 w-6 h-6 bg-red-500 text-white rounded-full flex items-center justify-center shadow-lg hover:bg-red-600 transition-colors z-10", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", 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" })] }) })] }, idx))) }))] })] }), _jsxs("div", { className: "flex justify-between items-center mt-3 pl-16", children: [_jsxs("div", { className: "flex gap-2", children: [_jsx("button", { onClick: () => setIsCloudModalOpen(true), className: "flex items-center justify-center p-2.5 text-blue-500 hover:bg-blue-500/10 rounded-xl transition-colors shrink-0", title: "Cloud Medya Galerisini A\u00E7", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "currentColor", stroke: "currentColor", strokeWidth: "1", strokeLinecap: "round", strokeLinejoin: "round", className: "text-blue-500", children: _jsx("path", { d: "M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z" }) }) }), _jsx("button", { className: "p-2 text-armoyu-text-muted hover:text-blue-500 hover:bg-blue-500/10 rounded-full transition-colors", 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", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", ry: "2" }), _jsx("circle", { cx: "8.5", cy: "8.5", r: "1.5" }), _jsx("polyline", { points: "21 15 16 10 5 21" })] }) }), _jsx("button", { className: "p-2 text-armoyu-text-muted hover:text-emerald-500 hover:bg-emerald-500/10 rounded-full transition-colors", 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", strokeLinecap: "round", strokeLinejoin: "round", 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", { onClick: handleCreatePost, disabled: isPosting || (!postContent.trim() && selectedMedia.length === 0), className: "px-6 py-2 bg-gradient-to-r from-blue-600 to-blue-500 hover:from-blue-500 hover:to-blue-400 disabled:opacity-50 disabled:cursor-not-allowed text-white text-sm font-bold rounded-xl shadow-md transition-all active:scale-95", children: isPosting ? 'Gidiyor...' : 'Gönder' })] })] }), focusedPostId && (_jsxs("div", { className: "flex items-center justify-between bg-blue-600/10 border border-blue-600/20 p-5 rounded-3xl mb-6 animate-in fade-in zoom-in duration-500", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsx("div", { className: "w-10 h-10 rounded-full bg-blue-600/20 flex items-center justify-center text-blue-600", 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.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M15 3h6v6" }), _jsx("path", { d: "M10 14 21 3" }), _jsx("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" })] }) }), _jsxs("div", { children: [_jsx("h4", { className: "text-sm font-black text-armoyu-text uppercase tracking-tight", children: "Tekil G\u00F6nderi Modu" }), _jsx("p", { className: "text-xs text-armoyu-text-muted font-bold", children: "\u015Eu an sadece bu bildirime ait payla\u015F\u0131m\u0131 g\u00F6r\u00FCyorsunuz." })] })] }), _jsx("button", { onClick: () => router.push('/'), className: "px-5 py-2 bg-blue-600 text-white text-xs font-black rounded-xl hover:bg-blue-500 shadow-md transition-all active:scale-95 uppercase tracking-widest", children: "T\u00FCm Ak\u0131\u015Fa D\u00F6n" })] })), newPostsBuffer.length > 0 && (_jsx("div", { className: "fixed bottom-12 left-1/2 -translate-x-1/2 z-[60] flex justify-center pointer-events-none", children: _jsxs("button", { onClick: mergeNewPosts, className: "pointer-events-auto flex items-center gap-3 px-8 py-3 bg-blue-600/95 backdrop-blur-xl text-white text-sm font-black rounded-full shadow-[0_15px_35px_rgba(37,99,235,0.45)] border border-white/30 hover:bg-blue-500 hover:scale-105 hover:-translate-y-1 transition-all animate-in slide-in-from-bottom-12 fade-in duration-500", children: [_jsx("div", { className: "flex -space-x-2", children: newPostsBuffer.slice(0, 3).map((p, i) => (_jsx("img", { src: p.author?.avatar, className: "w-7 h-7 rounded-full border-2 border-white shadow-sm bg-armoyu-card-bg" }, i))) }), _jsxs("span", { className: "whitespace-nowrap", children: [newPostsBuffer.length, " Yeni Payla\u015F\u0131m\u0131 G\u00F6r\u00FCnt\u00FCle"] }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "m18 15-6-6-6 6" }) })] }) })), _jsxs("div", { className: "space-y-6", children: [selectedTag && (_jsxs("div", { className: "flex items-center justify-between bg-blue-500/10 border border-blue-500/20 p-4 rounded-2xl animate-in fade-in slide-in-from-left-4 duration-300", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-sm font-bold text-armoyu-text-muted", children: "Filtrelenen Etiket:" }), _jsx("span", { className: "text-sm font-black text-blue-500", children: selectedTag })] }), _jsx("button", { onClick: () => { setSelectedTag(null); setVisibleCount(10); }, className: "text-xs font-bold text-red-500 hover:underline", children: "Filtreyi Temizle" })] })), visiblePosts.length > 0 ? (visiblePosts.map(post => (_jsx(PostCard, { ...post, onTagClick: (tag) => { setSelectedTag(tag); setVisibleCount(10); } }, post.id)))) : (_jsx("div", { className: "text-center py-20 bg-black/5 dark:bg-white/5 rounded-3xl border border-dashed border-armoyu-card-border", children: _jsx("p", { className: "text-armoyu-text-muted font-bold", children: "Bu etikete ait hen\u00FCz bir payla\u015F\u0131m yok." }) })), _jsx("div", { ref: loaderRef, className: "py-10 flex flex-col items-center justify-center gap-3", children: visibleCount < allFilteredPosts.length ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "w-8 h-8 border-4 border-blue-500/20 border-t-blue-500 rounded-full animate-spin" }), _jsx("p", { className: "text-xs font-bold text-armoyu-text-muted animate-pulse italic", children: "Daha fazla i\u00E7erik y\u00FCkleniyor..." })] })) : (_jsxs("div", { className: "flex items-center gap-4 opacity-50", children: [_jsx("div", { className: "h-px w-20 bg-armoyu-card-border" }), _jsx("span", { className: "text-[10px] uppercase font-black tracking-widest text-armoyu-text-muted", children: "T\u00FCm ak\u0131\u015F g\u00F6r\u00FCnt\u00FClendi" }), _jsx("div", { className: "h-px w-20 bg-armoyu-card-border" })] })) })] })] }), _jsxs("div", { className: "hidden lg:flex w-[320px] flex-col gap-6", children: [_jsxs("div", { className: "glass-panel p-6 rounded-3xl border border-armoyu-card-border bg-armoyu-card-bg group overflow-hidden relative", children: [_jsx("div", { className: "absolute -top-10 -right-10 w-32 h-32 bg-blue-500/5 rounded-full blur-3xl group-hover:bg-blue-500/10 transition-all duration-700" }), _jsxs("div", { className: "relative z-10", children: [_jsxs("h3", { className: "font-extrabold text-armoyu-text text-xl tracking-tight mb-6", children: ["Ho\u015F Geldin, ", _jsx("span", { className: "text-blue-500", children: user?.displayName?.split(' ')[0] })] }), (() => {
224
+ const steps = [
225
+ { id: 'avatar', label: 'Profil Fotoğrafı Ekle', completed: !!user?.avatar && !user.avatar.includes('seed=Armoyu'), icon: '🖼️' },
226
+ { id: 'bio', label: 'Hakkında Yazısı Yaz', completed: !!user?.bio && user.bio.length > 5, icon: '✍️' },
227
+ { id: 'verified', label: 'E-posta Onayla', completed: !!user?.verified, icon: '📧' },
228
+ { id: 'groups', label: 'Bir Gruba Katıl', completed: (user?.groups?.length || 0) > 0, icon: '🛡️' }
229
+ ];
230
+ const totalPercentage = steps.reduce((acc, step) => acc + (step.completed ? 25 : 0), 0);
231
+ const nextStep = steps.find(s => !s.completed);
232
+ if (totalPercentage === 100) {
233
+ return (_jsxs("div", { className: "flex items-center gap-2 animate-in fade-in duration-700", children: [_jsx(CheckCircle2, { size: 16, className: "text-emerald-500" }), _jsx("span", { className: "text-[10px] font-black text-emerald-500 uppercase tracking-widest", children: "T\u00FCm g\u00F6revler tamamland\u0131" })] }));
234
+ }
235
+ return (_jsxs("div", { className: "animate-in fade-in slide-in-from-top-4 duration-500", children: [_jsxs("div", { className: "flex items-center justify-between mb-4", children: [_jsx("span", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest", children: "Aktif G\u00F6revin" }), _jsxs("span", { className: "text-[10px] font-black text-blue-500 uppercase tracking-widest bg-blue-500/10 px-2 py-0.5 rounded", children: ["%", totalPercentage, " Tamamland\u0131"] })] }), _jsxs("button", { onClick: () => {
236
+ if (nextStep?.id === 'bio') {
237
+ setIsBioModalOpen(true);
238
+ }
239
+ else if (nextStep?.id === 'groups') {
240
+ router.push('/gruplar');
241
+ }
242
+ else {
243
+ router.push('/ayarlar/profil');
244
+ }
245
+ }, className: "w-full flex items-center gap-4 p-4 bg-black/20 hover:bg-blue-600 border border-white/5 rounded-2xl group/task transition-all active:scale-95 shadow-xl text-left", children: [_jsx("div", { className: "w-12 h-12 rounded-xl bg-white/5 flex items-center justify-center text-2xl group-hover/task:bg-white/20 transition-colors", children: nextStep?.icon }), _jsxs("div", { className: "flex-1", children: [_jsx("h4", { className: "text-sm font-black text-armoyu-text group-hover/task:text-white uppercase tracking-tight", children: nextStep?.label }), _jsx("p", { className: "text-[10px] font-bold text-armoyu-text-muted group-hover/task:text-white/80 uppercase tracking-widest mt-1 italic", children: "Hemen Tamamla \u2192" })] })] })] }));
246
+ })()] })] }), (user?.groups?.length || 0) > 0 && (_jsxs("div", { className: "glass-panel p-6 rounded-3xl border border-armoyu-card-border bg-armoyu-card-bg transition-all animate-in fade-in zoom-in duration-500", children: [_jsxs("div", { className: "flex items-center justify-between mb-5", children: [_jsx("h3", { className: "font-extrabold text-armoyu-text text-lg", children: "Gruplar\u0131m" }), _jsxs("span", { className: "bg-blue-500/10 text-blue-500 text-[10px] font-black px-2 py-0.5 rounded-md uppercase", children: [(user?.groups?.length || 0), " Grup"] })] }), _jsx("div", { className: "space-y-4", children: user?.groups?.map((group, idx) => (_jsxs(Link, { href: `/gruplar/${group.name.toLowerCase().replace(/\s+/g, '-')}`, className: "flex items-center gap-3 group cursor-pointer p-1 rounded-xl hover:bg-black/5 dark:hover:bg-white/5 transition-colors", children: [_jsx("img", { src: group.logo, alt: group.name, className: "w-10 h-10 rounded-xl object-cover border border-black/5 shadow-sm group-hover:scale-105 transition-transform" }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("h4", { className: "text-sm font-bold text-armoyu-text truncate group-hover:text-blue-500 transition-colors uppercase tracking-tight", children: group.name }), _jsxs("div", { className: "flex items-center gap-1.5 mt-0.5", children: [_jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-emerald-500 animate-pulse" }), _jsxs("span", { className: "text-[10px] text-armoyu-text-muted truncate opacity-80 uppercase font-bold tracking-widest", children: [group.shortName, " \u2022 AKT\u0130F"] })] })] })] }, idx))) })] })), _jsxs("div", { className: "glass-panel p-6 rounded-3xl border border-armoyu-card-border bg-armoyu-card-bg", children: [_jsx("h3", { className: "font-extrabold text-armoyu-text mb-5 text-lg", children: "G\u00FCndemdeki Etiketler" }), _jsxs("div", { className: "space-y-4", children: [trendingTags.map((tagObj, idx) => (_jsxs("div", { className: `flex justify-between items-center cursor-pointer group p-2 rounded-xl transition-all ${selectedTag === tagObj.name ? 'bg-blue-500/10' : 'hover:bg-black/5 dark:hover:bg-white/5'}`, onClick: () => { setSelectedTag(tagObj.name === selectedTag ? null : tagObj.name); setVisibleCount(10); }, children: [_jsxs("div", { children: [_jsx("span", { className: `block text-sm font-bold transition-colors ${selectedTag === tagObj.name ? 'text-blue-500' : 'text-armoyu-text-muted group-hover:text-blue-500'}`, children: tagObj.name }), _jsxs("span", { className: "block text-[11px] text-armoyu-text-muted opacity-70 mt-0.5", children: [tagObj.count, " G\u00F6nderi"] })] }), _jsx("button", { className: `text-xs border rounded-full w-7 h-7 flex items-center justify-center transition-colors ${selectedTag === tagObj.name ? 'bg-blue-500 border-blue-500 text-white' : 'bg-black/5 dark:bg-white/5 border-black/5 dark:border-transparent text-armoyu-text-muted group-hover:text-armoyu-text'}`, children: selectedTag === tagObj.name ? (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polyline", { points: "20 6 9 17 4 12" }) })) : (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", children: [_jsx("circle", { cx: "12", cy: "12", r: "1" }), _jsx("circle", { cx: "19", cy: "12", r: "1" }), _jsx("circle", { cx: "5", cy: "12", r: "1" })] })) })] }, idx))), _jsx("button", { className: "w-full mt-2 pt-4 border-t border-armoyu-card-border text-blue-500 hover:text-blue-600 dark:hover:text-blue-400 text-sm font-bold flex justify-center transition-colors", children: "T\u00FCm\u00FCn\u00FC G\u00F6r" })] })] }), _jsxs("div", { className: "glass-panel p-6 rounded-3xl border border-armoyu-card-border bg-armoyu-card-bg", children: [_jsxs("div", { className: "flex items-center justify-between mb-5", children: [_jsx("h3", { className: "font-extrabold text-armoyu-text text-lg", children: "Pop\u00FCler Gruplar" }), _jsx(Link, { href: "/gruplar", className: "text-xs font-bold text-blue-500 hover:underline", children: "T\u00FCm\u00FC" })] }), _jsxs("div", { className: "space-y-4", children: [groupList.slice(0, 4).map((group, idx) => (_jsxs(Link, { href: `/gruplar/${group.name.toLowerCase().replace(/\s+/g, '-')}`, className: "flex items-center gap-3 group cursor-pointer p-1 rounded-xl hover:bg-black/5 dark:hover:bg-white/5 transition-colors", children: [_jsxs("div", { className: "relative", children: [_jsx("img", { src: group.logo, alt: group.name, className: "w-10 h-10 rounded-xl object-cover border border-black/5 shadow-sm" }), group.recruitment === 'Açık' && (_jsx("div", { className: "absolute -bottom-1 -right-1 w-3 h-3 bg-emerald-500 rounded-full border-2 border-armoyu-card-bg shadow-sm", title: "Al\u0131mlar A\u00E7\u0131k" }))] }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("h4", { className: "text-sm font-bold text-armoyu-text truncate group-hover:text-blue-500 transition-colors uppercase tracking-tight", children: group.name }), _jsxs("p", { className: "text-[10px] text-armoyu-text-muted truncate opacity-80", children: [group.category, " \u2022 ", group.recruitment === 'Açık' ? 'Katıl' : 'Kapalı'] })] })] }, idx))), _jsx("button", { className: "w-full py-3 bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/5 hover:border-blue-500/30 hover:bg-blue-500/5 text-armoyu-text text-xs font-bold rounded-xl transition-all active:scale-[0.98]", children: "Yeni Grup Olu\u015Ftur" })] })] })] }), _jsx(CloudStorageModal, { isOpen: isCloudModalOpen, onClose: () => setIsCloudModalOpen(false), onSelectMedia: (url, type) => {
247
+ setSelectedMedia(prev => [...prev, { url, type }]);
248
+ setIsCloudModalOpen(false);
249
+ } }), isBioModalOpen && (_jsxs("div", { className: "fixed inset-0 z-[200] flex items-center justify-center p-6", children: [_jsx("div", { className: "absolute inset-0 bg-black/60 backdrop-blur-md", onClick: () => setIsBioModalOpen(false) }), _jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-[40px] w-full max-w-lg relative z-10 shadow-2xl animate-in zoom-in-95 duration-300 overflow-hidden", children: [_jsxs("div", { className: "p-8 border-b border-armoyu-card-border flex items-center justify-between bg-black/5", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsx("div", { className: "w-12 h-12 rounded-2xl bg-blue-500/10 flex items-center justify-center text-blue-500 text-2xl", children: "\u270D\uFE0F" }), _jsxs("div", { children: [_jsx("h3", { className: "text-xl font-black text-armoyu-text uppercase tracking-tight italic", children: "Hakk\u0131nda Yaz\u0131s\u0131 Yaz" }), _jsx("p", { className: "text-xs font-medium text-armoyu-text-muted", children: "Profilinde kendini ifade et." })] })] }), _jsx("button", { onClick: () => setIsBioModalOpen(false), className: "p-2 text-armoyu-text-muted hover:text-armoyu-text bg-black/10 rounded-xl transition-all", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", 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: "p-8 space-y-6", children: [_jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest ml-4", children: "SEN\u0130 TANIYALIM" }), _jsx("textarea", { className: "w-full bg-black/10 border border-armoyu-card-border rounded-3xl px-6 py-5 text-sm font-bold text-armoyu-text focus:outline-none focus:border-blue-500 transition-all min-h-[150px] resize-none", placeholder: "\u00D6rne\u011Fin: Merhaba! Ben bir ARMOYU \u00FCyesiyim ve oyun geli\u015Ftirmeyi seviyorum...", value: tempBio, onChange: (e) => setTempBio(e.target.value), autoFocus: true })] }), _jsx("button", { onClick: handleBioSave, className: "w-full py-5 bg-blue-600 hover:bg-blue-500 text-white font-black rounded-[20px] text-xs uppercase tracking-widest shadow-xl shadow-blue-500/20 active:scale-95 transition-all flex items-center justify-center gap-2 italic", children: "B\u0130YOGRAF\u0130M\u0130 KAYDET" })] })] })] }))] }));
250
+ }
251
+ //# sourceMappingURL=Dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../../src/components/modules/auth/Dashboard.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAY,QAAQ,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,IAAI,EAAS,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAa,MAAM,cAAc,CAAC;AAEvD,MAAM,UAAU,SAAS;IACvB,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;IAC3B,MAAM,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE/C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAA6C,EAAE,CAAC,CAAC;IACnG,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACpE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1D,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;IACjC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,QAAQ,CAAC,CAAC;IACrD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAC;IAEtD,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,IAAI,EAAE,CAAC;YACT,UAAU,CAAC;gBACT,GAAG,IAAI;gBACP,GAAG,EAAE,OAAO;aACN,CAAC,CAAC;YACV,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,wCAAwC;IACxC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;aAC1B,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;aACzC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,mCAAmC;IACnC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,0CAA0C;QAC1C,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;QACnD,CAAC;QAED,kBAAkB;QAClB,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACrF,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;IAExC,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAE7D,iCAAiC;IACjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;YAC7C,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC;QAC7E,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,UAAU,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,gCAAgC;IAChC,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE;YACvC,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,IAAI,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEpC,QAAQ,CAAC,YAAY,CAAC,EAAE;gBACtB,mFAAmF;gBACnF,IAAI,OAAO,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,EAAE,QAAQ,EAAE,CAAC;oBAChD,mGAAmG;oBACnG,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC7F,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;wBACtB,MAAM,OAAO,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;wBAClC,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,CAAC,iCAAiC;wBAChE,OAAO,OAAO,CAAC;oBACjB,CAAC;gBACH,CAAC;gBAED,2BAA2B;gBAC3B,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;oBAAE,OAAO,YAAY,CAAC;gBAErE,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;oBACzB,OAAO,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,iBAAiB,CAAC,IAAI,CAAC,EAAE;wBACvB,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;4BAAE,OAAO,IAAI,CAAC;wBACrD,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;oBAC5B,CAAC,CAAC,CAAC;oBACH,OAAO,YAAY,CAAC;gBACtB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,IAAS,EAAE,EAAE;YAC5C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,CACtB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACnB,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;oBACpB,OAAO;wBACL,GAAG,CAAC;wBACJ,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE;qBACvC,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC,IAAS,EAAE,EAAE;YAC3D,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,CACtB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACnB,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;oBACpB,OAAO;wBACL,GAAG,CAAC;wBACJ,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE;qBAC3D,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAET,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/C,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACtB,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;IAE7B,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9E,OAAO;YACT,CAAC;YAED,kCAAkC;YAClC,MAAM,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtC,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC;gBAC9B,EAAE,EAAE,MAAM;gBACV,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,aAAa;gBACpB,SAAS,EAAE,iBAAiB;gBAC5B,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;gBACvD,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;gBACxE,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,6CAA6C;YAC7C,MAAM,YAAY,GAAG,WAAW,CAAC;YACjC,MAAM,UAAU,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;YAEtC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YAC5C,cAAc,CAAC,EAAE,CAAC,CAAC;YACnB,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAErB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAElE,uBAAuB;YACvB,MAAM,QAAQ,GAAG;gBACf,EAAE,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,oBAAoB;gBAC3C,MAAM,EAAE;oBACN,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB;gBACD,OAAO,EAAE,YAAY;gBACrB,KAAK,EAAE,UAAU;gBACjB,SAAS,EAAE,OAAO;gBAClB,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;gBACvD,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;aAC1E,CAAC;YAEF,2BAA2B;YAC3B,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC;IAEF,kDAAkD;IAClD,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE/C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,aAAa,IAAI,YAAY,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBAC1F,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACvB,UAAU,CAAC,GAAG,EAAE;oBACd,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;oBACnC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;QACH,CAAC,EACD,EAAE,SAAS,EAAE,GAAG,EAAE,CACnB,CAAC;QAEF,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACtB,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3D,OAAO,CACL,eAAK,SAAS,EAAC,mGAAmG,aAGhH,KAAC,WAAW,KAAG,EAIf,eAAK,SAAS,EAAC,2BAA2B,aAGxC,KAAC,OAAO,KAAG,EAGX,eAAK,SAAS,EAAC,sGAAsG,aACnH,eAAK,SAAS,EAAC,wBAAwB,aACrC,cACE,GAAG,EAAE,IAAI,EAAE,MAAM,IAAI,wDAAwD,EAC7E,GAAG,EAAC,QAAQ,EACZ,SAAS,EAAC,mFAAmF,GAC7F,EACF,eAAK,SAAS,EAAC,4BAA4B,aACzC,mBACE,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/C,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;oDACf,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;wDACrC,CAAC,CAAC,cAAc,EAAE,CAAC;wDACnB,gBAAgB,EAAE,CAAC;oDACrB,CAAC;gDACH,CAAC,EACD,WAAW,EAAC,oEAA2C,EACvD,SAAS,EAAC,yWAAyW,GACzW,EAGX,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAC3B,cAAK,SAAS,EAAC,uGAAuG,YACnH,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CACjC,eAAe,SAAS,EAAC,yBAAyB,aAC/C,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CACxB,eAAK,SAAS,EAAC,2GAA2G,aACxH,gBAAO,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,EAAC,uCAAuC,GAAG,EAC3E,cAAK,SAAS,EAAC,mDAAmD,YAChE,cAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,OAAO,YAAC,kBAAS,MAAM,EAAC,oBAAoB,GAAW,GAAM,GACjJ,IACF,CACP,CAAC,CAAC,CAAC,CACF,cACE,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,GAAG,EAAC,SAAS,EACb,SAAS,EAAC,gHAAgH,GAC1H,CACH,EACD,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EACzE,SAAS,EAAC,4JAA4J,YAEtK,eAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,aAAC,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,GAAQ,EAAA,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAQ,IAAM,GACvQ,KApBD,GAAG,CAqBP,CACP,CAAC,GACE,CACP,IACG,IACF,EACN,eAAK,SAAS,EAAC,8CAA8C,aAC3D,eAAK,SAAS,EAAC,YAAY,aACzB,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EACxC,SAAS,EAAC,iHAAiH,EAC3H,KAAK,EAAC,gCAA2B,YAEjC,cAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,cAAc,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,SAAS,EAAC,eAAe,YAAC,eAAM,CAAC,EAAC,qDAAqD,GAAQ,GAAM,GACxR,EACT,iBAAQ,SAAS,EAAC,oGAAoG,YAAC,eAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,aAAC,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,GAAQ,EAAA,iBAAQ,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,GAAU,EAAA,mBAAU,MAAM,EAAC,kBAAkB,GAAY,IAAM,GAAS,EAChd,iBAAQ,SAAS,EAAC,0GAA0G,YAAC,eAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,aAAC,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAU,EAAA,eAAM,CAAC,EAAC,yBAAyB,GAAQ,EAAA,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,GAAG,GAAQ,EAAA,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,GAAG,GAAQ,IAAM,GAAS,IACre,EACN,iBACE,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,SAAS,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,EAC1E,SAAS,EAAC,6NAA6N,YAEtO,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,GAC7B,IACL,IACF,EAGL,aAAa,IAAI,CAChB,eAAK,SAAS,EAAC,yIAAyI,aACtJ,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,sFAAsF,YACnG,eAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,aAAC,eAAM,CAAC,EAAC,WAAW,GAAG,EAAA,eAAM,CAAC,EAAC,aAAa,GAAG,EAAA,eAAM,CAAC,EAAC,0DAA0D,GAAG,IAAM,GACzS,EACN,0BACE,aAAI,SAAS,EAAC,8DAA8D,wCAAwB,EACpG,YAAG,SAAS,EAAC,0CAA0C,oGAA0D,IAC7G,IACF,EACN,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAC/B,SAAS,EAAC,qJAAqJ,kDAGxJ,IACL,CACP,EAGA,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAC5B,cAAK,SAAS,EAAC,0FAA0F,YACvG,kBACE,OAAO,EAAE,aAAa,EACtB,SAAS,EAAC,iUAAiU,aAE3U,cAAK,SAAS,EAAC,iBAAiB,YAC7B,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACxC,cAEE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EACrB,SAAS,EAAC,wEAAwE,IAF7E,CAAC,CAGN,CACH,CAAC,GACE,EACN,gBAAM,SAAS,EAAC,mBAAmB,aAAE,cAAc,CAAC,MAAM,+DAAiC,EAC3F,cAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,YAAC,eAAM,CAAC,EAAC,gBAAgB,GAAG,GAAM,IAC5M,GACL,CACP,EAGD,eAAK,SAAS,EAAC,WAAW,aACvB,WAAW,IAAI,CACd,eAAK,SAAS,EAAC,iJAAiJ,aAC9J,eAAK,SAAS,EAAC,yBAAyB,aACtC,eAAM,SAAS,EAAC,0CAA0C,oCAA2B,EACrF,eAAM,SAAS,EAAC,kCAAkC,YAAE,WAAW,GAAQ,IACnE,EACN,iBACE,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAC7D,SAAS,EAAC,gDAAgD,iCAGnD,IACL,CACP,EACA,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACzB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACvB,KAAC,QAAQ,OAEH,IAAI,EACR,UAAU,EAAE,CAAC,GAAW,EAAE,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAFrE,IAAI,CAAC,EAAE,CAGZ,CACH,CAAC,CACH,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,yGAAyG,YACtH,YAAG,SAAS,EAAC,kCAAkC,sEAA2C,GACtF,CACP,EAGD,cAAK,GAAG,EAAE,SAAS,EAAE,SAAS,EAAC,uDAAuD,YACnF,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CACxC,8BACE,cAAK,SAAS,EAAC,iFAAiF,GAAO,EACvG,YAAG,SAAS,EAAC,+DAA+D,0DAAoC,IAC/G,CACJ,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,oCAAoC,aACjD,cAAK,SAAS,EAAC,iCAAiC,GAAO,EACvD,eAAM,SAAS,EAAC,yEAAyE,oEAA6B,EACtH,cAAK,SAAS,EAAC,iCAAiC,GAAO,IACnD,CACP,GACG,IACF,IACF,EAGN,eAAK,SAAS,EAAC,yCAAyC,aAEtD,eAAK,SAAS,EAAC,+GAA+G,aAE5H,cAAK,SAAS,EAAC,iIAAiI,GAAG,EAEnJ,eAAK,SAAS,EAAC,eAAe,aAC5B,cAAI,SAAS,EAAC,6DAA6D,kCAC7D,eAAM,SAAS,EAAC,eAAe,YAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAQ,IAClF,EAGJ,CAAC,GAAG,EAAE;wCACL,MAAM,KAAK,GAAG;4CACZ,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;4CAChI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;4CACtG,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;4CACpF,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;yCACpG,CAAC;wCACF,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wCACxF,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;wCAE/C,IAAI,eAAe,KAAK,GAAG,EAAE,CAAC;4CAC5B,OAAO,CACL,eAAK,SAAS,EAAC,yDAAyD,aACtE,KAAC,YAAY,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,kBAAkB,GAAG,EACvD,eAAM,SAAS,EAAC,mEAAmE,uDAA+B,IAC9G,CACP,CAAC;wCACJ,CAAC;wCAED,OAAO,CACL,eAAK,SAAS,EAAC,qDAAqD,aAClE,eAAK,SAAS,EAAC,wCAAwC,aACrD,eAAM,SAAS,EAAC,yEAAyE,mCAAqB,EAC9G,gBAAM,SAAS,EAAC,mGAAmG,kBAAG,eAAe,wBAAmB,IACpJ,EAEN,kBACE,OAAO,EAAE,GAAG,EAAE;wDACZ,IAAI,QAAQ,EAAE,EAAE,KAAK,KAAK,EAAE,CAAC;4DAC3B,iBAAiB,CAAC,IAAI,CAAC,CAAC;wDAC1B,CAAC;6DAAM,IAAI,QAAQ,EAAE,EAAE,KAAK,QAAQ,EAAE,CAAC;4DACrC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wDAC1B,CAAC;6DAAM,CAAC;4DACN,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;wDACjC,CAAC;oDACH,CAAC,EACD,SAAS,EAAC,kKAAkK,aAE5K,cAAK,SAAS,EAAC,0HAA0H,YACtI,QAAQ,EAAE,IAAI,GACX,EACN,eAAK,SAAS,EAAC,QAAQ,aACrB,aAAI,SAAS,EAAC,0FAA0F,YAAE,QAAQ,EAAE,KAAK,GAAM,EAC/H,YAAG,SAAS,EAAC,mHAAmH,qCAAoB,IAChJ,IACC,IACL,CACP,CAAC;oCACJ,CAAC,CAAC,EAAE,IACA,IACF,EAGL,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAClC,eAAK,SAAS,EAAC,uIAAuI,aACpJ,eAAK,SAAS,EAAC,wCAAwC,aACrD,aAAI,SAAS,EAAC,yCAAyC,+BAAe,EACtE,gBAAM,SAAS,EAAC,sFAAsF,aAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,aAAa,IAC5I,EAEN,cAAK,SAAS,EAAC,WAAW,YACvB,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,KAAU,EAAE,GAAW,EAAE,EAAE,CAAC,CAC9C,MAAC,IAAI,IAEH,IAAI,EAAE,YAAY,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACjE,SAAS,EAAC,sHAAsH,aAEhI,cAAK,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAC,8GAA8G,GAAG,EAClK,eAAK,SAAS,EAAC,gBAAgB,aAC7B,aAAI,SAAS,EAAC,kHAAkH,YAAE,KAAK,CAAC,IAAI,GAAM,EAClJ,eAAK,SAAS,EAAC,kCAAkC,aAC/C,eAAM,SAAS,EAAC,uDAAuD,GAAG,EAC1E,gBAAM,SAAS,EAAC,4FAA4F,aAAE,KAAK,CAAC,SAAS,0BAAgB,IACzI,IACF,KAXD,GAAG,CAYH,CACR,CAAC,GACE,IACF,CACP,EAGD,eAAK,SAAS,EAAC,gFAAgF,aAC7F,aAAI,SAAS,EAAC,8CAA8C,0CAA0B,EACtF,eAAK,SAAS,EAAC,WAAW,aACvB,YAAY,CAAC,GAAG,CAAC,CAAC,MAAuC,EAAE,GAAW,EAAE,EAAE,CAAC,CAC1E,eAEE,SAAS,EAAE,wFAAwF,WAAW,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,wCAAwC,EAAE,EAC9L,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAEzG,0BACE,eAAM,SAAS,EAAE,6CAA6C,WAAW,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kDAAkD,EAAE,YAAG,MAAM,CAAC,IAAI,GAAQ,EACxL,gBAAM,SAAS,EAAC,4DAA4D,aAAE,MAAM,CAAC,KAAK,qBAAgB,IACtG,EACN,iBAAQ,SAAS,EAAE,0FAA0F,WAAW,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,uHAAuH,EAAE,YAC5S,WAAW,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAC7B,cAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,YAAC,mBAAU,MAAM,EAAC,gBAAgB,GAAY,GAAM,CACtO,CAAC,CAAC,CAAC,CACF,eAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,aAAC,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAU,EAAA,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAU,EAAA,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAU,IAAM,CAClQ,GACM,KAdJ,GAAG,CAeJ,CACP,CAAC,EAEF,iBAAQ,SAAS,EAAC,wKAAwK,+CAEjL,IACL,IACF,EAIN,eAAK,SAAS,EAAC,gFAAgF,aAC7F,eAAK,SAAS,EAAC,wCAAwC,aACrD,aAAI,SAAS,EAAC,yCAAyC,qCAAqB,EAC5E,KAAC,IAAI,IAAC,IAAI,EAAC,UAAU,EAAC,SAAS,EAAC,iDAAiD,+BAAY,IACzF,EAEN,eAAK,SAAS,EAAC,WAAW,aACvB,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CACzC,MAAC,IAAI,IAEH,IAAI,EAAE,YAAY,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACjE,SAAS,EAAC,sHAAsH,aAEhI,eAAK,SAAS,EAAC,UAAU,aACvB,cAAK,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAC,mEAAmE,GAAG,EACtH,KAAK,CAAC,WAAW,KAAK,MAAM,IAAI,CAC/B,cAAK,SAAS,EAAC,0GAA0G,EAAC,KAAK,EAAC,6BAAc,GAAG,CAClJ,IACG,EACN,eAAK,SAAS,EAAC,gBAAgB,aAC7B,aAAI,SAAS,EAAC,kHAAkH,YAAE,KAAK,CAAC,IAAI,GAAM,EAClJ,aAAG,SAAS,EAAC,wDAAwD,aAAE,KAAK,CAAC,QAAQ,cAAK,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAK,IAC5I,KAbD,GAAG,CAcH,CACR,CAAC,EAEF,iBAAQ,SAAS,EAAC,gNAAgN,uCAEzN,IACL,IACF,IAEF,EAGN,KAAC,iBAAiB,IAChB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,EACzC,aAAa,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBAC3B,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBACnD,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC,GACD,EAGD,cAAc,IAAI,CACjB,eAAK,SAAS,EAAC,4DAA4D,aACzE,cAAK,SAAS,EAAC,+CAA+C,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAI,EAC1G,eAAK,SAAS,EAAC,+JAA+J,aAC5K,eAAK,SAAS,EAAC,qFAAqF,aAClG,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,8FAA8F,6BAEvG,EACN,0BACE,aAAI,SAAS,EAAC,qEAAqE,mDAAyB,EAC5G,YAAG,SAAS,EAAC,4CAA4C,6CAAiC,IACtF,IACF,EACN,iBAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAC,yFAAyF,YAClJ,eAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,aAAC,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,GAAQ,EAAA,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAQ,IAAM,GACvQ,IACL,EAEN,eAAK,SAAS,EAAC,eAAe,aAC5B,eAAK,SAAS,EAAC,WAAW,aACxB,gBAAO,SAAS,EAAC,8EAA8E,oCAAuB,EACtH,mBACE,SAAS,EAAC,gMAAgM,EAC1M,WAAW,EAAC,iGAA6E,EACzF,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC3C,SAAS,SACT,IACE,EAEN,iBACE,OAAO,EAAE,aAAa,EACtB,SAAS,EAAC,4NAA4N,kDAG/N,IACL,IACF,IACF,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ export interface PostMedia {
3
+ type: 'image' | 'video';
4
+ url: string;
5
+ }
6
+ interface MediaLightboxProps {
7
+ isOpen: boolean;
8
+ onClose: () => void;
9
+ media: PostMedia[];
10
+ initialIndex?: number;
11
+ }
12
+ export declare function MediaLightbox({ isOpen, onClose, media, initialIndex }: MediaLightboxProps): React.ReactPortal | null;
13
+ export {};
14
+ //# sourceMappingURL=MediaLightbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaLightbox.d.ts","sourceRoot":"","sources":["../../../../src/components/modules/auth/MediaLightbox.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAGhE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,YAAgB,EAAE,EAAE,kBAAkB,4BA+F7F"}
@@ -0,0 +1,47 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState, useEffect, useCallback } from 'react';
4
+ import { createPortal } from 'react-dom';
5
+ export function MediaLightbox({ isOpen, onClose, media, initialIndex = 0 }) {
6
+ const [currentIndex, setCurrentIndex] = useState(initialIndex);
7
+ const [mounted, setMounted] = useState(false);
8
+ const handlePrev = useCallback((e) => {
9
+ e?.stopPropagation();
10
+ setCurrentIndex(prev => (prev === 0 ? media.length - 1 : prev - 1));
11
+ }, [media.length]);
12
+ const handleNext = useCallback((e) => {
13
+ e?.stopPropagation();
14
+ setCurrentIndex(prev => (prev === media.length - 1 ? 0 : prev + 1));
15
+ }, [media.length]);
16
+ useEffect(() => {
17
+ setMounted(true);
18
+ if (isOpen) {
19
+ setCurrentIndex(initialIndex);
20
+ document.body.style.overflow = 'hidden';
21
+ }
22
+ // Klavye Desteği
23
+ const handleKeyDown = (e) => {
24
+ if (!isOpen)
25
+ return;
26
+ if (e.key === 'ArrowLeft')
27
+ handlePrev(e);
28
+ if (e.key === 'ArrowRight')
29
+ handleNext(e);
30
+ if (e.key === 'Escape')
31
+ onClose();
32
+ };
33
+ window.addEventListener('keydown', handleKeyDown);
34
+ return () => {
35
+ document.body.style.overflow = '';
36
+ window.removeEventListener('keydown', handleKeyDown);
37
+ };
38
+ }, [isOpen, initialIndex, handlePrev, handleNext, onClose]);
39
+ if (!isOpen || !media || media.length === 0 || !mounted)
40
+ return null;
41
+ const currentMedia = media[currentIndex];
42
+ const modalContent = (_jsxs("div", { className: "fixed inset-0 z-[9999] flex items-center justify-center animate-in fade-in duration-200", children: [_jsx("div", { className: "absolute inset-0 bg-[#0a0a0f]/95 backdrop-blur-md", onClick: onClose }), _jsx("button", { onClick: onClose, className: "absolute top-4 md:top-6 right-4 md:right-6 text-white/50 hover:text-white bg-white/10 hover:bg-white/20 p-2.5 md:p-3 rounded-full transition-all z-[10001] border border-white/10 active:scale-90", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", 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" })] }) }), media.length > 1 && (_jsxs("div", { className: "absolute top-4 md:top-6 left-4 md:left-6 text-white bg-white/10 px-4 py-1.5 rounded-full font-black text-[10px] tracking-widest z-[10001] border border-white/10 backdrop-blur-md uppercase", children: [currentIndex + 1, " / ", media.length] })), media.length > 1 && (_jsx("button", { onClick: (e) => handlePrev(e), className: "absolute left-4 md:left-8 top-1/2 -translate-y-1/2 text-white/40 hover:text-white bg-white/5 hover:bg-white/10 p-4 md:p-5 rounded-full transition-all z-[10001] border border-transparent hover:border-white/10 backdrop-blur-md group active:scale-90", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", className: "group-hover:-translate-x-0.5 transition-transform", children: _jsx("polyline", { points: "15 18 9 12 15 6" }) }) })), media.length > 1 && (_jsx("button", { onClick: (e) => handleNext(e), className: "absolute right-4 md:right-8 top-1/2 -translate-y-1/2 text-white/40 hover:text-white bg-white/5 hover:bg-white/10 p-4 md:p-5 rounded-full transition-all z-[10001] border border-transparent hover:border-white/10 backdrop-blur-md group active:scale-90", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", className: "group-hover:translate-x-0.5 transition-transform", children: _jsx("polyline", { points: "9 18 15 12 9 6" }) }) })), _jsx("div", { className: "relative w-full h-full max-w-7xl max-h-[92vh] flex items-center justify-center p-4 md:p-12 z-[10000]", onClick: onClose, children: currentMedia.type === 'video' ? (
43
+ // eslint-disable-next-line jsx-a11y/media-has-caption
44
+ _jsx("video", { src: currentMedia.url, controls: true, autoPlay: true, className: "max-w-full max-h-full rounded-2xl shadow-[0_0_80px_rgba(0,0,0,0.8)] object-contain animate-in zoom-in-95 duration-500 ring-1 ring-white/10", onClick: (e) => e.stopPropagation() })) : (_jsx("img", { src: currentMedia.url, alt: "Galeri Medyas\u0131", className: "max-w-full max-h-full rounded-2xl shadow-[0_0_80px_rgba(0,0,0,0.8)] object-contain animate-in zoom-in-95 duration-500 ring-1 ring-white/10", onClick: (e) => e.stopPropagation() })) })] }));
45
+ return createPortal(modalContent, document.body);
46
+ }
47
+ //# sourceMappingURL=MediaLightbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaLightbox.js","sourceRoot":"","sources":["../../../../src/components/modules/auth/MediaLightbox.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { PostMedia } from './MediaLightbox';
2
+ import { User } from '@armoyu/core';
3
+ export interface PostCardProps {
4
+ id: string;
5
+ author: User | null;
6
+ content: string;
7
+ imageUrl?: string;
8
+ media?: PostMedia[];
9
+ createdAt: string;
10
+ stats: {
11
+ likes: number;
12
+ comments: number;
13
+ reposts?: number;
14
+ shares: number;
15
+ };
16
+ hashtags?: string[];
17
+ onTagClick?: (tag: string) => void;
18
+ isPending?: boolean;
19
+ likeList?: User[];
20
+ repostList?: User[];
21
+ commentList?: any[];
22
+ repostOf?: any;
23
+ }
24
+ export declare function PostCard({ id, author, content, imageUrl, media, createdAt, stats, hashtags, onTagClick, isPending, likeList, repostList, commentList, repostOf }: PostCardProps): import("react/jsx-runtime").JSX.Element | null;
25
+ //# sourceMappingURL=PostCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostCard.d.ts","sourceRoot":"","sources":["../../../../src/components/modules/auth/PostCard.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAiB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM3D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAcpC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAGpB,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,aAAa,kDA0f/K"}