@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,251 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useEffect, useRef, useMemo } from 'react';
|
|
3
|
+
import { useSearchParams, useRouter } from 'next/navigation';
|
|
4
|
+
import { useAuth } from '../../../context/AuthContext';
|
|
5
|
+
import { useSocket } from '../../../context/SocketContext';
|
|
6
|
+
import { PostCard } from './PostCard';
|
|
7
|
+
import { Stories } from './Stories';
|
|
8
|
+
import { SidebarLeft } from './SidebarLeft';
|
|
9
|
+
import { CloudStorageModal } from '../profile/CloudStorageModal';
|
|
10
|
+
import Link from 'next/link';
|
|
11
|
+
import { postList, groupList } from '../../../lib/constants/seedData';
|
|
12
|
+
import { Post } from '@armoyu/core';
|
|
13
|
+
import { CheckCircle2 } from 'lucide-react';
|
|
14
|
+
export function Dashboard() {
|
|
15
|
+
const { user } = useAuth();
|
|
16
|
+
const { on } = useSocket();
|
|
17
|
+
const searchParams = useSearchParams();
|
|
18
|
+
const router = useRouter();
|
|
19
|
+
const focusedPostId = searchParams.get('post');
|
|
20
|
+
const [isCloudModalOpen, setIsCloudModalOpen] = useState(false);
|
|
21
|
+
const [isBioModalOpen, setIsBioModalOpen] = useState(false);
|
|
22
|
+
const [tempBio, setTempBio] = useState(user?.bio || '');
|
|
23
|
+
const [selectedMedia, setSelectedMedia] = useState([]);
|
|
24
|
+
const [selectedTag, setSelectedTag] = useState(null);
|
|
25
|
+
const [visibleCount, setVisibleCount] = useState(10);
|
|
26
|
+
const [isLoadingMore, setIsLoadingMore] = useState(false);
|
|
27
|
+
const { updateUser } = useAuth();
|
|
28
|
+
const [posts, setPosts] = useState(postList);
|
|
29
|
+
const [newPostsBuffer, setNewPostsBuffer] = useState([]);
|
|
30
|
+
const [isAtTop, setIsAtTop] = useState(true);
|
|
31
|
+
const [postContent, setPostContent] = useState('');
|
|
32
|
+
const [isPosting, setIsPosting] = useState(false);
|
|
33
|
+
const textareaRef = useRef(null);
|
|
34
|
+
const handleBioSave = () => {
|
|
35
|
+
if (user) {
|
|
36
|
+
updateUser({
|
|
37
|
+
...user,
|
|
38
|
+
bio: tempBio
|
|
39
|
+
});
|
|
40
|
+
setIsBioModalOpen(false);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
// Gündemdeki Etiketleri Dinamik Hesapla
|
|
44
|
+
const trendingTags = useMemo(() => {
|
|
45
|
+
const counts = {};
|
|
46
|
+
posts.forEach(post => {
|
|
47
|
+
post.hashtags?.forEach(tag => {
|
|
48
|
+
counts[tag] = (counts[tag] || 0) + 1;
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
return Object.entries(counts)
|
|
52
|
+
.map(([name, count]) => ({ name, count }))
|
|
53
|
+
.sort((a, b) => b.count - a.count)
|
|
54
|
+
.slice(0, 5);
|
|
55
|
+
}, [posts]);
|
|
56
|
+
// Filtremele ve Pagination Mantığı
|
|
57
|
+
const allFilteredPosts = useMemo(() => {
|
|
58
|
+
// 1. Post ID filtresi (En yüksek öncelik)
|
|
59
|
+
if (focusedPostId) {
|
|
60
|
+
return posts.filter(p => p.id === focusedPostId);
|
|
61
|
+
}
|
|
62
|
+
// 2. Tag filtresi
|
|
63
|
+
if (selectedTag) {
|
|
64
|
+
return posts.filter(post => post.hashtags?.includes(selectedTag.replace('#', '')));
|
|
65
|
+
}
|
|
66
|
+
return posts;
|
|
67
|
+
}, [posts, focusedPostId, selectedTag]);
|
|
68
|
+
const visiblePosts = allFilteredPosts.slice(0, visibleCount);
|
|
69
|
+
// Auto-resize logic for textarea
|
|
70
|
+
useEffect(() => {
|
|
71
|
+
if (textareaRef.current) {
|
|
72
|
+
textareaRef.current.style.height = 'inherit';
|
|
73
|
+
textareaRef.current.style.height = `${textareaRef.current.scrollHeight}px`;
|
|
74
|
+
}
|
|
75
|
+
}, [postContent]);
|
|
76
|
+
useEffect(() => {
|
|
77
|
+
const handleScroll = () => {
|
|
78
|
+
setIsAtTop(window.scrollY < 150);
|
|
79
|
+
};
|
|
80
|
+
window.addEventListener('scroll', handleScroll);
|
|
81
|
+
return () => window.removeEventListener('scroll', handleScroll);
|
|
82
|
+
}, []);
|
|
83
|
+
// Socket Listener for New Posts
|
|
84
|
+
useEffect(() => {
|
|
85
|
+
console.log('[Dashboard] Setting up socket listener for "post" event');
|
|
86
|
+
const offPost = on('post', (data) => {
|
|
87
|
+
console.log('[Dashboard] New socket post received!', data);
|
|
88
|
+
const newPost = Post.fromJSON(data);
|
|
89
|
+
setPosts(currentPosts => {
|
|
90
|
+
// If this is a post from the CURRENT USER, find the pending version and replace it
|
|
91
|
+
if (newPost.author?.username === user?.username) {
|
|
92
|
+
// Check if there is a pending post (we look for matches in content and media count as a heuristic)
|
|
93
|
+
const pendingIdx = currentPosts.findIndex(p => p.isPending && p.content === newPost.content);
|
|
94
|
+
if (pendingIdx !== -1) {
|
|
95
|
+
const updated = [...currentPosts];
|
|
96
|
+
updated[pendingIdx] = newPost; // Replace pending with confirmed
|
|
97
|
+
return updated;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// Standard duplicate check
|
|
101
|
+
if (currentPosts.some(p => p.id === newPost.id))
|
|
102
|
+
return currentPosts;
|
|
103
|
+
if (window.scrollY < 150) {
|
|
104
|
+
return [newPost, ...currentPosts];
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
setNewPostsBuffer(prev => {
|
|
108
|
+
if (prev.some(p => p.id === newPost.id))
|
|
109
|
+
return prev;
|
|
110
|
+
return [newPost, ...prev];
|
|
111
|
+
});
|
|
112
|
+
return currentPosts;
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
const offLike = on('post_like', (data) => {
|
|
117
|
+
const { postId, newCount } = data;
|
|
118
|
+
setPosts(currentPosts => currentPosts.map(p => {
|
|
119
|
+
if (p.id === postId) {
|
|
120
|
+
return {
|
|
121
|
+
...p,
|
|
122
|
+
stats: { ...p.stats, likes: newCount }
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
return p;
|
|
126
|
+
}));
|
|
127
|
+
});
|
|
128
|
+
const offRepostCount = on('post_repost_count', (data) => {
|
|
129
|
+
const { postId } = data;
|
|
130
|
+
setPosts(currentPosts => currentPosts.map(p => {
|
|
131
|
+
if (p.id === postId) {
|
|
132
|
+
return {
|
|
133
|
+
...p,
|
|
134
|
+
stats: { ...p.stats, reposts: (p.stats.reposts || 0) + 1 }
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
return p;
|
|
138
|
+
}));
|
|
139
|
+
});
|
|
140
|
+
return () => {
|
|
141
|
+
offPost();
|
|
142
|
+
offLike();
|
|
143
|
+
offRepostCount();
|
|
144
|
+
};
|
|
145
|
+
}, [on]);
|
|
146
|
+
const mergeNewPosts = () => {
|
|
147
|
+
setPosts(prev => [...newPostsBuffer, ...prev]);
|
|
148
|
+
setNewPostsBuffer([]);
|
|
149
|
+
window.scrollTo({ top: 0, behavior: 'smooth' });
|
|
150
|
+
};
|
|
151
|
+
const { emit } = useSocket();
|
|
152
|
+
const handleCreatePost = () => {
|
|
153
|
+
try {
|
|
154
|
+
if ((!postContent.trim() && selectedMedia.length === 0) || isPosting || !user) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
// 1. Create optimistic local post
|
|
158
|
+
const tempId = 'p-temp-' + Date.now();
|
|
159
|
+
const optimisticPost = new Post({
|
|
160
|
+
id: tempId,
|
|
161
|
+
author: user,
|
|
162
|
+
content: postContent,
|
|
163
|
+
media: selectedMedia,
|
|
164
|
+
createdAt: 'Gönderiliyor...',
|
|
165
|
+
stats: { likes: 0, comments: 0, shares: 0, reposts: 0 },
|
|
166
|
+
hashtags: postContent.match(/#\w+/g)?.map(t => t.replace('#', '')) || [],
|
|
167
|
+
isPending: true
|
|
168
|
+
});
|
|
169
|
+
// 2. Clear inputs & Add to state immediately
|
|
170
|
+
const savedContent = postContent;
|
|
171
|
+
const savedMedia = [...selectedMedia];
|
|
172
|
+
setPosts(prev => [optimisticPost, ...prev]);
|
|
173
|
+
setPostContent('');
|
|
174
|
+
setSelectedMedia([]);
|
|
175
|
+
console.log('[Dashboard] Optimistic post added, inputs cleared.');
|
|
176
|
+
// 3. Prepare wire data
|
|
177
|
+
const wireData = {
|
|
178
|
+
id: 'p-' + Date.now(), // Real ID candidate
|
|
179
|
+
author: {
|
|
180
|
+
id: user.id,
|
|
181
|
+
username: user.username,
|
|
182
|
+
displayName: user.displayName,
|
|
183
|
+
avatar: user.avatar,
|
|
184
|
+
role: user.role,
|
|
185
|
+
verified: user.verified,
|
|
186
|
+
level: user.level
|
|
187
|
+
},
|
|
188
|
+
content: savedContent,
|
|
189
|
+
media: savedMedia,
|
|
190
|
+
createdAt: 'Şimdi',
|
|
191
|
+
stats: { likes: 0, comments: 0, shares: 0, reposts: 0 },
|
|
192
|
+
hashtags: savedContent.match(/#\w+/g)?.map(t => t.replace('#', '')) || []
|
|
193
|
+
};
|
|
194
|
+
// 4. Emit to socket server
|
|
195
|
+
emit('post', wireData);
|
|
196
|
+
}
|
|
197
|
+
catch (error) {
|
|
198
|
+
console.error('[Dashboard] Error in handleCreatePost:', error);
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
// Sonsuz Kaydırma Trigger (Intersection Observer)
|
|
202
|
+
const loaderRef = useRef(null);
|
|
203
|
+
useEffect(() => {
|
|
204
|
+
const observer = new IntersectionObserver((entries) => {
|
|
205
|
+
if (entries[0].isIntersecting && !isLoadingMore && visibleCount < allFilteredPosts.length) {
|
|
206
|
+
setIsLoadingMore(true);
|
|
207
|
+
setTimeout(() => {
|
|
208
|
+
setVisibleCount(prev => prev + 10);
|
|
209
|
+
setIsLoadingMore(false);
|
|
210
|
+
}, 800);
|
|
211
|
+
}
|
|
212
|
+
}, { threshold: 0.1 });
|
|
213
|
+
if (loaderRef.current) {
|
|
214
|
+
observer.observe(loaderRef.current);
|
|
215
|
+
}
|
|
216
|
+
return () => observer.disconnect();
|
|
217
|
+
}, [isLoadingMore, visibleCount, allFilteredPosts.length]);
|
|
218
|
+
return (_jsxs("div", { className: "w-full flex-1 flex gap-6 pb-20 animate-in fade-in slide-in-from-bottom-8 duration-700 items-start", children: [_jsx(SidebarLeft, {}), _jsxs("div", { className: "flex-1 flex flex-col pt-2", children: [_jsx(Stories, {}), _jsxs("div", { className: "glass-panel p-4 md:p-5 rounded-3xl border border-armoyu-card-border bg-armoyu-card-bg shadow-sm mb-8", children: [_jsxs("div", { className: "flex gap-4 items-start", children: [_jsx("img", { src: user?.avatar || "https://api.dicebear.com/7.x/avataaars/svg?seed=Armoyu", alt: "Avatar", className: "w-12 h-12 rounded-full border border-black/10 dark:border-white/10 shadow-sm mt-1" }), _jsxs("div", { className: "flex-1 flex flex-col gap-3", children: [_jsx("textarea", { ref: textareaRef, value: postContent, onChange: (e) => setPostContent(e.target.value), onKeyDown: (e) => {
|
|
219
|
+
if (e.key === 'Enter' && !e.shiftKey) {
|
|
220
|
+
e.preventDefault();
|
|
221
|
+
handleCreatePost();
|
|
222
|
+
}
|
|
223
|
+
}, placeholder: "Neler yap\u0131yorsun, d\u00FC\u015F\u00FCncelerini payla\u015F...", className: "w-full bg-black/5 dark:bg-white/5 border border-black/10 dark:border-white/10 hover:border-black/20 dark:hover:border-white/20 rounded-2xl px-5 py-3 text-sm text-armoyu-text placeholder-armoyu-text-muted focus:outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500 transition-all font-medium resize-none min-h-[44px] max-h-[300px] overflow-y-auto" }), selectedMedia.length > 0 && (_jsx("div", { className: "flex gap-2.5 overflow-x-auto pb-2 scrollbar-hide animate-in fade-in slide-in-from-left-4 duration-300", children: selectedMedia.map((media, idx) => (_jsxs("div", { className: "relative group shrink-0", children: [media.type === 'video' ? (_jsxs("div", { className: "w-24 h-24 rounded-2xl bg-black/20 flex items-center justify-center border border-white/10 overflow-hidden", children: [_jsx("video", { src: media.url, className: "w-full h-full object-cover opacity-60" }), _jsx("div", { className: "absolute inset-0 flex items-center justify-center", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "white", children: _jsx("polygon", { points: "5 3 19 12 5 21 5 3" }) }) })] })) : (_jsx("img", { src: media.url, alt: "Preview", className: "w-24 h-24 rounded-2xl object-cover border border-white/10 shadow-md group-hover:scale-105 transition-transform" })), _jsx("button", { onClick: () => setSelectedMedia(prev => prev.filter((_, i) => i !== idx)), className: "absolute -top-1.5 -right-1.5 w-6 h-6 bg-red-500 text-white rounded-full flex items-center justify-center shadow-lg hover:bg-red-600 transition-colors z-10", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) })] }, idx))) }))] })] }), _jsxs("div", { className: "flex justify-between items-center mt-3 pl-16", children: [_jsxs("div", { className: "flex gap-2", children: [_jsx("button", { onClick: () => setIsCloudModalOpen(true), className: "flex items-center justify-center p-2.5 text-blue-500 hover:bg-blue-500/10 rounded-xl transition-colors shrink-0", title: "Cloud Medya Galerisini A\u00E7", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "currentColor", stroke: "currentColor", strokeWidth: "1", strokeLinecap: "round", strokeLinejoin: "round", className: "text-blue-500", children: _jsx("path", { d: "M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z" }) }) }), _jsx("button", { className: "p-2 text-armoyu-text-muted hover:text-blue-500 hover:bg-blue-500/10 rounded-full transition-colors", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", ry: "2" }), _jsx("circle", { cx: "8.5", cy: "8.5", r: "1.5" }), _jsx("polyline", { points: "21 15 16 10 5 21" })] }) }), _jsx("button", { className: "p-2 text-armoyu-text-muted hover:text-emerald-500 hover:bg-emerald-500/10 rounded-full transition-colors", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("path", { d: "M8 14s1.5 2 4 2 4-2 4-2" }), _jsx("line", { x1: "9", y1: "9", x2: "9.01", y2: "9" }), _jsx("line", { x1: "15", y1: "9", x2: "15.01", y2: "9" })] }) })] }), _jsx("button", { onClick: handleCreatePost, disabled: isPosting || (!postContent.trim() && selectedMedia.length === 0), className: "px-6 py-2 bg-gradient-to-r from-blue-600 to-blue-500 hover:from-blue-500 hover:to-blue-400 disabled:opacity-50 disabled:cursor-not-allowed text-white text-sm font-bold rounded-xl shadow-md transition-all active:scale-95", children: isPosting ? 'Gidiyor...' : 'Gönder' })] })] }), focusedPostId && (_jsxs("div", { className: "flex items-center justify-between bg-blue-600/10 border border-blue-600/20 p-5 rounded-3xl mb-6 animate-in fade-in zoom-in duration-500", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsx("div", { className: "w-10 h-10 rounded-full bg-blue-600/20 flex items-center justify-center text-blue-600", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M15 3h6v6" }), _jsx("path", { d: "M10 14 21 3" }), _jsx("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" })] }) }), _jsxs("div", { children: [_jsx("h4", { className: "text-sm font-black text-armoyu-text uppercase tracking-tight", children: "Tekil G\u00F6nderi Modu" }), _jsx("p", { className: "text-xs text-armoyu-text-muted font-bold", children: "\u015Eu an sadece bu bildirime ait payla\u015F\u0131m\u0131 g\u00F6r\u00FCyorsunuz." })] })] }), _jsx("button", { onClick: () => router.push('/'), className: "px-5 py-2 bg-blue-600 text-white text-xs font-black rounded-xl hover:bg-blue-500 shadow-md transition-all active:scale-95 uppercase tracking-widest", children: "T\u00FCm Ak\u0131\u015Fa D\u00F6n" })] })), newPostsBuffer.length > 0 && (_jsx("div", { className: "fixed bottom-12 left-1/2 -translate-x-1/2 z-[60] flex justify-center pointer-events-none", children: _jsxs("button", { onClick: mergeNewPosts, className: "pointer-events-auto flex items-center gap-3 px-8 py-3 bg-blue-600/95 backdrop-blur-xl text-white text-sm font-black rounded-full shadow-[0_15px_35px_rgba(37,99,235,0.45)] border border-white/30 hover:bg-blue-500 hover:scale-105 hover:-translate-y-1 transition-all animate-in slide-in-from-bottom-12 fade-in duration-500", children: [_jsx("div", { className: "flex -space-x-2", children: newPostsBuffer.slice(0, 3).map((p, i) => (_jsx("img", { src: p.author?.avatar, className: "w-7 h-7 rounded-full border-2 border-white shadow-sm bg-armoyu-card-bg" }, i))) }), _jsxs("span", { className: "whitespace-nowrap", children: [newPostsBuffer.length, " Yeni Payla\u015F\u0131m\u0131 G\u00F6r\u00FCnt\u00FCle"] }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "m18 15-6-6-6 6" }) })] }) })), _jsxs("div", { className: "space-y-6", children: [selectedTag && (_jsxs("div", { className: "flex items-center justify-between bg-blue-500/10 border border-blue-500/20 p-4 rounded-2xl animate-in fade-in slide-in-from-left-4 duration-300", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-sm font-bold text-armoyu-text-muted", children: "Filtrelenen Etiket:" }), _jsx("span", { className: "text-sm font-black text-blue-500", children: selectedTag })] }), _jsx("button", { onClick: () => { setSelectedTag(null); setVisibleCount(10); }, className: "text-xs font-bold text-red-500 hover:underline", children: "Filtreyi Temizle" })] })), visiblePosts.length > 0 ? (visiblePosts.map(post => (_jsx(PostCard, { ...post, onTagClick: (tag) => { setSelectedTag(tag); setVisibleCount(10); } }, post.id)))) : (_jsx("div", { className: "text-center py-20 bg-black/5 dark:bg-white/5 rounded-3xl border border-dashed border-armoyu-card-border", children: _jsx("p", { className: "text-armoyu-text-muted font-bold", children: "Bu etikete ait hen\u00FCz bir payla\u015F\u0131m yok." }) })), _jsx("div", { ref: loaderRef, className: "py-10 flex flex-col items-center justify-center gap-3", children: visibleCount < allFilteredPosts.length ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "w-8 h-8 border-4 border-blue-500/20 border-t-blue-500 rounded-full animate-spin" }), _jsx("p", { className: "text-xs font-bold text-armoyu-text-muted animate-pulse italic", children: "Daha fazla i\u00E7erik y\u00FCkleniyor..." })] })) : (_jsxs("div", { className: "flex items-center gap-4 opacity-50", children: [_jsx("div", { className: "h-px w-20 bg-armoyu-card-border" }), _jsx("span", { className: "text-[10px] uppercase font-black tracking-widest text-armoyu-text-muted", children: "T\u00FCm ak\u0131\u015F g\u00F6r\u00FCnt\u00FClendi" }), _jsx("div", { className: "h-px w-20 bg-armoyu-card-border" })] })) })] })] }), _jsxs("div", { className: "hidden lg:flex w-[320px] flex-col gap-6", children: [_jsxs("div", { className: "glass-panel p-6 rounded-3xl border border-armoyu-card-border bg-armoyu-card-bg group overflow-hidden relative", children: [_jsx("div", { className: "absolute -top-10 -right-10 w-32 h-32 bg-blue-500/5 rounded-full blur-3xl group-hover:bg-blue-500/10 transition-all duration-700" }), _jsxs("div", { className: "relative z-10", children: [_jsxs("h3", { className: "font-extrabold text-armoyu-text text-xl tracking-tight mb-6", children: ["Ho\u015F Geldin, ", _jsx("span", { className: "text-blue-500", children: user?.displayName?.split(' ')[0] })] }), (() => {
|
|
224
|
+
const steps = [
|
|
225
|
+
{ id: 'avatar', label: 'Profil Fotoğrafı Ekle', completed: !!user?.avatar && !user.avatar.includes('seed=Armoyu'), icon: '🖼️' },
|
|
226
|
+
{ id: 'bio', label: 'Hakkında Yazısı Yaz', completed: !!user?.bio && user.bio.length > 5, icon: '✍️' },
|
|
227
|
+
{ id: 'verified', label: 'E-posta Onayla', completed: !!user?.verified, icon: '📧' },
|
|
228
|
+
{ id: 'groups', label: 'Bir Gruba Katıl', completed: (user?.groups?.length || 0) > 0, icon: '🛡️' }
|
|
229
|
+
];
|
|
230
|
+
const totalPercentage = steps.reduce((acc, step) => acc + (step.completed ? 25 : 0), 0);
|
|
231
|
+
const nextStep = steps.find(s => !s.completed);
|
|
232
|
+
if (totalPercentage === 100) {
|
|
233
|
+
return (_jsxs("div", { className: "flex items-center gap-2 animate-in fade-in duration-700", children: [_jsx(CheckCircle2, { size: 16, className: "text-emerald-500" }), _jsx("span", { className: "text-[10px] font-black text-emerald-500 uppercase tracking-widest", children: "T\u00FCm g\u00F6revler tamamland\u0131" })] }));
|
|
234
|
+
}
|
|
235
|
+
return (_jsxs("div", { className: "animate-in fade-in slide-in-from-top-4 duration-500", children: [_jsxs("div", { className: "flex items-center justify-between mb-4", children: [_jsx("span", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest", children: "Aktif G\u00F6revin" }), _jsxs("span", { className: "text-[10px] font-black text-blue-500 uppercase tracking-widest bg-blue-500/10 px-2 py-0.5 rounded", children: ["%", totalPercentage, " Tamamland\u0131"] })] }), _jsxs("button", { onClick: () => {
|
|
236
|
+
if (nextStep?.id === 'bio') {
|
|
237
|
+
setIsBioModalOpen(true);
|
|
238
|
+
}
|
|
239
|
+
else if (nextStep?.id === 'groups') {
|
|
240
|
+
router.push('/gruplar');
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
router.push('/ayarlar/profil');
|
|
244
|
+
}
|
|
245
|
+
}, className: "w-full flex items-center gap-4 p-4 bg-black/20 hover:bg-blue-600 border border-white/5 rounded-2xl group/task transition-all active:scale-95 shadow-xl text-left", children: [_jsx("div", { className: "w-12 h-12 rounded-xl bg-white/5 flex items-center justify-center text-2xl group-hover/task:bg-white/20 transition-colors", children: nextStep?.icon }), _jsxs("div", { className: "flex-1", children: [_jsx("h4", { className: "text-sm font-black text-armoyu-text group-hover/task:text-white uppercase tracking-tight", children: nextStep?.label }), _jsx("p", { className: "text-[10px] font-bold text-armoyu-text-muted group-hover/task:text-white/80 uppercase tracking-widest mt-1 italic", children: "Hemen Tamamla \u2192" })] })] })] }));
|
|
246
|
+
})()] })] }), (user?.groups?.length || 0) > 0 && (_jsxs("div", { className: "glass-panel p-6 rounded-3xl border border-armoyu-card-border bg-armoyu-card-bg transition-all animate-in fade-in zoom-in duration-500", children: [_jsxs("div", { className: "flex items-center justify-between mb-5", children: [_jsx("h3", { className: "font-extrabold text-armoyu-text text-lg", children: "Gruplar\u0131m" }), _jsxs("span", { className: "bg-blue-500/10 text-blue-500 text-[10px] font-black px-2 py-0.5 rounded-md uppercase", children: [(user?.groups?.length || 0), " Grup"] })] }), _jsx("div", { className: "space-y-4", children: user?.groups?.map((group, idx) => (_jsxs(Link, { href: `/gruplar/${group.name.toLowerCase().replace(/\s+/g, '-')}`, className: "flex items-center gap-3 group cursor-pointer p-1 rounded-xl hover:bg-black/5 dark:hover:bg-white/5 transition-colors", children: [_jsx("img", { src: group.logo, alt: group.name, className: "w-10 h-10 rounded-xl object-cover border border-black/5 shadow-sm group-hover:scale-105 transition-transform" }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("h4", { className: "text-sm font-bold text-armoyu-text truncate group-hover:text-blue-500 transition-colors uppercase tracking-tight", children: group.name }), _jsxs("div", { className: "flex items-center gap-1.5 mt-0.5", children: [_jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-emerald-500 animate-pulse" }), _jsxs("span", { className: "text-[10px] text-armoyu-text-muted truncate opacity-80 uppercase font-bold tracking-widest", children: [group.shortName, " \u2022 AKT\u0130F"] })] })] })] }, idx))) })] })), _jsxs("div", { className: "glass-panel p-6 rounded-3xl border border-armoyu-card-border bg-armoyu-card-bg", children: [_jsx("h3", { className: "font-extrabold text-armoyu-text mb-5 text-lg", children: "G\u00FCndemdeki Etiketler" }), _jsxs("div", { className: "space-y-4", children: [trendingTags.map((tagObj, idx) => (_jsxs("div", { className: `flex justify-between items-center cursor-pointer group p-2 rounded-xl transition-all ${selectedTag === tagObj.name ? 'bg-blue-500/10' : 'hover:bg-black/5 dark:hover:bg-white/5'}`, onClick: () => { setSelectedTag(tagObj.name === selectedTag ? null : tagObj.name); setVisibleCount(10); }, children: [_jsxs("div", { children: [_jsx("span", { className: `block text-sm font-bold transition-colors ${selectedTag === tagObj.name ? 'text-blue-500' : 'text-armoyu-text-muted group-hover:text-blue-500'}`, children: tagObj.name }), _jsxs("span", { className: "block text-[11px] text-armoyu-text-muted opacity-70 mt-0.5", children: [tagObj.count, " G\u00F6nderi"] })] }), _jsx("button", { className: `text-xs border rounded-full w-7 h-7 flex items-center justify-center transition-colors ${selectedTag === tagObj.name ? 'bg-blue-500 border-blue-500 text-white' : 'bg-black/5 dark:bg-white/5 border-black/5 dark:border-transparent text-armoyu-text-muted group-hover:text-armoyu-text'}`, children: selectedTag === tagObj.name ? (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polyline", { points: "20 6 9 17 4 12" }) })) : (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", children: [_jsx("circle", { cx: "12", cy: "12", r: "1" }), _jsx("circle", { cx: "19", cy: "12", r: "1" }), _jsx("circle", { cx: "5", cy: "12", r: "1" })] })) })] }, idx))), _jsx("button", { className: "w-full mt-2 pt-4 border-t border-armoyu-card-border text-blue-500 hover:text-blue-600 dark:hover:text-blue-400 text-sm font-bold flex justify-center transition-colors", children: "T\u00FCm\u00FCn\u00FC G\u00F6r" })] })] }), _jsxs("div", { className: "glass-panel p-6 rounded-3xl border border-armoyu-card-border bg-armoyu-card-bg", children: [_jsxs("div", { className: "flex items-center justify-between mb-5", children: [_jsx("h3", { className: "font-extrabold text-armoyu-text text-lg", children: "Pop\u00FCler Gruplar" }), _jsx(Link, { href: "/gruplar", className: "text-xs font-bold text-blue-500 hover:underline", children: "T\u00FCm\u00FC" })] }), _jsxs("div", { className: "space-y-4", children: [groupList.slice(0, 4).map((group, idx) => (_jsxs(Link, { href: `/gruplar/${group.name.toLowerCase().replace(/\s+/g, '-')}`, className: "flex items-center gap-3 group cursor-pointer p-1 rounded-xl hover:bg-black/5 dark:hover:bg-white/5 transition-colors", children: [_jsxs("div", { className: "relative", children: [_jsx("img", { src: group.logo, alt: group.name, className: "w-10 h-10 rounded-xl object-cover border border-black/5 shadow-sm" }), group.recruitment === 'Açık' && (_jsx("div", { className: "absolute -bottom-1 -right-1 w-3 h-3 bg-emerald-500 rounded-full border-2 border-armoyu-card-bg shadow-sm", title: "Al\u0131mlar A\u00E7\u0131k" }))] }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("h4", { className: "text-sm font-bold text-armoyu-text truncate group-hover:text-blue-500 transition-colors uppercase tracking-tight", children: group.name }), _jsxs("p", { className: "text-[10px] text-armoyu-text-muted truncate opacity-80", children: [group.category, " \u2022 ", group.recruitment === 'Açık' ? 'Katıl' : 'Kapalı'] })] })] }, idx))), _jsx("button", { className: "w-full py-3 bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/5 hover:border-blue-500/30 hover:bg-blue-500/5 text-armoyu-text text-xs font-bold rounded-xl transition-all active:scale-[0.98]", children: "Yeni Grup Olu\u015Ftur" })] })] })] }), _jsx(CloudStorageModal, { isOpen: isCloudModalOpen, onClose: () => setIsCloudModalOpen(false), onSelectMedia: (url, type) => {
|
|
247
|
+
setSelectedMedia(prev => [...prev, { url, type }]);
|
|
248
|
+
setIsCloudModalOpen(false);
|
|
249
|
+
} }), isBioModalOpen && (_jsxs("div", { className: "fixed inset-0 z-[200] flex items-center justify-center p-6", children: [_jsx("div", { className: "absolute inset-0 bg-black/60 backdrop-blur-md", onClick: () => setIsBioModalOpen(false) }), _jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-[40px] w-full max-w-lg relative z-10 shadow-2xl animate-in zoom-in-95 duration-300 overflow-hidden", children: [_jsxs("div", { className: "p-8 border-b border-armoyu-card-border flex items-center justify-between bg-black/5", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsx("div", { className: "w-12 h-12 rounded-2xl bg-blue-500/10 flex items-center justify-center text-blue-500 text-2xl", children: "\u270D\uFE0F" }), _jsxs("div", { children: [_jsx("h3", { className: "text-xl font-black text-armoyu-text uppercase tracking-tight italic", children: "Hakk\u0131nda Yaz\u0131s\u0131 Yaz" }), _jsx("p", { className: "text-xs font-medium text-armoyu-text-muted", children: "Profilinde kendini ifade et." })] })] }), _jsx("button", { onClick: () => setIsBioModalOpen(false), className: "p-2 text-armoyu-text-muted hover:text-armoyu-text bg-black/10 rounded-xl transition-all", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) })] }), _jsxs("div", { className: "p-8 space-y-6", children: [_jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest ml-4", children: "SEN\u0130 TANIYALIM" }), _jsx("textarea", { className: "w-full bg-black/10 border border-armoyu-card-border rounded-3xl px-6 py-5 text-sm font-bold text-armoyu-text focus:outline-none focus:border-blue-500 transition-all min-h-[150px] resize-none", placeholder: "\u00D6rne\u011Fin: Merhaba! Ben bir ARMOYU \u00FCyesiyim ve oyun geli\u015Ftirmeyi seviyorum...", value: tempBio, onChange: (e) => setTempBio(e.target.value), autoFocus: true })] }), _jsx("button", { onClick: handleBioSave, className: "w-full py-5 bg-blue-600 hover:bg-blue-500 text-white font-black rounded-[20px] text-xs uppercase tracking-widest shadow-xl shadow-blue-500/20 active:scale-95 transition-all flex items-center justify-center gap-2 italic", children: "B\u0130YOGRAF\u0130M\u0130 KAYDET" })] })] })] }))] }));
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=Dashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../../src/components/modules/auth/Dashboard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface PostMedia {
|
|
3
|
+
type: 'image' | 'video';
|
|
4
|
+
url: string;
|
|
5
|
+
}
|
|
6
|
+
interface MediaLightboxProps {
|
|
7
|
+
isOpen: boolean;
|
|
8
|
+
onClose: () => void;
|
|
9
|
+
media: PostMedia[];
|
|
10
|
+
initialIndex?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function MediaLightbox({ isOpen, onClose, media, initialIndex }: MediaLightboxProps): React.ReactPortal | null;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=MediaLightbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaLightbox.d.ts","sourceRoot":"","sources":["../../../../src/components/modules/auth/MediaLightbox.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAGhE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,YAAgB,EAAE,EAAE,kBAAkB,4BA+F7F"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useEffect, useCallback } from 'react';
|
|
4
|
+
import { createPortal } from 'react-dom';
|
|
5
|
+
export function MediaLightbox({ isOpen, onClose, media, initialIndex = 0 }) {
|
|
6
|
+
const [currentIndex, setCurrentIndex] = useState(initialIndex);
|
|
7
|
+
const [mounted, setMounted] = useState(false);
|
|
8
|
+
const handlePrev = useCallback((e) => {
|
|
9
|
+
e?.stopPropagation();
|
|
10
|
+
setCurrentIndex(prev => (prev === 0 ? media.length - 1 : prev - 1));
|
|
11
|
+
}, [media.length]);
|
|
12
|
+
const handleNext = useCallback((e) => {
|
|
13
|
+
e?.stopPropagation();
|
|
14
|
+
setCurrentIndex(prev => (prev === media.length - 1 ? 0 : prev + 1));
|
|
15
|
+
}, [media.length]);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
setMounted(true);
|
|
18
|
+
if (isOpen) {
|
|
19
|
+
setCurrentIndex(initialIndex);
|
|
20
|
+
document.body.style.overflow = 'hidden';
|
|
21
|
+
}
|
|
22
|
+
// Klavye Desteği
|
|
23
|
+
const handleKeyDown = (e) => {
|
|
24
|
+
if (!isOpen)
|
|
25
|
+
return;
|
|
26
|
+
if (e.key === 'ArrowLeft')
|
|
27
|
+
handlePrev(e);
|
|
28
|
+
if (e.key === 'ArrowRight')
|
|
29
|
+
handleNext(e);
|
|
30
|
+
if (e.key === 'Escape')
|
|
31
|
+
onClose();
|
|
32
|
+
};
|
|
33
|
+
window.addEventListener('keydown', handleKeyDown);
|
|
34
|
+
return () => {
|
|
35
|
+
document.body.style.overflow = '';
|
|
36
|
+
window.removeEventListener('keydown', handleKeyDown);
|
|
37
|
+
};
|
|
38
|
+
}, [isOpen, initialIndex, handlePrev, handleNext, onClose]);
|
|
39
|
+
if (!isOpen || !media || media.length === 0 || !mounted)
|
|
40
|
+
return null;
|
|
41
|
+
const currentMedia = media[currentIndex];
|
|
42
|
+
const modalContent = (_jsxs("div", { className: "fixed inset-0 z-[9999] flex items-center justify-center animate-in fade-in duration-200", children: [_jsx("div", { className: "absolute inset-0 bg-[#0a0a0f]/95 backdrop-blur-md", onClick: onClose }), _jsx("button", { onClick: onClose, className: "absolute top-4 md:top-6 right-4 md:right-6 text-white/50 hover:text-white bg-white/10 hover:bg-white/20 p-2.5 md:p-3 rounded-full transition-all z-[10001] border border-white/10 active:scale-90", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) }), media.length > 1 && (_jsxs("div", { className: "absolute top-4 md:top-6 left-4 md:left-6 text-white bg-white/10 px-4 py-1.5 rounded-full font-black text-[10px] tracking-widest z-[10001] border border-white/10 backdrop-blur-md uppercase", children: [currentIndex + 1, " / ", media.length] })), media.length > 1 && (_jsx("button", { onClick: (e) => handlePrev(e), className: "absolute left-4 md:left-8 top-1/2 -translate-y-1/2 text-white/40 hover:text-white bg-white/5 hover:bg-white/10 p-4 md:p-5 rounded-full transition-all z-[10001] border border-transparent hover:border-white/10 backdrop-blur-md group active:scale-90", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", className: "group-hover:-translate-x-0.5 transition-transform", children: _jsx("polyline", { points: "15 18 9 12 15 6" }) }) })), media.length > 1 && (_jsx("button", { onClick: (e) => handleNext(e), className: "absolute right-4 md:right-8 top-1/2 -translate-y-1/2 text-white/40 hover:text-white bg-white/5 hover:bg-white/10 p-4 md:p-5 rounded-full transition-all z-[10001] border border-transparent hover:border-white/10 backdrop-blur-md group active:scale-90", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", className: "group-hover:translate-x-0.5 transition-transform", children: _jsx("polyline", { points: "9 18 15 12 9 6" }) }) })), _jsx("div", { className: "relative w-full h-full max-w-7xl max-h-[92vh] flex items-center justify-center p-4 md:p-12 z-[10000]", onClick: onClose, children: currentMedia.type === 'video' ? (
|
|
43
|
+
// eslint-disable-next-line jsx-a11y/media-has-caption
|
|
44
|
+
_jsx("video", { src: currentMedia.url, controls: true, autoPlay: true, className: "max-w-full max-h-full rounded-2xl shadow-[0_0_80px_rgba(0,0,0,0.8)] object-contain animate-in zoom-in-95 duration-500 ring-1 ring-white/10", onClick: (e) => e.stopPropagation() })) : (_jsx("img", { src: currentMedia.url, alt: "Galeri Medyas\u0131", className: "max-w-full max-h-full rounded-2xl shadow-[0_0_80px_rgba(0,0,0,0.8)] object-contain animate-in zoom-in-95 duration-500 ring-1 ring-white/10", onClick: (e) => e.stopPropagation() })) })] }));
|
|
45
|
+
return createPortal(modalContent, document.body);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=MediaLightbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaLightbox.js","sourceRoot":"","sources":["../../../../src/components/modules/auth/MediaLightbox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { PostMedia } from './MediaLightbox';
|
|
2
|
+
import { User } from '@armoyu/core';
|
|
3
|
+
export interface PostCardProps {
|
|
4
|
+
id: string;
|
|
5
|
+
author: User | null;
|
|
6
|
+
content: string;
|
|
7
|
+
imageUrl?: string;
|
|
8
|
+
media?: PostMedia[];
|
|
9
|
+
createdAt: string;
|
|
10
|
+
stats: {
|
|
11
|
+
likes: number;
|
|
12
|
+
comments: number;
|
|
13
|
+
reposts?: number;
|
|
14
|
+
shares: number;
|
|
15
|
+
};
|
|
16
|
+
hashtags?: string[];
|
|
17
|
+
onTagClick?: (tag: string) => void;
|
|
18
|
+
isPending?: boolean;
|
|
19
|
+
likeList?: User[];
|
|
20
|
+
repostList?: User[];
|
|
21
|
+
commentList?: any[];
|
|
22
|
+
repostOf?: any;
|
|
23
|
+
}
|
|
24
|
+
export declare function PostCard({ id, author, content, imageUrl, media, createdAt, stats, hashtags, onTagClick, isPending, likeList, repostList, commentList, repostOf }: PostCardProps): import("react/jsx-runtime").JSX.Element | null;
|
|
25
|
+
//# sourceMappingURL=PostCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostCard.d.ts","sourceRoot":"","sources":["../../../../src/components/modules/auth/PostCard.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAiB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM3D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAcpC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAGpB,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,aAAa,kDA0f/K"}
|