@armoyu/ui 1.0.7 → 1.0.9
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/api/proxy/[...path]/route.d.ts +1 -0
- package/dist/app/api/proxy/[...path]/route.d.ts.map +1 -1
- package/dist/app/api/proxy/[...path]/route.js +39 -3
- package/dist/app/api/proxy/[...path]/route.js.map +1 -1
- package/dist/app/gruplar/[groupId]/page.d.ts +2 -0
- package/dist/app/gruplar/[groupId]/page.d.ts.map +1 -0
- package/dist/app/gruplar/[groupId]/page.js +10 -0
- package/dist/app/gruplar/[groupId]/page.js.map +1 -0
- package/dist/app/layout.d.ts +1 -0
- package/dist/app/layout.d.ts.map +1 -1
- package/dist/app/layout.js +3 -1
- package/dist/app/layout.js.map +1 -1
- package/dist/app/not-found.d.ts +2 -0
- package/dist/app/not-found.d.ts.map +1 -0
- package/dist/app/not-found.js +7 -0
- package/dist/app/not-found.js.map +1 -0
- package/dist/app/page.d.ts.map +1 -1
- package/dist/app/page.js +15 -19
- package/dist/app/page.js.map +1 -1
- package/dist/components/modules/chat/ChatContainer.d.ts.map +1 -1
- package/dist/components/modules/chat/ChatContainer.js +198 -196
- package/dist/components/modules/chat/ChatContainer.js.map +1 -1
- package/dist/components/modules/chat/ChatLayout.d.ts +2 -0
- package/dist/components/modules/chat/ChatLayout.d.ts.map +1 -0
- package/dist/components/modules/chat/ChatLayout.js +190 -0
- package/dist/components/modules/chat/ChatLayout.js.map +1 -0
- package/dist/components/modules/chat/ChatList.d.ts +1 -1
- package/dist/components/modules/chat/ChatList.d.ts.map +1 -1
- package/dist/components/modules/chat/ChatList.js +52 -51
- package/dist/components/modules/chat/ChatList.js.map +1 -1
- package/dist/components/modules/chat/widgets/ChatInput.d.ts +5 -0
- package/dist/components/modules/chat/widgets/ChatInput.d.ts.map +1 -0
- package/dist/components/modules/chat/widgets/ChatInput.js +31 -0
- package/dist/components/modules/chat/widgets/ChatInput.js.map +1 -0
- package/dist/components/modules/chat/widgets/ChatList.d.ts +7 -0
- package/dist/components/modules/chat/widgets/ChatList.d.ts.map +1 -0
- package/dist/components/modules/chat/widgets/ChatList.js +53 -0
- package/dist/components/modules/chat/widgets/ChatList.js.map +1 -0
- package/dist/components/modules/chat/widgets/ChatMessage.d.ts +12 -0
- package/dist/components/modules/chat/widgets/ChatMessage.d.ts.map +1 -0
- package/dist/components/modules/chat/widgets/ChatMessage.js +7 -0
- package/dist/components/modules/chat/widgets/ChatMessage.js.map +1 -0
- package/dist/components/modules/chat/widgets/ChatNotes.d.ts +2 -0
- package/dist/components/modules/chat/widgets/ChatNotes.d.ts.map +1 -0
- package/dist/components/modules/chat/widgets/ChatNotes.js +12 -0
- package/dist/components/modules/chat/widgets/ChatNotes.js.map +1 -0
- package/dist/components/modules/community/CommunityLayout.d.ts +7 -0
- package/dist/components/modules/community/CommunityLayout.d.ts.map +1 -0
- package/dist/components/modules/community/CommunityLayout.js +137 -0
- package/dist/components/modules/community/CommunityLayout.js.map +1 -0
- package/dist/components/modules/community/GroupHeader.d.ts.map +1 -1
- package/dist/components/modules/community/GroupHeader.js +17 -17
- package/dist/components/modules/community/GroupHeader.js.map +1 -1
- package/dist/components/modules/community/GroupProfileContent.d.ts +1 -0
- package/dist/components/modules/community/GroupProfileContent.d.ts.map +1 -1
- package/dist/components/modules/community/GroupProfileContent.js +85 -61
- package/dist/components/modules/community/GroupProfileContent.js.map +1 -1
- package/dist/components/modules/community/widgets/GroupAboutCard.d.ts.map +1 -1
- package/dist/components/modules/community/widgets/GroupAboutCard.js +2 -1
- package/dist/components/modules/community/widgets/GroupAboutCard.js.map +1 -1
- package/dist/components/modules/community/widgets/GroupEventsList.d.ts.map +1 -1
- package/dist/components/modules/community/widgets/GroupEventsList.js +2 -2
- package/dist/components/modules/community/widgets/GroupEventsList.js.map +1 -1
- package/dist/components/modules/community/widgets/GroupFeedSection.d.ts.map +1 -1
- package/dist/components/modules/community/widgets/GroupFeedSection.js +3 -2
- package/dist/components/modules/community/widgets/GroupFeedSection.js.map +1 -1
- package/dist/components/modules/community/widgets/GroupHeader.d.ts +11 -0
- package/dist/components/modules/community/widgets/GroupHeader.d.ts.map +1 -0
- package/dist/components/modules/community/widgets/GroupHeader.js +18 -0
- package/dist/components/modules/community/widgets/GroupHeader.js.map +1 -0
- package/dist/components/modules/community/widgets/GroupMenu.d.ts +10 -0
- package/dist/components/modules/community/widgets/GroupMenu.d.ts.map +1 -0
- package/dist/components/modules/community/widgets/GroupMenu.js +17 -0
- package/dist/components/modules/community/widgets/GroupMenu.js.map +1 -0
- package/dist/components/modules/community/widgets/GroupPermissions.d.ts.map +1 -1
- package/dist/components/modules/community/widgets/GroupPermissions.js +2 -2
- package/dist/components/modules/community/widgets/GroupPermissions.js.map +1 -1
- package/dist/components/modules/community/widgets/GroupStatsGrid.d.ts.map +1 -1
- package/dist/components/modules/community/widgets/GroupStatsGrid.js +8 -6
- package/dist/components/modules/community/widgets/GroupStatsGrid.js.map +1 -1
- package/dist/components/modules/community/widgets/GroupTopMembers.d.ts.map +1 -1
- package/dist/components/modules/community/widgets/GroupTopMembers.js +2 -1
- package/dist/components/modules/community/widgets/GroupTopMembers.js.map +1 -1
- package/dist/components/modules/community/widgets/SchoolCard.d.ts +7 -0
- package/dist/components/modules/community/widgets/SchoolCard.d.ts.map +1 -0
- package/dist/components/modules/community/widgets/SchoolCard.js +8 -0
- package/dist/components/modules/community/widgets/SchoolCard.js.map +1 -0
- package/dist/components/modules/community/widgets/SurveyCard.d.ts +8 -0
- package/dist/components/modules/community/widgets/SurveyCard.d.ts.map +1 -0
- package/dist/components/modules/community/widgets/SurveyCard.js +25 -0
- package/dist/components/modules/community/widgets/SurveyCard.js.map +1 -0
- package/dist/components/modules/forum/widgets/ForumBoard.d.ts +17 -0
- package/dist/components/modules/forum/widgets/ForumBoard.d.ts.map +1 -0
- package/dist/components/modules/forum/widgets/ForumBoard.js +7 -0
- package/dist/components/modules/forum/widgets/ForumBoard.js.map +1 -0
- package/dist/components/modules/forum/widgets/ForumCategoryList.js +1 -1
- package/dist/components/modules/forum/widgets/ForumCategoryList.js.map +1 -1
- package/dist/components/modules/forum/widgets/ForumPost.d.ts +14 -0
- package/dist/components/modules/forum/widgets/ForumPost.d.ts.map +1 -0
- package/dist/components/modules/forum/widgets/ForumPost.js +6 -0
- package/dist/components/modules/forum/widgets/ForumPost.js.map +1 -0
- package/dist/components/modules/forum/widgets/NewTopicModal.d.ts +8 -0
- package/dist/components/modules/forum/widgets/NewTopicModal.d.ts.map +1 -0
- package/dist/components/modules/forum/widgets/NewTopicModal.js +27 -0
- package/dist/components/modules/forum/widgets/NewTopicModal.js.map +1 -0
- package/dist/components/modules/forum/widgets/TopicItem.d.ts +16 -0
- package/dist/components/modules/forum/widgets/TopicItem.d.ts.map +1 -0
- package/dist/components/modules/forum/widgets/TopicItem.js +7 -0
- package/dist/components/modules/forum/widgets/TopicItem.js.map +1 -0
- package/dist/components/modules/galleries/widgets/GalleryCard.d.ts +10 -0
- package/dist/components/modules/galleries/widgets/GalleryCard.d.ts.map +1 -0
- package/dist/components/modules/galleries/widgets/GalleryCard.js +6 -0
- package/dist/components/modules/galleries/widgets/GalleryCard.js.map +1 -0
- package/dist/components/modules/giveaways/widgets/GiveawayCard.d.ts +10 -0
- package/dist/components/modules/giveaways/widgets/GiveawayCard.d.ts.map +1 -0
- package/dist/components/modules/giveaways/widgets/GiveawayCard.js +7 -0
- package/dist/components/modules/giveaways/widgets/GiveawayCard.js.map +1 -0
- package/dist/components/modules/groups/GroupCard.d.ts +13 -12
- package/dist/components/modules/groups/GroupCard.d.ts.map +1 -1
- package/dist/components/modules/groups/GroupCard.js +7 -6
- package/dist/components/modules/groups/GroupCard.js.map +1 -1
- package/dist/components/modules/groups/widgets/ApplicationModal.d.ts +8 -0
- package/dist/components/modules/groups/widgets/ApplicationModal.d.ts.map +1 -0
- package/dist/components/modules/groups/widgets/ApplicationModal.js +28 -0
- package/dist/components/modules/groups/widgets/ApplicationModal.js.map +1 -0
- package/dist/components/modules/groups/widgets/GroupCard.d.ts +14 -0
- package/dist/components/modules/groups/widgets/GroupCard.d.ts.map +1 -0
- package/dist/components/modules/groups/widgets/GroupCard.js +8 -0
- package/dist/components/modules/groups/widgets/GroupCard.js.map +1 -0
- package/dist/components/modules/guest/widgets/Introduction.d.ts +2 -0
- package/dist/components/modules/guest/widgets/Introduction.d.ts.map +1 -0
- package/dist/components/modules/guest/widgets/Introduction.js +15 -0
- package/dist/components/modules/guest/widgets/Introduction.js.map +1 -0
- package/dist/components/modules/news/widgets/NewsCard.d.ts +12 -0
- package/dist/components/modules/news/widgets/NewsCard.d.ts.map +1 -0
- package/dist/components/modules/news/widgets/NewsCard.js +7 -0
- package/dist/components/modules/news/widgets/NewsCard.js.map +1 -0
- package/dist/components/modules/news/widgets/NewsComments.d.ts +4 -0
- package/dist/components/modules/news/widgets/NewsComments.d.ts.map +1 -0
- package/dist/components/modules/news/widgets/NewsComments.js +6 -0
- package/dist/components/modules/news/widgets/NewsComments.js.map +1 -0
- package/dist/components/modules/posts/MediaLightbox.d.ts +14 -0
- package/dist/components/modules/posts/MediaLightbox.d.ts.map +1 -0
- package/dist/components/modules/posts/MediaLightbox.js +47 -0
- package/dist/components/modules/posts/MediaLightbox.js.map +1 -0
- package/dist/components/modules/posts/PostCard.d.ts +26 -0
- package/dist/components/modules/posts/PostCard.d.ts.map +1 -0
- package/dist/components/modules/posts/PostCard.js +116 -0
- package/dist/components/modules/posts/PostCard.js.map +1 -0
- package/dist/components/modules/posts/PostInteractionsModal.d.ts +12 -0
- package/dist/components/modules/posts/PostInteractionsModal.d.ts.map +1 -0
- package/dist/components/modules/posts/PostInteractionsModal.js +13 -0
- package/dist/components/modules/posts/PostInteractionsModal.js.map +1 -0
- package/dist/components/modules/posts/RepostModal.d.ts +22 -0
- package/dist/components/modules/posts/RepostModal.d.ts.map +1 -0
- package/dist/components/modules/posts/RepostModal.js +76 -0
- package/dist/components/modules/posts/RepostModal.js.map +1 -0
- package/dist/components/modules/posts/Stories.d.ts +2 -0
- package/dist/components/modules/posts/Stories.d.ts.map +1 -0
- package/dist/components/modules/posts/Stories.js +16 -0
- package/dist/components/modules/posts/Stories.js.map +1 -0
- package/dist/components/modules/posts/StoryViewer.d.ts +10 -0
- package/dist/components/modules/posts/StoryViewer.d.ts.map +1 -0
- package/dist/components/modules/posts/StoryViewer.js +48 -0
- package/dist/components/modules/posts/StoryViewer.js.map +1 -0
- package/dist/components/modules/posts/reels/ReelCard.d.ts +16 -0
- package/dist/components/modules/posts/reels/ReelCard.d.ts.map +1 -0
- package/dist/components/modules/posts/reels/ReelCard.js +70 -0
- package/dist/components/modules/posts/reels/ReelCard.js.map +1 -0
- package/dist/components/modules/posts/reels/ReelsContainer.d.ts +8 -0
- package/dist/components/modules/posts/reels/ReelsContainer.d.ts.map +1 -0
- package/dist/components/modules/posts/reels/ReelsContainer.js +37 -0
- package/dist/components/modules/posts/reels/ReelsContainer.js.map +1 -0
- package/dist/components/modules/posts/widgets/MediaLightbox.d.ts +14 -0
- package/dist/components/modules/posts/widgets/MediaLightbox.d.ts.map +1 -0
- package/dist/components/modules/posts/widgets/MediaLightbox.js +47 -0
- package/dist/components/modules/posts/widgets/MediaLightbox.js.map +1 -0
- package/dist/components/modules/posts/widgets/PostCard.d.ts +26 -0
- package/dist/components/modules/posts/widgets/PostCard.d.ts.map +1 -0
- package/dist/components/modules/posts/widgets/PostCard.js +116 -0
- package/dist/components/modules/posts/widgets/PostCard.js.map +1 -0
- package/dist/components/modules/posts/widgets/PostInteractionsModal.d.ts +12 -0
- package/dist/components/modules/posts/widgets/PostInteractionsModal.d.ts.map +1 -0
- package/dist/components/modules/posts/widgets/PostInteractionsModal.js +13 -0
- package/dist/components/modules/posts/widgets/PostInteractionsModal.js.map +1 -0
- package/dist/components/modules/posts/widgets/RepostModal.d.ts +22 -0
- package/dist/components/modules/posts/widgets/RepostModal.d.ts.map +1 -0
- package/dist/components/modules/posts/widgets/RepostModal.js +76 -0
- package/dist/components/modules/posts/widgets/RepostModal.js.map +1 -0
- package/dist/components/modules/posts/widgets/Stories.d.ts +2 -0
- package/dist/components/modules/posts/widgets/Stories.d.ts.map +1 -0
- package/dist/components/modules/posts/widgets/Stories.js +16 -0
- package/dist/components/modules/posts/widgets/Stories.js.map +1 -0
- package/dist/components/modules/posts/widgets/StoryViewer.d.ts +10 -0
- package/dist/components/modules/posts/widgets/StoryViewer.d.ts.map +1 -0
- package/dist/components/modules/posts/widgets/StoryViewer.js +48 -0
- package/dist/components/modules/posts/widgets/StoryViewer.js.map +1 -0
- package/dist/components/modules/posts/widgets/reels/ReelCard.d.ts +16 -0
- package/dist/components/modules/posts/widgets/reels/ReelCard.d.ts.map +1 -0
- package/dist/components/modules/posts/widgets/reels/ReelCard.js +55 -0
- package/dist/components/modules/posts/widgets/reels/ReelCard.js.map +1 -0
- package/dist/components/modules/posts/widgets/reels/ReelsContainer.d.ts +8 -0
- package/dist/components/modules/posts/widgets/reels/ReelsContainer.d.ts.map +1 -0
- package/dist/components/modules/posts/widgets/reels/ReelsContainer.js +29 -0
- package/dist/components/modules/posts/widgets/reels/ReelsContainer.js.map +1 -0
- package/dist/components/modules/profile/ProfileLayout.d.ts +5 -0
- package/dist/components/modules/profile/ProfileLayout.d.ts.map +1 -0
- package/dist/components/modules/profile/ProfileLayout.js +71 -0
- package/dist/components/modules/profile/ProfileLayout.js.map +1 -0
- package/dist/components/modules/profile/tabs/PostsTab.js +1 -1
- package/dist/components/modules/profile/tabs/PostsTab.js.map +1 -1
- package/dist/components/modules/profile/widgets/CloudStorageModal.d.ts +9 -0
- package/dist/components/modules/profile/widgets/CloudStorageModal.d.ts.map +1 -0
- package/dist/components/modules/profile/widgets/CloudStorageModal.js +32 -0
- package/dist/components/modules/profile/widgets/CloudStorageModal.js.map +1 -0
- package/dist/components/modules/profile/widgets/EditProfileModal.d.ts +9 -0
- package/dist/components/modules/profile/widgets/EditProfileModal.d.ts.map +1 -0
- package/dist/components/modules/profile/widgets/EditProfileModal.js +28 -0
- package/dist/components/modules/profile/widgets/EditProfileModal.js.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileHeader.d.ts +8 -0
- package/dist/components/modules/profile/widgets/ProfileHeader.d.ts.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileHeader.js +20 -0
- package/dist/components/modules/profile/widgets/ProfileHeader.js.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileSidebar.d.ts +11 -0
- package/dist/components/modules/profile/widgets/ProfileSidebar.d.ts.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileSidebar.js +9 -0
- package/dist/components/modules/profile/widgets/ProfileSidebar.js.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileStats.d.ts +7 -0
- package/dist/components/modules/profile/widgets/ProfileStats.d.ts.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileStats.js +21 -0
- package/dist/components/modules/profile/widgets/ProfileStats.js.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileTabsArea.d.ts +14 -0
- package/dist/components/modules/profile/widgets/ProfileTabsArea.d.ts.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileTabsArea.js +59 -0
- package/dist/components/modules/profile/widgets/ProfileTabsArea.js.map +1 -0
- package/dist/components/modules/profile/widgets/TeamSelectorModal.d.ts +11 -0
- package/dist/components/modules/profile/widgets/TeamSelectorModal.d.ts.map +1 -0
- package/dist/components/modules/profile/widgets/TeamSelectorModal.js +17 -0
- package/dist/components/modules/profile/widgets/TeamSelectorModal.js.map +1 -0
- package/dist/components/modules/shop/BackToStore.d.ts +2 -0
- package/dist/components/modules/shop/BackToStore.d.ts.map +1 -0
- package/dist/components/modules/shop/BackToStore.js +11 -0
- package/dist/components/modules/shop/BackToStore.js.map +1 -0
- package/dist/components/modules/shop/DetailLayout.d.ts +8 -0
- package/dist/components/modules/shop/DetailLayout.d.ts.map +1 -0
- package/dist/components/modules/shop/DetailLayout.js +22 -0
- package/dist/components/modules/shop/DetailLayout.js.map +1 -0
- package/dist/components/modules/shop/ProductCard.d.ts +8 -0
- package/dist/components/modules/shop/ProductCard.d.ts.map +1 -0
- package/dist/components/modules/shop/ProductCard.js +11 -0
- package/dist/components/modules/shop/ProductCard.js.map +1 -0
- package/dist/components/modules/shop/ProductDetailPage.d.ts +8 -0
- package/dist/components/modules/shop/ProductDetailPage.d.ts.map +1 -0
- package/dist/components/modules/shop/ProductDetailPage.js +22 -0
- package/dist/components/modules/shop/ProductDetailPage.js.map +1 -0
- package/dist/components/modules/shop/StoreHeader.d.ts +6 -0
- package/dist/components/modules/shop/StoreHeader.d.ts.map +1 -0
- package/dist/components/modules/shop/StoreHeader.js +9 -0
- package/dist/components/modules/shop/StoreHeader.js.map +1 -0
- package/dist/components/modules/shop/StoreLayout.d.ts +8 -0
- package/dist/components/modules/shop/StoreLayout.d.ts.map +1 -0
- package/dist/components/modules/shop/StoreLayout.js +6 -0
- package/dist/components/modules/shop/StoreLayout.js.map +1 -0
- package/dist/components/modules/shop/widgets/BackToStore.d.ts +2 -0
- package/dist/components/modules/shop/widgets/BackToStore.d.ts.map +1 -0
- package/dist/components/modules/shop/widgets/BackToStore.js +11 -0
- package/dist/components/modules/shop/widgets/BackToStore.js.map +1 -0
- package/dist/components/modules/shop/widgets/CategoryWidget.d.ts +8 -0
- package/dist/components/modules/shop/widgets/CategoryWidget.d.ts.map +1 -0
- package/dist/components/modules/shop/widgets/CategoryWidget.js +23 -0
- package/dist/components/modules/shop/widgets/CategoryWidget.js.map +1 -0
- package/dist/components/modules/shop/widgets/ProductCard.d.ts +8 -0
- package/dist/components/modules/shop/widgets/ProductCard.d.ts.map +1 -0
- package/dist/components/modules/shop/widgets/ProductCard.js +10 -0
- package/dist/components/modules/shop/widgets/ProductCard.js.map +1 -0
- package/dist/components/modules/shop/widgets/StoreHeader.d.ts +6 -0
- package/dist/components/modules/shop/widgets/StoreHeader.d.ts.map +1 -0
- package/dist/components/modules/shop/widgets/StoreHeader.js +9 -0
- package/dist/components/modules/shop/widgets/StoreHeader.js.map +1 -0
- package/dist/components/modules/shop/widgets/StoreProductGrid.d.ts +7 -0
- package/dist/components/modules/shop/widgets/StoreProductGrid.d.ts.map +1 -0
- package/dist/components/modules/shop/widgets/StoreProductGrid.js +13 -0
- package/dist/components/modules/shop/widgets/StoreProductGrid.js.map +1 -0
- package/dist/components/modules/shop/widgets/StoreSidebar.d.ts +8 -0
- package/dist/components/modules/shop/widgets/StoreSidebar.d.ts.map +1 -0
- package/dist/components/modules/shop/widgets/StoreSidebar.js +8 -0
- package/dist/components/modules/shop/widgets/StoreSidebar.js.map +1 -0
- package/dist/components/modules/shop/widgets/StoreTrustBadges.d.ts +2 -0
- package/dist/components/modules/shop/widgets/StoreTrustBadges.d.ts.map +1 -0
- package/dist/components/modules/shop/widgets/StoreTrustBadges.js +29 -0
- package/dist/components/modules/shop/widgets/StoreTrustBadges.js.map +1 -0
- package/dist/components/modules/social/Dashboard.d.ts +2 -0
- package/dist/components/modules/social/Dashboard.d.ts.map +1 -0
- package/dist/components/modules/social/Dashboard.js +251 -0
- package/dist/components/modules/social/Dashboard.js.map +1 -0
- package/dist/components/modules/social/SidebarLeft.d.ts +2 -0
- package/dist/components/modules/social/SidebarLeft.d.ts.map +1 -0
- package/dist/components/modules/social/SidebarLeft.js +9 -0
- package/dist/components/modules/social/SidebarLeft.js.map +1 -0
- package/dist/components/modules/social/SocialLayout.d.ts +2 -0
- package/dist/components/modules/social/SocialLayout.d.ts.map +1 -0
- package/dist/components/modules/social/SocialLayout.js +249 -0
- package/dist/components/modules/social/SocialLayout.js.map +1 -0
- package/dist/components/modules/social/widgets/EconomyWidget.d.ts +2 -0
- package/dist/components/modules/social/widgets/EconomyWidget.d.ts.map +1 -0
- package/dist/components/modules/social/widgets/EconomyWidget.js +38 -0
- package/dist/components/modules/social/widgets/EconomyWidget.js.map +1 -0
- package/dist/components/modules/social/widgets/LeagueWidget.d.ts +2 -0
- package/dist/components/modules/social/widgets/LeagueWidget.d.ts.map +1 -0
- package/dist/components/modules/social/widgets/LeagueWidget.js +36 -0
- package/dist/components/modules/social/widgets/LeagueWidget.js.map +1 -0
- package/dist/components/modules/social/widgets/MinecraftWidget.d.ts +2 -0
- package/dist/components/modules/social/widgets/MinecraftWidget.d.ts.map +1 -0
- package/dist/components/modules/social/widgets/MinecraftWidget.js +36 -0
- package/dist/components/modules/social/widgets/MinecraftWidget.js.map +1 -0
- package/dist/components/modules/social/widgets/RankingWidget.d.ts +5 -0
- package/dist/components/modules/social/widgets/RankingWidget.d.ts.map +1 -0
- package/dist/components/modules/social/widgets/RankingWidget.js +79 -0
- package/dist/components/modules/social/widgets/RankingWidget.js.map +1 -0
- package/dist/components/modules/social/widgets/SocialSidebar.d.ts +2 -0
- package/dist/components/modules/social/widgets/SocialSidebar.d.ts.map +1 -0
- package/dist/components/modules/social/widgets/SocialSidebar.js +9 -0
- package/dist/components/modules/social/widgets/SocialSidebar.js.map +1 -0
- package/dist/components/modules/stations/widgets/StationCard.d.ts +3 -0
- package/dist/components/modules/stations/widgets/StationCard.d.ts.map +1 -0
- package/dist/components/modules/stations/widgets/StationCard.js +26 -0
- package/dist/components/modules/stations/widgets/StationCard.js.map +1 -0
- package/dist/components/modules/stations/widgets/StationQRModal.d.ts +10 -0
- package/dist/components/modules/stations/widgets/StationQRModal.d.ts.map +1 -0
- package/dist/components/modules/stations/widgets/StationQRModal.js +13 -0
- package/dist/components/modules/stations/widgets/StationQRModal.js.map +1 -0
- package/dist/components/shared/FilterTabs.d.ts +16 -0
- package/dist/components/shared/FilterTabs.d.ts.map +1 -0
- package/dist/components/shared/FilterTabs.js +18 -0
- package/dist/components/shared/FilterTabs.js.map +1 -0
- package/dist/components/shared/FloatingChatButton.d.ts.map +1 -1
- package/dist/components/shared/FloatingChatButton.js +20 -20
- package/dist/components/shared/FloatingChatButton.js.map +1 -1
- package/dist/components/shared/ListToolbar.d.ts +32 -0
- package/dist/components/shared/ListToolbar.d.ts.map +1 -0
- package/dist/components/shared/ListToolbar.js +13 -0
- package/dist/components/shared/ListToolbar.js.map +1 -0
- package/dist/components/shared/MainLayoutWrapper.d.ts +2 -1
- package/dist/components/shared/MainLayoutWrapper.d.ts.map +1 -1
- package/dist/components/shared/MainLayoutWrapper.js +7 -7
- package/dist/components/shared/MainLayoutWrapper.js.map +1 -1
- package/dist/components/shared/NotFound.d.ts +21 -0
- package/dist/components/shared/NotFound.d.ts.map +1 -0
- package/dist/components/shared/NotFound.js +7 -0
- package/dist/components/shared/NotFound.js.map +1 -0
- package/dist/components/shared/SearchBar.d.ts +14 -0
- package/dist/components/shared/SearchBar.d.ts.map +1 -0
- package/dist/components/shared/SearchBar.js +21 -0
- package/dist/components/shared/SearchBar.js.map +1 -0
- package/dist/components/showcase/EventsTab.d.ts +2 -0
- package/dist/components/showcase/EventsTab.d.ts.map +1 -0
- package/dist/components/showcase/EventsTab.js +80 -0
- package/dist/components/showcase/EventsTab.js.map +1 -0
- package/dist/components/showcase/GroupTab.d.ts.map +1 -1
- package/dist/components/showcase/GroupTab.js +68 -18
- package/dist/components/showcase/GroupTab.js.map +1 -1
- package/dist/components/showcase/MessagesTab.d.ts.map +1 -1
- package/dist/components/showcase/MessagesTab.js +16 -2
- package/dist/components/showcase/MessagesTab.js.map +1 -1
- package/dist/components/showcase/ProfileTab.d.ts.map +1 -1
- package/dist/components/showcase/ProfileTab.js +7 -2
- package/dist/components/showcase/ProfileTab.js.map +1 -1
- package/dist/components/showcase/ReelsTab.d.ts +2 -0
- package/dist/components/showcase/ReelsTab.d.ts.map +1 -0
- package/dist/components/showcase/ReelsTab.js +34 -0
- package/dist/components/showcase/ReelsTab.js.map +1 -0
- package/dist/components/showcase/ShopTab.d.ts.map +1 -1
- package/dist/components/showcase/ShopTab.js +28 -2
- package/dist/components/showcase/ShopTab.js.map +1 -1
- package/dist/components/showcase/ShowcaseNavigation.d.ts +2 -0
- package/dist/components/showcase/ShowcaseNavigation.d.ts.map +1 -0
- package/dist/components/showcase/ShowcaseNavigation.js +29 -0
- package/dist/components/showcase/ShowcaseNavigation.js.map +1 -0
- package/dist/components/showcase/SocialTab.d.ts.map +1 -1
- package/dist/components/showcase/SocialTab.js +7 -2
- package/dist/components/showcase/SocialTab.js.map +1 -1
- package/dist/context/ChatContext.d.ts +21 -12
- package/dist/context/ChatContext.d.ts.map +1 -1
- package/dist/context/ChatContext.js +95 -17
- package/dist/context/ChatContext.js.map +1 -1
- package/dist/index.d.ts +56 -45
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +55 -47
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/globals.css +5 -5
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useRef, useEffect } from 'react';
|
|
4
|
+
import { Heart, MessageSquare, Share2, MoreVertical, Music, Play, Volume2, VolumeX } from 'lucide-react';
|
|
5
|
+
import { RollingNumber } from '../../../RollingNumber';
|
|
6
|
+
export function ReelCard({ id, author, videoUrl, description, songName, stats, isActive }) {
|
|
7
|
+
const [isPlaying, setIsPlaying] = useState(false);
|
|
8
|
+
const [isMuted, setIsMuted] = useState(false);
|
|
9
|
+
const [isLiked, setIsLiked] = useState(false);
|
|
10
|
+
const [showHeartAnim, setShowHeartAnim] = useState(false);
|
|
11
|
+
const [progress, setProgress] = useState(0);
|
|
12
|
+
const videoRef = useRef(null);
|
|
13
|
+
// Handle Play/Pause
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
if (videoRef.current) {
|
|
16
|
+
if (isActive) {
|
|
17
|
+
videoRef.current.play().catch(() => {
|
|
18
|
+
// Auto-play might be blocked by browser until interaction
|
|
19
|
+
setIsPlaying(false);
|
|
20
|
+
});
|
|
21
|
+
setIsPlaying(true);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
videoRef.current.pause();
|
|
25
|
+
setIsPlaying(false);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}, [isActive]);
|
|
29
|
+
const togglePlay = () => {
|
|
30
|
+
if (videoRef.current) {
|
|
31
|
+
if (isPlaying) {
|
|
32
|
+
videoRef.current.pause();
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
videoRef.current.play();
|
|
36
|
+
}
|
|
37
|
+
setIsPlaying(!isPlaying);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
const handleTimeUpdate = () => {
|
|
41
|
+
if (videoRef.current) {
|
|
42
|
+
const p = (videoRef.current.currentTime / videoRef.current.duration) * 100;
|
|
43
|
+
setProgress(p);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const handleDoubleClick = (e) => {
|
|
47
|
+
if (!isLiked) {
|
|
48
|
+
setIsLiked(true);
|
|
49
|
+
}
|
|
50
|
+
setShowHeartAnim(true);
|
|
51
|
+
setTimeout(() => setShowHeartAnim(false), 800);
|
|
52
|
+
};
|
|
53
|
+
return (_jsxs("div", { className: "relative w-full h-full bg-black flex items-center justify-center overflow-hidden", children: [_jsx("video", { ref: videoRef, src: videoUrl, className: "w-full h-full object-cover cursor-pointer", loop: true, muted: isMuted, onClick: togglePlay, onDoubleClick: handleDoubleClick, onTimeUpdate: handleTimeUpdate, playsInline: true }), showHeartAnim && (_jsx("div", { className: "absolute inset-0 flex items-center justify-center z-50 pointer-events-none", children: _jsx(Heart, { fill: "#3b82f6", className: "text-blue-500 w-24 h-24 animate-ping opacity-75" }) })), !isPlaying && (_jsx("div", { className: "absolute inset-0 flex items-center justify-center pointer-events-none bg-black/10 transition-opacity", children: _jsx("div", { className: "p-5 bg-black/20 backdrop-blur-md rounded-full text-white/80", children: _jsx(Play, { size: 48, fill: "currentColor" }) }) })), _jsxs("div", { className: "absolute right-3 bottom-24 z-20 flex flex-col items-center gap-6 animate-in slide-in-from-right-4 duration-500", children: [_jsxs("div", { className: "flex flex-col items-center gap-1 group", children: [_jsx("button", { onClick: () => setIsLiked(!isLiked), className: `p-3 rounded-full backdrop-blur-md transition-all active:scale-90 ${isLiked ? 'bg-blue-600 text-white' : 'bg-black/20 text-white hover:bg-black/40'}`, children: _jsx(Heart, { size: 28, fill: isLiked ? "currentColor" : "none" }) }), _jsx("span", { className: "text-xs font-black text-white shadow-sm uppercase tracking-tighter", children: _jsx(RollingNumber, { value: isLiked ? stats.likes + 1 : stats.likes }) })] }), _jsxs("div", { className: "flex flex-col items-center gap-1 group", children: [_jsx("button", { className: "p-3 rounded-full bg-black/20 backdrop-blur-md text-white hover:bg-black/40 transition-all active:scale-90", children: _jsx(MessageSquare, { size: 28 }) }), _jsx("span", { className: "text-xs font-black text-white shadow-sm uppercase tracking-tighter", children: stats.comments })] }), _jsxs("div", { className: "flex flex-col items-center gap-1 group", children: [_jsx("button", { className: "p-3 rounded-full bg-black/20 backdrop-blur-md text-white hover:bg-black/40 transition-all active:scale-90", children: _jsx(Share2, { size: 28 }) }), _jsx("span", { className: "text-xs font-black text-white shadow-sm uppercase tracking-tighter", children: stats.shares })] }), _jsx("button", { className: "p-3 text-white hover:text-blue-400 transition-colors", children: _jsx(MoreVertical, { size: 24 }) }), _jsx("button", { onClick: () => setIsMuted(!isMuted), className: "p-3 rounded-full bg-black/20 backdrop-blur-md text-white hover:bg-black/40 transition-all", children: isMuted ? _jsx(VolumeX, { size: 20 }) : _jsx(Volume2, { size: 20 }) })] }), _jsx("div", { className: "absolute bottom-0 left-0 right-16 z-10 p-5 bg-gradient-to-t from-black/80 via-black/40 to-transparent", children: _jsxs("div", { className: "flex flex-col gap-3 animate-in slide-in-from-bottom-4 duration-500", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("img", { src: author.avatar, className: "w-10 h-10 rounded-full border-2 border-white/50 shadow-md object-cover", alt: author.displayName }), _jsxs("div", { className: "flex flex-col", children: [_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx("span", { className: "text-white font-black whitespace-nowrap uppercase tracking-tight italic", children: author.displayName }), author.verified && (_jsx("div", { className: "bg-blue-500 text-white rounded-full p-0.5", children: _jsx("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "currentColor", children: _jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }) }) }))] }), _jsxs("span", { className: "text-white/70 text-xs font-bold", children: ["@", author.username] })] }), _jsx("button", { className: "ml-2 px-4 py-1.5 bg-white text-black text-[10px] font-black rounded-full hover:bg-blue-500 hover:text-white transition-all uppercase tracking-widest shadow-lg active:scale-95", children: "TAK\u0130P ET" })] }), description && (_jsx("p", { className: "text-white/90 text-sm font-medium line-clamp-2 leading-tight", children: description })), _jsxs("div", { className: "flex items-center gap-2 text-white/80", children: [_jsx("div", { className: "animate-spin-slow", children: _jsx(Music, { size: 14 }) }), _jsx("div", { className: "overflow-hidden whitespace-nowrap w-[200px]", children: _jsx("p", { className: "text-xs font-black uppercase tracking-widest animate-marquee inline-block italic", children: songName || 'Orijinal Ses - ARMOYU' }) })] })] }) }), _jsx("div", { className: "absolute bottom-0 left-0 right-0 h-1 bg-white/10 z-30", children: _jsx("div", { className: "h-full bg-blue-500 shadow-[0_0_10px_rgba(59,130,246,0.8)] transition-all duration-300", style: { width: `${progress}%` } }) }), _jsx("style", { jsx: true, children: `
|
|
54
|
+
.animate-spin-slow {
|
|
55
|
+
animation: spin 3s linear infinite;
|
|
56
|
+
}
|
|
57
|
+
@keyframes spin {
|
|
58
|
+
from { transform: rotate(0deg); }
|
|
59
|
+
to { transform: rotate(360deg); }
|
|
60
|
+
}
|
|
61
|
+
.animate-marquee {
|
|
62
|
+
animation: marquee 10s linear infinite;
|
|
63
|
+
}
|
|
64
|
+
@keyframes marquee {
|
|
65
|
+
0% { transform: translateX(100%); }
|
|
66
|
+
100% { transform: translateX(-100%); }
|
|
67
|
+
}
|
|
68
|
+
` })] }));
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=ReelCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReelCard.js","sourceRoot":"","sources":["../../../../../src/components/modules/posts/reels/ReelCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ReelCardProps } from './ReelCard';
|
|
2
|
+
interface ReelsContainerProps {
|
|
3
|
+
reels: Omit<ReelCardProps, 'isActive'>[];
|
|
4
|
+
initialReelId?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function ReelsContainer({ reels, initialReelId }: ReelsContainerProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=ReelsContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReelsContainer.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/posts/reels/ReelsContainer.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAY,aAAa,EAAE,MAAM,YAAY,CAAC;AAErD,UAAU,mBAAmB;IAC3B,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,mBAAmB,2CAwD3E"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useEffect, useRef } from 'react';
|
|
4
|
+
import { ReelCard } from './ReelCard';
|
|
5
|
+
export function ReelsContainer({ reels, initialReelId }) {
|
|
6
|
+
const [activeId, setActiveId] = useState(initialReelId || reels[0]?.id);
|
|
7
|
+
const containerRef = useRef(null);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
const observerOptions = {
|
|
10
|
+
root: containerRef.current,
|
|
11
|
+
threshold: 0.8, // Must be 80% visible to be considered active
|
|
12
|
+
};
|
|
13
|
+
const handleIntersection = (entries) => {
|
|
14
|
+
entries.forEach((entry) => {
|
|
15
|
+
if (entry.isIntersecting) {
|
|
16
|
+
const id = entry.target.getAttribute('data-reel-id');
|
|
17
|
+
if (id)
|
|
18
|
+
setActiveId(id);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
const observer = new IntersectionObserver(handleIntersection, observerOptions);
|
|
23
|
+
const elements = containerRef.current?.querySelectorAll('[data-reel-id]');
|
|
24
|
+
elements?.forEach((el) => observer.observe(el));
|
|
25
|
+
return () => observer.disconnect();
|
|
26
|
+
}, [reels]);
|
|
27
|
+
return (_jsxs("div", { ref: containerRef, className: "w-full h-screen bg-black overflow-y-scroll snap-y snap-mandatory scrollbar-hide", children: [reels.map((reel) => (_jsx("div", { "data-reel-id": reel.id, className: "w-full h-full snap-start snap-always shrink-0", children: _jsx(ReelCard, { ...reel, isActive: activeId === reel.id }) }, reel.id))), _jsx("style", { jsx: true, global: true, children: `
|
|
28
|
+
.scrollbar-hide::-webkit-scrollbar {
|
|
29
|
+
display: none;
|
|
30
|
+
}
|
|
31
|
+
.scrollbar-hide {
|
|
32
|
+
-ms-overflow-style: none;
|
|
33
|
+
scrollbar-width: none;
|
|
34
|
+
}
|
|
35
|
+
` })] }));
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=ReelsContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReelsContainer.js","sourceRoot":"","sources":["../../../../../src/components/modules/posts/reels/ReelsContainer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AAOrD,MAAM,UAAU,cAAc,CAAC,EAAE,KAAK,EAAE,aAAa,EAAuB;IAC1E,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,eAAe,GAAG;YACtB,IAAI,EAAE,YAAY,CAAC,OAAO;YAC1B,SAAS,EAAE,GAAG,EAAE,8CAA8C;SAC/D,CAAC;QAEF,MAAM,kBAAkB,GAAG,CAAC,OAAoC,EAAE,EAAE;YAClE,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;oBACzB,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;oBACrD,IAAI,EAAE;wBAAE,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;QAC/E,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAE1E,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAEhD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,eACE,GAAG,EAAE,YAAY,EACjB,SAAS,EAAC,iFAAiF,aAE1F,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,8BAEgB,IAAI,CAAC,EAAE,EACrB,SAAS,EAAC,+CAA+C,YAEzD,KAAC,QAAQ,OACH,IAAI,EACR,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC,EAAE,GAC9B,IAPG,IAAI,CAAC,EAAE,CAQR,CACP,CAAC,EAEF,gBAAO,GAAG,QAAC,MAAM,kBAAE;;;;;;;;OAQlB,GAAS,IACN,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface PostMedia {
|
|
3
|
+
type: 'image' | 'video';
|
|
4
|
+
url: string;
|
|
5
|
+
}
|
|
6
|
+
interface MediaLightboxProps {
|
|
7
|
+
isOpen: boolean;
|
|
8
|
+
onClose: () => void;
|
|
9
|
+
media: PostMedia[];
|
|
10
|
+
initialIndex?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function MediaLightbox({ isOpen, onClose, media, initialIndex }: MediaLightboxProps): React.ReactPortal | null;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=MediaLightbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaLightbox.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/posts/widgets/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/posts/widgets/MediaLightbox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type 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
|
+
profilePrefix?: string;
|
|
24
|
+
}
|
|
25
|
+
export declare function PostCard({ id, author, content, imageUrl, media, createdAt, stats, hashtags, onTagClick, isPending, likeList, repostList, commentList, repostOf, profilePrefix }: PostCardProps): import("react/jsx-runtime").JSX.Element | null;
|
|
26
|
+
//# sourceMappingURL=PostCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/posts/widgets/PostCard.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAMhE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAepC,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;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;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,aAAa,EAAE,EAAE,aAAa,kDA6f9L"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import React, { useState } from 'react';
|
|
4
|
+
import { useRouter } from 'next/navigation';
|
|
5
|
+
import { MediaLightbox } from './MediaLightbox';
|
|
6
|
+
import { RepostModal } from './RepostModal';
|
|
7
|
+
import { PostInteractionsModal } from './PostInteractionsModal';
|
|
8
|
+
import { useAuth } from '../../../../context/AuthContext';
|
|
9
|
+
import { useSocket } from '../../../../context/SocketContext';
|
|
10
|
+
import { RollingNumber } from '../../../RollingNumber';
|
|
11
|
+
import { useArmoyu } from '../../../../context/ArmoyuContext';
|
|
12
|
+
export function PostCard({ id, author, content, imageUrl, media, createdAt, stats, hashtags, onTagClick, isPending, likeList, repostList, commentList, repostOf, profilePrefix }) {
|
|
13
|
+
const { user } = useAuth(); // Oturum bilgisini çek
|
|
14
|
+
const { emit } = useSocket();
|
|
15
|
+
const { navigation } = useArmoyu();
|
|
16
|
+
const [isMenuOpen, setIsMenuOpen] = useState(false);
|
|
17
|
+
const router = useRouter();
|
|
18
|
+
const [lightboxIndex, setLightboxIndex] = useState(null);
|
|
19
|
+
if (!author)
|
|
20
|
+
return null;
|
|
21
|
+
// Repost Edilen Gönderinin Medyası
|
|
22
|
+
const repostMedia = repostOf?.media || (repostOf?.imageUrl ? [{ type: 'image', url: repostOf.imageUrl }] : []);
|
|
23
|
+
const displayMedia = media
|
|
24
|
+
? media
|
|
25
|
+
: (imageUrl ? [{ type: 'image', url: imageUrl }] : []);
|
|
26
|
+
// Interaction States
|
|
27
|
+
const [isLiked, setIsLiked] = React.useState(false);
|
|
28
|
+
const [likeCount, setLikeCount] = React.useState(stats.likes);
|
|
29
|
+
// Props değiştikçe local state'i güncelle (Soket desteği için kritik)
|
|
30
|
+
React.useEffect(() => {
|
|
31
|
+
setLikeCount(stats.likes);
|
|
32
|
+
}, [stats.likes]);
|
|
33
|
+
const [isCommentOpen, setIsCommentOpen] = React.useState(false);
|
|
34
|
+
const [isRepostModalOpen, setIsRepostModalOpen] = useState(false);
|
|
35
|
+
const [isInteractionsModalOpen, setIsInteractionsModalOpen] = useState(false);
|
|
36
|
+
const [interactionsTab, setInteractionsTab] = useState('likes');
|
|
37
|
+
const [commentText, setCommentText] = React.useState('');
|
|
38
|
+
const [commentsList, setCommentsList] = React.useState(commentList || []);
|
|
39
|
+
const [replyingTo, setReplyingTo] = useState(null); // Hangi yoruma yanıt veriliyor
|
|
40
|
+
const handleLike = () => {
|
|
41
|
+
if (isPending)
|
|
42
|
+
return;
|
|
43
|
+
const newLiked = !isLiked;
|
|
44
|
+
const newCount = newLiked ? likeCount + 1 : likeCount - 1;
|
|
45
|
+
setIsLiked(newLiked);
|
|
46
|
+
setLikeCount(newCount);
|
|
47
|
+
// Emit live update
|
|
48
|
+
emit('post_like', {
|
|
49
|
+
postId: id,
|
|
50
|
+
userId: user?.id,
|
|
51
|
+
isLiked: newLiked,
|
|
52
|
+
newCount: newCount
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
const handleCommentSubmit = () => {
|
|
56
|
+
if (!commentText.trim())
|
|
57
|
+
return;
|
|
58
|
+
const dynamicAuthorName = user?.displayName?.split(' ')[0] || 'Kullanıcı';
|
|
59
|
+
if (replyingTo) {
|
|
60
|
+
// Yanıtı Ana Yoruma Ekle
|
|
61
|
+
setCommentsList(prev => prev.map(c => {
|
|
62
|
+
if (c.id === replyingTo) {
|
|
63
|
+
return {
|
|
64
|
+
...c,
|
|
65
|
+
replies: [...(c.replies || []), {
|
|
66
|
+
id: Date.now().toString(),
|
|
67
|
+
author: dynamicAuthorName,
|
|
68
|
+
text: commentText,
|
|
69
|
+
date: 'Şimdi'
|
|
70
|
+
}]
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
return c;
|
|
74
|
+
}));
|
|
75
|
+
setReplyingTo(null);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
// Normal Ana Yorum Ekle
|
|
79
|
+
setCommentsList(prev => [...prev, {
|
|
80
|
+
id: Date.now().toString(),
|
|
81
|
+
author: dynamicAuthorName,
|
|
82
|
+
text: commentText,
|
|
83
|
+
date: 'Şimdi',
|
|
84
|
+
replies: []
|
|
85
|
+
}]);
|
|
86
|
+
}
|
|
87
|
+
setCommentText('');
|
|
88
|
+
};
|
|
89
|
+
const finalProfilePrefix = profilePrefix || navigation.profilePrefix;
|
|
90
|
+
const goToProfile = () => {
|
|
91
|
+
router.push(`${finalProfilePrefix}/${author.username}`);
|
|
92
|
+
};
|
|
93
|
+
return (_jsxs("div", { className: `w-full bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl overflow-hidden shadow-sm hover:shadow-md transition-all duration-300 relative ${isPending ? 'opacity-70 pointer-events-none' : ''}`, children: [isPending && (_jsxs("div", { className: "absolute top-4 right-4 z-30 bg-blue-600/90 backdrop-blur-md px-4 py-1.5 rounded-full border border-white/20 shadow-xl flex items-center gap-2 animate-pulse", children: [_jsx("div", { className: "w-2.5 h-2.5 border-2 border-white/20 border-t-white rounded-full animate-spin" }), _jsx("span", { className: "text-[10px] font-black text-white uppercase tracking-widest", children: "G\u00F6nderiliyor..." })] })), _jsxs("div", { className: "p-5 flex items-start gap-4", children: [_jsx("img", { src: author.avatar, alt: author.displayName, className: "w-12 h-12 rounded-full border-2 border-transparent hover:border-blue-500 transition-colors shadow-sm bg-black/5 dark:bg-white/5 object-cover cursor-pointer", onClick: goToProfile, title: "Profile Git" }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-1.5 flex-wrap", children: [_jsx("h3", { className: "font-bold text-armoyu-text truncate max-w-[200px] cursor-pointer hover:text-blue-500 transition-colors", onClick: goToProfile, title: "Profile Git", children: author.displayName }), author.verified && (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", className: "text-blue-500", children: _jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }) })), author.role?.name && (_jsx("span", { style: {
|
|
94
|
+
backgroundColor: `${author.role.color}15`,
|
|
95
|
+
color: author.role.color,
|
|
96
|
+
borderColor: `${author.role.color}40`
|
|
97
|
+
}, className: "text-[10px] font-bold px-2 py-0.5 rounded-md uppercase tracking-wider border", children: author.role.name }))] }), _jsxs("div", { className: "relative flex items-center gap-1", children: [user?.username === author.username && (_jsx("button", { className: "text-armoyu-text-muted hover:text-blue-500 p-1.5 transition-colors bg-blue-500/5 rounded-lg border border-blue-500/10", title: "D\u00FCzenle", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z" }) }) })), _jsx("button", { onClick: () => setIsMenuOpen(!isMenuOpen), className: "text-armoyu-text-muted hover:text-blue-500 p-1 transition-colors", title: "Se\u00E7enekler", 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: "1" }), _jsx("circle", { cx: "19", cy: "12", r: "1" }), _jsx("circle", { cx: "5", cy: "12", r: "1" })] }) }), isMenuOpen && (_jsxs(_Fragment, { children: [_jsx("div", { className: "fixed inset-0 z-40", onClick: () => setIsMenuOpen(false) }), _jsxs("div", { className: "absolute right-0 mt-1 w-56 bg-armoyu-drawer-bg border border-gray-200 dark:border-white/10 rounded-xl shadow-xl z-50 py-1.5 animate-in fade-in zoom-in-95 duration-200", children: [user?.username === author.username && (_jsxs("button", { onClick: () => setIsMenuOpen(false), className: "w-full text-left px-4 py-2.5 text-sm font-bold text-blue-500 hover:bg-blue-500/10 transition-colors flex items-center gap-3", children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" }), _jsx("path", { d: "M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" })] }), "G\u00F6nderiyi D\u00FCzenle"] })), _jsxs("button", { onClick: () => setIsMenuOpen(false), className: "w-full text-left px-4 py-2.5 text-sm font-medium text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5 transition-colors flex items-center gap-3", children: [_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z" }) }), "G\u00F6nderiyi Kaydet"] }), _jsxs("button", { onClick: () => setIsMenuOpen(false), className: "w-full text-left px-4 py-2.5 text-sm font-bold text-red-600 dark:text-red-500 hover:bg-red-50 dark:hover:bg-red-500/10 transition-colors flex items-center gap-3 border-t border-gray-100 dark:border-white/5 mt-1 pt-2.5", children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z" }), _jsx("line", { x1: "4", y1: "22", x2: "4", y2: "15" })] }), "G\u00F6nderiyi \u015Eikayet Et"] })] })] }))] })] }), _jsxs("div", { className: "flex items-center gap-2 text-xs font-medium text-armoyu-text-muted mt-0.5", children: [_jsxs("span", { className: "text-blue-600 dark:text-blue-400 font-bold cursor-pointer hover:underline", onClick: goToProfile, children: ["@", author.username] }), _jsx("span", { children: "\u2022" }), _jsx("span", { children: createdAt })] })] })] }), _jsxs("div", { className: "px-5 pb-3", children: [_jsx("p", { className: "text-sm md:text-base text-armoyu-text leading-relaxed whitespace-pre-wrap font-medium", children: content.split(/(\s+)/).map((part, i) => {
|
|
98
|
+
if (part.startsWith('#')) {
|
|
99
|
+
return (_jsx("button", { onClick: (e) => {
|
|
100
|
+
e.stopPropagation();
|
|
101
|
+
onTagClick?.(part);
|
|
102
|
+
}, className: "text-blue-500 hover:underline inline-block font-bold", children: part }, i));
|
|
103
|
+
}
|
|
104
|
+
return part;
|
|
105
|
+
}) }), repostOf && (_jsxs("div", { className: "mt-4 rounded-2xl border border-black/10 dark:border-white/10 overflow-hidden bg-black/5 dark:bg-black/20 hover:border-blue-500/30 transition-all cursor-pointer group/repost", onClick: (e) => {
|
|
106
|
+
e.stopPropagation();
|
|
107
|
+
router.push(`/?post=${repostOf.id}`);
|
|
108
|
+
}, children: [_jsxs("div", { className: "p-3 flex items-center gap-2 border-b border-black/5 dark:border-white/5", children: [_jsx("img", { src: repostOf.author?.avatar, className: "w-5 h-5 rounded-full object-cover", alt: "" }), _jsx("span", { className: "text-[11px] font-black text-armoyu-text uppercase tracking-tight", children: repostOf.author?.displayName }), _jsxs("span", { className: "text-[10px] font-bold text-armoyu-text-muted opacity-60", children: ["@", repostOf.author?.username] }), _jsx("span", { className: "text-[10px] text-armoyu-text-muted ml-auto", children: repostOf.createdAt })] }), _jsxs("div", { className: "p-4 pt-3", children: [_jsx("p", { className: "text-xs text-armoyu-text-muted line-clamp-3 leading-relaxed", children: repostOf.content }), repostMedia.length > 0 && (_jsx("div", { className: "mt-3 rounded-xl overflow-hidden grid grid-cols-2 gap-1 aspect-[21/9]", children: repostMedia.slice(0, 4).map((m, i) => (_jsxs("div", { className: `relative ${repostMedia.length === 1 ? 'col-span-2' : ''}`, children: [_jsx("img", { src: m.url, className: "w-full h-full object-cover brightness-95 group-hover/repost:scale-105 transition-transform duration-700", alt: "" }), m.type === 'video' && (_jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black/20", children: _jsx("div", { className: "w-6 h-6 rounded-full bg-white/20 backdrop-blur-sm flex items-center justify-center text-white", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "12", height: "12", viewBox: "0 0 24 24", fill: "currentColor", children: _jsx("polygon", { points: "5 3 19 12 5 21 5 3" }) }) }) }))] }, i))) }))] })] }))] }), displayMedia.length > 0 && (_jsx("div", { className: "px-5 pb-5", children: _jsx("div", { className: `grid gap-1.5 overflow-hidden rounded-2xl border border-black/5 dark:border-white/10 shadow-sm ${displayMedia.length === 1 ? 'grid-cols-1' : displayMedia.length === 2 ? 'grid-cols-2 aspect-[16/9]' : displayMedia.length === 3 ? 'grid-cols-2 aspect-[16/9]' : 'grid-cols-2 aspect-square md:aspect-[16/9]'}`, children: displayMedia.slice(0, 4).map((m, idx) => (_jsxs("div", { className: `relative cursor-pointer group bg-black/5 dark:bg-white/5 ${displayMedia.length === 3 && idx === 0 ? 'row-span-2' : ''}`, onClick: () => setLightboxIndex(idx), children: [m.type === 'video' ? (
|
|
109
|
+
// eslint-disable-next-line jsx-a11y/media-has-caption
|
|
110
|
+
_jsx("video", { src: m.url, className: "w-full h-full object-cover" })) : (_jsx("img", { src: m.url, alt: "Medya", className: "w-full h-full object-cover group-hover:scale-[1.03] transition-transform duration-500" })), m.type === 'video' && (_jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black/20 group-hover:bg-black/40 transition-colors z-10", children: _jsx("div", { className: "w-12 h-12 rounded-full bg-white/20 backdrop-blur-md flex items-center justify-center text-white border border-white/30 shadow-lg", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "currentColor", stroke: "none", children: _jsx("polygon", { points: "5 3 19 12 5 21 5 3" }) }) }) })), displayMedia.length > 4 && idx === 3 && (_jsxs("div", { className: "absolute inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center text-white font-black text-2xl md:text-3xl z-20", children: ["+", displayMedia.length - 4] }))] }, idx))) }) })), likeList && likeList.length > 0 && (_jsxs("div", { className: "px-6 py-2 flex items-center gap-2.5 bg-black/5 dark:bg-white/2 border-y border-armoyu-card-border/50 transition-all hover:bg-black/10 dark:hover:bg-white/5 cursor-pointer", onClick: () => { setInteractionsTab('likes'); setIsInteractionsModalOpen(true); }, children: [_jsx("div", { className: "flex -space-x-2.5 overflow-hidden", children: likeList.slice(0, 3).map((l, i) => (_jsx("img", { src: l.avatar, alt: l.displayName, className: "inline-block h-6 w-6 rounded-full ring-2 ring-armoyu-card-bg bg-armoyu-card-bg object-cover shadow-sm transition-transform hover:scale-110 hover:z-10", title: l.displayName }, i))) }), _jsx("div", { className: "text-[11px] font-bold text-armoyu-text-muted flex items-center gap-1", children: likeCount > 0 && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-armoyu-text", children: likeList[0].displayName }), likeCount > 1 && (_jsxs(_Fragment, { children: [_jsx("span", { children: "ve" }), _jsxs("span", { className: "text-armoyu-text", children: [likeCount - 1, " di\u011Fer ki\u015Fi"] })] })), _jsx("span", { children: "be\u011Fendi" })] })) })] })), _jsxs("div", { className: "px-5 py-3.5 border-t border-armoyu-card-border flex justify-between items-center bg-black/5 dark:bg-white/5", children: [_jsxs("div", { className: "flex gap-6", children: [_jsxs("div", { className: "flex items-center", children: [_jsx("button", { onClick: handleLike, className: `flex items-center gap-2 text-sm font-bold transition-colors group ${isLiked ? 'text-blue-500' : 'text-armoyu-text-muted hover:text-blue-500'}`, children: _jsx("div", { className: `p-1.5 rounded-full transition-colors ${isLiked ? 'bg-blue-500/10' : 'group-hover:bg-blue-500/10'}`, children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: isLiked ? "currentColor" : "none", stroke: "currentColor", strokeWidth: "2", className: "group-hover:-translate-y-0.5 transition-transform", children: _jsx("path", { d: "M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3" }) }) }) }), likeCount > 0 && (_jsx("button", { onClick: () => { setInteractionsTab('likes'); setIsInteractionsModalOpen(true); }, className: "text-sm font-black text-armoyu-text-muted hover:text-blue-500 transition-colors ml-1 px-1", children: _jsx(RollingNumber, { value: likeCount }) }))] }), _jsxs("button", { onClick: () => setIsCommentOpen(!isCommentOpen), className: `flex items-center gap-2 text-sm font-bold transition-colors group ${isCommentOpen ? 'text-emerald-500' : 'text-armoyu-text-muted hover:text-emerald-500'}`, title: "Yorum Yap", children: [_jsx("div", { className: `p-1.5 rounded-full transition-colors ${isCommentOpen ? 'bg-emerald-500/10' : 'group-hover:bg-emerald-500/10'}`, children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", className: "group-hover:-translate-y-0.5 transition-transform", children: _jsx("path", { d: "M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z" }) }) }), (stats.comments + commentsList.length + commentsList.reduce((acc, c) => acc + (c.replies?.length || 0), 0)) > 0 &&
|
|
111
|
+
(stats.comments + commentsList.length + commentsList.reduce((acc, c) => acc + (c.replies?.length || 0), 0))] }), _jsxs("div", { className: "flex items-center", children: [_jsx("button", { onClick: () => setIsRepostModalOpen(true), className: "flex items-center gap-2 text-sm font-bold text-armoyu-text-muted hover:text-green-500 transition-colors group", title: "Yeniden Payla\u015F (Retweet)", children: _jsx("div", { className: "p-1.5 rounded-full group-hover:bg-green-500/10 transition-colors", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "group-hover:-translate-y-0.5 transition-transform", children: [_jsx("polyline", { points: "17 1 21 5 17 9" }), _jsx("path", { d: "M3 11V9a4 4 0 0 1 4-4h14" }), _jsx("polyline", { points: "7 23 3 19 7 15" }), _jsx("path", { d: "M21 13v2a4 4 0 0 1-4 4H3" })] }) }) }), stats.reposts && stats.reposts > 0 && (_jsx("button", { onClick: () => { setInteractionsTab('reposts'); setIsInteractionsModalOpen(true); }, className: "text-sm font-black text-armoyu-text-muted hover:text-green-500 transition-colors ml-1 px-1", children: stats.reposts }))] })] }), _jsx("button", { className: "flex items-center gap-2 text-sm font-bold text-armoyu-text-muted hover:text-purple-500 transition-colors group", children: _jsx("div", { className: "p-1.5 rounded-full group-hover:bg-purple-500/10 transition-colors", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", className: "group-hover:-translate-y-0.5 transition-transform", children: [_jsx("circle", { cx: "18", cy: "5", r: "3" }), _jsx("circle", { cx: "6", cy: "12", r: "3" }), _jsx("circle", { cx: "18", cy: "19", r: "3" }), _jsx("line", { x1: "8.59", y1: "13.51", x2: "15.42", y2: "17.49" }), _jsx("line", { x1: "15.41", y1: "6.51", x2: "8.59", y2: "10.49" })] }) }) })] }), isCommentOpen && (_jsxs("div", { className: "bg-black/5 dark:bg-white/5 border-t border-armoyu-card-border p-4 animate-in fade-in slide-in-from-top-2 duration-200", children: [replyingTo && (_jsxs("div", { className: "flex justify-between items-center mb-2.5 px-2", children: [_jsxs("span", { className: "text-xs font-bold text-blue-500 flex items-center gap-1.5", children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("polyline", { points: "15 10 20 15 15 20" }), _jsx("path", { d: "M4 4v7a4 4 0 0 0 4 4h12" })] }), _jsx("span", { className: "text-armoyu-text-muted", children: "Yan\u0131tlan\u0131yor:" }), " @", (() => {
|
|
112
|
+
const author = commentsList.find(c => c.id === replyingTo)?.author;
|
|
113
|
+
return typeof author === 'string' ? author : author?.displayName;
|
|
114
|
+
})()] }), _jsx("button", { onClick: () => setReplyingTo(null), className: "text-[11px] font-black uppercase tracking-wider text-armoyu-text-muted hover:text-red-500 transition-colors bg-black/5 dark:bg-white/5 px-2 py-1 rounded-md", children: "\u0130ptal Et" })] })), _jsxs("div", { className: "flex gap-3 mb-2 animate-in fade-in zoom-in-95 duration-300", children: [_jsx("img", { src: user?.avatar || "https://api.dicebear.com/7.x/avataaars/svg?seed=Berkay", alt: "Sen", className: "w-9 h-9 rounded-full bg-white/5 border border-white/10 shrink-0 shadow-sm object-cover" }), _jsxs("div", { className: "flex-1 flex items-center bg-black/5 dark:bg-white/5 border border-gray-200 dark:border-white/10 rounded-2xl px-3 py-1.5 shadow-sm focus-within:border-blue-500 focus-within:ring-1 focus-within:ring-blue-500 transition-all", children: [_jsx("input", { type: "text", value: commentText, onChange: (e) => setCommentText(e.target.value), onKeyDown: (e) => e.key === 'Enter' && handleCommentSubmit(), placeholder: replyingTo ? "Yanıtını yaz..." : "Fikrini paylaş...", className: "flex-1 bg-transparent border-none outline-none text-sm text-armoyu-text placeholder:text-armoyu-text-muted font-medium" }), _jsx("button", { onClick: handleCommentSubmit, disabled: !commentText.trim(), className: "p-2 ml-2 text-blue-500 disabled:text-gray-400 dark:disabled:text-gray-600 disabled:cursor-not-allowed hover:bg-blue-500/10 rounded-xl transition-colors shrink-0", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "22", y1: "2", x2: "11", y2: "13" }), _jsx("polygon", { points: "22 2 15 22 11 13 2 9 22 2" })] }) })] })] }), commentsList.length > 0 && (_jsx("div", { className: "space-y-4 mt-5 px-1", children: commentsList.map((c) => (_jsxs("div", { className: "animate-in fade-in slide-in-from-left-2 zoom-in-95 duration-500", children: [_jsxs("div", { className: "flex gap-3", children: [_jsx("img", { src: `https://api.dicebear.com/7.x/avataaars/svg?seed=${typeof c.author === 'string' ? c.author : c.author?.displayName}`, alt: typeof c.author === 'string' ? c.author : c.author?.displayName, className: "w-8 h-8 rounded-full bg-white/5 border border-black/10 dark:border-white/10 shrink-0 mt-1 shadow-sm" }), _jsxs("div", { className: "flex-1", children: [_jsxs("div", { className: "bg-armoyu-drawer-bg border border-gray-200 dark:border-white/5 rounded-2xl rounded-tl-sm px-4 py-2 shadow-sm inline-block min-w-[30%]", children: [_jsx("div", { className: "text-xs font-black text-armoyu-text mb-0.5", children: typeof c.author === 'string' ? c.author : c.author?.displayName }), _jsx("div", { className: "text-sm font-medium text-armoyu-text-muted", children: c.text || c.content })] }), _jsxs("div", { className: "flex items-center gap-4 mt-1.5 ml-2 text-[11px] font-bold text-armoyu-text-muted", children: [_jsx("span", { className: "hover:text-blue-500 cursor-pointer transition-colors", children: "Be\u011Fen" }), _jsx("span", { onClick: () => { setReplyingTo(c.id); setCommentText(''); }, className: "hover:text-blue-500 cursor-pointer transition-colors", children: "Yan\u0131tla" }), _jsx("span", { className: "opacity-50", children: c.date || c.createdAt })] })] })] }), c.replies && c.replies.length > 0 && (_jsx("div", { className: "mt-3 ml-11 space-y-3 border-l-2 border-black/10 dark:border-white/10 pl-4", children: c.replies.map(r => (_jsxs("div", { className: "flex gap-2.5 animate-in fade-in slide-in-from-left-2 duration-300", children: [_jsx("img", { src: `https://api.dicebear.com/7.x/avataaars/svg?seed=${typeof r.author === 'string' ? r.author : r.author?.displayName}`, alt: typeof r.author === 'string' ? r.author : r.author?.displayName, className: "w-6 h-6 rounded-full bg-white/5 border border-black/10 dark:border-white/10 shrink-0 mt-0.5 shadow-sm relative -left-[27px] ring-4 ring-black/5 dark:ring-[#0a0a0e]/60" }), _jsxs("div", { className: "flex-1 -ml-[18px]", children: [_jsxs("div", { className: "bg-armoyu-drawer-bg border border-gray-200 dark:border-white/5 rounded-2xl rounded-tl-sm px-3.5 py-1.5 shadow-sm inline-block", children: [_jsx("span", { className: "text-xs font-black text-armoyu-text mr-2", children: typeof r.author === 'string' ? r.author : r.author?.displayName }), _jsx("span", { className: "text-[13px] font-medium text-armoyu-text-muted", children: r.text || r.content })] }), _jsxs("div", { className: "flex items-center gap-4 mt-1 ml-2 text-[10px] font-bold text-armoyu-text-muted", children: [_jsx("span", { className: "hover:text-blue-500 cursor-pointer transition-colors", children: "Be\u011Fen" }), _jsx("span", { onClick: () => { setReplyingTo(c.id); setCommentText(''); }, className: "hover:text-blue-500 cursor-pointer transition-colors", children: "Yan\u0131tla" }), _jsx("span", { className: "opacity-50", children: r.date || r.createdAt })] })] })] }, r.id))) }))] }, c.id))) }))] })), _jsx(RepostModal, { isOpen: isRepostModalOpen, onClose: () => setIsRepostModalOpen(false), post: { id, author, content, media, createdAt, stats } }), _jsx(PostInteractionsModal, { isOpen: isInteractionsModalOpen, onClose: () => setIsInteractionsModalOpen(false), title: interactionsTab === 'likes' ? 'Beğenenler' : 'Paylaşanlar', likes: likeList, reposts: repostList, defaultTab: interactionsTab }), lightboxIndex !== null && (_jsx(MediaLightbox, { isOpen: lightboxIndex !== null, onClose: () => setLightboxIndex(null), media: displayMedia, initialIndex: lightboxIndex }))] }));
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=PostCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostCard.js","sourceRoot":"","sources":["../../../../../src/components/modules/posts/widgets/PostCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { User } from '@armoyu/core';
|
|
2
|
+
interface PostInteractionsModalProps {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
title?: string;
|
|
6
|
+
likes?: User[];
|
|
7
|
+
reposts?: User[];
|
|
8
|
+
defaultTab?: 'likes' | 'reposts';
|
|
9
|
+
}
|
|
10
|
+
export declare function PostInteractionsModal({ isOpen, onClose, title, likes, reposts, defaultTab }: PostInteractionsModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=PostInteractionsModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostInteractionsModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/posts/widgets/PostInteractionsModal.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,UAAU,0BAA0B;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAClC;AAED,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,OAAO,EACP,KAAsB,EACtB,KAAU,EACV,OAAY,EACZ,UAAoB,EACrB,EAAE,0BAA0B,kDAiH5B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { X, Heart, Repeat, User as UserIcon, ChevronRight } from 'lucide-react';
|
|
5
|
+
import Link from 'next/link';
|
|
6
|
+
export function PostInteractionsModal({ isOpen, onClose, title = 'Etkileşimler', likes = [], reposts = [], defaultTab = 'likes' }) {
|
|
7
|
+
const [activeTab, setActiveTab] = React.useState(defaultTab);
|
|
8
|
+
if (!isOpen)
|
|
9
|
+
return null;
|
|
10
|
+
const currentList = activeTab === 'likes' ? likes : reposts;
|
|
11
|
+
return (_jsxs("div", { className: "fixed inset-0 z-[100] flex items-center justify-center p-4 md:p-6", children: [_jsx("div", { className: "absolute inset-0 bg-black/60 backdrop-blur-md animate-in fade-in duration-300", onClick: onClose }), _jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-[40px] w-full max-w-md relative z-10 shadow-2xl flex flex-col max-h-[80vh] overflow-hidden animate-in zoom-in-95 duration-300", children: [_jsxs("div", { className: "p-6 border-b border-armoyu-card-border flex items-center justify-between bg-black/5", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "w-10 h-10 rounded-2xl bg-blue-600/10 flex items-center justify-center text-blue-500", children: activeTab === 'likes' ? _jsx(Heart, { size: 20, fill: "currentColor" }) : _jsx(Repeat, { size: 20 }) }), _jsxs("div", { children: [_jsx("h3", { className: "text-lg font-black text-armoyu-text uppercase italic tracking-tighter leading-none", children: title }), _jsxs("p", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest mt-1", children: [currentList.length, " Ki\u015Fi Listeleniyor"] })] })] }), _jsx("button", { onClick: onClose, className: "p-2 text-armoyu-text-muted hover:text-armoyu-text bg-black/10 hover:bg-black/20 rounded-xl transition-all", children: _jsx(X, { size: 20 }) })] }), _jsxs("div", { className: "flex border-b border-armoyu-card-border bg-black/5 px-2", children: [_jsxs("button", { onClick: () => setActiveTab('likes'), className: `flex-1 py-4 text-xs font-black uppercase tracking-widest transition-all relative ${activeTab === 'likes' ? 'text-blue-500' : 'text-armoyu-text-muted hover:text-armoyu-text'}`, children: ["Be\u011Feniler", activeTab === 'likes' && _jsx("div", { className: "absolute bottom-0 left-4 right-4 h-0.5 bg-blue-500 rounded-full" })] }), _jsxs("button", { onClick: () => setActiveTab('reposts'), className: `flex-1 py-4 text-xs font-black uppercase tracking-widest transition-all relative ${activeTab === 'reposts' ? 'text-green-500' : 'text-armoyu-text-muted hover:text-armoyu-text'}`, children: ["Yeniden Payla\u015F\u0131mlar", activeTab === 'reposts' && _jsx("div", { className: "absolute bottom-0 left-4 right-4 h-0.5 bg-green-500 rounded-full" })] })] }), _jsx("div", { className: "flex-1 overflow-y-auto p-4 custom-scrollbar", children: currentList.length > 0 ? (_jsx("div", { className: "space-y-2", children: currentList.map((user, idx) => (_jsxs(Link, { href: user.getProfileUrl(), onClick: onClose, className: "flex items-center gap-4 p-3 rounded-2xl hover:bg-black/5 dark:hover:bg-white/5 transition-all group border border-transparent hover:border-armoyu-card-border", children: [_jsxs("div", { className: "relative shrink-0", children: [_jsx("img", { src: user.avatar, className: "w-11 h-11 rounded-2xl object-cover ring-2 ring-transparent group-hover:ring-blue-500/30 transition-all font-bold", alt: "" }), user.verified && (_jsx("div", { className: "absolute -bottom-1 -right-1 bg-blue-500 text-white p-0.5 rounded-lg border-2 border-armoyu-card-bg shadow-sm", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "8", height: "8", viewBox: "0 0 24 24", fill: "currentColor", children: _jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }) }) }))] }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("div", { className: "text-sm font-black text-armoyu-text uppercase italic tracking-tighter truncate", children: user.displayName }), _jsxs("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest leading-none", children: ["@", user.username] })] }), _jsx(ChevronRight, { size: 16, className: "text-armoyu-text-muted opacity-0 group-hover:opacity-100 -translate-x-2 group-hover:translate-x-0 transition-all" })] }, user.id || idx))) })) : (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 text-center opacity-40", children: [_jsx("div", { className: "w-16 h-16 rounded-full bg-black/10 flex items-center justify-center mb-4", children: _jsx(UserIcon, { size: 32 }) }), _jsx("h4", { className: "text-sm font-black uppercase italic tracking-widest", children: "Hen\u00FCz Kimse Yok" }), _jsx("p", { className: "text-[10px] font-medium uppercase mt-2", children: "Bu payla\u015F\u0131m hen\u00FCz etkile\u015Fim almam\u0131\u015F." })] })) }), _jsx("div", { className: "p-4 border-t border-armoyu-card-border bg-black/5 text-center", children: _jsx("button", { onClick: onClose, className: "text-[10px] font-black text-armoyu-text-muted hover:text-armoyu-text uppercase tracking-widest transition-all", children: "Kapat" }) })] })] }));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=PostInteractionsModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostInteractionsModal.js","sourceRoot":"","sources":["../../../../../src/components/modules/posts/widgets/PostInteractionsModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { User } from '@armoyu/core';
|
|
2
|
+
import { PostMedia } from './MediaLightbox';
|
|
3
|
+
interface RepostModalProps {
|
|
4
|
+
isOpen: boolean;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
post: {
|
|
7
|
+
id: string;
|
|
8
|
+
author: User;
|
|
9
|
+
content: string;
|
|
10
|
+
media?: PostMedia[];
|
|
11
|
+
createdAt: string;
|
|
12
|
+
stats?: {
|
|
13
|
+
likes: number;
|
|
14
|
+
comments: number;
|
|
15
|
+
reposts?: number;
|
|
16
|
+
shares: number;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export declare function RepostModal({ isOpen, onClose, post }: RepostModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=RepostModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RepostModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/posts/widgets/RepostModal.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,UAAU,gBAAgB;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,IAAI,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE;YACN,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC;YACjB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;CACH;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,gBAAgB,kDA2ItE"}
|