@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.
- package/dist/app/layout.d.ts +7 -0
- package/dist/app/layout.d.ts.map +1 -0
- package/dist/app/layout.js +31 -0
- package/dist/app/layout.js.map +1 -0
- package/dist/app/page.d.ts +2 -0
- package/dist/app/page.d.ts.map +1 -0
- package/dist/app/page.js +40 -0
- package/dist/app/page.js.map +1 -0
- package/dist/components/Button.d.ts +8 -0
- package/dist/components/Button.d.ts.map +1 -0
- package/dist/components/Button.js +16 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/GenderStatsBar.d.ts +6 -0
- package/dist/components/GenderStatsBar.d.ts.map +1 -0
- package/dist/components/GenderStatsBar.js +8 -0
- package/dist/components/GenderStatsBar.js.map +1 -0
- package/dist/components/RollingNumber.d.ts +7 -0
- package/dist/components/RollingNumber.d.ts.map +1 -0
- package/dist/components/RollingNumber.js +24 -0
- package/dist/components/RollingNumber.js.map +1 -0
- package/dist/components/Slider.d.ts +11 -0
- package/dist/components/Slider.d.ts.map +1 -0
- package/dist/components/Slider.js +36 -0
- package/dist/components/Slider.js.map +1 -0
- package/dist/components/StatsGrid.d.ts +6 -0
- package/dist/components/StatsGrid.d.ts.map +1 -0
- package/dist/components/StatsGrid.js +14 -0
- package/dist/components/StatsGrid.js.map +1 -0
- package/dist/components/ViewModeToggle.d.ts +8 -0
- package/dist/components/ViewModeToggle.d.ts.map +1 -0
- package/dist/components/ViewModeToggle.js +10 -0
- package/dist/components/ViewModeToggle.js.map +1 -0
- package/dist/components/modules/auth/Dashboard.d.ts +2 -0
- package/dist/components/modules/auth/Dashboard.d.ts.map +1 -0
- package/dist/components/modules/auth/Dashboard.js +251 -0
- package/dist/components/modules/auth/Dashboard.js.map +1 -0
- package/dist/components/modules/auth/MediaLightbox.d.ts +14 -0
- package/dist/components/modules/auth/MediaLightbox.d.ts.map +1 -0
- package/dist/components/modules/auth/MediaLightbox.js +47 -0
- package/dist/components/modules/auth/MediaLightbox.js.map +1 -0
- package/dist/components/modules/auth/PostCard.d.ts +25 -0
- package/dist/components/modules/auth/PostCard.d.ts.map +1 -0
- package/dist/components/modules/auth/PostCard.js +113 -0
- package/dist/components/modules/auth/PostCard.js.map +1 -0
- package/dist/components/modules/auth/PostInteractionsModal.d.ts +12 -0
- package/dist/components/modules/auth/PostInteractionsModal.d.ts.map +1 -0
- package/dist/components/modules/auth/PostInteractionsModal.js +13 -0
- package/dist/components/modules/auth/PostInteractionsModal.js.map +1 -0
- package/dist/components/modules/auth/RepostModal.d.ts +22 -0
- package/dist/components/modules/auth/RepostModal.d.ts.map +1 -0
- package/dist/components/modules/auth/RepostModal.js +76 -0
- package/dist/components/modules/auth/RepostModal.js.map +1 -0
- package/dist/components/modules/auth/SidebarLeft.d.ts +2 -0
- package/dist/components/modules/auth/SidebarLeft.d.ts.map +1 -0
- package/dist/components/modules/auth/SidebarLeft.js +41 -0
- package/dist/components/modules/auth/SidebarLeft.js.map +1 -0
- package/dist/components/modules/auth/Stories.d.ts +2 -0
- package/dist/components/modules/auth/Stories.d.ts.map +1 -0
- package/dist/components/modules/auth/Stories.js +16 -0
- package/dist/components/modules/auth/Stories.js.map +1 -0
- package/dist/components/modules/auth/StoryViewer.d.ts +10 -0
- package/dist/components/modules/auth/StoryViewer.d.ts.map +1 -0
- package/dist/components/modules/auth/StoryViewer.js +48 -0
- package/dist/components/modules/auth/StoryViewer.js.map +1 -0
- package/dist/components/modules/chat/ChatContainer.d.ts +2 -0
- package/dist/components/modules/chat/ChatContainer.d.ts.map +1 -0
- package/dist/components/modules/chat/ChatContainer.js +197 -0
- package/dist/components/modules/chat/ChatContainer.js.map +1 -0
- package/dist/components/modules/chat/ChatInput.d.ts +5 -0
- package/dist/components/modules/chat/ChatInput.d.ts.map +1 -0
- package/dist/components/modules/chat/ChatInput.js +31 -0
- package/dist/components/modules/chat/ChatInput.js.map +1 -0
- package/dist/components/modules/chat/ChatList.d.ts +7 -0
- package/dist/components/modules/chat/ChatList.d.ts.map +1 -0
- package/dist/components/modules/chat/ChatList.js +52 -0
- package/dist/components/modules/chat/ChatList.js.map +1 -0
- package/dist/components/modules/chat/ChatMessage.d.ts +12 -0
- package/dist/components/modules/chat/ChatMessage.d.ts.map +1 -0
- package/dist/components/modules/chat/ChatMessage.js +7 -0
- package/dist/components/modules/chat/ChatMessage.js.map +1 -0
- package/dist/components/modules/chat/ChatNotes.d.ts +2 -0
- package/dist/components/modules/chat/ChatNotes.d.ts.map +1 -0
- package/dist/components/modules/chat/ChatNotes.js +12 -0
- package/dist/components/modules/chat/ChatNotes.js.map +1 -0
- package/dist/components/modules/community/GroupHeader.d.ts +11 -0
- package/dist/components/modules/community/GroupHeader.d.ts.map +1 -0
- package/dist/components/modules/community/GroupHeader.js +18 -0
- package/dist/components/modules/community/GroupHeader.js.map +1 -0
- package/dist/components/modules/community/GroupMenu.d.ts +10 -0
- package/dist/components/modules/community/GroupMenu.d.ts.map +1 -0
- package/dist/components/modules/community/GroupMenu.js +17 -0
- package/dist/components/modules/community/GroupMenu.js.map +1 -0
- package/dist/components/modules/community/SchoolCard.d.ts +7 -0
- package/dist/components/modules/community/SchoolCard.d.ts.map +1 -0
- package/dist/components/modules/community/SchoolCard.js +8 -0
- package/dist/components/modules/community/SchoolCard.js.map +1 -0
- package/dist/components/modules/community/SurveyCard.d.ts +7 -0
- package/dist/components/modules/community/SurveyCard.d.ts.map +1 -0
- package/dist/components/modules/community/SurveyCard.js +38 -0
- package/dist/components/modules/community/SurveyCard.js.map +1 -0
- package/dist/components/modules/forum/ForumBoard.d.ts +17 -0
- package/dist/components/modules/forum/ForumBoard.d.ts.map +1 -0
- package/dist/components/modules/forum/ForumBoard.js +7 -0
- package/dist/components/modules/forum/ForumBoard.js.map +1 -0
- package/dist/components/modules/forum/ForumPost.d.ts +14 -0
- package/dist/components/modules/forum/ForumPost.d.ts.map +1 -0
- package/dist/components/modules/forum/ForumPost.js +6 -0
- package/dist/components/modules/forum/ForumPost.js.map +1 -0
- package/dist/components/modules/forum/NewTopicModal.d.ts +8 -0
- package/dist/components/modules/forum/NewTopicModal.d.ts.map +1 -0
- package/dist/components/modules/forum/NewTopicModal.js +27 -0
- package/dist/components/modules/forum/NewTopicModal.js.map +1 -0
- package/dist/components/modules/forum/TopicItem.d.ts +16 -0
- package/dist/components/modules/forum/TopicItem.d.ts.map +1 -0
- package/dist/components/modules/forum/TopicItem.js +7 -0
- package/dist/components/modules/forum/TopicItem.js.map +1 -0
- package/dist/components/modules/galleries/GalleryCard.d.ts +10 -0
- package/dist/components/modules/galleries/GalleryCard.d.ts.map +1 -0
- package/dist/components/modules/galleries/GalleryCard.js +6 -0
- package/dist/components/modules/galleries/GalleryCard.js.map +1 -0
- package/dist/components/modules/giveaways/GiveawayCard.d.ts +10 -0
- package/dist/components/modules/giveaways/GiveawayCard.d.ts.map +1 -0
- package/dist/components/modules/giveaways/GiveawayCard.js +7 -0
- package/dist/components/modules/giveaways/GiveawayCard.js.map +1 -0
- package/dist/components/modules/groups/ApplicationModal.d.ts +8 -0
- package/dist/components/modules/groups/ApplicationModal.d.ts.map +1 -0
- package/dist/components/modules/groups/ApplicationModal.js +28 -0
- package/dist/components/modules/groups/ApplicationModal.js.map +1 -0
- package/dist/components/modules/groups/GroupCard.d.ts +13 -0
- package/dist/components/modules/groups/GroupCard.d.ts.map +1 -0
- package/dist/components/modules/groups/GroupCard.js +7 -0
- package/dist/components/modules/groups/GroupCard.js.map +1 -0
- package/dist/components/modules/guest/Introduction.d.ts +2 -0
- package/dist/components/modules/guest/Introduction.d.ts.map +1 -0
- package/dist/components/modules/guest/Introduction.js +14 -0
- package/dist/components/modules/guest/Introduction.js.map +1 -0
- package/dist/components/modules/magaza/BackToStore.d.ts +2 -0
- package/dist/components/modules/magaza/BackToStore.d.ts.map +1 -0
- package/dist/components/modules/magaza/BackToStore.js +11 -0
- package/dist/components/modules/magaza/BackToStore.js.map +1 -0
- package/dist/components/modules/magaza/StoreHeader.d.ts +6 -0
- package/dist/components/modules/magaza/StoreHeader.d.ts.map +1 -0
- package/dist/components/modules/magaza/StoreHeader.js +9 -0
- package/dist/components/modules/magaza/StoreHeader.js.map +1 -0
- package/dist/components/modules/news/NewsCard.d.ts +12 -0
- package/dist/components/modules/news/NewsCard.d.ts.map +1 -0
- package/dist/components/modules/news/NewsCard.js +7 -0
- package/dist/components/modules/news/NewsCard.js.map +1 -0
- package/dist/components/modules/news/NewsComments.d.ts +2 -0
- package/dist/components/modules/news/NewsComments.d.ts.map +1 -0
- package/dist/components/modules/news/NewsComments.js +53 -0
- package/dist/components/modules/news/NewsComments.js.map +1 -0
- package/dist/components/modules/profile/CloudStorageModal.d.ts +9 -0
- package/dist/components/modules/profile/CloudStorageModal.d.ts.map +1 -0
- package/dist/components/modules/profile/CloudStorageModal.js +32 -0
- package/dist/components/modules/profile/CloudStorageModal.js.map +1 -0
- package/dist/components/modules/profile/EditProfileModal.d.ts +9 -0
- package/dist/components/modules/profile/EditProfileModal.d.ts.map +1 -0
- package/dist/components/modules/profile/EditProfileModal.js +28 -0
- package/dist/components/modules/profile/EditProfileModal.js.map +1 -0
- package/dist/components/modules/profile/ProfileContent.d.ts +5 -0
- package/dist/components/modules/profile/ProfileContent.d.ts.map +1 -0
- package/dist/components/modules/profile/ProfileContent.js +71 -0
- package/dist/components/modules/profile/ProfileContent.js.map +1 -0
- package/dist/components/modules/profile/ProfileHeader.d.ts +8 -0
- package/dist/components/modules/profile/ProfileHeader.d.ts.map +1 -0
- package/dist/components/modules/profile/ProfileHeader.js +20 -0
- package/dist/components/modules/profile/ProfileHeader.js.map +1 -0
- package/dist/components/modules/profile/ProfileStats.d.ts +2 -0
- package/dist/components/modules/profile/ProfileStats.d.ts.map +1 -0
- package/dist/components/modules/profile/ProfileStats.js +15 -0
- package/dist/components/modules/profile/ProfileStats.js.map +1 -0
- package/dist/components/modules/profile/TeamSelectorModal.d.ts +11 -0
- package/dist/components/modules/profile/TeamSelectorModal.d.ts.map +1 -0
- package/dist/components/modules/profile/TeamSelectorModal.js +17 -0
- package/dist/components/modules/profile/TeamSelectorModal.js.map +1 -0
- package/dist/components/modules/stations/StationCard.d.ts +3 -0
- package/dist/components/modules/stations/StationCard.d.ts.map +1 -0
- package/dist/components/modules/stations/StationCard.js +26 -0
- package/dist/components/modules/stations/StationCard.js.map +1 -0
- package/dist/components/modules/stations/StationQRModal.d.ts +10 -0
- package/dist/components/modules/stations/StationQRModal.d.ts.map +1 -0
- package/dist/components/modules/stations/StationQRModal.js +13 -0
- package/dist/components/modules/stations/StationQRModal.js.map +1 -0
- package/dist/components/shared/FloatingChatButton.d.ts +5 -0
- package/dist/components/shared/FloatingChatButton.d.ts.map +1 -0
- package/dist/components/shared/FloatingChatButton.js +21 -0
- package/dist/components/shared/FloatingChatButton.js.map +1 -0
- package/dist/components/shared/Footer.d.ts +2 -0
- package/dist/components/shared/Footer.d.ts.map +1 -0
- package/dist/components/shared/Footer.js +10 -0
- package/dist/components/shared/Footer.js.map +1 -0
- package/dist/components/shared/Header.d.ts +2 -0
- package/dist/components/shared/Header.d.ts.map +1 -0
- package/dist/components/shared/Header.js +98 -0
- package/dist/components/shared/Header.js.map +1 -0
- package/dist/components/shared/LoginModal.d.ts +5 -0
- package/dist/components/shared/LoginModal.d.ts.map +1 -0
- package/dist/components/shared/LoginModal.js +70 -0
- package/dist/components/shared/LoginModal.js.map +1 -0
- package/dist/components/shared/MainLayoutWrapper.d.ts +4 -0
- package/dist/components/shared/MainLayoutWrapper.d.ts.map +1 -0
- package/dist/components/shared/MainLayoutWrapper.js +8 -0
- package/dist/components/shared/MainLayoutWrapper.js.map +1 -0
- package/dist/components/shared/PageWidth.d.ts +6 -0
- package/dist/components/shared/PageWidth.d.ts.map +1 -0
- package/dist/components/shared/PageWidth.js +14 -0
- package/dist/components/shared/PageWidth.js.map +1 -0
- package/dist/components/showcase/CommunityTab.d.ts +2 -0
- package/dist/components/showcase/CommunityTab.d.ts.map +1 -0
- package/dist/components/showcase/CommunityTab.js +6 -0
- package/dist/components/showcase/CommunityTab.js.map +1 -0
- package/dist/components/showcase/CorporateTab.d.ts +2 -0
- package/dist/components/showcase/CorporateTab.d.ts.map +1 -0
- package/dist/components/showcase/CorporateTab.js +6 -0
- package/dist/components/showcase/CorporateTab.js.map +1 -0
- package/dist/components/showcase/GeneralTab.d.ts +2 -0
- package/dist/components/showcase/GeneralTab.d.ts.map +1 -0
- package/dist/components/showcase/GeneralTab.js +6 -0
- package/dist/components/showcase/GeneralTab.js.map +1 -0
- package/dist/components/showcase/MessagesTab.d.ts +2 -0
- package/dist/components/showcase/MessagesTab.d.ts.map +1 -0
- package/dist/components/showcase/MessagesTab.js +6 -0
- package/dist/components/showcase/MessagesTab.js.map +1 -0
- package/dist/components/showcase/ProfileTab.d.ts +2 -0
- package/dist/components/showcase/ProfileTab.d.ts.map +1 -0
- package/dist/components/showcase/ProfileTab.js +7 -0
- package/dist/components/showcase/ProfileTab.js.map +1 -0
- package/dist/components/showcase/ShopTab.d.ts +2 -0
- package/dist/components/showcase/ShopTab.d.ts.map +1 -0
- package/dist/components/showcase/ShopTab.js +6 -0
- package/dist/components/showcase/ShopTab.js.map +1 -0
- package/dist/components/showcase/SocialTab.d.ts +2 -0
- package/dist/components/showcase/SocialTab.d.ts.map +1 -0
- package/dist/components/showcase/SocialTab.js +7 -0
- package/dist/components/showcase/SocialTab.js.map +1 -0
- package/dist/context/AuthContext.d.ts +19 -0
- package/dist/context/AuthContext.d.ts.map +1 -0
- package/dist/context/AuthContext.js +75 -0
- package/dist/context/AuthContext.js.map +1 -0
- package/dist/context/CartContext.d.ts +17 -0
- package/dist/context/CartContext.d.ts.map +1 -0
- package/dist/context/CartContext.js +64 -0
- package/dist/context/CartContext.js.map +1 -0
- package/dist/context/ChatContext.d.ts +13 -0
- package/dist/context/ChatContext.d.ts.map +1 -0
- package/dist/context/ChatContext.js +18 -0
- package/dist/context/ChatContext.js.map +1 -0
- package/dist/context/LayoutContext.d.ts +11 -0
- package/dist/context/LayoutContext.d.ts.map +1 -0
- package/dist/context/LayoutContext.js +17 -0
- package/dist/context/LayoutContext.js.map +1 -0
- package/dist/context/SocketContext.d.ts +13 -0
- package/dist/context/SocketContext.d.ts.map +1 -0
- package/dist/context/SocketContext.js +31 -0
- package/dist/context/SocketContext.js.map +1 -0
- package/dist/context/ThemeContext.d.ts +11 -0
- package/dist/context/ThemeContext.d.ts.map +1 -0
- package/dist/context/ThemeContext.js +40 -0
- package/dist/context/ThemeContext.js.map +1 -0
- package/dist/index.d.ts +66 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +81 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/constants/educationData.d.ts +8 -0
- package/dist/lib/constants/educationData.d.ts.map +1 -0
- package/dist/lib/constants/educationData.js +118 -0
- package/dist/lib/constants/educationData.js.map +1 -0
- package/dist/lib/constants/punishmentData.d.ts +30 -0
- package/dist/lib/constants/punishmentData.d.ts.map +1 -0
- package/dist/lib/constants/punishmentData.js +184 -0
- package/dist/lib/constants/punishmentData.js.map +1 -0
- package/dist/lib/constants/seedData.d.ts +165 -0
- package/dist/lib/constants/seedData.d.ts.map +1 -0
- package/dist/lib/constants/seedData.js +709 -0
- package/dist/lib/constants/seedData.js.map +1 -0
- package/dist/lib/constants/stationData.d.ts +14 -0
- package/dist/lib/constants/stationData.d.ts.map +1 -0
- package/dist/lib/constants/stationData.js +167 -0
- package/dist/lib/constants/stationData.js.map +1 -0
- package/dist/lib/constants/surveyData.d.ts +3 -0
- package/dist/lib/constants/surveyData.d.ts.map +1 -0
- package/dist/lib/constants/surveyData.js +50 -0
- package/dist/lib/constants/surveyData.js.map +1 -0
- package/dist/lib/constants/teamData.d.ts +13 -0
- package/dist/lib/constants/teamData.d.ts.map +1 -0
- package/dist/lib/constants/teamData.js +66 -0
- package/dist/lib/constants/teamData.js.map +1 -0
- package/dist/lib/utils/numberFormat.d.ts +10 -0
- package/dist/lib/utils/numberFormat.d.ts.map +1 -0
- package/dist/lib/utils/numberFormat.js +17 -0
- package/dist/lib/utils/numberFormat.js.map +1 -0
- package/dist/lib/utils/odpUtils.d.ts +16 -0
- package/dist/lib/utils/odpUtils.d.ts.map +1 -0
- package/dist/lib/utils/odpUtils.js +44 -0
- package/dist/lib/utils/odpUtils.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/stats.d.ts +18 -0
- package/dist/types/stats.d.ts.map +1 -0
- package/dist/types/stats.js +2 -0
- package/dist/types/stats.js.map +1 -0
- package/next.config.ts +13 -0
- package/package.json +46 -0
- package/postcss.config.js +6 -0
- package/src/app/layout.tsx +64 -0
- package/src/app/page.tsx +101 -0
- package/src/components/Button.tsx +41 -0
- package/src/components/GenderStatsBar.tsx +66 -0
- package/src/components/RollingNumber.tsx +50 -0
- package/src/components/Slider.tsx +114 -0
- package/src/components/StatsGrid.tsx +35 -0
- package/src/components/ViewModeToggle.tsx +39 -0
- package/src/components/modules/auth/Dashboard.tsx +649 -0
- package/src/components/modules/auth/MediaLightbox.tsx +112 -0
- package/src/components/modules/auth/PostCard.tsx +556 -0
- package/src/components/modules/auth/PostInteractionsModal.tsx +138 -0
- package/src/components/modules/auth/RepostModal.tsx +167 -0
- package/src/components/modules/auth/SidebarLeft.tsx +237 -0
- package/src/components/modules/auth/Stories.tsx +69 -0
- package/src/components/modules/auth/StoryViewer.tsx +146 -0
- package/src/components/modules/chat/ChatContainer.tsx +332 -0
- package/src/components/modules/chat/ChatInput.tsx +57 -0
- package/src/components/modules/chat/ChatList.tsx +179 -0
- package/src/components/modules/chat/ChatMessage.tsx +43 -0
- package/src/components/modules/chat/ChatNotes.tsx +58 -0
- package/src/components/modules/community/GroupHeader.tsx +111 -0
- package/src/components/modules/community/GroupMenu.tsx +82 -0
- package/src/components/modules/community/SchoolCard.tsx +104 -0
- package/src/components/modules/community/SurveyCard.tsx +149 -0
- package/src/components/modules/forum/ForumBoard.tsx +78 -0
- package/src/components/modules/forum/ForumPost.tsx +71 -0
- package/src/components/modules/forum/NewTopicModal.tsx +112 -0
- package/src/components/modules/forum/TopicItem.tsx +72 -0
- package/src/components/modules/galleries/GalleryCard.tsx +66 -0
- package/src/components/modules/giveaways/GiveawayCard.tsx +76 -0
- package/src/components/modules/groups/ApplicationModal.tsx +133 -0
- package/src/components/modules/groups/GroupCard.tsx +96 -0
- package/src/components/modules/guest/Introduction.tsx +60 -0
- package/src/components/modules/magaza/BackToStore.tsx +53 -0
- package/src/components/modules/magaza/StoreHeader.tsx +74 -0
- package/src/components/modules/news/NewsCard.tsx +66 -0
- package/src/components/modules/news/NewsComments.tsx +141 -0
- package/src/components/modules/profile/CloudStorageModal.tsx +200 -0
- package/src/components/modules/profile/EditProfileModal.tsx +191 -0
- package/src/components/modules/profile/ProfileContent.tsx +491 -0
- package/src/components/modules/profile/ProfileHeader.tsx +128 -0
- package/src/components/modules/profile/ProfileStats.tsx +72 -0
- package/src/components/modules/profile/TeamSelectorModal.tsx +129 -0
- package/src/components/modules/stations/StationCard.tsx +95 -0
- package/src/components/modules/stations/StationQRModal.tsx +102 -0
- package/src/components/shared/FloatingChatButton.tsx +57 -0
- package/src/components/shared/Footer.tsx +77 -0
- package/src/components/shared/Header.tsx +799 -0
- package/src/components/shared/LoginModal.tsx +208 -0
- package/src/components/shared/MainLayoutWrapper.tsx +15 -0
- package/src/components/shared/PageWidth.tsx +22 -0
- package/src/components/showcase/CommunityTab.tsx +22 -0
- package/src/components/showcase/CorporateTab.tsx +38 -0
- package/src/components/showcase/GeneralTab.tsx +41 -0
- package/src/components/showcase/MessagesTab.tsx +26 -0
- package/src/components/showcase/ProfileTab.tsx +20 -0
- package/src/components/showcase/ShopTab.tsx +24 -0
- package/src/components/showcase/SocialTab.tsx +28 -0
- package/src/context/AuthContext.tsx +104 -0
- package/src/context/CartContext.tsx +93 -0
- package/src/context/ChatContext.tsx +32 -0
- package/src/context/LayoutContext.tsx +29 -0
- package/src/context/SocketContext.tsx +50 -0
- package/src/context/ThemeContext.tsx +52 -0
- package/src/globals.css +187 -0
- package/src/index.ts +96 -0
- package/src/lib/constants/educationData.ts +124 -0
- package/src/lib/constants/punishmentData.ts +201 -0
- package/src/lib/constants/seedData.ts +758 -0
- package/src/lib/constants/stationData.ts +170 -0
- package/src/lib/constants/surveyData.ts +53 -0
- package/src/lib/constants/teamData.ts +69 -0
- package/src/lib/utils/numberFormat.ts +16 -0
- package/src/lib/utils/odpUtils.ts +51 -0
- package/src/types/index.ts +1 -0
- package/src/types/stats.ts +17 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import React, { createContext, useContext, useState } from 'react';
|
|
4
|
+
|
|
5
|
+
interface ChatContextType {
|
|
6
|
+
isChatOpen: boolean;
|
|
7
|
+
toggleChat: () => void;
|
|
8
|
+
openChat: () => void;
|
|
9
|
+
closeChat: () => void;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const ChatContext = createContext<ChatContextType | undefined>(undefined);
|
|
13
|
+
|
|
14
|
+
export function ChatProvider({ children }: { children: React.ReactNode }) {
|
|
15
|
+
const [isChatOpen, setIsChatOpen] = useState(false);
|
|
16
|
+
|
|
17
|
+
const toggleChat = () => setIsChatOpen(!isChatOpen);
|
|
18
|
+
const openChat = () => setIsChatOpen(true);
|
|
19
|
+
const closeChat = () => setIsChatOpen(false);
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<ChatContext.Provider value={{ isChatOpen, toggleChat, openChat, closeChat }}>
|
|
23
|
+
{children}
|
|
24
|
+
</ChatContext.Provider>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export function useChat() {
|
|
29
|
+
const context = useContext(ChatContext);
|
|
30
|
+
if (!context) throw new Error('useChat must be used within ChatProvider');
|
|
31
|
+
return context;
|
|
32
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import React, { createContext, useContext, useState, ReactNode } from 'react';
|
|
4
|
+
|
|
5
|
+
type LayoutContextType = {
|
|
6
|
+
pageWidth: string; // Tailwind class like max-w-7xl or max-w-[80vw]
|
|
7
|
+
setPageWidth: (width: string) => void;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
const LayoutContext = createContext<LayoutContextType | undefined>(undefined);
|
|
11
|
+
|
|
12
|
+
export function LayoutProvider({ children }: { children: ReactNode }) {
|
|
13
|
+
// Varsayılan masaüstü değeri %80 olarak ayarlanmıştır.
|
|
14
|
+
const [pageWidth, setPageWidth] = useState('max-w-[80%]');
|
|
15
|
+
|
|
16
|
+
return (
|
|
17
|
+
<LayoutContext.Provider value={{ pageWidth, setPageWidth }}>
|
|
18
|
+
{children}
|
|
19
|
+
</LayoutContext.Provider>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function useLayout() {
|
|
24
|
+
const context = useContext(LayoutContext);
|
|
25
|
+
if (!context) {
|
|
26
|
+
throw new Error('useLayout must be used within a LayoutProvider');
|
|
27
|
+
}
|
|
28
|
+
return context;
|
|
29
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import React, { createContext, useContext, useState, useEffect } from 'react';
|
|
4
|
+
import { socketService, SocketEvent } from '@armoyu/core';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
interface SocketContextType {
|
|
8
|
+
isConnected: boolean;
|
|
9
|
+
emit: (event: SocketEvent, data: any) => void;
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
|
+
on: (event: SocketEvent, callback: (data: any) => void) => () => void;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const SocketContext = createContext<SocketContextType | undefined>(undefined);
|
|
15
|
+
|
|
16
|
+
export function SocketProvider({ children }: { children: React.ReactNode }) {
|
|
17
|
+
const [isConnected, setIsConnected] = useState(socketService.isConnected);
|
|
18
|
+
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
const handleConnect = () => setIsConnected(true);
|
|
21
|
+
const handleDisconnect = () => setIsConnected(false);
|
|
22
|
+
|
|
23
|
+
const offConnect = socketService.on('connect', handleConnect);
|
|
24
|
+
const offDisconnect = socketService.on('disconnect', handleDisconnect);
|
|
25
|
+
|
|
26
|
+
return () => {
|
|
27
|
+
offConnect();
|
|
28
|
+
offDisconnect();
|
|
29
|
+
};
|
|
30
|
+
}, []);
|
|
31
|
+
|
|
32
|
+
return (
|
|
33
|
+
<SocketContext.Provider value={{
|
|
34
|
+
isConnected,
|
|
35
|
+
emit: socketService.emit.bind(socketService),
|
|
36
|
+
on: socketService.on.bind(socketService)
|
|
37
|
+
}}>
|
|
38
|
+
{children}
|
|
39
|
+
</SocketContext.Provider>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function useSocket() {
|
|
44
|
+
const context = useContext(SocketContext);
|
|
45
|
+
if (context === undefined) {
|
|
46
|
+
throw new Error('useSocket must be used within a SocketProvider');
|
|
47
|
+
}
|
|
48
|
+
return context;
|
|
49
|
+
}
|
|
50
|
+
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import React, { createContext, useContext, useState, useEffect } from 'react';
|
|
4
|
+
|
|
5
|
+
interface ThemeContextType {
|
|
6
|
+
theme: 'dark' | 'light';
|
|
7
|
+
toggleTheme: () => void;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const ThemeContext = createContext<ThemeContextType | undefined>(undefined);
|
|
11
|
+
|
|
12
|
+
export function ThemeProvider({ children }: { children: React.ReactNode }) {
|
|
13
|
+
const [theme, setTheme] = useState<'dark' | 'light'>('dark');
|
|
14
|
+
|
|
15
|
+
// Tarayıcı hafızasını okuyarak temayı yükleme (Local Storage)
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
const savedTheme = localStorage.getItem('armoyu_theme') as 'dark' | 'light';
|
|
18
|
+
if (savedTheme === 'light') {
|
|
19
|
+
setTheme('light');
|
|
20
|
+
document.documentElement.classList.remove('dark');
|
|
21
|
+
} else {
|
|
22
|
+
setTheme('dark');
|
|
23
|
+
document.documentElement.classList.add('dark');
|
|
24
|
+
// İlk girişte varsayılan olarak depolanır
|
|
25
|
+
localStorage.setItem('armoyu_theme', 'dark');
|
|
26
|
+
}
|
|
27
|
+
}, []);
|
|
28
|
+
|
|
29
|
+
const toggleTheme = () => {
|
|
30
|
+
const newTheme = theme === 'dark' ? 'light' : 'dark';
|
|
31
|
+
setTheme(newTheme);
|
|
32
|
+
localStorage.setItem('armoyu_theme', newTheme);
|
|
33
|
+
|
|
34
|
+
if (newTheme === 'dark') {
|
|
35
|
+
document.documentElement.classList.add('dark');
|
|
36
|
+
} else {
|
|
37
|
+
document.documentElement.classList.remove('dark');
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
return (
|
|
42
|
+
<ThemeContext.Provider value={{ theme, toggleTheme }}>
|
|
43
|
+
{children}
|
|
44
|
+
</ThemeContext.Provider>
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function useTheme() {
|
|
49
|
+
const context = useContext(ThemeContext);
|
|
50
|
+
if (!context) throw new Error('useTheme hooks must be used inside ThemeProvider!');
|
|
51
|
+
return context;
|
|
52
|
+
}
|
package/src/globals.css
ADDED
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
@import "tailwindcss";
|
|
2
|
+
@source "./components/**/*.{js,ts,jsx,tsx}";
|
|
3
|
+
@source "./app/**/*.{js,ts,jsx,tsx}";
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* TAILWIND V4 DARK MODE STRATEGY FIX
|
|
7
|
+
* Varsayılan olarak Tailwind v4 sistem temasına (@media prefers-color-scheme) bakar.
|
|
8
|
+
* Aşağıdaki kural ile Tailwind'in sadece .dark class'ı varken çalışmasını sağlıyoruz.
|
|
9
|
+
*/
|
|
10
|
+
@custom-variant dark (&:where(.dark, .dark *));
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* GLOBAL TEMALANDIRMA DEĞİŞKENLERİ
|
|
14
|
+
* Bu yapı sayesinde gelecekte yüzlerce farklı renk/tema (Kırmızı Mod, RGB Modu vb.) tanımlanabilir.
|
|
15
|
+
*/
|
|
16
|
+
@layer base {
|
|
17
|
+
:root {
|
|
18
|
+
--armoyu-bg: #f8fafc;
|
|
19
|
+
/* Slate 50 - Daha asil bir açık gri */
|
|
20
|
+
--armoyu-fg: #0f172a;
|
|
21
|
+
|
|
22
|
+
--armoyu-header-bg: rgba(255, 255, 255, 0.85);
|
|
23
|
+
--armoyu-header-border: rgba(0, 0, 0, 0.04);
|
|
24
|
+
|
|
25
|
+
--armoyu-drawer-bg: rgba(255, 255, 255, 0.9);
|
|
26
|
+
--armoyu-drawer-border: rgba(0, 0, 0, 0.04);
|
|
27
|
+
|
|
28
|
+
--armoyu-card-bg: rgba(255, 255, 255, 0.75);
|
|
29
|
+
--armoyu-card-border: rgba(0, 0, 0, 0.04);
|
|
30
|
+
|
|
31
|
+
--armoyu-text: #1e293b;
|
|
32
|
+
/* Slate 800 */
|
|
33
|
+
--armoyu-text-muted: #64748b;
|
|
34
|
+
/* Slate 500 */
|
|
35
|
+
--armoyu-panel-width: 90%;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.dark {
|
|
39
|
+
--armoyu-bg: #0a0a0e;
|
|
40
|
+
--armoyu-fg: #f8fafc;
|
|
41
|
+
|
|
42
|
+
--armoyu-header-bg: #0a0a0e;
|
|
43
|
+
/* Tamamen Mat Koyu Siyah */
|
|
44
|
+
--armoyu-header-border: rgba(255, 255, 255, 0.05);
|
|
45
|
+
|
|
46
|
+
--armoyu-drawer-bg: rgba(10, 10, 14, 0.65);
|
|
47
|
+
/* Menü Çekmecesi Yüksek Saydamlık */
|
|
48
|
+
--armoyu-drawer-border: rgba(255, 255, 255, 0.1);
|
|
49
|
+
|
|
50
|
+
--armoyu-card-bg: rgba(10, 10, 14, 0.4);
|
|
51
|
+
--armoyu-card-border: rgba(255, 255, 255, 0.05);
|
|
52
|
+
|
|
53
|
+
--armoyu-text: #ffffff;
|
|
54
|
+
--armoyu-text-muted: #9ca3af;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
body {
|
|
58
|
+
background-color: var(--armoyu-bg);
|
|
59
|
+
background-image:
|
|
60
|
+
radial-gradient(at 0% 0%, rgba(59, 130, 246, 0.03) 0, transparent 50%),
|
|
61
|
+
radial-gradient(at 50% 0%, rgba(139, 92, 246, 0.03) 0, transparent 50%),
|
|
62
|
+
radial-gradient(at 100% 0%, rgba(59, 130, 246, 0.03) 0, transparent 50%);
|
|
63
|
+
color: var(--armoyu-fg);
|
|
64
|
+
line-height: inherit;
|
|
65
|
+
font-family: var(--font-sans);
|
|
66
|
+
min-height: 100vh;
|
|
67
|
+
overflow-x: hidden;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.dark body {
|
|
71
|
+
background-image: none;
|
|
72
|
+
/* Dark modda düz siyah/koyu kalsın */
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/* Kullanıcının istediği özel açık tema arka plan kuralı */
|
|
76
|
+
@media (prefers-color-scheme: light) {
|
|
77
|
+
body {
|
|
78
|
+
background-color: var(--armoyu-bg);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@theme {
|
|
84
|
+
--color-background: #0a0a0e;
|
|
85
|
+
--color-foreground: #ededed;
|
|
86
|
+
--color-primary: #3b82f6;
|
|
87
|
+
--color-secondary: #1e1e24;
|
|
88
|
+
--font-sans: var(--font-inter), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
89
|
+
--animate-fill-bar: fill-bar 5s linear forwards;
|
|
90
|
+
|
|
91
|
+
/* TAILWIND TANIMLAMALARI (Tüm proje genelinde class olarak kullanılabilir hale getirir) */
|
|
92
|
+
--color-armoyu-bg: var(--armoyu-bg);
|
|
93
|
+
--color-armoyu-fg: var(--armoyu-fg);
|
|
94
|
+
--color-armoyu-header-bg: var(--armoyu-header-bg);
|
|
95
|
+
--color-armoyu-header-border: var(--armoyu-header-border);
|
|
96
|
+
--color-armoyu-drawer-bg: var(--armoyu-drawer-bg);
|
|
97
|
+
--color-armoyu-drawer-border: var(--armoyu-drawer-border);
|
|
98
|
+
--color-armoyu-card-bg: var(--armoyu-card-bg);
|
|
99
|
+
--color-armoyu-card-border: var(--armoyu-card-border);
|
|
100
|
+
--color-armoyu-text: var(--armoyu-text);
|
|
101
|
+
--color-armoyu-text-muted: var(--armoyu-text-muted);
|
|
102
|
+
--spacing-armoyu-panel: var(--armoyu-panel-width);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/* Glassmorphism Classes */
|
|
106
|
+
.glass-panel {
|
|
107
|
+
background: var(--armoyu-card-bg);
|
|
108
|
+
backdrop-filter: blur(16px);
|
|
109
|
+
-webkit-backdrop-filter: blur(16px);
|
|
110
|
+
border: 1px solid var(--armoyu-card-border);
|
|
111
|
+
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.03);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/* Koyu Tema Glassmorphism Stili */
|
|
115
|
+
.dark .glass-panel {
|
|
116
|
+
background: rgba(255, 255, 255, 0.03);
|
|
117
|
+
backdrop-filter: blur(10px);
|
|
118
|
+
-webkit-backdrop-filter: blur(10px);
|
|
119
|
+
border: 1px solid rgba(255, 255, 255, 0.05);
|
|
120
|
+
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.text-gradient {
|
|
124
|
+
background: linear-gradient(to right, #3b82f6, #8b5cf6);
|
|
125
|
+
-webkit-background-clip: text;
|
|
126
|
+
-webkit-text-fill-color: transparent;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/* Premium Scrollbar Styling */
|
|
130
|
+
::-webkit-scrollbar {
|
|
131
|
+
width: 6px;
|
|
132
|
+
height: 6px;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
::-webkit-scrollbar-track {
|
|
136
|
+
background: transparent;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
::-webkit-scrollbar-thumb {
|
|
140
|
+
background: rgba(0, 0, 0, 0.1);
|
|
141
|
+
border-radius: 10px;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.dark ::-webkit-scrollbar-thumb {
|
|
145
|
+
background: rgba(255, 255, 255, 0.05);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
::-webkit-scrollbar-thumb:hover {
|
|
149
|
+
background: rgba(0, 0, 0, 0.2);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.dark ::-webkit-scrollbar-thumb:hover {
|
|
153
|
+
background: rgba(255, 255, 255, 0.1);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/* Hide scrollbar utility (Renamed from hide-scrollbar for consistency) */
|
|
157
|
+
.no-scrollbar::-webkit-scrollbar {
|
|
158
|
+
display: none !important;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.no-scrollbar {
|
|
162
|
+
-ms-overflow-style: none !important;
|
|
163
|
+
/* IE and Edge */
|
|
164
|
+
scrollbar-width: none !important;
|
|
165
|
+
/* Firefox */
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/* Elegant Thin Scrollbar */
|
|
169
|
+
.thin-scrollbar::-webkit-scrollbar {
|
|
170
|
+
width: 4px;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.thin-scrollbar::-webkit-scrollbar-thumb {
|
|
174
|
+
background: rgba(0, 0, 0, 0.1);
|
|
175
|
+
border-radius: 20px;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/* Slider Progress Bar Animation */
|
|
179
|
+
@keyframes progressBar {
|
|
180
|
+
from {
|
|
181
|
+
width: 0%;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
to {
|
|
185
|
+
width: 100%;
|
|
186
|
+
}
|
|
187
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
export * from './components/Button';
|
|
2
|
+
export * from './components/Slider';
|
|
3
|
+
export * from './components/RollingNumber';
|
|
4
|
+
export * from './components/ViewModeToggle';
|
|
5
|
+
export * from './components/GenderStatsBar';
|
|
6
|
+
export * from './components/StatsGrid';
|
|
7
|
+
|
|
8
|
+
// Contexts
|
|
9
|
+
export * from './context/AuthContext';
|
|
10
|
+
export * from './context/CartContext';
|
|
11
|
+
export * from './context/ChatContext';
|
|
12
|
+
export * from './context/LayoutContext';
|
|
13
|
+
export * from './context/SocketContext';
|
|
14
|
+
export * from './context/ThemeContext';
|
|
15
|
+
|
|
16
|
+
// Types & Constants
|
|
17
|
+
export * from './types';
|
|
18
|
+
export * from './lib/constants/seedData';
|
|
19
|
+
export * from './lib/constants/educationData';
|
|
20
|
+
export * from './lib/constants/punishmentData';
|
|
21
|
+
export * from './lib/constants/stationData';
|
|
22
|
+
export * from './lib/constants/surveyData';
|
|
23
|
+
export * from './lib/constants/teamData';
|
|
24
|
+
export * from './lib/utils/odpUtils';
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
// Shared Components
|
|
28
|
+
export { Header } from './components/shared/Header';
|
|
29
|
+
export { Footer } from './components/shared/Footer';
|
|
30
|
+
export { LoginModal } from './components/shared/LoginModal';
|
|
31
|
+
export { FloatingChatButton } from './components/shared/FloatingChatButton';
|
|
32
|
+
export { MainLayoutWrapper } from './components/shared/MainLayoutWrapper';
|
|
33
|
+
export { PageWidth } from './components/shared/PageWidth';
|
|
34
|
+
|
|
35
|
+
// Auth Module
|
|
36
|
+
export { Dashboard as AuthDashboard } from './components/modules/auth/Dashboard';
|
|
37
|
+
export { Dashboard } from './components/modules/auth/Dashboard';
|
|
38
|
+
export { PostCard } from './components/modules/auth/PostCard';
|
|
39
|
+
export { PostInteractionsModal } from './components/modules/auth/PostInteractionsModal';
|
|
40
|
+
export { RepostModal } from './components/modules/auth/RepostModal';
|
|
41
|
+
export { SidebarLeft as AuthSidebarLeft } from './components/modules/auth/SidebarLeft';
|
|
42
|
+
export { Stories } from './components/modules/auth/Stories';
|
|
43
|
+
export { StoryViewer } from './components/modules/auth/StoryViewer';
|
|
44
|
+
export { MediaLightbox, type PostMedia } from './components/modules/auth/MediaLightbox';
|
|
45
|
+
|
|
46
|
+
// Chat Module
|
|
47
|
+
export { ChatContainer } from './components/modules/chat/ChatContainer';
|
|
48
|
+
export { ChatInput } from './components/modules/chat/ChatInput';
|
|
49
|
+
export { ChatList } from './components/modules/chat/ChatList';
|
|
50
|
+
export { ChatMessage } from './components/modules/chat/ChatMessage';
|
|
51
|
+
export { ChatNotes } from './components/modules/chat/ChatNotes';
|
|
52
|
+
|
|
53
|
+
// Community Module
|
|
54
|
+
export { GroupHeader } from './components/modules/community/GroupHeader';
|
|
55
|
+
export { GroupMenu } from './components/modules/community/GroupMenu';
|
|
56
|
+
export { SchoolCard } from './components/modules/community/SchoolCard';
|
|
57
|
+
export { SurveyCard } from './components/modules/community/SurveyCard';
|
|
58
|
+
|
|
59
|
+
// Forum Module
|
|
60
|
+
export { ForumBoard } from './components/modules/forum/ForumBoard';
|
|
61
|
+
export { ForumPost } from './components/modules/forum/ForumPost';
|
|
62
|
+
export { NewTopicModal } from './components/modules/forum/NewTopicModal';
|
|
63
|
+
export { TopicItem } from './components/modules/forum/TopicItem';
|
|
64
|
+
|
|
65
|
+
// Galleries Module
|
|
66
|
+
export { GalleryCard } from './components/modules/galleries/GalleryCard';
|
|
67
|
+
|
|
68
|
+
// Giveaways Module
|
|
69
|
+
export { GiveawayCard } from './components/modules/giveaways/GiveawayCard';
|
|
70
|
+
|
|
71
|
+
// Groups Module
|
|
72
|
+
export { GroupCard } from './components/modules/groups/GroupCard';
|
|
73
|
+
export { ApplicationModal as GroupApplicationModal } from './components/modules/groups/ApplicationModal';
|
|
74
|
+
|
|
75
|
+
// Guest Module
|
|
76
|
+
export { Introduction } from './components/modules/guest/Introduction';
|
|
77
|
+
|
|
78
|
+
// Magaza Module
|
|
79
|
+
export { BackToStore } from './components/modules/magaza/BackToStore';
|
|
80
|
+
export { StoreHeader } from './components/modules/magaza/StoreHeader';
|
|
81
|
+
|
|
82
|
+
// News Module
|
|
83
|
+
export { NewsCard } from './components/modules/news/NewsCard';
|
|
84
|
+
export { NewsComments } from './components/modules/news/NewsComments';
|
|
85
|
+
|
|
86
|
+
// Profile Module
|
|
87
|
+
export { ProfileHeader } from './components/modules/profile/ProfileHeader';
|
|
88
|
+
export { ProfileStats } from './components/modules/profile/ProfileStats';
|
|
89
|
+
export { ProfileContent } from './components/modules/profile/ProfileContent';
|
|
90
|
+
export { EditProfileModal } from './components/modules/profile/EditProfileModal';
|
|
91
|
+
export { TeamSelectorModal } from './components/modules/profile/TeamSelectorModal';
|
|
92
|
+
export { CloudStorageModal } from './components/modules/profile/CloudStorageModal';
|
|
93
|
+
|
|
94
|
+
// Stations Module
|
|
95
|
+
export { StationCard } from './components/modules/stations/StationCard';
|
|
96
|
+
export { StationQRModal } from './components/modules/stations/StationQRModal';
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { School, Faculty, Classroom, SchoolTeam, User } from '@armoyu/core';
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
export const MOCK_EDUCATION_DATA = (userList: any[]) => {
|
|
5
|
+
// 1. School Teams (Traditional & Esports)
|
|
6
|
+
const teams = [
|
|
7
|
+
new SchoolTeam({
|
|
8
|
+
id: 'st1',
|
|
9
|
+
name: 'ARMOYU CS2 Team',
|
|
10
|
+
gameOrSport: 'Counter-Strike 2',
|
|
11
|
+
type: 'ESPORTS',
|
|
12
|
+
schoolId: 'sch1',
|
|
13
|
+
captain: userList[0]
|
|
14
|
+
}),
|
|
15
|
+
new SchoolTeam({
|
|
16
|
+
id: 'st2',
|
|
17
|
+
name: 'UAV Football Varsity',
|
|
18
|
+
gameOrSport: 'Football',
|
|
19
|
+
type: 'TRADITIONAL_SPORTS',
|
|
20
|
+
schoolId: 'sch1',
|
|
21
|
+
captain: userList[11]
|
|
22
|
+
}),
|
|
23
|
+
new SchoolTeam({
|
|
24
|
+
id: 'st3',
|
|
25
|
+
name: 'Code Masters LoL',
|
|
26
|
+
gameOrSport: 'League of Legends',
|
|
27
|
+
type: 'ESPORTS',
|
|
28
|
+
schoolId: 'sch2',
|
|
29
|
+
captain: userList[1]
|
|
30
|
+
})
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
// 2. Faculties
|
|
34
|
+
const faculties = [
|
|
35
|
+
new Faculty({ id: 'f1', name: 'Mühendislik Fakültesi', schoolId: 'sch1', representative: userList[14] }),
|
|
36
|
+
new Faculty({ id: 'f2', name: 'İktisadi ve İdari Bilimler Fakültesi', schoolId: 'sch1', representative: userList[12] }),
|
|
37
|
+
new Faculty({ id: 'f3', name: 'Fen Edebiyat Fakültesi', schoolId: 'sch2', representative: userList[3] })
|
|
38
|
+
];
|
|
39
|
+
|
|
40
|
+
// 3. Classrooms
|
|
41
|
+
const classrooms = [
|
|
42
|
+
new Classroom({ id: 'c1', name: 'Web Geliştirme 101', schoolId: 'sch1', teacher: userList[0], password: 'armoyu_learn' }),
|
|
43
|
+
new Classroom({ id: 'c2', name: 'Algoritma ve Veri Yapıları', schoolId: 'sch1', teacher: userList[14] }),
|
|
44
|
+
new Classroom({ id: 'c3', name: 'Dijital Tasarım', schoolId: 'sch2', teacher: userList[1] })
|
|
45
|
+
];
|
|
46
|
+
|
|
47
|
+
// 4. Schools
|
|
48
|
+
const schools = [
|
|
49
|
+
new School({
|
|
50
|
+
id: 'sch1',
|
|
51
|
+
name: 'İstanbul Teknik Üniversitesi',
|
|
52
|
+
slug: 'itu',
|
|
53
|
+
logo: 'https://upload.wikimedia.org/wikipedia/tr/a/ae/%C4%B0T%C3%9C_Logo.png',
|
|
54
|
+
representative: userList[0],
|
|
55
|
+
faculties: faculties.filter(f => f.schoolId === 'sch1'),
|
|
56
|
+
teams: teams.filter(t => t.schoolId === 'sch1'),
|
|
57
|
+
classrooms: classrooms.filter(cl => cl.schoolId === 'sch1'),
|
|
58
|
+
memberCount: 1250
|
|
59
|
+
}),
|
|
60
|
+
new School({
|
|
61
|
+
id: 'sch2',
|
|
62
|
+
name: 'Boğaziçi Üniversitesi',
|
|
63
|
+
slug: 'bogazici',
|
|
64
|
+
logo: 'https://upload.wikimedia.org/wikipedia/tr/b/b3/Bo%C4%9Fazi%C3%A7i_%C3%9Cniversitesi_Logosu.png',
|
|
65
|
+
representative: userList[1],
|
|
66
|
+
faculties: faculties.filter(f => f.schoolId === 'sch2'),
|
|
67
|
+
teams: teams.filter(t => t.schoolId === 'sch2'),
|
|
68
|
+
classrooms: classrooms.filter(cl => cl.schoolId === 'sch2'),
|
|
69
|
+
memberCount: 890
|
|
70
|
+
}),
|
|
71
|
+
new School({
|
|
72
|
+
id: 'sch3',
|
|
73
|
+
name: 'Sivas Cumhuriyet Üniversitesi',
|
|
74
|
+
slug: 'cumhuriyet',
|
|
75
|
+
logo: 'https://upload.wikimedia.org/wikipedia/tr/a/ac/Cumhuriyet_%C3%9Cniversitesi_Logosu.png',
|
|
76
|
+
representative: userList[2],
|
|
77
|
+
faculties: [
|
|
78
|
+
new Faculty({ id: 'f4', name: 'Tıp Fakültesi', schoolId: 'sch3', representative: userList[4] }),
|
|
79
|
+
new Faculty({ id: 'f5', name: 'Eğitim Fakültesi', schoolId: 'sch3', representative: userList[5] })
|
|
80
|
+
],
|
|
81
|
+
teams: [
|
|
82
|
+
new SchoolTeam({ id: 'st4', name: 'CU Eagles Volleyball', gameOrSport: 'Volleyball', type: 'TRADITIONAL_SPORTS', schoolId: 'sch3', captain: userList[2] }),
|
|
83
|
+
new SchoolTeam({ id: 'st5', name: 'CU Valorant', gameOrSport: 'Valorant', type: 'ESPORTS', schoolId: 'sch3', captain: userList[4] })
|
|
84
|
+
],
|
|
85
|
+
classrooms: [
|
|
86
|
+
new Classroom({ id: 'c4', name: 'Temel Programlama', schoolId: 'sch3', teacher: userList[2] })
|
|
87
|
+
],
|
|
88
|
+
memberCount: 2100
|
|
89
|
+
}),
|
|
90
|
+
new School({
|
|
91
|
+
id: 'sch4',
|
|
92
|
+
name: 'Tokat Gaziosmanpaşa Üniversitesi',
|
|
93
|
+
slug: 'gop',
|
|
94
|
+
logo: 'https://upload.wikimedia.org/wikipedia/tr/5/5e/Tokat_Gaziosmanpa%C5%9Fa_%C3%9Cniversitesi_Logosu.png',
|
|
95
|
+
representative: userList[3],
|
|
96
|
+
faculties: [
|
|
97
|
+
new Faculty({ id: 'f6', name: 'Ziraat Fakültesi', schoolId: 'sch4', representative: userList[3] })
|
|
98
|
+
],
|
|
99
|
+
teams: [
|
|
100
|
+
new SchoolTeam({ id: 'st6', name: 'GOP Football', gameOrSport: 'Football', type: 'TRADITIONAL_SPORTS', schoolId: 'sch4', captain: userList[3] })
|
|
101
|
+
],
|
|
102
|
+
classrooms: [],
|
|
103
|
+
memberCount: 1450
|
|
104
|
+
}),
|
|
105
|
+
new School({
|
|
106
|
+
id: 'sch5',
|
|
107
|
+
name: 'Samsun Ondokuz Mayıs Üniversitesi',
|
|
108
|
+
slug: 'omu',
|
|
109
|
+
logo: 'https://upload.wikimedia.org/wikipedia/tr/6/6d/Ondokuz_May%C4%B1s_%C3%9Cniversitesi_Logosu.png',
|
|
110
|
+
representative: userList[10],
|
|
111
|
+
faculties: [
|
|
112
|
+
new Faculty({ id: 'f7', name: 'Hukuk Fakültesi', schoolId: 'sch5', representative: userList[10] })
|
|
113
|
+
],
|
|
114
|
+
teams: [
|
|
115
|
+
new SchoolTeam({ id: 'st7', name: 'OMU Cyber Sports', gameOrSport: 'DotA 2', type: 'ESPORTS', schoolId: 'sch5', captain: userList[11] })
|
|
116
|
+
],
|
|
117
|
+
classrooms: [],
|
|
118
|
+
memberCount: 3200
|
|
119
|
+
})
|
|
120
|
+
];
|
|
121
|
+
|
|
122
|
+
return { schools, faculties, teams, classrooms };
|
|
123
|
+
};
|
|
124
|
+
|