@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,20 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useState } from 'react';
4
+ import { EditProfileModal } from './EditProfileModal';
5
+ import { MOCK_RANKING_POPULARITY } from '../../../lib/constants/seedData';
6
+ export function ProfileHeader({ user, isOwnProfile }) {
7
+ const [isEditModalOpen, setIsEditModalOpen] = useState(false);
8
+ const name = user.displayName || user.name || 'İsimsiz Oyuncu';
9
+ const banner = user.banner || 'https://images.unsplash.com/photo-1614680376593-902f74cf0d41?q=80&w=2574&auto=format&fit=crop';
10
+ const badge = user.badge || user.role?.name || '';
11
+ const socials = user.socials || {};
12
+ // Sıralama Bilgisi
13
+ const rankIndex = MOCK_RANKING_POPULARITY.findIndex((r) => r.username === user.username);
14
+ const rank = rankIndex !== -1 ? rankIndex + 1 : null;
15
+ return (_jsxs("div", { className: "w-full bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl overflow-hidden shadow-sm", children: [_jsxs("div", { className: "h-48 md:h-72 w-full relative", children: [_jsx("img", { src: banner, alt: "Kapak", className: "w-full h-full object-cover" }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/60 to-transparent" })] }), _jsxs("div", { className: "px-6 md:px-10 pb-6 relative flex flex-col md:flex-row md:justify-between md:items-end", children: [_jsxs("div", { className: "flex flex-col md:flex-row md:items-end gap-4 md:gap-6 -mt-16 md:-mt-20 relative z-10 mb-6 md:mb-0", children: [_jsxs("div", { className: "relative group shrink-0", children: [_jsx("div", { className: "w-32 h-32 md:w-40 md:h-40 rounded-full border-4 border-armoyu-bg overflow-hidden shadow-xl bg-black/5 dark:bg-white/5", children: _jsx("img", { src: user.avatar, alt: name, className: "w-full h-full object-cover" }) }), rank && (_jsxs("div", { className: `absolute -top-1 -right-1 w-10 h-10 md:w-12 md:h-12 rounded-2xl flex flex-col items-center justify-center shadow-xl border-2 transform rotate-12 group-hover:rotate-0 transition-transform duration-500 z-20 ${rank === 1 ? 'bg-gradient-to-br from-yellow-400 via-yellow-500 to-yellow-600 border-yellow-300' :
16
+ rank === 2 ? 'bg-gradient-to-br from-slate-300 via-slate-400 to-slate-500 border-slate-200' :
17
+ rank === 3 ? 'bg-gradient-to-br from-orange-400 via-orange-500 to-orange-600 border-orange-300' :
18
+ 'bg-blue-600 border-blue-400'}`, children: [rank === 1 && (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "currentColor", className: "text-yellow-100 mb-0.5", children: _jsx("path", { d: "M5 21h14a2 2 0 0 0 2-2V5L12 2 3 5v14a2 2 0 0 0 2 2z" }) })), _jsxs("span", { className: "text-[10px] md:text-xs font-black text-white leading-none", children: ["#", rank] }), _jsx("span", { className: "text-[6px] md:text-[8px] font-bold text-white/80 uppercase tracking-tighter", children: "POP" })] }))] }), _jsxs("div", { className: "pb-2 text-center md:text-left", children: [_jsxs("div", { className: "flex flex-col md:flex-row items-center gap-2 md:gap-3", children: [_jsx("h1", { className: "text-2xl md:text-3xl font-black text-armoyu-text tracking-tight", children: name }), badge && (_jsx("span", { className: "bg-blue-500/10 text-blue-600 dark:text-blue-400 text-xs font-bold px-2.5 py-1 rounded-md uppercase tracking-wider border border-blue-500/20 shadow-sm", children: badge }))] }), _jsxs("p", { className: "text-blue-600 dark:text-blue-400 font-extrabold mt-1 text-sm md:text-base mb-3", children: ["@", user.username] }), socials && (_jsxs("div", { className: "flex items-center justify-center md:justify-start gap-4 mt-2", children: [socials.discord && (_jsx("a", { href: socials.discord, target: "_blank", rel: "noopener noreferrer", className: "w-8 h-8 rounded-full bg-[#5865F2]/10 hover:bg-[#5865F2]/20 text-[#5865F2] flex items-center justify-center transition-all hover:scale-110", title: "Discord", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: _jsx("path", { d: "M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2498-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8745-.6177-1.2498a.077.077 0 00-.0788-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z" }) }) })), socials.steam && (_jsx("a", { href: socials.steam, target: "_blank", rel: "noopener noreferrer", className: "w-8 h-8 rounded-full bg-[#171a21]/5 hover:bg-[#171a21]/15 dark:bg-[#171a21]/80 dark:hover:bg-[#171a21] text-[#171a21] dark:text-white flex items-center justify-center transition-all hover:scale-110", title: "Steam", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: _jsx("path", { d: "M11.97 0C5.35 0 0 5.37 0 12c0 2.87 1.02 5.51 2.71 7.55l3.82-5.59c-.06-.31-.08-.63-.08-.96 0-3.32 2.68-6 6-6s6 2.68 6 6-2.68 6-6 6c-.84 0-1.63-.17-2.36-.5l-3.23 4.74A11.961 11.961 0 0 0 11.97 24c6.62 0 12-5.37 12-12s-5.38-12-12-12m6.25 11.89c0 1.6-1.29 2.89-2.89 2.89a2.89 2.89 0 0 1-2.89-2.89c0-1.6 1.29-2.89 2.89-2.89s2.89 1.29 2.89 2.89M8.38 14.88c-.85.34-1.8.1-2.38-.6a2.031 2.031 0 0 1 .59-2.85c.85-.34 1.8-.1 2.38.6.59.71.26 2.5-.59 2.85" }) }) })), socials.instagram && (_jsx("a", { href: socials.instagram, target: "_blank", rel: "noopener noreferrer", className: "w-8 h-8 rounded-full bg-pink-500/10 hover:bg-pink-500/20 text-pink-500 flex items-center justify-center transition-all hover:scale-110", title: "Instagram", children: _jsxs("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("rect", { x: "2", y: "2", width: "20", height: "20", rx: "5", ry: "5" }), _jsx("path", { d: "M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z" }), _jsx("line", { x1: "17.5", y1: "6.5", x2: "17.51", y2: "6.5" })] }) })), socials.linkedin && (_jsx("a", { href: socials.linkedin, target: "_blank", rel: "noopener noreferrer", className: "w-8 h-8 rounded-full bg-[#0077b5]/10 hover:bg-[#0077b5]/20 text-[#0077b5] flex items-center justify-center transition-all hover:scale-110", title: "LinkedIn", children: _jsxs("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: "M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" }), _jsx("rect", { x: "2", y: "9", width: "4", height: "12" }), _jsx("circle", { cx: "4", cy: "4", r: "2" })] }) })), socials.facebook && (_jsx("a", { href: socials.facebook, target: "_blank", rel: "noopener noreferrer", className: "w-8 h-8 rounded-full bg-[#1877F2]/10 hover:bg-[#1877F2]/20 text-[#1877F2] flex items-center justify-center transition-all hover:scale-110", title: "Facebook", 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: "M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z" }) }) }))] }))] })] }), _jsx("div", { className: "flex gap-3 pb-2 flex-wrap justify-center md:justify-end w-full md:w-auto", children: isOwnProfile ? (_jsx("button", { onClick: () => setIsEditModalOpen(true), className: "flex-1 md:flex-none px-6 py-2.5 bg-black/5 dark:bg-white/5 hover:bg-black/10 dark:hover:bg-white/10 text-armoyu-text font-bold rounded-xl transition-all border border-armoyu-card-border shadow-sm", children: "Profili D\u00FCzenle" })) : (_jsxs(_Fragment, { children: [_jsx("button", { className: "flex-1 md:flex-none px-8 py-2.5 bg-gradient-to-r from-blue-600 to-blue-500 hover:from-blue-700 hover:to-blue-600 text-white font-bold rounded-xl shadow-[0_0_15px_rgba(37,99,235,0.4)] transition-all", children: "Takip Et" }), _jsx("button", { className: "px-4 py-2.5 bg-black/5 dark:bg-white/5 hover:bg-black/10 dark:hover:bg-white/10 text-armoyu-text rounded-xl transition-all border border-armoyu-card-border", title: "Mesaj G\u00F6nder", 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.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" }) }) })] })) })] }), _jsx(EditProfileModal, { isOpen: isEditModalOpen, onClose: () => setIsEditModalOpen(false), user: user })] }));
19
+ }
20
+ //# sourceMappingURL=ProfileHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfileHeader.js","sourceRoot":"","sources":["../../../../src/components/modules/profile/ProfileHeader.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function ProfileStats(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=ProfileStats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfileStats.d.ts","sourceRoot":"","sources":["../../../../src/components/modules/profile/ProfileStats.tsx"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,4CAmE3B"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { RollingNumber } from '../../RollingNumber';
3
+ import { formatStatValue } from '../../../lib/utils/numberFormat';
4
+ export function ProfileStats() {
5
+ const followersCount = 14200;
6
+ const followingCount = 356;
7
+ const viewsCount = 1200000;
8
+ const respectCount = 145;
9
+ const followers = formatStatValue(followersCount);
10
+ const following = formatStatValue(followingCount);
11
+ const views = formatStatValue(viewsCount);
12
+ const respect = formatStatValue(respectCount);
13
+ return (_jsxs("div", { className: "w-full bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-6 shadow-sm flex flex-col md:flex-row justify-between items-center gap-6", children: [_jsxs("div", { className: "flex flex-wrap justify-center md:justify-start gap-6 md:gap-12 w-full md:w-auto", children: [_jsxs("div", { className: "text-center md:text-left", children: [_jsxs("div", { className: "text-2xl font-black text-armoyu-text flex items-baseline", children: [_jsx(RollingNumber, { value: followers.value }), _jsx("span", { className: "text-sm ml-0.5", children: followers.unit })] }), _jsx("div", { className: "text-xs font-bold text-armoyu-text-muted uppercase tracking-wider mt-1", children: "Takip\u00E7i" })] }), _jsxs("div", { className: "text-center md:text-left", children: [_jsxs("div", { className: "text-2xl font-black text-armoyu-text flex items-baseline", children: [_jsx(RollingNumber, { value: following.value }), _jsx("span", { className: "text-sm ml-0.5", children: following.unit })] }), _jsx("div", { className: "text-xs font-bold text-armoyu-text-muted uppercase tracking-wider mt-1", children: "Takip" })] }), _jsxs("div", { className: "text-center md:text-left", children: [_jsxs("div", { className: "text-2xl font-black text-armoyu-text flex items-baseline", children: [_jsx(RollingNumber, { value: views.value }), _jsx("span", { className: "text-sm ml-0.5", children: views.unit })] }), _jsx("div", { className: "text-xs font-bold text-armoyu-text-muted uppercase tracking-wider mt-1", children: "G\u00F6r\u00FCnt\u00FClenme" })] }), _jsxs("div", { className: "text-center md:text-left", children: [_jsxs("div", { className: "text-2xl font-black text-emerald-500 flex items-baseline", children: [_jsx(RollingNumber, { value: respect.value }), _jsx("span", { className: "text-sm ml-0.5", children: respect.unit })] }), _jsx("div", { className: "text-xs font-bold text-armoyu-text-muted uppercase tracking-wider mt-1", children: "Sayg\u0131 Puan\u0131" })] })] }), _jsxs("div", { className: "w-full md:w-72 bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/5 rounded-2xl p-4", children: [_jsxs("div", { className: "flex justify-between items-end mb-2", children: [_jsxs("div", { children: [_jsx("span", { className: "text-xs font-bold text-armoyu-text-muted uppercase tracking-wider", children: "Oyuncu Seviyesi" }), _jsxs("div", { className: "text-xl font-bold text-blue-500 mt-0.5 flex items-center gap-1", children: ["Seviye ", _jsx(RollingNumber, { value: 42 })] })] }), _jsxs("div", { className: "text-xs font-bold text-armoyu-text-muted flex items-center gap-1", children: [_jsx(RollingNumber, { value: 850 }), " / ", _jsx(RollingNumber, { value: 1000 }), " XP"] })] }), _jsx("div", { className: "h-2.5 w-full bg-gray-200 dark:bg-gray-800 rounded-full overflow-hidden", children: _jsx("div", { className: "h-full bg-gradient-to-r from-blue-600 to-indigo-500 w-[85%] rounded-full shadow-[0_0_10px_rgba(59,130,246,0.6)]" }) })] })] }));
14
+ }
15
+ //# sourceMappingURL=ProfileStats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfileStats.js","sourceRoot":"","sources":["../../../../src/components/modules/profile/ProfileStats.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,MAAM,UAAU,YAAY;IAC1B,MAAM,cAAc,GAAG,KAAK,CAAC;IAC7B,MAAM,cAAc,GAAG,GAAG,CAAC;IAC3B,MAAM,UAAU,GAAG,OAAO,CAAC;IAC3B,MAAM,YAAY,GAAG,GAAG,CAAC;IAEzB,MAAM,SAAS,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAE9C,OAAO,CACL,eAAK,SAAS,EAAC,kJAAkJ,aAG/J,eAAK,SAAS,EAAC,iFAAiF,aAC9F,eAAK,SAAS,EAAC,0BAA0B,aACvC,eAAK,SAAS,EAAC,0DAA0D,aACvE,KAAC,aAAa,IAAC,KAAK,EAAE,SAAS,CAAC,KAAK,GAAI,EACzC,eAAM,SAAS,EAAC,gBAAgB,YAAE,SAAS,CAAC,IAAI,GAAQ,IACpD,EACN,cAAK,SAAS,EAAC,wEAAwE,6BAAc,IACjG,EACN,eAAK,SAAS,EAAC,0BAA0B,aACvC,eAAK,SAAS,EAAC,0DAA0D,aACvE,KAAC,aAAa,IAAC,KAAK,EAAE,SAAS,CAAC,KAAK,GAAI,EACzC,eAAM,SAAS,EAAC,gBAAgB,YAAE,SAAS,CAAC,IAAI,GAAQ,IACpD,EACN,cAAK,SAAS,EAAC,wEAAwE,sBAAY,IAC/F,EACN,eAAK,SAAS,EAAC,0BAA0B,aACvC,eAAK,SAAS,EAAC,0DAA0D,aACvE,KAAC,aAAa,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,EACrC,eAAM,SAAS,EAAC,gBAAgB,YAAE,KAAK,CAAC,IAAI,GAAQ,IAChD,EACN,cAAK,SAAS,EAAC,wEAAwE,4CAAmB,IACtG,EACN,eAAK,SAAS,EAAC,0BAA0B,aACvC,eAAK,SAAS,EAAC,0DAA0D,aACvE,KAAC,aAAa,IAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAI,EACvC,eAAM,SAAS,EAAC,gBAAgB,YAAE,OAAO,CAAC,IAAI,GAAQ,IAClD,EACN,cAAK,SAAS,EAAC,wEAAwE,sCAAkB,IACrG,IACF,EAGN,eAAK,SAAS,EAAC,qGAAqG,aAClH,eAAK,SAAS,EAAC,qCAAqC,aAClD,0BACE,eAAM,SAAS,EAAC,mEAAmE,gCAAuB,EAC1G,eAAK,SAAS,EAAC,gEAAgE,wBACtE,KAAC,aAAa,IAAC,KAAK,EAAE,EAAE,GAAI,IAC/B,IACF,EACN,eAAK,SAAS,EAAC,kEAAkE,aAC/E,KAAC,aAAa,IAAC,KAAK,EAAE,GAAG,GAAI,SAAG,KAAC,aAAa,IAAC,KAAK,EAAE,IAAI,GAAI,WAC1D,IACF,EAEN,cAAK,SAAS,EAAC,wEAAwE,YACrF,cAAK,SAAS,EAAC,iHAAiH,GAAO,GACnI,IACF,IAEF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Team } from '@armoyu/core';
2
+ interface TeamSelectorModalProps {
3
+ isOpen: boolean;
4
+ onClose: () => void;
5
+ onSelect: (team: Team | null, zodiac: string) => void;
6
+ initialTeam?: Team | null;
7
+ initialZodiac?: string;
8
+ }
9
+ export declare function TeamSelectorModal({ isOpen, onClose, onSelect, initialTeam, initialZodiac }: TeamSelectorModalProps): import("react/jsx-runtime").JSX.Element | null;
10
+ export {};
11
+ //# sourceMappingURL=TeamSelectorModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TeamSelectorModal.d.ts","sourceRoot":"","sources":["../../../../src/components/modules/profile/TeamSelectorModal.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,UAAU,sBAAsB;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,sBAAsB,kDA+GlH"}
@@ -0,0 +1,17 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from 'react';
4
+ import { X, Check, Star } from 'lucide-react';
5
+ import { SUPER_LEAGUE_TEAMS, ZODIAC_SIGNS } from '../../../lib/constants/teamData';
6
+ export function TeamSelectorModal({ isOpen, onClose, onSelect, initialTeam, initialZodiac }) {
7
+ const [selectedTeam, setSelectedTeam] = useState(initialTeam || null);
8
+ const [selectedZodiac, setSelectedZodiac] = useState(initialZodiac || '');
9
+ if (!isOpen)
10
+ return null;
11
+ return (_jsxs("div", { className: "fixed inset-0 z-[100] flex items-center justify-center p-4 md:p-8", children: [_jsx("div", { className: "absolute inset-0 bg-black/60 backdrop-blur-md animate-in fade-in duration-300", onClick: onClose }), _jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-[40px] w-full max-w-2xl relative z-10 shadow-2xl animate-in zoom-in-95 duration-500 overflow-hidden flex flex-col max-h-[90vh]", children: [_jsxs("div", { className: "p-8 border-b border-armoyu-card-border flex items-center justify-between bg-black/5 shrink-0", 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 shadow-inner", children: _jsx(Star, { size: 24, className: "fill-current" }) }), _jsxs("div", { children: [_jsx("h3", { className: "text-xl font-black text-armoyu-text uppercase italic tracking-tighter leading-none", children: "PROF\u0130L\u0130N\u0130 TAMAMLA" }), _jsx("p", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest mt-2 italic opacity-60", children: "Seni daha yak\u0131ndan tan\u0131yal\u0131m" })] })] }), _jsx("button", { onClick: onClose, className: "p-2 text-armoyu-text-muted hover:text-armoyu-text bg-black/10 rounded-xl transition-all", children: _jsx(X, { size: 20 }) })] }), _jsxs("div", { className: "p-8 space-y-10 overflow-y-auto custom-scrollbar", children: [_jsxs("section", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("label", { className: "text-[11px] font-black text-armoyu-text-muted uppercase tracking-[0.2em] italic ml-1 leading-none", children: "FAVOR\u0130 TAKIMIN" }), _jsx("span", { className: "text-[10px] font-bold text-blue-500 uppercase tracking-widest italic", children: selectedTeam?.name || 'Seçilmedi' })] }), _jsx("div", { className: "grid grid-cols-2 sm:grid-cols-3 gap-3", children: SUPER_LEAGUE_TEAMS.map((team) => (_jsxs("button", { onClick: () => setSelectedTeam(team), className: `relative p-4 rounded-3xl border transition-all duration-300 flex flex-col items-center gap-3 group ${selectedTeam?.id === team.id
12
+ ? 'bg-blue-600/10 border-blue-500 shadow-[0_0_20px_rgba(59,130,246,0.2)]'
13
+ : 'bg-black/5 border-armoyu-card-border hover:border-white/20'}`, children: [team.logo ? (_jsx("img", { src: team.logo, alt: team.name, className: "w-12 h-12 object-contain group-hover:scale-110 transition-transform duration-500" })) : (_jsx("div", { className: "w-12 h-12 rounded-full bg-white/5 flex items-center justify-center text-xl", children: "\uD83D\uDEAB" })), _jsx("span", { className: `text-[10px] font-black uppercase tracking-widest text-center ${selectedTeam?.id === team.id ? 'text-blue-500' : 'text-armoyu-text-muted'}`, children: team.name }), selectedTeam?.id === team.id && (_jsx("div", { className: "absolute top-2 right-2 w-5 h-5 bg-blue-500 rounded-full flex items-center justify-center text-white animate-in zoom-in duration-300", children: _jsx(Check, { size: 12, strokeWidth: 4 }) }))] }, team.id))) })] }), _jsxs("section", { className: "space-y-4 pb-4", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("label", { className: "text-[11px] font-black text-armoyu-text-muted uppercase tracking-[0.2em] italic ml-1 leading-none", children: "BURCUN" }), _jsx("span", { className: "text-[10px] font-bold text-purple-500 uppercase tracking-widest italic", children: selectedZodiac || 'Seçilmedi' })] }), _jsx("div", { className: "grid grid-cols-4 sm:grid-cols-6 gap-2", children: ZODIAC_SIGNS.map((zodiac) => (_jsxs("button", { onClick: () => setSelectedZodiac(zodiac.name), className: `p-3 rounded-2xl border transition-all duration-300 flex flex-col items-center gap-1.5 group ${selectedZodiac === zodiac.name
14
+ ? 'bg-purple-600/10 border-purple-500 shadow-[0_0_15px_rgba(168,85,247,0.2)]'
15
+ : 'bg-black/5 border-armoyu-card-border hover:border-white/10'}`, title: zodiac.name, children: [_jsx("span", { className: `text-2xl group-hover:scale-110 transition-transform duration-500 ${selectedZodiac === zodiac.name ? 'opacity-100' : 'opacity-60'}`, children: zodiac.icon }), _jsx("span", { className: `text-[8px] font-bold uppercase tracking-tighter ${selectedZodiac === zodiac.name ? 'text-purple-500' : 'text-armoyu-text-muted'}`, children: zodiac.name })] }, zodiac.name))) })] })] }), _jsx("div", { className: "p-8 border-t border-armoyu-card-border bg-black/5 shrink-0", children: _jsxs("button", { onClick: () => onSelect(selectedTeam, selectedZodiac), className: "w-full py-5 bg-gradient-to-r from-blue-600 to-blue-500 hover:from-blue-500 hover:to-blue-400 text-white font-black rounded-3xl text-[11px] uppercase tracking-[0.2em] shadow-2xl shadow-blue-500/30 active:scale-95 transition-all flex items-center justify-center gap-3 italic", children: ["DE\u011E\u0130\u015E\u0130KL\u0130KLER\u0130 KAYDET ", _jsx(Check, { size: 18, strokeWidth: 3 })] }) })] })] }));
16
+ }
17
+ //# sourceMappingURL=TeamSelectorModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TeamSelectorModal.js","sourceRoot":"","sources":["../../../../src/components/modules/profile/TeamSelectorModal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Station } from '@armoyu/core';
2
+ export declare function StationCard(station: Station): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=StationCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StationCard.d.ts","sourceRoot":"","sources":["../../../../src/components/modules/stations/StationCard.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAIvC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,2CAqF3C"}
@@ -0,0 +1,26 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import Link from 'next/link';
4
+ import { MapPin, Star, Coffee, Monitor, Trophy, Dumbbell, ChevronRight } from 'lucide-react';
5
+ export function StationCard(station) {
6
+ const Icon = {
7
+ 'YEMEK': Coffee,
8
+ 'INTERNET_KAFE': Monitor,
9
+ 'HALI_SAHA': Trophy,
10
+ 'SPOR_KOMPLEKSI': Dumbbell
11
+ }[station.type];
12
+ const typeLabel = {
13
+ 'YEMEK': 'Yemek & Kahve',
14
+ 'INTERNET_KAFE': 'İnternet Kafe',
15
+ 'HALI_SAHA': 'Halı Saha',
16
+ 'SPOR_KOMPLEKSI': 'Spor Kompleksi'
17
+ }[station.type];
18
+ const typeColor = {
19
+ 'YEMEK': 'text-amber-500 bg-amber-500/10',
20
+ 'INTERNET_KAFE': 'text-blue-500 bg-blue-500/10',
21
+ 'HALI_SAHA': 'text-emerald-500 bg-emerald-500/10',
22
+ 'SPOR_KOMPLEKSI': 'text-purple-500 bg-purple-500/10'
23
+ }[station.type];
24
+ return (_jsxs("div", { className: "group relative glass-panel rounded-[32px] border border-armoyu-card-border overflow-hidden bg-armoyu-card-bg hover:shadow-2xl transition-all duration-500 flex flex-col h-full animate-in fade-in zoom-in duration-700", children: [_jsxs("div", { className: "relative h-48 overflow-hidden", children: [_jsx("img", { src: station.banner, alt: station.name, className: "w-full h-full object-cover group-hover:scale-110 transition-transform duration-700" }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent" }), _jsxs("div", { className: `absolute top-4 left-4 flex items-center gap-2 px-3 py-1.5 rounded-xl backdrop-blur-md border border-white/10 ${typeColor}`, children: [_jsx(Icon, { size: 14, strokeWidth: 2.5 }), _jsx("span", { className: "text-[10px] font-black uppercase tracking-widest", children: typeLabel })] })] }), _jsxs("div", { className: "p-6 flex flex-col flex-1 relative", children: [_jsx("div", { className: "absolute -top-10 left-6 w-20 h-20 rounded-2xl border-4 border-armoyu-card-bg overflow-hidden shadow-xl bg-white", children: _jsx("img", { src: station.logo, alt: station.name, className: "w-full h-full object-cover" }) }), _jsxs("div", { className: "mt-12 flex-1", children: [_jsxs("div", { className: "flex justify-between items-start mb-2", children: [_jsx("h3", { className: "text-xl font-black text-armoyu-text uppercase tracking-tight group-hover:text-blue-500 transition-colors truncate pr-2", children: station.name }), _jsxs("div", { className: "flex items-center gap-1 shrink-0", children: [_jsx(Star, { size: 14, className: "text-amber-500 fill-amber-500" }), _jsx("span", { className: "text-sm font-black text-armoyu-text", children: station.rating })] })] }), _jsxs("div", { className: "flex items-center gap-2 mb-4 text-armoyu-text-muted", children: [_jsx(MapPin, { size: 14, className: "shrink-0 opacity-50" }), _jsx("span", { className: "text-xs font-bold truncate", children: station.location })] }), _jsx("p", { className: "text-sm text-armoyu-text-muted font-medium line-clamp-2 leading-relaxed mb-6 opacity-80", children: station.description })] }), _jsxs("div", { className: "pt-6 border-t border-armoyu-card-border flex items-center justify-between", children: [_jsxs("div", { className: "flex flex-col", children: [_jsx("span", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest opacity-50", children: "YORUMLAR" }), _jsxs("span", { className: "text-xs font-black text-armoyu-text", children: [station.reviewCount, " De\u011Ferlendirme"] })] }), _jsx(Link, { href: `/istasyonlar/${station.slug}`, className: "w-10 h-10 rounded-xl bg-armoyu-text dark:bg-white text-white dark:text-black flex items-center justify-center hover:scale-110 active:scale-95 transition-all shadow-lg", children: _jsx(ChevronRight, { size: 20, strokeWidth: 3 }) })] })] })] }));
25
+ }
26
+ //# sourceMappingURL=StationCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StationCard.js","sourceRoot":"","sources":["../../../../src/components/modules/stations/StationCard.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE7F,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,IAAI,GAAG;QACX,OAAO,EAAE,MAAM;QACf,eAAe,EAAE,OAAO;QACxB,WAAW,EAAE,MAAM;QACnB,gBAAgB,EAAE,QAAQ;KAC3B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhB,MAAM,SAAS,GAAG;QAChB,OAAO,EAAE,eAAe;QACxB,eAAe,EAAE,eAAe;QAChC,WAAW,EAAE,WAAW;QACxB,gBAAgB,EAAE,gBAAgB;KACnC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhB,MAAM,SAAS,GAAG;QAChB,OAAO,EAAE,gCAAgC;QACzC,eAAe,EAAE,8BAA8B;QAC/C,WAAW,EAAE,oCAAoC;QACjD,gBAAgB,EAAE,kCAAkC;KACrD,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhB,OAAO,CACL,eAAK,SAAS,EAAC,wNAAwN,aAErO,eAAK,SAAS,EAAC,+BAA+B,aAC5C,cACE,GAAG,EAAE,OAAO,CAAC,MAAM,EACnB,GAAG,EAAE,OAAO,CAAC,IAAI,EACjB,SAAS,EAAC,oFAAoF,GAC9F,EACF,cAAK,SAAS,EAAC,gFAAgF,GAAG,EAGlG,eAAK,SAAS,EAAE,gHAAgH,SAAS,EAAE,aACxI,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,GAAI,EACpC,eAAM,SAAS,EAAC,kDAAkD,YAAE,SAAS,GAAQ,IAClF,IACF,EAGN,eAAK,SAAS,EAAC,mCAAmC,aAEhD,cAAK,SAAS,EAAC,iHAAiH,YAC7H,cAAK,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAC,4BAA4B,GAAG,GACjF,EAEN,eAAK,SAAS,EAAC,cAAc,aAC3B,eAAK,SAAS,EAAC,uCAAuC,aACpD,aAAI,SAAS,EAAC,wHAAwH,YACnI,OAAO,CAAC,IAAI,GACV,EACL,eAAK,SAAS,EAAC,kCAAkC,aAC9C,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,+BAA+B,GAAG,EAC5D,eAAM,SAAS,EAAC,qCAAqC,YAAE,OAAO,CAAC,MAAM,GAAQ,IAC1E,IACF,EAEN,eAAK,SAAS,EAAC,qDAAqD,aACjE,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,qBAAqB,GAAG,EACpD,eAAM,SAAS,EAAC,4BAA4B,YAAE,OAAO,CAAC,QAAQ,GAAQ,IACnE,EAEN,YAAG,SAAS,EAAC,yFAAyF,YACnG,OAAO,CAAC,WAAW,GAClB,IACA,EAGN,eAAK,SAAS,EAAC,2EAA2E,aACvF,eAAK,SAAS,EAAC,eAAe,aAC3B,eAAM,SAAS,EAAC,oFAAoF,yBAAgB,EACpH,gBAAM,SAAS,EAAC,qCAAqC,aAAE,OAAO,CAAC,WAAW,2BAAsB,IAC7F,EAEN,KAAC,IAAI,IACH,IAAI,EAAE,gBAAgB,OAAO,CAAC,IAAI,EAAE,EACpC,SAAS,EAAC,wKAAwK,YAEjL,KAAC,YAAY,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,GAAI,GACtC,IACJ,IACF,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { StationProduct } from '@armoyu/core';
2
+ interface StationQRModalProps {
3
+ isOpen: boolean;
4
+ onClose: () => void;
5
+ stationName: string;
6
+ item: StationProduct | null;
7
+ }
8
+ export declare function StationQRModal({ isOpen, onClose, stationName, item }: StationQRModalProps): import("react/jsx-runtime").JSX.Element | null;
9
+ export {};
10
+ //# sourceMappingURL=StationQRModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StationQRModal.d.ts","sourceRoot":"","sources":["../../../../src/components/modules/stations/StationQRModal.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,UAAU,mBAAmB;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;CAC7B;AAED,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,mBAAmB,kDAsFzF"}
@@ -0,0 +1,13 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { X } from 'lucide-react';
4
+ export function StationQRModal({ isOpen, onClose, stationName, item }) {
5
+ if (!isOpen || !item)
6
+ return null;
7
+ // Mock username - normally would come from auth context
8
+ const username = 'berkaytikeno';
9
+ const qrData = encodeURIComponent(`${stationName} | ${item.name} | ${item.discountRate || 'No Discount'} | User: ${username}`);
10
+ const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=250x250&data=${qrData}&bgcolor=ffffff&color=000000&margin=10`;
11
+ return (_jsxs("div", { className: "fixed inset-0 z-[100] flex items-center justify-center p-6 animate-in fade-in duration-300", children: [_jsx("div", { className: "absolute inset-0 bg-black/80 backdrop-blur-md", onClick: onClose }), _jsxs("div", { className: "relative w-full max-w-md bg-white dark:bg-zinc-900 rounded-[48px] overflow-hidden shadow-[0_0_100px_rgba(0,0,0,0.5)] border border-white/10 animate-in zoom-in slide-in-from-bottom-12 duration-500", children: [_jsx("div", { className: "p-8 pb-0 flex justify-end", children: _jsx("button", { onClick: onClose, className: "w-10 h-10 rounded-full bg-black/5 dark:bg-white/5 flex items-center justify-center hover:bg-red-500 hover:text-white transition-all active:scale-90", children: _jsx(X, { size: 20 }) }) }), _jsxs("div", { className: "p-10 pt-4 text-center", children: [_jsxs("div", { className: "mb-6", children: [_jsx("span", { className: "px-4 py-1.5 bg-blue-500/10 text-blue-500 rounded-full text-[10px] font-black uppercase tracking-[0.2em] mb-4 inline-block", children: "ARMOYU AVANTAJ KODU" }), _jsx("h3", { className: "text-2xl font-black text-armoyu-text uppercase tracking-tighter italic leading-tight", children: item.name }), _jsx("p", { className: "text-armoyu-text-muted text-xs font-bold uppercase tracking-widest mt-1 opacity-60", children: stationName })] }), _jsxs("div", { className: "relative p-6 bg-white rounded-[40px] shadow-inner mb-8 inline-block mx-auto group", children: [_jsx("div", { className: "absolute inset-0 bg-blue-500/5 blur-3xl rounded-full scale-150 group-hover:bg-blue-500/10 transition-colors" }), _jsx("img", { src: qrUrl, alt: "QR Code", className: "relative z-10 w-48 h-48 md:w-56 md:h-56 object-contain mix-blend-multiply dark:mix-blend-normal" }), _jsx("div", { className: "absolute top-0 left-0 w-8 h-8 border-t-4 border-l-4 border-blue-600 rounded-tl-2xl" }), _jsx("div", { className: "absolute top-0 right-0 w-8 h-8 border-t-4 border-r-4 border-blue-600 rounded-tr-2xl" }), _jsx("div", { className: "absolute bottom-0 left-0 w-8 h-8 border-b-4 border-l-4 border-blue-600 rounded-bl-2xl" }), _jsx("div", { className: "absolute bottom-0 right-0 w-8 h-8 border-b-4 border-r-4 border-blue-600 rounded-br-2xl" })] }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "p-5 bg-black/5 dark:bg-white/5 rounded-3xl border border-black/5 dark:border-white/5", children: [_jsxs("div", { className: "flex justify-between items-center mb-1", children: [_jsx("span", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest leading-none", children: "\u0130ND\u0130R\u0130M ORANI" }), _jsx("span", { className: "text-xl font-black text-emerald-500 italic", children: item.discountRate || 'Özel Fiyat' })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest leading-none", children: "\u00DCCRET" }), _jsxs("span", { className: "text-xl font-black text-armoyu-text", children: [item.price, " \u20BA"] })] })] }), _jsx("p", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest leading-relaxed opacity-60 max-w-[280px] mx-auto", children: "BU KODU KASADAK\u0130 G\u00D6REVL\u0130YE OKUTARAK \u0130ND\u0130R\u0130M\u0130N\u0130Z\u0130 ANINDA UYGALAYAB\u0130L\u0130RS\u0130N\u0130Z." })] })] }), _jsx("div", { className: "p-8 bg-blue-600 text-white text-center", children: _jsx("button", { onClick: onClose, className: "w-full py-4 bg-white text-blue-600 rounded-2xl font-black text-xs uppercase tracking-widest shadow-xl active:scale-95 transition-all", children: "KAPAT" }) })] })] }));
12
+ }
13
+ //# sourceMappingURL=StationQRModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StationQRModal.js","sourceRoot":"","sources":["../../../../src/components/modules/stations/StationQRModal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,CAAC,EAAU,MAAM,cAAc,CAAC;AAWzC,MAAM,UAAU,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAuB;IACxF,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAElC,wDAAwD;IACxD,MAAM,QAAQ,GAAG,cAAc,CAAC;IAChC,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,WAAW,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,YAAY,IAAI,aAAa,YAAY,QAAQ,EAAE,CAAC,CAAC;IAC/H,MAAM,KAAK,GAAG,iEAAiE,MAAM,wCAAwC,CAAC;IAE9H,OAAO,CACL,eAAK,SAAS,EAAC,4FAA4F,aAEzG,cACE,SAAS,EAAC,+CAA+C,EACzD,OAAO,EAAE,OAAO,GAChB,EAGF,eAAK,SAAS,EAAC,qMAAqM,aAClN,cAAK,SAAS,EAAC,2BAA2B,YACvC,iBACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,qJAAqJ,YAE9J,KAAC,CAAC,IAAC,IAAI,EAAE,EAAE,GAAI,GACT,GACN,EAEN,eAAK,SAAS,EAAC,uBAAuB,aACnC,eAAK,SAAS,EAAC,MAAM,aAClB,eAAM,SAAS,EAAC,2HAA2H,oCAEpI,EACP,aAAI,SAAS,EAAC,sFAAsF,YAChG,IAAI,CAAC,IAAI,GACR,EACL,YAAG,SAAS,EAAC,oFAAoF,YAC7F,WAAW,GACX,IACD,EAGN,eAAK,SAAS,EAAC,mFAAmF,aAC/F,cAAK,SAAS,EAAC,6GAA6G,GAAG,EAC/H,cACE,GAAG,EAAE,KAAK,EACV,GAAG,EAAC,SAAS,EACb,SAAS,EAAC,iGAAiG,GAC3G,EAGF,cAAK,SAAS,EAAC,oFAAoF,GAAG,EACtG,cAAK,SAAS,EAAC,qFAAqF,GAAG,EACvG,cAAK,SAAS,EAAC,uFAAuF,GAAG,EACzG,cAAK,SAAS,EAAC,wFAAwF,GAAG,IACvG,EAEN,eAAK,SAAS,EAAC,WAAW,aACvB,eAAK,SAAS,EAAC,sFAAsF,aAClG,eAAK,SAAS,EAAC,wCAAwC,aACpD,eAAM,SAAS,EAAC,sFAAsF,6CAAqB,EAC3H,eAAM,SAAS,EAAC,4CAA4C,YAAE,IAAI,CAAC,YAAY,IAAI,YAAY,GAAQ,IACpG,EACN,eAAK,SAAS,EAAC,mCAAmC,aAC/C,eAAM,SAAS,EAAC,sFAAsF,2BAAa,EACnH,gBAAM,SAAS,EAAC,qCAAqC,aAAE,IAAI,CAAC,KAAK,eAAU,IACxE,IACH,EAEN,YAAG,SAAS,EAAC,yHAAyH,6JAElI,IACD,IACH,EAGN,cAAK,SAAS,EAAC,wCAAwC,YACpD,iBACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,sIAAsI,sBAGzI,GACN,IACF,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface FloatingChatButtonProps {
2
+ position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
3
+ }
4
+ export declare function FloatingChatButton({ position }: FloatingChatButtonProps): import("react/jsx-runtime").JSX.Element | null;
5
+ //# sourceMappingURL=FloatingChatButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingChatButton.d.ts","sourceRoot":"","sources":["../../../src/components/shared/FloatingChatButton.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;CACtE;AAED,wBAAgB,kBAAkB,CAAC,EAAE,QAAyB,EAAE,EAAE,uBAAuB,kDA6CxF"}
@@ -0,0 +1,21 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useAuth } from '../../context/AuthContext';
4
+ import { useChat } from '../../context/ChatContext';
5
+ import { ChatContainer } from '../../components/modules/chat/ChatContainer';
6
+ export function FloatingChatButton({ position = 'bottom-right' }) {
7
+ const { user } = useAuth();
8
+ const { isChatOpen, toggleChat } = useChat();
9
+ if (!user)
10
+ return null;
11
+ const positionClasses = {
12
+ 'bottom-right': 'bottom-6 right-6 md:bottom-10 md:right-10',
13
+ 'bottom-left': 'bottom-6 left-6 md:bottom-10 md:left-10',
14
+ 'top-right': 'top-24 right-6 md:top-24 md:right-10',
15
+ 'top-left': 'top-24 left-6 md:top-24 md:left-10',
16
+ };
17
+ return (_jsxs("div", { children: [!isChatOpen && (_jsx("div", { className: `fixed z-[80] animate-in fade-in zoom-in duration-500 ${positionClasses[position]}`, children: _jsxs("button", { onClick: toggleChat, className: "w-14 h-14 md:w-16 md:h-16 rounded-full bg-gradient-to-r from-blue-600 to-blue-500 text-white shadow-[0_0_20px_rgba(37,99,235,0.4)] hover:shadow-[0_0_30px_rgba(37,99,235,0.6)] hover:scale-105 active:scale-95 transition-all flex items-center justify-center border border-blue-400/50 group focus:outline-none", title: "Sohbeti A\u00E7", children: [_jsx("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", className: "group-hover:-translate-y-0.5 transition-transform md:w-7 md:h-7 animate-in spin-in-[-90deg] duration-300", 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" }) }), _jsx("span", { className: "absolute top-0 right-0 md:top-0.5 md:right-0.5 w-3.5 h-3.5 md:w-4 md:h-4 bg-red-500 rounded-full border-2 border-white dark:border-[#0a0a0e] shadow-sm animate-pulse" })] }) }, "floating-trigger")), _jsx("div", { className: `fixed bottom-0 right-0 md:bottom-6 md:right-6 z-[70] w-full sm:w-[400px] h-[100dvh] sm:h-[calc(100vh-100px)] md:h-[650px] shadow-[0_0_40px_rgba(0,0,0,0.3)] origin-bottom-right transition-all duration-500 sm:rounded-3xl overflow-hidden border border-black/5 dark:border-white/10 flex flex-col bg-armoyu-card-bg backdrop-blur-xl ${isChatOpen
18
+ ? 'translate-y-0 scale-100 opacity-100 pointer-events-auto'
19
+ : 'translate-y-10 scale-95 opacity-0 pointer-events-none'}`, children: _jsx(ChatContainer, {}) }, "floating-container")] }, "floating-chat-wrapper"));
20
+ }
21
+ //# sourceMappingURL=FloatingChatButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingChatButton.js","sourceRoot":"","sources":["../../../src/components/shared/FloatingChatButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAM5E,MAAM,UAAU,kBAAkB,CAAC,EAAE,QAAQ,GAAG,cAAc,EAA2B;IACvF,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;IAC3B,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;IAE7C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,eAAe,GAAG;QACtB,cAAc,EAAE,2CAA2C;QAC3D,aAAa,EAAE,yCAAyC;QACxD,WAAW,EAAE,sCAAsC;QACnD,UAAU,EAAE,oCAAoC;KACjD,CAAC;IAEF,OAAO,CACL,0BAEG,CAAC,UAAU,IAAI,CACd,cAA4B,SAAS,EAAE,wDAAwD,eAAe,CAAC,QAAQ,CAAC,EAAE,YACxH,kBACE,OAAO,EAAE,UAAU,EACnB,SAAS,EAAC,mTAAmT,EAC7T,KAAK,EAAC,iBAAY,aAElB,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,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,SAAS,EAAC,0GAA0G,YACtS,eAAM,CAAC,EAAC,+DAA+D,GAAQ,GAC3E,EAEN,eAAM,SAAS,EAAC,sKAAsK,GAAQ,IACvL,IAXF,kBAAkB,CAYrB,CACP,EAGD,cAEE,SAAS,EAAE,0UACT,UAAU;oBACV,CAAC,CAAC,yDAAyD;oBAC3D,CAAC,CAAC,uDACJ,EAAE,YAEF,KAAC,aAAa,KAAG,IAPb,oBAAoB,CAQpB,KA5BC,uBAAuB,CA6B1B,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function Footer(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=Footer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../src/components/shared/Footer.tsx"],"names":[],"mappings":"AAEA,wBAAgB,MAAM,4CA0ErB"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export function Footer() {
3
+ const latestPosts = [
4
+ { title: "Yeni Minecraft Sunucu Altyapımız Yayında!", date: "18 Mart 2026", link: "#" },
5
+ { title: "Valorant Kış Turnuvası Kayıtları Başladı, Yerini Ayırt", date: "15 Mart 2026", link: "#" },
6
+ { title: "ARMOYU Çekiliş Sonuçları Açıklandı", date: "10 Mart 2026", link: "#" },
7
+ ];
8
+ return (_jsxs("footer", { className: "w-full mt-24 border-t border-armoyu-card-border bg-armoyu-bg py-12 px-6 md:px-8 relative z-20 text-center md:text-left", children: [_jsxs("div", { className: "max-w-7xl mx-auto grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-12", children: [_jsxs("div", { className: "space-y-4 flex flex-col items-center md:items-start", children: [_jsx("h2", { className: "text-2xl font-black bg-clip-text text-transparent bg-gradient-to-r from-blue-500 to-indigo-600 dark:from-white dark:to-gray-300 tracking-tight", children: "ARMOYU" }), _jsx("p", { className: "text-armoyu-text-muted text-sm leading-relaxed max-w-sm font-medium", children: "T\u00FCrkiye'nin en aktif ve yenilik\u00E7i oyuncu toplulu\u011Fu. Oyun d\u00FCnyas\u0131ndaki geli\u015Fmeleri takip et, arkada\u015Flar\u0131nla ekipler kur ve rekabete kat\u0131l." }), _jsxs("div", { className: "flex gap-3 pt-4 justify-center md:justify-start", children: [_jsx("a", { href: "#", className: "w-10 h-10 rounded-full bg-black/5 dark:bg-white/5 flex items-center justify-center text-armoyu-text-muted hover:text-indigo-500 hover:bg-black/10 dark:hover:bg-white/10 transition-colors border border-black/5 dark:border-white/5", title: "Discord", 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("path", { d: "M9 12h.01" }), _jsx("path", { d: "M15 12h.01" }), _jsx("path", { d: "M8 8a9 9 0 0 0-4 3c-1.3 4-1.5 6-.5 8 1 2 4 1 6-1h4c2 2 5 3 6 1 1-2 .8-4-.5-8a9 9 0 0 0-4-3 7 7 0 0 0-6 0z" })] }) }), _jsx("a", { href: "#", className: "w-10 h-10 rounded-full bg-black/5 dark:bg-white/5 flex items-center justify-center text-armoyu-text-muted hover:text-pink-500 hover:bg-black/10 dark:hover:bg-white/10 transition-colors border border-black/5 dark:border-white/5", title: "Instagram", 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: "2", y: "2", width: "20", height: "20", rx: "5", ry: "5" }), _jsx("path", { d: "M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z" }), _jsx("line", { x1: "17.5", y1: "6.5", x2: "17.51", y2: "6.5" })] }) }), _jsx("a", { href: "#", className: "w-10 h-10 rounded-full bg-black/5 dark:bg-white/5 flex items-center justify-center text-armoyu-text-muted hover:text-red-500 hover:bg-black/10 dark:hover:bg-white/10 transition-colors border border-black/5 dark:border-white/5", title: "YouTube", 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("path", { d: "M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z" }), _jsx("polygon", { points: "9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02" })] }) }), _jsx("a", { href: "#", className: "w-10 h-10 rounded-full bg-black/5 dark:bg-white/5 flex items-center justify-center text-armoyu-text-muted hover:text-blue-500 hover:bg-black/10 dark:hover:bg-white/10 transition-colors border border-black/5 dark:border-white/5", title: "X (Twitter)", 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("path", { d: "M4 4l11.733 16h4.267l-11.733 -16z" }), _jsx("path", { d: "M4 20l6.768 -6.768m2.46 -2.46l6.772 -6.772" })] }) })] })] }), _jsxs("div", { className: "space-y-4 lg:pl-8 flex flex-col items-center md:items-start", children: [_jsx("h3", { className: "text-lg font-bold text-armoyu-text tracking-wide", children: "H\u0131zl\u0131 Ba\u011Flant\u0131lar" }), _jsxs("ul", { className: "space-y-3 text-sm text-armoyu-text-muted font-bold w-full md:w-auto flex flex-col items-center md:items-start", children: [_jsx("li", { children: _jsxs("a", { href: "#", className: "hover:text-blue-500 transition-colors flex items-center gap-2", children: [_jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-blue-500/50 hidden md:block" }), " Ana Sayfa"] }) }), _jsx("li", { children: _jsxs("a", { href: "#", className: "hover:text-blue-500 transition-colors flex items-center gap-2", children: [_jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-blue-500/50 hidden md:block" }), " Gruplar"] }) }), _jsx("li", { children: _jsxs("a", { href: "#", className: "hover:text-blue-500 transition-colors flex items-center gap-2", children: [_jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-blue-500/50 hidden md:block" }), " Forum"] }) }), _jsx("li", { children: _jsxs("a", { href: "#", className: "hover:text-blue-500 transition-colors flex items-center gap-2", children: [_jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-blue-500/50 hidden md:block" }), " Ma\u011Faza"] }) }), _jsx("li", { children: _jsxs("a", { href: "#", className: "hover:text-blue-500 transition-colors flex items-center gap-2", children: [_jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-blue-500/50 hidden md:block" }), " Destek Talebi"] }) })] })] }), _jsxs("div", { className: "space-y-4 lg:col-span-2", children: [_jsx("h3", { className: "text-lg font-bold text-armoyu-text tracking-wide", children: "Son Payla\u015F\u0131mlar" }), _jsx("div", { className: "space-y-3", children: latestPosts.map((post, idx) => (_jsx("a", { href: post.link, className: "block group text-left", children: _jsxs("div", { className: "bg-black/5 dark:bg-white/5 p-4 rounded-xl border border-black/5 dark:border-white/5 group-hover:bg-black/10 dark:group-hover:bg-white/10 group-hover:border-blue-500/30 transition-all cursor-pointer flex flex-col sm:flex-row justify-between sm:items-center gap-2 sm:gap-4 shadow-sm", children: [_jsx("h4", { className: "text-armoyu-text text-sm font-bold group-hover:text-blue-500 transition-colors line-clamp-2 md:line-clamp-1 flex-1", children: post.title }), _jsx("span", { className: "text-xs text-blue-600 dark:text-blue-400 font-extrabold whitespace-nowrap sm:bg-blue-500/10 sm:px-2.5 sm:py-1 rounded-md", children: post.date })] }) }, idx))) })] })] }), _jsxs("div", { className: "max-w-7xl mx-auto mt-12 pt-8 border-t border-armoyu-card-border flex flex-col md:flex-row items-center justify-between gap-6 text-xs font-bold text-armoyu-text-muted", children: [_jsx("p", { children: "\u00A9 2026 Aram\u0131zdaki Oyuncu. T\u00FCm haklar\u0131 sakl\u0131d\u0131r." }), _jsxs("div", { className: "flex flex-wrap justify-center gap-4 md:gap-6", children: [_jsx("a", { href: "#", className: "hover:text-armoyu-text transition-colors", children: "Gizlilik Politikas\u0131" }), _jsx("a", { href: "#", className: "hover:text-armoyu-text transition-colors", children: "Hizmet \u015Eartlar\u0131" }), _jsx("a", { href: "#", className: "hover:text-armoyu-text transition-colors", children: "Kurallar" })] })] })] }));
9
+ }
10
+ //# sourceMappingURL=Footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../src/components/shared/Footer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function Header(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=Header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/components/shared/Header.tsx"],"names":[],"mappings":"AA+CA,wBAAgB,MAAM,4CA+uBrB"}
@@ -0,0 +1,98 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useState, useEffect } from 'react';
4
+ import { LoginModal } from './LoginModal';
5
+ import { useAuth } from '../../context/AuthContext';
6
+ import { useChat } from '../../context/ChatContext';
7
+ import { useTheme } from '../../context/ThemeContext';
8
+ import { useRouter } from 'next/navigation';
9
+ import Link from 'next/link';
10
+ import { userList, groupList, schoolList } from '../../lib/constants/seedData';
11
+ import { Search, X, Users, MessageSquare, Bell, User, Flag, ShieldAlert, ShieldCheck, Crown, ArrowRight, Menu, ArrowLeft, GraduationCap } from 'lucide-react';
12
+ const navItems = [
13
+ {
14
+ name: 'Gruplar',
15
+ href: '/gruplar',
16
+ },
17
+ { name: 'Galeriler', href: '/galeriler' },
18
+ { name: 'Haberler', href: '/haberler' },
19
+ { name: 'Çekilişler', href: '/cekilisler' },
20
+ { name: 'Projeler', href: '/projeler' },
21
+ {
22
+ name: 'Ekibimiz',
23
+ href: '#',
24
+ submenu: [
25
+ { name: 'Çalışma Ekibi', href: '/ekibimiz/ekip' },
26
+ { name: 'İnsan Kaynakları', href: '/ekibimiz/ik' },
27
+ { name: 'Topluluk Kuralları', href: '/kurallar' },
28
+ { name: 'Hakkımızda', href: '/ekibimiz/hakkimizda' },
29
+ { name: 'Gizlilik Politikası', href: '/ekibimiz/gizlilik' }
30
+ ]
31
+ },
32
+ { name: 'Forum', href: '/forum' },
33
+ { name: 'Modlar', href: '/modlar' },
34
+ { name: 'Etkinlikler', href: '/etkinlikler' },
35
+ { name: 'Mağaza', href: '/magaza' },
36
+ ];
37
+ export function Header() {
38
+ const { user, session, login, logout, isLoading, isLoginModalOpen, setIsLoginModalOpen } = useAuth();
39
+ const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);
40
+ const [isUserMenuOpen, setIsUserMenuOpen] = useState(false);
41
+ const [isNotificationOpen, setIsNotificationOpen] = useState(false);
42
+ const [isGroupsSubmenuOpen, setIsGroupsSubmenuOpen] = useState(false);
43
+ // Search States
44
+ const [searchQuery, setSearchQuery] = useState('');
45
+ const [isSearchOpen, setIsSearchOpen] = useState(false);
46
+ const [searchResults, setSearchResults] = useState({ users: [], groups: [], schools: [] });
47
+ const { theme, toggleTheme } = useTheme();
48
+ const { openChat } = useChat();
49
+ const router = useRouter();
50
+ // Search Logic
51
+ useEffect(() => {
52
+ if (searchQuery.trim().length < 2) {
53
+ setSearchResults({ users: [], groups: [], schools: [] });
54
+ return;
55
+ }
56
+ const query = searchQuery.toLocaleLowerCase('tr-TR');
57
+ const filteredUsers = userList.filter((u) => u.displayName.toLocaleLowerCase('tr-TR').includes(query) ||
58
+ u.username.toLocaleLowerCase('tr-TR').includes(query)).slice(0, 5);
59
+ const filteredGroups = groupList.filter((g) => g.name.toLocaleLowerCase('tr-TR').includes(query)).slice(0, 5);
60
+ const filteredSchools = schoolList.filter((s) => s.name.toLocaleLowerCase('tr-TR').includes(query)).slice(0, 5);
61
+ setSearchResults({ users: filteredUsers, groups: filteredGroups, schools: filteredSchools });
62
+ }, [searchQuery]);
63
+ const unreadCount = session?.notifications?.filter((n) => !n.isRead).length || 0;
64
+ const markAllAsRead = () => {
65
+ if (session?.notifications) {
66
+ session.notifications.forEach((n) => n.isRead = true);
67
+ setIsNotificationOpen(false);
68
+ setTimeout(() => setIsNotificationOpen(true), 10);
69
+ }
70
+ };
71
+ const closeSearch = () => {
72
+ setSearchQuery('');
73
+ setIsSearchOpen(false);
74
+ };
75
+ const goToMyProfile = () => {
76
+ if (user?.username) {
77
+ router.push(`/oyuncular/${user.username}`);
78
+ setIsUserMenuOpen(false);
79
+ setIsMobileMenuOpen(false);
80
+ }
81
+ };
82
+ const handleNotificationClick = (notif) => {
83
+ notif.isRead = true;
84
+ if (notif.isClickable && notif.link) {
85
+ router.push(notif.link);
86
+ setIsNotificationOpen(false);
87
+ }
88
+ else {
89
+ setIsNotificationOpen(false);
90
+ setTimeout(() => setIsNotificationOpen(true), 10);
91
+ }
92
+ };
93
+ return (_jsxs(_Fragment, { children: [_jsx("header", { className: "sticky top-0 z-40 w-full border-b border-armoyu-header-border bg-armoyu-header-bg transition-all duration-500 backdrop-blur-md", children: _jsxs("div", { className: "flex items-center justify-between px-4 md:px-8 h-16 w-full max-w-[100vw]", children: [_jsx("button", { className: "md:hidden flex items-center justify-center w-10 h-10 text-armoyu-text hover:text-blue-500 transition-colors border border-transparent hover:border-armoyu-header-border rounded-lg bg-transparent hover:bg-black/5 dark:hover:bg-white/5", onClick: () => setIsMobileMenuOpen(true), title: "Men\u00FC", children: _jsx(Menu, { size: 24 }) }), _jsx("div", { className: "flex-shrink-0 flex items-center pr-4 md:pr-8 md:border-r border-armoyu-header-border ml-2 md:ml-0", children: _jsx(Link, { href: "/", className: "text-xl font-black tracking-tighter bg-clip-text text-transparent bg-gradient-to-r from-blue-500 to-indigo-600 dark:from-white dark:to-gray-400 hover:opacity-80 transition-opacity uppercase italic", children: "ARMOYU" }) }), _jsx("nav", { className: "hidden md:flex items-center gap-1 xl:gap-2 mx-4", children: navItems.map((item) => (_jsxs("div", { className: "relative group", children: [_jsxs(Link, { href: item.href, className: "px-3 xl:px-4 py-2 rounded-xl text-sm font-bold text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5 transition-all flex items-center gap-1.5 whitespace-nowrap", children: [item.name, item.submenu && (_jsx(Menu, { size: 14, className: "opacity-50 group-hover:rotate-90 transition-transform" }))] }), item.submenu && (_jsx("div", { className: "absolute top-full left-0 pt-3 opacity-0 translate-y-4 pointer-events-none group-hover:opacity-100 group-hover:translate-y-0 group-hover:pointer-events-auto transition-all duration-300 z-50", children: _jsx("div", { className: "bg-white/95 dark:bg-[#12121a]/95 backdrop-blur-xl border border-gray-200 dark:border-white/10 rounded-[28px] shadow-2xl p-2 w-56 overflow-hidden animate-in fade-in slide-in-from-top-2 duration-200", children: item.submenu.map((sub) => (_jsxs(Link, { href: sub.href, className: "flex items-center gap-2.5 px-4 py-3 rounded-xl text-xs font-black uppercase tracking-widest text-armoyu-text-muted hover:text-blue-600 dark:hover:text-blue-400 hover:bg-blue-500/5 transition-all decoration-0 group/sub", children: [_jsx("div", { className: "w-1.5 h-1.5 rounded-full bg-blue-500/40 group-hover/sub:bg-blue-500 transition-colors" }), sub.name] }, sub.name))) }) }))] }, item.name))) }), _jsx("div", { className: "hidden lg:flex items-center flex-1 max-w-[280px] ml-auto relative", children: _jsxs("div", { className: "relative w-full group", children: [_jsx("div", { className: "absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none", children: _jsx(Search, { size: 16, className: "text-armoyu-text-muted group-focus-within:text-blue-500 transition-colors" }) }), _jsx("input", { type: "text", className: "block w-full pl-11 pr-4 py-2.5 bg-black/5 dark:bg-white/5 border border-transparent focus:border-blue-500/50 rounded-2xl text-sm font-bold text-armoyu-text placeholder:text-armoyu-text-muted/50 focus:outline-none focus:ring-4 focus:ring-blue-500/10 transition-all", placeholder: "Ara...", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), onFocus: () => setIsSearchOpen(true) }), isSearchOpen && (searchQuery.length > 0) && (_jsxs(_Fragment, { children: [_jsx("div", { className: "fixed inset-0 z-40", onClick: () => setIsSearchOpen(false) }), _jsxs("div", { className: "absolute top-full right-0 mt-3 bg-white/95 dark:bg-[#12121a]/95 backdrop-blur-xl border border-gray-200 dark:border-white/10 rounded-[28px] shadow-2xl z-50 overflow-hidden animate-in fade-in zoom-in-95 duration-200 w-[350px]", children: [searchResults.users.length === 0 && searchResults.groups.length === 0 && searchResults.schools.length === 0 ? (_jsxs("div", { className: "p-8 text-center", children: [_jsx("div", { className: "w-12 h-12 bg-black/5 dark:bg-white/5 rounded-full flex items-center justify-center mx-auto mb-3", children: _jsx(Search, { size: 20, className: "text-armoyu-text-muted opacity-50" }) }), _jsx("p", { className: "text-xs font-black text-armoyu-text uppercase tracking-widest", children: "Sonu\u00E7 Bulunamad\u0131" }), _jsx("p", { className: "text-[10px] text-armoyu-text-muted mt-1", children: "Farkl\u0131 bir anahtar kelime dene." })] })) : (_jsxs("div", { className: "max-h-[70vh] overflow-y-auto p-2 space-y-4 py-4", children: [searchResults.users.length > 0 && (_jsxs("div", { children: [_jsxs("h5", { className: "px-4 mb-2 text-[10px] font-black text-armoyu-text-muted uppercase tracking-[0.2em] flex items-center gap-2", children: [_jsx(User, { size: 12 }), " Oyuncular"] }), _jsx("div", { className: "space-y-1", children: searchResults.users.map((u) => (_jsxs(Link, { href: `/oyuncular/${u.username}`, onClick: closeSearch, className: "flex items-center gap-3 p-3 rounded-2xl hover:bg-blue-500/10 transition-colors group", children: [_jsx("img", { src: u.avatar, className: "w-10 h-10 rounded-xl object-cover ring-2 ring-transparent group-hover:ring-blue-500/30 transition-all", alt: u.displayName }), _jsxs("div", { children: [_jsx("div", { className: "text-sm font-black text-armoyu-text group-hover:text-blue-500 transition-colors", children: u.displayName }), _jsxs("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest", children: ["@", u.username] })] }), _jsx(ArrowRight, { size: 14, className: "ml-auto opacity-0 group-hover:opacity-100 -translate-x-2 group-hover:translate-x-0 transition-all text-blue-500" })] }, u.username))) })] })), searchResults.groups.length > 0 && (_jsxs("div", { children: [_jsxs("h5", { className: "px-4 mb-2 text-[10px] font-black text-armoyu-text-muted uppercase tracking-[0.2em] flex items-center gap-2", children: [_jsx(Users, { size: 12 }), " Gruplar"] }), _jsx("div", { className: "space-y-1", children: searchResults.groups.map((g) => (_jsxs(Link, { href: `/gruplar/${g.id}`, onClick: closeSearch, className: "flex items-center gap-3 p-3 rounded-2xl hover:bg-emerald-500/10 transition-colors group", children: [_jsx("img", { src: g.logo, className: "w-10 h-10 rounded-xl object-cover ring-2 ring-transparent group-hover:ring-emerald-500/30 transition-all", alt: g.name }), _jsxs("div", { children: [_jsx("div", { className: "text-sm font-black text-armoyu-text group-hover:text-emerald-500 transition-colors", children: g.name }), _jsxs("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest", children: [g.memberCount || 0, " \u00DCye"] })] }), _jsx(ArrowRight, { size: 14, className: "ml-auto opacity-0 group-hover:opacity-100 -translate-x-2 group-hover:translate-x-0 transition-all text-emerald-500" })] }, g.id))) })] })), searchResults.schools.length > 0 && (_jsxs("div", { children: [_jsxs("h5", { className: "px-4 mb-2 text-[10px] font-black text-armoyu-text-muted uppercase tracking-[0.2em] flex items-center gap-2", children: [_jsx(GraduationCap, { size: 12 }), " Okullar"] }), _jsx("div", { className: "space-y-1", children: searchResults.schools.map((s) => (_jsxs(Link, { href: `/egitim/${s.slug}`, onClick: closeSearch, className: "flex items-center gap-3 p-3 rounded-2xl hover:bg-blue-500/10 transition-colors group", children: [_jsx("img", { src: s.logo, className: "w-10 h-10 rounded-xl object-contain bg-white p-1 ring-2 ring-transparent group-hover:ring-blue-500/30 transition-all", alt: s.name }), _jsxs("div", { children: [_jsx("div", { className: "text-sm font-black text-armoyu-text group-hover:text-blue-500 transition-colors", children: s.name }), _jsxs("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest", children: [s.memberCount || 0, " \u00DCye"] })] }), _jsx(ArrowRight, { size: 14, className: "ml-auto opacity-0 group-hover:opacity-100 -translate-x-2 group-hover:translate-x-0 transition-all text-blue-500" })] }, s.id))) })] }))] })), _jsx("div", { className: "p-3 bg-black/5 dark:bg-white/5 border-t border-gray-200 dark:border-white/10 text-center", children: _jsx("span", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest", children: "Arama modunu kapatmak i\u00E7in d\u0131\u015Far\u0131 t\u0131kla" }) })] })] }))] }) }), _jsxs("div", { className: "flex-shrink-0 pl-4 md:pl-8 border-l border-armoyu-header-border flex items-center gap-2 md:gap-4 h-full ml-auto md:ml-0", children: [_jsx("button", { className: "lg:hidden p-2 rounded-xl text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5 transition-all", onClick: () => setIsSearchOpen(true), children: _jsx(Search, { size: 22 }) }), user && (_jsxs("div", { className: "relative", children: [_jsxs("button", { onClick: () => setIsNotificationOpen(!isNotificationOpen), className: `relative p-2 rounded-xl transition-all ${isNotificationOpen ? 'bg-blue-500 text-white shadow-lg shadow-blue-500/30' : 'text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5'}`, title: "Bildirimler", children: [_jsx(Bell, { size: 22 }), unreadCount > 0 && (_jsx("span", { className: "absolute -top-0.5 -right-0.5 w-5 h-5 bg-red-500 text-white text-[10px] font-black flex items-center justify-center rounded-full border-2 border-armoyu-header-bg animate-bounce", children: unreadCount }))] }), isNotificationOpen && (_jsxs(_Fragment, { children: [_jsx("div", { className: "fixed inset-0 z-40", onClick: () => setIsNotificationOpen(false) }), _jsxs("div", { className: "absolute right-0 mt-3 w-80 md:w-96 bg-white/95 dark:bg-[#12121a]/95 backdrop-blur-xl border border-gray-200 dark:border-white/10 rounded-[32px] shadow-2xl z-50 overflow-hidden animate-in fade-in zoom-in-95 duration-200", children: [_jsxs("div", { className: "p-5 border-b border-gray-200 dark:border-white/10 flex justify-between items-center bg-gray-50/50 dark:bg-white/5", children: [_jsx("h4", { className: "text-[11px] font-black text-armoyu-text uppercase tracking-[0.2em]", children: "B\u0130LD\u0130R\u0130MLER" }), _jsx("button", { onClick: markAllAsRead, className: "text-[10px] font-bold text-blue-500 hover:text-blue-400 transition-colors uppercase tracking-widest", children: "Hepsini Oku" })] }), _jsx("div", { className: "max-h-[450px] overflow-y-auto p-1.5", children: (session?.notifications || []).length > 0 ? ((session?.notifications || []).map((notif) => (_jsxs("div", { onClick: () => handleNotificationClick(notif), className: `p-4 rounded-2xl hover:bg-black/5 dark:hover:bg-white/5 transition-all group flex gap-4 ${!notif.isRead ? 'bg-blue-500/5' : ''}`, children: [_jsxs("div", { className: "relative shrink-0", children: [_jsx("img", { src: notif.sender?.avatar, className: "w-11 h-11 rounded-2xl object-cover ring-2 ring-black/5 dark:ring-white/5 shadow-sm", alt: "Sender" }), _jsxs("div", { className: "absolute -bottom-1 -right-1 w-5 h-5 rounded-lg bg-blue-500 border-2 border-white dark:border-[#12121a] flex items-center justify-center text-white shadow-sm", children: [(notif.type === 'POST_LIKE') && _jsx(Flag, { size: 10, fill: "currentColor" }), (notif.type === 'POST_COMMENT') && _jsx(MessageSquare, { size: 10, fill: "currentColor" }), (notif.type === 'GROUP_INVITE') && _jsx(Users, { size: 10, fill: "currentColor" }), (notif.category === 'SYSTEM') && _jsx(ShieldAlert, { size: 10, fill: "currentColor" })] })] }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsxs("div", { className: "flex justify-between items-start mb-0.5", children: [_jsx("p", { className: "text-sm font-black text-armoyu-text truncate", children: notif.title }), _jsx("span", { className: "text-[9px] font-bold text-armoyu-text-muted uppercase tracking-tighter", children: notif.createdAt })] }), _jsx("p", { className: "text-[11px] font-medium text-armoyu-text-muted leading-relaxed line-clamp-2", children: notif.message })] }), !notif.isRead && _jsx("div", { className: "w-2.5 h-2.5 rounded-full bg-blue-500 mt-2 shadow-[0_0_10px_rgba(59,130,246,0.6)]" })] }, notif.id)))) : (_jsxs("div", { className: "py-16 text-center", children: [_jsx(Bell, { size: 40, className: "mx-auto text-armoyu-text-muted/20 mb-4" }), _jsx("p", { className: "text-xs font-black text-armoyu-text uppercase tracking-widest", children: "Bildirim Bulunmuyor" })] })) })] })] }))] })), !isLoading && (user ? (_jsxs("button", { onClick: () => setIsUserMenuOpen(true), className: "flex items-center gap-3 p-1 rounded-full hover:bg-black/5 dark:hover:bg-white/5 transition-colors border border-transparent hover:border-armoyu-header-border focus:outline-none", title: "Profilim", children: [_jsx("img", { src: user.avatar || "https://api.dicebear.com/7.x/avataaars/svg?seed=Armoyu", alt: "Avatar", className: "w-8 h-8 rounded-full border border-blue-500/50 shadow-[0_0_10px_rgba(59,130,246,0.5)] object-cover bg-white/5" }), _jsx("span", { className: "text-sm font-bold text-armoyu-text hidden md:inline-block pr-2", children: user.displayName.split(' ')[0] })] })) : (_jsx("button", { onClick: () => setIsLoginModalOpen(true), className: "flex items-center justify-center w-10 h-10 rounded-full bg-black/5 dark:bg-white/5 hover:bg-black/10 dark:hover:bg-white/10 text-armoyu-text-muted hover:text-blue-600 dark:hover:text-blue-400 transition-all border border-armoyu-header-border shadow-sm", title: "Giri\u015F Yap", 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("path", { d: "M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2" }), _jsx("circle", { cx: "12", cy: "7", r: "4" })] }) }))), isLoading && (_jsx("div", { className: "w-8 h-8 rounded-full bg-black/5 dark:bg-white/5 animate-pulse border border-armoyu-header-border" }))] })] }) }), isSearchOpen && (_jsxs("div", { className: "fixed inset-0 z-[100] bg-white dark:bg-[#0a0a0b] flex flex-col lg:hidden animate-in fade-in slide-in-from-top duration-300", children: [_jsxs("div", { className: "flex items-center gap-4 p-4 border-b border-gray-200 dark:border-white/10", children: [_jsx("button", { onClick: closeSearch, className: "p-2 text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5 rounded-xl transition-colors", children: _jsx(ArrowLeft, { size: 24 }) }), _jsx("input", { autoFocus: true, type: "text", className: "flex-1 bg-transparent border-none text-lg font-bold text-armoyu-text focus:outline-none placeholder:text-armoyu-text-muted/30", placeholder: "Kimi aram\u0131\u015Ft\u0131n?", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value) }), searchQuery.length > 0 && (_jsx("button", { onClick: () => setSearchQuery(''), className: "p-2 text-armoyu-text-muted hover:text-red-500 transition-colors", children: _jsx(X, { size: 20 }) }))] }), _jsx("div", { className: "flex-1 overflow-y-auto p-4 hide-scrollbar", children: searchQuery.length > 0 ? (searchResults.users.length === 0 && searchResults.groups.length === 0 && searchResults.schools.length === 0 ? (_jsxs("div", { className: "py-20 text-center", children: [_jsx(Search, { size: 48, className: "mx-auto text-armoyu-text-muted/10 mb-4" }), _jsx("p", { className: "text-sm font-black text-armoyu-text uppercase tracking-widest", children: "Sonu\u00E7 Bulunamad\u0131" })] })) : (_jsxs("div", { className: "space-y-8", children: [searchResults.users.length > 0 && (_jsxs("div", { children: [_jsxs("h5", { className: "mb-4 text-[11px] font-black text-armoyu-text-muted uppercase tracking-[0.3em] flex items-center gap-2", children: [_jsx(User, { size: 14 }), " Oyuncular (", searchResults.users.length, ")"] }), _jsx("div", { className: "space-y-2", children: searchResults.users.map((u) => (_jsxs(Link, { href: `/oyuncular/${u.username}`, onClick: closeSearch, className: "flex items-center gap-4 p-3 rounded-[24px] bg-black/5 dark:bg-white/5 border border-transparent active:scale-95 transition-all", children: [_jsx("img", { src: u.avatar, className: "w-12 h-12 rounded-2xl object-cover shadow-lg", alt: u.displayName }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("div", { className: "font-black text-armoyu-text truncate", children: u.displayName }), _jsxs("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest", children: ["@", u.username] })] }), _jsx(ArrowRight, { size: 18, className: "text-blue-500" })] }, u.username))) })] })), searchResults.groups.length > 0 && (_jsxs("div", { children: [_jsxs("h5", { className: "mb-4 text-[11px] font-black text-armoyu-text-muted uppercase tracking-[0.3em] flex items-center gap-2", children: [_jsx(Users, { size: 14 }), " Gruplar (", searchResults.groups.length, ")"] }), _jsx("div", { className: "space-y-2", children: searchResults.groups.map((g) => (_jsxs(Link, { href: `/gruplar/${g.id}`, onClick: closeSearch, className: "flex items-center gap-4 p-3 rounded-[24px] bg-black/5 dark:bg-white/5 border border-transparent active:scale-95 transition-all", children: [_jsx("img", { src: g.logo, className: "w-12 h-12 rounded-2xl object-cover shadow-lg", alt: g.name }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("div", { className: "font-black text-armoyu-text truncate", children: g.name }), _jsxs("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest", children: [g.memberCount || 0, " \u00DCye"] })] }), _jsx(ArrowRight, { size: 18, className: "text-emerald-500" })] }, g.id))) })] })), searchResults.schools.length > 0 && (_jsxs("div", { children: [_jsxs("h5", { className: "mb-4 text-[11px] font-black text-armoyu-text-muted uppercase tracking-[0.3em] flex items-center gap-2", children: [_jsx(GraduationCap, { size: 14 }), " Okullar (", searchResults.schools.length, ")"] }), _jsx("div", { className: "space-y-2", children: searchResults.schools.map((s) => (_jsxs(Link, { href: `/egitim/${s.slug}`, onClick: closeSearch, className: "flex items-center gap-4 p-3 rounded-[32px] bg-black/5 dark:bg-white/5 border border-transparent active:scale-95 transition-all", children: [_jsx("img", { src: s.logo, className: "w-14 h-14 rounded-2xl object-contain bg-white p-2 shadow-lg", alt: s.name }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("div", { className: "font-black text-armoyu-text truncate italic", children: s.name }), _jsxs("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest", children: [s.memberCount || 0, " \u00DCye"] })] }), _jsx(ArrowRight, { size: 20, className: "text-blue-500" })] }, s.id))) })] }))] }))) : (_jsx("div", { className: "py-12 text-center text-armoyu-text-muted", children: _jsx("p", { className: "text-xs font-bold uppercase tracking-widest", children: "Aramak i\u00E7in yazmaya ba\u015Fla..." }) })) })] })), isMobileMenuOpen && (_jsxs("div", { className: "fixed inset-0 z-50 flex animate-in fade-in duration-200", children: [_jsx("div", { className: "absolute inset-0 bg-black/60 backdrop-blur-sm", onClick: () => setIsMobileMenuOpen(false) }), _jsxs("div", { className: "relative w-[280px] max-w-[80vw] h-full glass-panel bg-armoyu-drawer-bg border-r border-armoyu-drawer-border shadow-2xl flex flex-col pt-6 pb-8 px-6 animate-in slide-in-from-left duration-300", children: [_jsxs("div", { className: "flex items-center justify-between mb-8 border-b border-armoyu-drawer-border pb-4", children: [_jsx(Link, { href: "/", onClick: () => setIsMobileMenuOpen(false), className: "text-xl font-extrabold tracking-wider text-armoyu-text hover:text-blue-500 transition-colors", children: "ARMOYU" }), _jsx("button", { onClick: () => setIsMobileMenuOpen(false), className: "text-armoyu-text-muted hover:text-armoyu-text transition-colors bg-black/5 dark:bg-white/5 p-2 rounded-lg hover:bg-black/10 dark:hover:bg-white/10 border border-armoyu-drawer-border", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", 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("nav", { className: "flex-1 overflow-y-auto hide-scrollbar space-y-1 pr-2", children: [user && (_jsxs("button", { onClick: goToMyProfile, className: "w-full flex items-center gap-3 py-3.5 px-4 rounded-xl text-blue-600 dark:text-blue-400 bg-blue-500/5 hover:bg-blue-500/10 transition-all text-sm font-black border border-blue-500/10 mb-2 group/mobprof", children: [_jsx(User, { size: 20, className: "group-hover/mobprof:scale-110 transition-transform" }), "Profilim", _jsx(ArrowRight, { size: 16, className: "ml-auto opacity-40 group-hover/mobprof:opacity-100 group-hover/mobprof:translate-x-1 transition-all" })] })), navItems.map((item, idx) => (_jsx("div", { children: item.submenu ? (_jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "w-full flex items-center justify-between px-4 py-3.5 rounded-xl text-sm font-bold text-armoyu-text-muted", children: _jsx("span", { children: item.name }) }), _jsx("div", { className: "pl-3 space-y-1 border-l border-black/5 dark:border-white/10 ml-4", children: item.submenu.map((sub, sidx) => (_jsx(Link, { href: sub.href, onClick: () => setIsMobileMenuOpen(false), className: "w-full text-left px-4 py-2.5 rounded-xl text-sm font-bold text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5 transition-all block", children: sub.name }, sidx))) })] })) : (_jsx(Link, { href: item.href, onClick: () => setIsMobileMenuOpen(false), className: "block py-3.5 px-4 rounded-xl text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5 transition-all text-sm font-bold border border-transparent", children: item.name })) }, idx)))] }), _jsxs("div", { className: "mt-6 pt-6 border-t border-armoyu-drawer-border space-y-3", children: [_jsxs("button", { onClick: toggleTheme, className: "w-full py-3 px-4 rounded-xl bg-black/5 dark:bg-white/5 border border-armoyu-drawer-border text-armoyu-text-muted hover:text-armoyu-text flex items-center justify-between transition-colors font-bold text-sm", children: [_jsx("span", { children: "Tema De\u011Fi\u015Ftir" }), theme === 'dark' ? (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [_jsx("circle", { cx: "12", cy: "12", r: "5" }), _jsx("line", { x1: "12", y1: "1", x2: "12", y2: "3" }), _jsx("line", { x1: "12", y1: "21", x2: "12", y2: "23" }), _jsx("line", { x1: "4.22", y1: "4.22", x2: "5.64", y2: "5.64" }), _jsx("line", { x1: "18.36", y1: "18.36", x2: "19.78", y2: "19.78" }), _jsx("line", { x1: "1", y1: "12", x2: "3", y2: "12" }), _jsx("line", { x1: "21", y1: "12", x2: "23", y2: "12" }), _jsx("line", { x1: "4.22", y1: "19.78", x2: "5.64", y2: "18.36" }), _jsx("line", { x1: "18.36", y1: "5.64", x2: "19.78", y2: "4.22" })] })) : (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" }) }))] }), user ? (_jsx("button", { onClick: () => { setIsMobileMenuOpen(false); setIsUserMenuOpen(true); }, className: "w-full py-4 px-4 rounded-xl font-bold bg-black/5 dark:bg-white/5 border border-armoyu-drawer-border text-armoyu-text flex justify-center items-center gap-2 hover:bg-black/10 dark:hover:bg-white/10 transition-colors", children: "Profil Men\u00FCs\u00FC" })) : (_jsx("button", { onClick: () => { setIsMobileMenuOpen(false); setIsLoginModalOpen(true); }, className: "w-full py-4 px-4 rounded-xl bg-gradient-to-r from-blue-600 to-blue-500 text-white transition-all text-md font-bold shadow-[0_0_15px_rgba(37,99,235,0.4)]", children: "Giri\u015F Yap / Kay\u0131t Ol" }))] })] })] })), isUserMenuOpen && user && (_jsxs("div", { className: "fixed inset-0 z-[60] flex justify-end animate-in fade-in duration-200", children: [_jsx("div", { className: "absolute inset-0 bg-black/40 backdrop-blur-sm", onClick: () => setIsUserMenuOpen(false) }), _jsxs("div", { className: "relative w-[340px] max-w-[85vw] h-full glass-panel bg-armoyu-drawer-bg border-l border-armoyu-drawer-border shadow-2xl flex flex-col animate-in slide-in-from-right duration-300", children: [_jsxs("div", { className: "p-6 border-b border-armoyu-drawer-border flex justify-between items-start relative overflow-hidden group", children: [_jsx("div", { className: "absolute top-0 right-0 w-32 h-32 bg-blue-500/20 blur-[50px] -z-10 rounded-full" }), _jsxs("div", { className: "flex gap-4 items-center", children: [_jsx("img", { src: user.avatar || "https://api.dicebear.com/7.x/avataaars/svg?seed=Armoyu", alt: "Avatar", className: "w-14 h-14 rounded-full border-2 border-blue-500 shadow-[0_0_15px_rgba(59,130,246,0.4)] object-cover bg-white/5" }), _jsxs("div", { children: [_jsx("h3", { className: "text-armoyu-text font-bold text-lg leading-tight truncate max-w-[150px]", children: user.displayName }), _jsxs("span", { className: "text-blue-600 dark:text-blue-400 text-sm font-medium", children: ["@", user.username] })] })] }), _jsx("button", { onClick: () => setIsUserMenuOpen(false), className: "text-armoyu-text-muted hover:text-armoyu-text transition-colors bg-black/5 dark:bg-white/5 p-1.5 rounded-lg hover:bg-black/10 dark:hover:bg-white/10 border border-armoyu-drawer-border", 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("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) })] }), _jsxs("nav", { className: "flex-1 overflow-y-auto p-4 space-y-1.5 mt-2 hide-scrollbar", children: [_jsxs("button", { onClick: goToMyProfile, className: "w-full flex items-center gap-3 p-3 text-blue-600 dark:text-blue-400 bg-blue-500/5 hover:bg-blue-500/10 rounded-xl transition-all font-black border border-blue-500/20 text-left focus:outline-none group/prof mb-1", children: [_jsx(User, { size: 18, className: "group-hover/prof:scale-110 transition-transform" }), "Profilime Git", _jsx(ArrowRight, { size: 14, className: "ml-auto opacity-40 group-hover/prof:opacity-100 group-hover/prof:translate-x-1 transition-all" })] }), ['admin', 'member_mgmt', 'discipline', 'event_mgmt'].includes(user.role?.id || '') && (_jsxs(Link, { href: "/yonetim", onClick: () => setIsUserMenuOpen(false), className: "flex items-center gap-3 p-3 bg-blue-500/10 dark:bg-blue-500/20 text-blue-600 dark:text-blue-400 border border-blue-500/30 rounded-xl transition-all font-black shadow-[0_0_15px_rgba(59,130,246,0.15)] mb-2 group animate-in slide-in-from-right-4 duration-500", children: [_jsx(ShieldCheck, { size: 18, className: "group-hover:scale-110 transition-transform" }), "Y\u00F6netim Paneli", _jsx(Crown, { size: 14, className: "ml-auto opacity-50" })] })), _jsxs(Link, { href: "/yazilarim", onClick: () => setIsUserMenuOpen(false), className: "flex items-center gap-3 p-3 text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5 rounded-xl transition-all font-medium border border-transparent hover:border-armoyu-drawer-border", 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", children: [_jsx("path", { d: "M12 20h9" }), _jsx("path", { d: "M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z" })] }), "Yaz\u0131lar\u0131m"] }), _jsxs(Link, { href: "/yazilarim", onClick: () => setIsUserMenuOpen(false), className: "flex items-center gap-3 p-3 text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5 rounded-xl transition-all font-medium border border-transparent hover:border-armoyu-drawer-border", children: [_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", 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" }) }), "Yorumlar\u0131m"] }), _jsxs(Link, { href: "/anketler", onClick: () => setIsUserMenuOpen(false), className: "flex items-center gap-3 p-3 text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5 rounded-xl transition-all font-medium border border-transparent hover:border-armoyu-drawer-border", 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", children: [_jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", ry: "2" }), _jsx("line", { x1: "12", y1: "8", x2: "12", y2: "16" }), _jsx("line", { x1: "8", y1: "12", x2: "12", y2: "16" }), _jsx("line", { x1: "16", y1: "10", x2: "16", y2: "16" })] }), "Anketler"] }), _jsxs("div", { className: "space-y-1", children: [_jsxs("button", { onClick: () => setIsGroupsSubmenuOpen(!isGroupsSubmenuOpen), className: `w-full flex items-center gap-3 p-3 rounded-xl transition-all font-medium border border-transparent hover:border-armoyu-drawer-border text-left focus:outline-none ${isGroupsSubmenuOpen ? 'text-blue-500 bg-blue-500/5' : 'text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5'}`, 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", children: [_jsx("path", { d: "M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2" }), _jsx("circle", { cx: "9", cy: "7", r: "4" }), _jsx("path", { d: "M23 21v-2a4 4 0 0 0-3-3.87" }), _jsx("path", { d: "M16 3.13a4 4 0 0 1 0 7.75" })] }), "Gruplar\u0131m", _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", className: `ml-auto transition-transform duration-300 ${isGroupsSubmenuOpen ? 'rotate-180' : ''}`, children: _jsx("polyline", { points: "6 9 12 15 18 9" }) })] }), isGroupsSubmenuOpen && (_jsxs("div", { className: "pl-4 space-y-1 mt-1 animate-in slide-in-from-top-2 duration-200", children: [(user.groups || []).length > 0 ? ((user.groups || []).map((group, gidx) => (_jsxs(Link, { href: `/gruplar/${group.name.toLowerCase().replace(/\s+/g, '-')}`, onClick: () => setIsUserMenuOpen(false), className: "flex items-center gap-3 p-2.5 rounded-xl text-xs font-bold text-armoyu-text-muted hover:text-blue-500 hover:bg-black/5 dark:hover:bg-white/5 transition-all", children: [_jsx("img", { src: group.logo, className: "w-7 h-7 rounded-lg bg-white dark:bg-zinc-800 border border-armoyu-drawer-border" }), _jsx("span", { className: "truncate", children: group.name })] }, gidx)))) : (_jsx("div", { className: "py-3 px-4 text-center bg-black/5 dark:bg-white/5 rounded-xl border border-dashed border-armoyu-drawer-border mx-2", children: _jsxs("span", { className: "text-[10px] font-bold text-armoyu-text-muted opacity-60 block leading-tight", children: ["Hen\u00FCz bir gruba", _jsx("br", {}), "dahil de\u011Filsin"] }) })), _jsx(Link, { href: "/gruplar", onClick: () => setIsUserMenuOpen(false), className: "flex items-center justify-center p-2.5 rounded-xl text-[10px] font-black text-blue-500/60 hover:text-blue-500 hover:bg-blue-500/5 transition-all uppercase tracking-widest", children: "T\u00FCm Gruplar\u0131 G\u00F6r" })] }))] }), _jsxs(Link, { href: "/cekilisler", onClick: () => setIsUserMenuOpen(false), className: "flex items-center gap-3 p-3 text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5 rounded-xl transition-all font-medium border border-transparent hover:border-armoyu-drawer-border", 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", children: [_jsx("polyline", { points: "20 12 20 22 4 22 4 12" }), _jsx("rect", { x: "2", y: "7", width: "20", height: "5" }), _jsx("line", { x1: "12", y1: "22", x2: "12", y2: "7" }), _jsx("path", { d: "M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z" }), _jsx("path", { d: "M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z" })] }), "\u00C7ekili\u015F"] }), _jsxs(Link, { href: "/egitim", onClick: () => setIsUserMenuOpen(false), className: "flex items-center gap-3 p-3 text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5 rounded-xl transition-all font-medium border border-transparent hover:border-armoyu-drawer-border", 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", children: [_jsx("path", { d: "M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z" }), _jsx("path", { d: "M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z" })] }), "E\u011Fitim"] }), _jsxs(Link, { href: "/destek", onClick: () => setIsUserMenuOpen(false), className: "flex items-center gap-3 p-3 text-emerald-600 dark:text-emerald-400 hover:bg-emerald-500/10 rounded-xl transition-all font-bold border border-transparent hover:border-emerald-500/20 mt-2", 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", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }), _jsx("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })] }), "Destek Bildirimleri"] })] }), _jsxs("div", { className: "p-4 border-t border-armoyu-drawer-border space-y-3", children: [_jsxs("button", { onClick: toggleTheme, className: "w-full py-3 px-4 rounded-xl bg-black/5 dark:bg-white/5 border border-armoyu-drawer-border text-armoyu-text-muted hover:text-armoyu-text flex items-center justify-between transition-colors font-bold text-sm", children: [_jsx("span", { children: "Koyu / A\u00E7\u0131k Tema De\u011Fi\u015Ftir" }), theme === 'dark' ? (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [_jsx("circle", { cx: "12", cy: "12", r: "5" }), _jsx("line", { x1: "12", y1: "1", x2: "12", y2: "3" }), _jsx("line", { x1: "12", y1: "21", x2: "12", y2: "23" }), _jsx("line", { x1: "4.22", y1: "4.22", x2: "5.64", y2: "5.64" }), _jsx("line", { x1: "18.36", y1: "18.36", x2: "19.78", y2: "19.78" }), _jsx("line", { x1: "1", y1: "12", x2: "3", y2: "12" }), _jsx("line", { x1: "21", y1: "12", x2: "23", y2: "12" }), _jsx("line", { x1: "4.22", y1: "19.78", x2: "5.64", y2: "18.36" }), _jsx("line", { x1: "18.36", y1: "5.64", x2: "19.78", y2: "4.22" })] })) : (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" }) }))] }), _jsxs("button", { onClick: () => {
94
+ logout();
95
+ setIsUserMenuOpen(false);
96
+ }, className: "flex items-center gap-3 w-full p-4 text-white hover:text-white bg-red-600 hover:bg-red-500 hover:shadow-[0_0_15px_rgba(239,68,68,0.5)] border border-transparent rounded-xl transition-all font-bold", 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", children: [_jsx("path", { d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" }), _jsx("polyline", { points: "16 17 21 12 16 7" }), _jsx("line", { x1: "21", y1: "12", x2: "9", y2: "12" })] }), "Sistemden \u00C7\u0131k\u0131\u015F Yap"] })] })] })] })), _jsx(LoginModal, { isOpen: !user && isLoginModalOpen, onClose: () => setIsLoginModalOpen(false) })] }));
97
+ }
98
+ //# sourceMappingURL=Header.js.map