@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,170 @@
1
+ import { ArmoyuEvent, Game, Station, StationProduct, WorkstationEquipment, StationCoupon } from '@armoyu/core';
2
+
3
+
4
+ /**
5
+ * GAMES (gameList)
6
+ */
7
+ export const gameList: Game[] = [
8
+ new Game({ id: '1', name: 'Counter Strike 2', poster: 'https://images.unsplash.com/photo-1542751371-adc38448a05e?w=800&q=80' }),
9
+ new Game({ id: '2', name: 'Valorant', poster: 'https://images.unsplash.com/photo-1542751110-97427bbecf20?w=800&q=80' }),
10
+ new Game({ id: '3', name: 'League of Legends', poster: 'https://images.unsplash.com/photo-1542751163-44203649479e?w=800&q=80' }),
11
+ new Game({ id: '4', name: 'Minecraft', poster: 'https://images.unsplash.com/photo-1627398242454-45a1465c2479?w=800&q=80' }),
12
+ new Game({ id: '5', name: 'Euro Truck Simulator 2', poster: 'https://images.unsplash.com/photo-1601584115167-0effcb193f0c?w=800&q=80' }),
13
+ new Game({ id: '6', name: 'GTA V', poster: 'https://images.unsplash.com/photo-1605898399783-1820b7f53631?w=800&q=80' }),
14
+ new Game({ id: '7', name: 'Assetto Corsa', poster: 'https://images.unsplash.com/photo-1541899481282-d53bffe3c35d?w=800&q=80' }),
15
+ new Game({ id: '8', name: 'PUBG', poster: 'https://images.unsplash.com/photo-1552820728-8b83bb6b773f?w=800&q=80' }),
16
+ new Game({ id: '9', name: 'Dota 2', poster: 'https://images.unsplash.com/photo-1542751110-97427bbecf20?w=800&q=80' }),
17
+ new Game({ id: '10', name: 'Rocket League', poster: 'https://images.unsplash.com/photo-1542751371-adc38448a05e?w=800&q=80' }),
18
+ ];
19
+
20
+ /**
21
+ * EVENTS (eventList)
22
+ */
23
+ export const eventList: ArmoyuEvent[] = [
24
+ new ArmoyuEvent({
25
+ id: 'cs2-wingman-tr',
26
+ title: 'CS2 Wingman Turnuvası',
27
+ game: 'Counter Strike 2',
28
+ status: 'Kayıtlar Açık',
29
+ participationType: 'BOTH',
30
+ banner: 'https://images.unsplash.com/photo-1542751371-adc38448a05e?w=1600&q=80',
31
+ date: '20 Nisan 2026, 20:00',
32
+ location: 'ARMOYU Sunucuları',
33
+ participantLimit: 16,
34
+ currentParticipants: 8,
35
+ isHot: true,
36
+ rewards: 'AWP | Atheris Skin',
37
+ description: 'Yoldaşını al gel, CS2 sahalarında en iyi ikili kim belli olsun!',
38
+ minODP: 40
39
+ }),
40
+ new ArmoyuEvent({
41
+ id: 'armoyu-pro-league',
42
+ title: 'ARMOYU LoL: Pro League Sezon 4',
43
+ game: 'League of Legends',
44
+ status: 'DEVAM EDİYOR',
45
+ participationType: 'GROUP',
46
+ template: 'TOURNAMENT',
47
+ hasStats: true,
48
+ banner: 'https://images.unsplash.com/photo-1542751163-44203649479e?q=80&w=1600',
49
+ date: '04 Nisan 2026, 21:00',
50
+ location: 'ARMOYU Arena / Online',
51
+ participantLimit: 16,
52
+ currentParticipants: 16,
53
+ isHot: true,
54
+ isLive: true,
55
+ rewards: '50.000 TL Nakit + ARMOYU Pro Lisansı',
56
+ description: 'Türkiye\'nin en iyi 16 e-spor takımının kıran kırana mücadelesi! Sezonun son haftasına girilirken şampiyonluk yarışı kızışıyor. MVP ödülü için Berkay ve MythX arasındaki çekişme tüm hızıyla devam ediyor!',
57
+ minODP: 60,
58
+ admins: [
59
+ { name: 'Berkay Tikenoğlu', role: 'Baş Hakem', avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Berkay' },
60
+ { name: 'MythX', role: 'Organizasyon Sorumlusu', avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=MythX' }
61
+ ],
62
+ teams: [
63
+ { id: 't1', name: 'Shadow Ninjas', logo: 'https://api.dicebear.com/7.x/identicon/svg?seed=Shadow', played: 14, won: 12, lost: 2, points: 36, streak: ['W', 'W', 'W', 'L', 'W'] },
64
+ { id: 't2', name: 'Neon Wizards', logo: 'https://api.dicebear.com/7.x/identicon/svg?seed=Neon', played: 14, won: 11, lost: 3, points: 33, streak: ['W', 'W', 'L', 'W', 'W'] },
65
+ { id: 't3', name: 'Iron Valkyries', logo: 'https://api.dicebear.com/7.x/identicon/svg?seed=Iron', played: 14, won: 10, lost: 4, points: 30, streak: ['L', 'W', 'W', 'W', 'L'] },
66
+ { id: 't4', name: 'Cyber Phantoms', logo: 'https://api.dicebear.com/7.x/identicon/svg?seed=Cyber', played: 14, won: 9, lost: 5, points: 27, streak: ['W', 'L', 'W', 'L', 'W'] },
67
+ { id: 't5', name: 'Runic Storm', logo: 'https://api.dicebear.com/7.x/identicon/svg?seed=Runic', played: 14, won: 8, lost: 6, points: 24, streak: ['W', 'W', 'L', 'W', 'L'] },
68
+ { id: 't6', name: 'Void Walkers', logo: 'https://api.dicebear.com/7.x/identicon/svg?seed=Void', played: 14, won: 8, lost: 6, points: 24, streak: ['L', 'L', 'W', 'W', 'W'] },
69
+ { id: 't7', name: 'Solar Flare', logo: 'https://api.dicebear.com/7.x/identicon/svg?seed=Solar', played: 14, won: 7, lost: 7, points: 21, streak: ['W', 'L', 'L', 'W', 'L'] },
70
+ { id: 't8', name: 'Frost Giants', logo: 'https://api.dicebear.com/7.x/identicon/svg?seed=Frost', played: 14, won: 7, lost: 7, points: 21, streak: ['L', 'W', 'W', 'L', 'W'] },
71
+ { id: 't9', name: 'Cobra Kai', logo: 'https://api.dicebear.com/7.x/identicon/svg?seed=Cobra', played: 14, won: 6, lost: 8, points: 18, streak: ['W', 'L', 'W', 'L', 'L'] },
72
+ { id: 't10', name: 'Titan Force', logo: 'https://api.dicebear.com/7.x/identicon/svg?seed=Titan', played: 14, won: 6, lost: 8, points: 18, streak: ['L', 'W', 'L', 'L', 'W'] },
73
+ { id: 't11', name: 'Phoenix Reborn', logo: 'https://api.dicebear.com/7.x/identicon/svg?seed=Phoenix', played: 14, won: 5, lost: 9, points: 15, streak: ['W', 'L', 'L', 'W', 'L'] },
74
+ { id: 't12', name: 'Apex Predators', logo: 'https://api.dicebear.com/7.x/identicon/svg?seed=Apex', played: 14, won: 5, lost: 9, points: 15, streak: ['L', 'L', 'W', 'L', 'W'] },
75
+ { id: 't13', name: 'Inferno Squad', logo: 'https://api.dicebear.com/7.x/identicon/svg?seed=Inferno', played: 14, won: 4, lost: 10, points: 12, streak: ['L', 'W', 'L', 'W', 'L'] },
76
+ { id: 't14', name: 'Ghost Protocol', logo: 'https://api.dicebear.com/7.x/identicon/svg?seed=Ghost', played: 14, won: 4, lost: 10, points: 12, streak: ['W', 'L', 'L', 'L', 'L'] },
77
+ { id: 't15', name: 'Vortex Legion', logo: 'https://api.dicebear.com/7.x/identicon/svg?seed=Vortex', played: 14, won: 3, lost: 11, points: 9, streak: ['L', 'L', 'L', 'W', 'L'] },
78
+ { id: 't16', name: 'Zenith Zero', logo: 'https://api.dicebear.com/7.x/identicon/svg?seed=Zenith', played: 14, won: 2, lost: 12, points: 6, streak: ['L', 'L', 'W', 'L', 'L'] }
79
+ ],
80
+ leaderboard: [
81
+ { rank: 1, player: 'Berkay Tikenoğlu', team: 'Shadow Ninjas', kills: 245, deaths: 85, assists: 120, points: 3450, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Berkay' },
82
+ { rank: 2, player: 'MythX', team: 'Neon Wizards', kills: 232, deaths: 92, assists: 145, points: 3200, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=MythX' },
83
+ { rank: 3, player: 'GlobalElite', team: 'Iron Valkyries', kills: 210, deaths: 105, assists: 88, points: 2950, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Global' },
84
+ { rank: 4, player: 'KralSlayer', team: 'Cyber Phantoms', kills: 198, deaths: 112, assists: 65, points: 2700, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Kral' },
85
+ { rank: 5, player: 'NinjaX', team: 'Void Walkers', kills: 185, deaths: 98, assists: 130, points: 2650, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Ninja' }
86
+ ]
87
+ }),
88
+ new ArmoyuEvent({
89
+ id: 'val-bahar-kupasi',
90
+ title: 'Valorant Bahar Kupası',
91
+ game: 'Valorant',
92
+ status: 'Yeni',
93
+ participationType: 'BOTH',
94
+ banner: 'https://images.unsplash.com/photo-1542751110-97427bbecf20?w=1600&q=80',
95
+ date: '15 Mayıs 2026, 19:00',
96
+ location: 'ARMOYU Discord Sahnesi',
97
+ participantLimit: 100,
98
+ currentParticipants: 0,
99
+ isHot: false,
100
+ rewards: '5.000 VP Havuzu',
101
+ description: 'Baharın gelişini harika bir Valorant şöleni ile kutluyoruz.',
102
+ minODP: 20
103
+ })
104
+ ];
105
+
106
+ /**
107
+ * STATIONS (stationList)
108
+ */
109
+ export const stationList: Station[] = [
110
+ new Station({
111
+ id: '1',
112
+ name: 'Zerdüşt Coffee & Food',
113
+ slug: 'zerdust-coffee',
114
+ type: 'YEMEK',
115
+ description: 'Şehrin en iyi kahvesi ve atıştırmalıkları burada!',
116
+ location: 'Beşiktaş, İstanbul',
117
+ rating: 4.8,
118
+ reviewCount: 156,
119
+ logo: 'https://api.dicebear.com/7.x/initials/svg?seed=Zerdust',
120
+ banner: 'https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?w=1200&h=400',
121
+ products: [
122
+ new StationProduct({ id: 'p1', name: 'Americano', price: 65, category: 'Kahve' }),
123
+ new StationProduct({ id: 'p3', name: 'Oyuncu Burger', price: 185, category: 'Yemek', isDeal: true, discountRate: '%15' }),
124
+ ],
125
+ coupons: [
126
+ new StationCoupon({ code: 'ARMOYU10', discount: '%10', expiryDate: '01.01.2027', description: 'Tüm kahvelerde geçerli!' })
127
+ ]
128
+ }),
129
+ new Station({
130
+ id: '2',
131
+ name: 'ARMOYU Elite Gaming Center',
132
+ slug: 'armoyu-elite-gaming',
133
+ type: 'INTERNET_KAFE',
134
+ description: 'En son teknoloji PCler ve profesyonel ekipmanlar.',
135
+ location: 'Kadıköy, İstanbul',
136
+ rating: 4.9,
137
+ reviewCount: 842,
138
+ logo: 'https://api.dicebear.com/7.x/initials/svg?seed=ARMOYU',
139
+ banner: 'https://images.unsplash.com/photo-1542751110-97427bbecf20?w=1200&h=400',
140
+ equipment: [
141
+ new WorkstationEquipment({
142
+ id: 'eq1',
143
+ name: 'VIP Streaming Odası',
144
+ cpu: 'Intel Core i9-14900K',
145
+ gpu: 'NVIDIA RTX 4090',
146
+ ram: '64GB DDR5',
147
+ monitor: 'ASUS ROG 540Hz'
148
+ })
149
+ ],
150
+ pricing: [
151
+ { label: 'Saati', price: 35, unit: 'saat' }
152
+ ]
153
+ }),
154
+ new Station({
155
+ id: '3',
156
+ name: 'Arena Halı Saha',
157
+ slug: 'arena-hali-saha',
158
+ type: 'HALI_SAHA',
159
+ description: 'Yapay çim, duş imkanı ve kantin.',
160
+ location: 'Şişli, İstanbul',
161
+ rating: 4.5,
162
+ reviewCount: 215,
163
+ logo: 'https://api.dicebear.com/7.x/initials/svg?seed=Arena',
164
+ banner: 'https://images.unsplash.com/photo-1529900903114-93da367104e7?w=1200&h=400',
165
+ facilities: ['Otopark', 'Duş', 'Kantin'],
166
+ pricing: [
167
+ { label: 'Gündüz (1 Saat)', price: 800, unit: 'seans' }
168
+ ]
169
+ })
170
+ ];
@@ -0,0 +1,53 @@
1
+ import { Survey, SurveyAnswer, User } from '@armoyu/core';
2
+
3
+
4
+ // Assuming we need userList from seedData, but let's define some IDs locally
5
+ // to avoid circular dependencies if we move it.
6
+ // For now, let's just use the existing author objects from what we know.
7
+
8
+ export const MOCK_SURVEYS_DATA = (userList: any[]) => [
9
+ new Survey({
10
+ id: 's1',
11
+ question: 'Bir sonraki turnuva hangi oyunda olmalı?',
12
+ description: 'Topluluk haftalık turnuvaları için oyun seçimi yapıyoruz. Oyununuzu kullanın!',
13
+ createdAt: '2 gün önce',
14
+ expiresAt: '2024-05-10',
15
+ author: userList[0],
16
+ options: [
17
+ new SurveyAnswer({ id: 'o1', text: 'Counter-Strike 2', votes: 145 }),
18
+ new SurveyAnswer({ id: 'o2', text: 'League of Legends', votes: 89 }),
19
+ new SurveyAnswer({ id: 'o3', text: 'Valorant', votes: 210 }),
20
+ new SurveyAnswer({ id: 'o4', text: 'Rocket League', votes: 42 }),
21
+ ],
22
+ hasVoted: true,
23
+ myVoteId: 'o3'
24
+ }),
25
+ new Survey({
26
+ id: 's2',
27
+ question: 'ARMOYU V3 tasarımı hakkında ne düşünüyorsunuz?',
28
+ description: 'Yeni nesil arayüzümüz hakkındaki görüşleriniz bizim için çok değerli. Lütfen puan verin!',
29
+ createdAt: '5 saat önce',
30
+ author: userList[0],
31
+ options: [
32
+ new SurveyAnswer({ id: 'o1', text: 'Mükemmel, çok modern!', votes: 450 }),
33
+ new SurveyAnswer({ id: 'o2', text: 'Güzel ama gelişmesi gereken yerler var.', votes: 65 }),
34
+ new SurveyAnswer({ id: 'o3', text: 'Eskisi daha iyiydi.', votes: 12 }),
35
+ ],
36
+ hasVoted: false
37
+ }),
38
+ new Survey({
39
+ id: 's3',
40
+ question: 'Yazılım ekibimize yeni üyeler katılmalı mı?',
41
+ description: 'Genişleyen projelerimiz için yeni yetenekler arıyoruz.',
42
+ createdAt: '1 gün önce',
43
+ expiresAt: '2024-04-30',
44
+ author: userList[1],
45
+ options: [
46
+ new SurveyAnswer({ id: 'o1', text: 'Evet, daha hızlı ilerleriz.', votes: 210 }),
47
+ new SurveyAnswer({ id: 'o2', text: 'Hayır, şu anki ekip yeterli.', votes: 45 }),
48
+ ],
49
+ hasVoted: true,
50
+ myVoteId: 'o1'
51
+ })
52
+ ];
53
+
@@ -0,0 +1,69 @@
1
+ import { Team } from '@armoyu/core';
2
+
3
+
4
+ /**
5
+ * Super League Teams Data
6
+ */
7
+ export const SUPER_LEAGUE_TEAMS: Team[] = [
8
+ new Team({
9
+ id: 't1',
10
+ name: 'Galatasaray',
11
+ shortName: 'GS',
12
+ logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Galatasaray_Star_Logo.png/600px-Galatasaray_Star_Logo.png',
13
+ primaryColor: '#ef4444'
14
+ }),
15
+ new Team({
16
+ id: 't2',
17
+ name: 'Fenerbahçe',
18
+ shortName: 'FB',
19
+ logo: 'https://upload.wikimedia.org/wikipedia/tr/thumb/8/86/Fenerbah%C3%A7e_SK.png/600px-Fenerbah%C3%A7e_SK.png',
20
+ primaryColor: '#fbbf24'
21
+ }),
22
+ new Team({
23
+ id: 't3',
24
+ name: 'Beşiktaş',
25
+ shortName: 'BJK',
26
+ logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/2/20/Logo_of_Be%C5%9Fikta%C5%9F_JK.svg/600px-Logo_of_Be%C5%9Fikta%C5%9F_JK.svg.png',
27
+ primaryColor: '#000000'
28
+ }),
29
+ new Team({
30
+ id: 't4',
31
+ name: 'Trabzonspor',
32
+ shortName: 'TS',
33
+ logo: 'https://upload.wikimedia.org/wikipedia/tr/thumb/a/ab/Trabzonspor_Logo.png/600px-Trabzonspor_Logo.png',
34
+ primaryColor: '#9d174d'
35
+ }),
36
+ new Team({
37
+ id: 't5',
38
+ name: 'Başakşehir',
39
+ shortName: 'IBFK',
40
+ logo: 'https://upload.wikimedia.org/wikipedia/tr/thumb/c/c6/Istanbul_Basaksehir_FK.png/600px-Istanbul_Basaksehir_FK.png',
41
+ primaryColor: '#f97316'
42
+ }),
43
+ new Team({
44
+ id: 'none',
45
+ name: 'Takım Tutmuyorum',
46
+ shortName: 'NONE',
47
+ logo: '',
48
+ primaryColor: '#808080'
49
+ })
50
+ ];
51
+
52
+ /**
53
+ * Zodiac Signs Data
54
+ */
55
+ export const ZODIAC_SIGNS = [
56
+ { name: 'Koç', icon: '♈' },
57
+ { name: 'Boğa', icon: '♉' },
58
+ { name: 'İkizler', icon: '♊' },
59
+ { name: 'Yengeç', icon: '♋' },
60
+ { name: 'Aslan', icon: '♌' },
61
+ { name: 'Başak', icon: '♍' },
62
+ { name: 'Terazi', icon: '♎' },
63
+ { name: 'Akrep', icon: '♏' },
64
+ { name: 'Yay', icon: '♐' },
65
+ { name: 'Oğlak', icon: '♑' },
66
+ { name: 'Kova', icon: '♒' },
67
+ { name: 'Balık', icon: '♓' }
68
+ ];
69
+
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Formats large numbers into a shorter string and its unit suffix.
3
+ * 14200 -> { value: "14.2", unit: "B" }
4
+ * 1200000 -> { value: "1.2", unit: "M" }
5
+ */
6
+ export function formatStatValue(num: number): { value: string | number; unit: string } {
7
+ if (num >= 1000000) {
8
+ const val = (num / 1000000).toFixed(1);
9
+ return { value: val.endsWith('.0') ? val.slice(0, -2) : val, unit: 'M' };
10
+ }
11
+ if (num >= 1000) {
12
+ const val = (num / 1000).toFixed(1);
13
+ return { value: val.endsWith('.0') ? val.slice(0, -2) : val, unit: 'B' };
14
+ }
15
+ return { value: num, unit: '' };
16
+ }
@@ -0,0 +1,51 @@
1
+ export interface ODPStatus {
2
+ label: 'Tehlikeli' | 'Dengesiz' | 'İyi' | 'Sadık';
3
+ color: string;
4
+ bgColor: string;
5
+ borderColor: string;
6
+ icon: string;
7
+ }
8
+
9
+ /**
10
+ * Normalizes and categorizes ODP scores into human-readable branding.
11
+ * 0-30: Tehlikeli
12
+ * 31-60: Dengesiz
13
+ * 61-90: İyi
14
+ * 91-100: Sadık
15
+ */
16
+ export const getODPStatus = (score: number): ODPStatus => {
17
+ if (score <= 30) {
18
+ return {
19
+ label: 'Tehlikeli',
20
+ color: 'text-red-500',
21
+ bgColor: 'bg-red-500/10',
22
+ borderColor: 'border-red-500/20',
23
+ icon: 'AlertTriangle'
24
+ };
25
+ }
26
+ if (score <= 60) {
27
+ return {
28
+ label: 'Dengesiz',
29
+ color: 'text-orange-500',
30
+ bgColor: 'bg-orange-500/10',
31
+ borderColor: 'border-orange-500/20',
32
+ icon: 'Zap'
33
+ };
34
+ }
35
+ if (score <= 90) {
36
+ return {
37
+ label: 'İyi',
38
+ color: 'text-emerald-500',
39
+ bgColor: 'bg-emerald-500/10',
40
+ borderColor: 'border-emerald-500/20',
41
+ icon: 'ShieldCheck'
42
+ };
43
+ }
44
+ return {
45
+ label: 'Sadık',
46
+ color: 'text-purple-500',
47
+ bgColor: 'bg-purple-500/10',
48
+ borderColor: 'border-purple-500/20',
49
+ icon: 'Crown'
50
+ };
51
+ };
@@ -0,0 +1 @@
1
+ export * from './stats';
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Global Statistics Interface
3
+ * Bu arayüz, sitemizin genelindeki tüm sayısal verileri tutmak için tasarlanmıştır.
4
+ * İlerleyen aşamalarda bu veriler backend API üzerinden dinamik olarak beslenecektir.
5
+ */
6
+ export interface GlobalStats {
7
+ totalPlayers: number;
8
+ malePlayers: number;
9
+ femalePlayers: number;
10
+ totalForums: number;
11
+ totalPolls: number;
12
+ activeUsers24h: number;
13
+ totalMatchesPlayed: number;
14
+ totalGuilds: number;
15
+ monthlyVisitors: number;
16
+ totalNews: number;
17
+ }