@armoyu/ui 1.1.42 → 1.2.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/components/modules/auth/widgets/LoginWidget.d.ts.map +1 -1
- package/dist/components/modules/auth/widgets/LoginWidget.js +5 -2
- package/dist/components/modules/auth/widgets/LoginWidget.js.map +1 -1
- package/dist/components/modules/chat/ChatLayout.d.ts.map +1 -1
- package/dist/components/modules/chat/ChatLayout.js +14 -8
- package/dist/components/modules/chat/ChatLayout.js.map +1 -1
- package/dist/components/modules/chat/widgets/ChatInput.d.ts.map +1 -1
- package/dist/components/modules/chat/widgets/ChatInput.js +1 -2
- package/dist/components/modules/chat/widgets/ChatInput.js.map +1 -1
- package/dist/components/modules/chat/widgets/ChatList.d.ts.map +1 -1
- package/dist/components/modules/chat/widgets/ChatList.js +4 -3
- package/dist/components/modules/chat/widgets/ChatList.js.map +1 -1
- package/dist/components/modules/cloud/CloudModal.d.ts +2 -0
- package/dist/components/modules/cloud/CloudModal.d.ts.map +1 -1
- package/dist/components/modules/cloud/CloudModal.js +65 -8
- package/dist/components/modules/cloud/CloudModal.js.map +1 -1
- package/dist/components/modules/cloud/CloudWidget.d.ts +1 -1
- package/dist/components/modules/cloud/CloudWidget.d.ts.map +1 -1
- package/dist/components/modules/cloud/CloudWidget.js +8 -1
- package/dist/components/modules/cloud/CloudWidget.js.map +1 -1
- package/dist/components/modules/cloud/useCloudUsage.d.ts +13 -0
- package/dist/components/modules/cloud/useCloudUsage.d.ts.map +1 -0
- package/dist/components/modules/cloud/useCloudUsage.js +23 -0
- package/dist/components/modules/cloud/useCloudUsage.js.map +1 -0
- package/dist/components/modules/community/CommunityLayout.js +3 -3
- package/dist/components/modules/community/CommunityLayout.js.map +1 -1
- package/dist/components/modules/community/widgets/SurveyCard.d.ts +1 -1
- package/dist/components/modules/community/widgets/SurveyCard.d.ts.map +1 -1
- package/dist/components/modules/community/widgets/SurveyCard.js +8 -4
- package/dist/components/modules/community/widgets/SurveyCard.js.map +1 -1
- package/dist/components/modules/forum/pages/ForumBoardPage.d.ts.map +1 -1
- package/dist/components/modules/forum/pages/ForumBoardPage.js +23 -4
- package/dist/components/modules/forum/pages/ForumBoardPage.js.map +1 -1
- package/dist/components/modules/forum/pages/ForumPage.d.ts.map +1 -1
- package/dist/components/modules/forum/pages/ForumPage.js +15 -2
- package/dist/components/modules/forum/pages/ForumPage.js.map +1 -1
- package/dist/components/modules/forum/pages/ForumTopicPage.d.ts.map +1 -1
- package/dist/components/modules/forum/pages/ForumTopicPage.js +48 -6
- package/dist/components/modules/forum/pages/ForumTopicPage.js.map +1 -1
- package/dist/components/modules/forum/widgets/NewTopicModal.d.ts +10 -1
- package/dist/components/modules/forum/widgets/NewTopicModal.d.ts.map +1 -1
- package/dist/components/modules/forum/widgets/NewTopicModal.js +46 -3
- package/dist/components/modules/forum/widgets/NewTopicModal.js.map +1 -1
- package/dist/components/modules/giveaways/pages/GiveawayDetailPage.d.ts.map +1 -1
- package/dist/components/modules/giveaways/pages/GiveawayDetailPage.js +39 -4
- package/dist/components/modules/giveaways/pages/GiveawayDetailPage.js.map +1 -1
- package/dist/components/modules/giveaways/pages/GiveawaysPage.d.ts.map +1 -1
- package/dist/components/modules/giveaways/pages/GiveawaysPage.js +16 -4
- package/dist/components/modules/giveaways/pages/GiveawaysPage.js.map +1 -1
- package/dist/components/modules/giveaways/widgets/GiveawayCard.d.ts +2 -1
- package/dist/components/modules/giveaways/widgets/GiveawayCard.d.ts.map +1 -1
- package/dist/components/modules/giveaways/widgets/GiveawayCard.js +4 -2
- package/dist/components/modules/giveaways/widgets/GiveawayCard.js.map +1 -1
- package/dist/components/modules/groups/widgets/CreateGroupModal.d.ts +2 -1
- package/dist/components/modules/groups/widgets/CreateGroupModal.d.ts.map +1 -1
- package/dist/components/modules/groups/widgets/CreateGroupModal.js +7 -2
- package/dist/components/modules/groups/widgets/CreateGroupModal.js.map +1 -1
- package/dist/components/modules/groups/widgets/GroupCard.js +1 -1
- package/dist/components/modules/groups/widgets/GroupCard.js.map +1 -1
- package/dist/components/modules/news/widgets/NewsComments.d.ts +3 -2
- package/dist/components/modules/news/widgets/NewsComments.d.ts.map +1 -1
- package/dist/components/modules/news/widgets/NewsComments.js +7 -5
- package/dist/components/modules/news/widgets/NewsComments.js.map +1 -1
- package/dist/components/modules/poll/pages/PollsPage.d.ts.map +1 -1
- package/dist/components/modules/poll/pages/PollsPage.js +9 -5
- package/dist/components/modules/poll/pages/PollsPage.js.map +1 -1
- package/dist/components/modules/posts/widgets/PostCard.js +7 -7
- package/dist/components/modules/posts/widgets/PostCard.js.map +1 -1
- package/dist/components/modules/posts/widgets/SocialFeed.d.ts.map +1 -1
- package/dist/components/modules/posts/widgets/SocialFeed.js +30 -5
- package/dist/components/modules/posts/widgets/SocialFeed.js.map +1 -1
- package/dist/components/modules/profile/tabs/FriendsTab.js +1 -1
- package/dist/components/modules/profile/tabs/FriendsTab.js.map +1 -1
- package/dist/components/modules/profile/tabs/MediaTab.d.ts +2 -1
- package/dist/components/modules/profile/tabs/MediaTab.d.ts.map +1 -1
- package/dist/components/modules/profile/tabs/MediaTab.js +14 -8
- package/dist/components/modules/profile/tabs/MediaTab.js.map +1 -1
- package/dist/components/modules/profile/tabs/QuestionsTab.d.ts +3 -1
- package/dist/components/modules/profile/tabs/QuestionsTab.d.ts.map +1 -1
- package/dist/components/modules/profile/tabs/QuestionsTab.js +62 -11
- package/dist/components/modules/profile/tabs/QuestionsTab.js.map +1 -1
- package/dist/components/modules/profile/widgets/EditProfileModal.d.ts.map +1 -1
- package/dist/components/modules/profile/widgets/EditProfileModal.js +130 -8
- package/dist/components/modules/profile/widgets/EditProfileModal.js.map +1 -1
- package/dist/components/modules/profile/widgets/EducationEditor.d.ts +6 -0
- package/dist/components/modules/profile/widgets/EducationEditor.d.ts.map +1 -0
- package/dist/components/modules/profile/widgets/EducationEditor.js +55 -0
- package/dist/components/modules/profile/widgets/EducationEditor.js.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileFriendsWidget.d.ts.map +1 -1
- package/dist/components/modules/profile/widgets/ProfileFriendsWidget.js +1 -7
- package/dist/components/modules/profile/widgets/ProfileFriendsWidget.js.map +1 -1
- package/dist/components/modules/profile/widgets/ProfileHeader.d.ts.map +1 -1
- package/dist/components/modules/profile/widgets/ProfileHeader.js +6 -3
- package/dist/components/modules/profile/widgets/ProfileHeader.js.map +1 -1
- package/dist/components/modules/profile/widgets/ProfileInfoWidget.js +1 -1
- package/dist/components/modules/profile/widgets/ProfileInfoWidget.js.map +1 -1
- package/dist/components/modules/profile/widgets/ProfileStats.d.ts +3 -1
- package/dist/components/modules/profile/widgets/ProfileStats.d.ts.map +1 -1
- package/dist/components/modules/profile/widgets/ProfileStats.js +21 -3
- package/dist/components/modules/profile/widgets/ProfileStats.js.map +1 -1
- package/dist/components/modules/profile/widgets/ProfileTabsArea.d.ts.map +1 -1
- package/dist/components/modules/profile/widgets/ProfileTabsArea.js +16 -5
- package/dist/components/modules/profile/widgets/ProfileTabsArea.js.map +1 -1
- package/dist/components/modules/profile/widgets/TeamSelectorModal.d.ts.map +1 -1
- package/dist/components/modules/profile/widgets/TeamSelectorModal.js +18 -4
- package/dist/components/modules/profile/widgets/TeamSelectorModal.js.map +1 -1
- package/dist/components/modules/shop/widgets/StoreProductGrid.d.ts.map +1 -1
- package/dist/components/modules/shop/widgets/StoreProductGrid.js +1 -1
- package/dist/components/modules/shop/widgets/StoreProductGrid.js.map +1 -1
- package/dist/components/modules/social/widgets/RankingWidget.d.ts.map +1 -1
- package/dist/components/modules/social/widgets/RankingWidget.js +5 -18
- package/dist/components/modules/social/widgets/RankingWidget.js.map +1 -1
- package/dist/components/modules/stations/widgets/StationCard.js +3 -3
- package/dist/components/modules/stations/widgets/StationCard.js.map +1 -1
- package/dist/components/modules/stories/widgets/Stories.d.ts.map +1 -1
- package/dist/components/modules/stories/widgets/Stories.js +106 -50
- package/dist/components/modules/stories/widgets/Stories.js.map +1 -1
- package/dist/components/modules/stories/widgets/StoryOverlay.js +6 -6
- package/dist/components/modules/stories/widgets/StoryOverlay.js.map +1 -1
- package/dist/components/shared/Footer.d.ts.map +1 -1
- package/dist/components/shared/Footer.js +25 -5
- package/dist/components/shared/Footer.js.map +1 -1
- package/dist/components/shared/Header.d.ts.map +1 -1
- package/dist/components/shared/Header.js +15 -2
- package/dist/components/shared/Header.js.map +1 -1
- package/dist/components/shared/OfflineNotice.d.ts +6 -0
- package/dist/components/shared/OfflineNotice.d.ts.map +1 -0
- package/dist/components/shared/OfflineNotice.js +11 -0
- package/dist/components/shared/OfflineNotice.js.map +1 -0
- package/dist/components/shared/SearchSpotlight.d.ts.map +1 -1
- package/dist/components/shared/SearchSpotlight.js +13 -7
- package/dist/components/shared/SearchSpotlight.js.map +1 -1
- package/dist/components/shared/Skeleton.d.ts +7 -0
- package/dist/components/shared/Skeleton.d.ts.map +1 -0
- package/dist/components/shared/Skeleton.js +10 -0
- package/dist/components/shared/Skeleton.js.map +1 -0
- package/dist/context/AuthContext.d.ts.map +1 -1
- package/dist/context/AuthContext.js +72 -5
- package/dist/context/AuthContext.js.map +1 -1
- package/dist/context/CartContext.d.ts.map +1 -1
- package/dist/context/CartContext.js +49 -3
- package/dist/context/CartContext.js.map +1 -1
- package/dist/context/ChatContext.d.ts +4 -2
- package/dist/context/ChatContext.d.ts.map +1 -1
- package/dist/context/ChatContext.js +64 -7
- package/dist/context/ChatContext.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/cache.d.ts +23 -0
- package/dist/lib/cache.d.ts.map +1 -0
- package/dist/lib/cache.js +89 -0
- package/dist/lib/cache.js.map +1 -0
- package/dist/lib/cache.test.d.ts +2 -0
- package/dist/lib/cache.test.d.ts.map +1 -0
- package/dist/lib/cache.test.js +56 -0
- package/dist/lib/cache.test.js.map +1 -0
- package/dist/lib/offline.d.ts +8 -0
- package/dist/lib/offline.d.ts.map +1 -0
- package/dist/lib/offline.js +17 -0
- package/dist/lib/offline.js.map +1 -0
- package/dist/lib/phone.d.ts +9 -0
- package/dist/lib/phone.d.ts.map +1 -0
- package/dist/lib/phone.js +30 -0
- package/dist/lib/phone.js.map +1 -0
- package/dist/lib/phone.test.d.ts +2 -0
- package/dist/lib/phone.test.d.ts.map +1 -0
- package/dist/lib/phone.test.js +16 -0
- package/dist/lib/phone.test.js.map +1 -0
- package/dist/models/auth/User.d.ts +9 -0
- package/dist/models/auth/User.d.ts.map +1 -1
- package/dist/models/auth/User.js +11 -5
- package/dist/models/auth/User.js.map +1 -1
- package/dist/models/community/Group.js +1 -1
- package/dist/models/community/Group.js.map +1 -1
- package/dist/models/community/Survey.d.ts.map +1 -1
- package/dist/models/community/Survey.js +4 -3
- package/dist/models/community/Survey.js.map +1 -1
- package/dist/models/content/News.js +1 -1
- package/dist/models/content/News.js.map +1 -1
- package/dist/models/shop/Product.d.ts +1 -0
- package/dist/models/shop/Product.d.ts.map +1 -1
- package/dist/models/shop/Product.js +3 -0
- package/dist/models/shop/Product.js.map +1 -1
- package/dist/models/social/feed/Post.d.ts.map +1 -1
- package/dist/models/social/feed/Post.js +7 -2
- package/dist/models/social/feed/Post.js.map +1 -1
- package/dist/models/social/feed/Story.d.ts.map +1 -1
- package/dist/models/social/feed/Story.js +3 -1
- package/dist/models/social/feed/Story.js.map +1 -1
- package/dist/models/social/feed/StoryAuthor.js +1 -1
- package/dist/models/social/feed/StoryAuthor.js.map +1 -1
- package/package.json +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForumBoardPage.js","sourceRoot":"","sources":["../../../../../src/components/modules/forum/pages/ForumBoardPage.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ForumBoardPage.js","sourceRoot":"","sources":["../../../../../src/components/modules/forum/pages/ForumBoardPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForumPage.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/forum/pages/ForumPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ForumPage.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/forum/pages/ForumPage.tsx"],"names":[],"mappings":"AAWA,wBAAgB,SAAS,4CA+CxB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useState } from 'react';
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { useArmoyu } from '../../../../context/ArmoyuContext';
|
|
4
5
|
import { PageWidth } from '../../../shared/PageWidth';
|
|
5
6
|
import { ForumHeaderWidget } from '../widgets/ForumHeaderWidget';
|
|
6
7
|
import { ForumSidebar } from '../widgets/ForumSidebar';
|
|
@@ -9,6 +10,18 @@ import { NewTopicModal } from '../widgets/NewTopicModal';
|
|
|
9
10
|
import { MOCK_FORUM_CATEGORIES } from '../../../../lib/constants/seedData';
|
|
10
11
|
export function ForumPage() {
|
|
11
12
|
const [isNewTopicModalOpen, setIsNewTopicModalOpen] = useState(false);
|
|
12
|
-
|
|
13
|
+
// shortcut: yayınlanan @armoyu/core tiplerinde bu forum metotları yok; yeni sürüm çıkınca cast kalkacak
|
|
14
|
+
const { api } = useArmoyu();
|
|
15
|
+
const [boards, setBoards] = useState(null);
|
|
16
|
+
const loadBoards = () => {
|
|
17
|
+
api.forum.getCategories().then((response) => {
|
|
18
|
+
if (response.durum === 1 && Array.isArray(response.icerik))
|
|
19
|
+
setBoards(response.icerik);
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
useEffect(loadBoards, [api]);
|
|
23
|
+
// API'ye ulaşılamazsa önizleme verisi gösterilir
|
|
24
|
+
const categories = boards ? [{ title: 'FORUM', boards }] : MOCK_FORUM_CATEGORIES;
|
|
25
|
+
return (_jsxs("div", { className: "pb-20 animate-in fade-in slide-in-from-bottom-8 duration-700", children: [_jsx(PageWidth, { width: "max-w-[1280px]" }), _jsx(NewTopicModal, { isOpen: isNewTopicModalOpen, boards: boards ?? undefined, onCreated: loadBoards, onClose: () => setIsNewTopicModalOpen(false) }), _jsx(ForumHeaderWidget, { onNewTopicClick: () => setIsNewTopicModalOpen(true) }), _jsxs("div", { className: "grid grid-cols-1 xl:grid-cols-4 gap-6", children: [_jsx("div", { className: "xl:col-span-3 space-y-8", children: _jsx(ForumCategoryList, { categories: categories }) }), _jsx("div", { className: "space-y-8 xl:col-span-1", children: _jsx(ForumSidebar, {}) })] })] }));
|
|
13
26
|
}
|
|
14
27
|
//# sourceMappingURL=ForumPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForumPage.js","sourceRoot":"","sources":["../../../../../src/components/modules/forum/pages/ForumPage.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ForumPage.js","sourceRoot":"","sources":["../../../../../src/components/modules/forum/pages/ForumPage.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,MAAM,UAAU,SAAS;IACvB,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtE,wGAAwG;IACxG,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEzD,MAAM,UAAU,GAAG,GAAG,EAAE;QACrB,GAAG,CAAC,KAAa,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,QAAa,EAAE,EAAE;YACxD,IAAI,QAAQ,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,SAAS,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE7B,iDAAiD;IACjD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAEjF,OAAO,CACL,eAAK,SAAS,EAAC,8DAA8D,aAC3E,KAAC,SAAS,IAAC,KAAK,EAAC,gBAAgB,GAAG,EAEpC,KAAC,aAAa,IACZ,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,MAAM,IAAI,SAAS,EAC3B,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAC5C,EAGF,KAAC,iBAAiB,IAAC,eAAe,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAI,EAG1E,eAAK,SAAS,EAAC,uCAAuC,aAGnD,cAAK,SAAS,EAAC,yBAAyB,YACrC,KAAC,iBAAiB,IAAC,UAAU,EAAE,UAAU,GAAI,GAC1C,EAGN,cAAK,SAAS,EAAC,yBAAyB,YACrC,KAAC,YAAY,KAAG,GACb,IAEH,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForumTopicPage.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/forum/pages/ForumTopicPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ForumTopicPage.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/forum/pages/ForumTopicPage.tsx"],"names":[],"mappings":"AA+CA,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,mBAAmB,2CAgH5F"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { useArmoyu } from '../../../../context/ArmoyuContext';
|
|
5
|
+
import { useAuth } from '../../../../context/AuthContext';
|
|
3
6
|
import { PageWidth } from '../../../shared/PageWidth';
|
|
4
7
|
import { ForumPost } from '../widgets/ForumPost';
|
|
5
8
|
import { MOCK_FORUM_TOPICS } from '../../../../lib/constants/seedData';
|
|
@@ -41,15 +44,54 @@ const MOCK_POSTS = [
|
|
|
41
44
|
}
|
|
42
45
|
];
|
|
43
46
|
export function ForumTopicPage({ topicId, onBackToForum, onBackToBoard }) {
|
|
44
|
-
|
|
47
|
+
// shortcut: yayınlanan @armoyu/core tiplerinde bu forum metotları yok; yeni sürüm çıkınca cast kalkacak
|
|
48
|
+
const { api } = useArmoyu();
|
|
49
|
+
const { user, setIsLoginModalOpen } = useAuth();
|
|
50
|
+
const [detail, setDetail] = useState(null);
|
|
51
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
52
|
+
const [reply, setReply] = useState('');
|
|
53
|
+
const [isSending, setIsSending] = useState(false);
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
setIsLoading(true);
|
|
56
|
+
api.forum.getTopicDetail(topicId).then((response) => {
|
|
57
|
+
setDetail(response.durum === 1 && response.icerik ? response.icerik : null);
|
|
58
|
+
setIsLoading(false);
|
|
59
|
+
});
|
|
60
|
+
}, [api, topicId]);
|
|
61
|
+
const handleReply = async () => {
|
|
62
|
+
if (!reply.trim())
|
|
63
|
+
return;
|
|
64
|
+
if (!user) {
|
|
65
|
+
setIsLoginModalOpen(true);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
setIsSending(true);
|
|
69
|
+
const response = await api.forum.createReply(topicId, reply);
|
|
70
|
+
setIsSending(false);
|
|
71
|
+
if (response.durum === 1) {
|
|
72
|
+
setDetail((current) => current && {
|
|
73
|
+
topic: { ...current.topic, replies: current.topic.replies + 1 },
|
|
74
|
+
posts: [...current.posts, response.icerik],
|
|
75
|
+
});
|
|
76
|
+
setReply('');
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
alert(response.aciklama || 'Yanıt gönderilemedi.');
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
if (isLoading) {
|
|
83
|
+
return _jsx("div", { className: "h-96 bg-black/5 dark:bg-white/5 rounded-[40px] animate-pulse" });
|
|
84
|
+
}
|
|
85
|
+
// API'ye ulaşılamazsa önizleme verisi gösterilir
|
|
86
|
+
const mockTopic = (MOCK_FORUM_TOPICS || []).find((t) => t.id === topicId) || MOCK_FORUM_TOPICS[0];
|
|
87
|
+
const topicData = detail?.topic ?? mockTopic;
|
|
45
88
|
const boardId = topicData.boardId;
|
|
46
|
-
const boardName = boardId.charAt(0).toUpperCase() + boardId.slice(1);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
{ ...MOCK_POSTS[0], author: topicData.author, authorAvatar: topicData.authorAvatar, content: `${topicData.title} hakkında yardımcı olabilecek var mı?` },
|
|
89
|
+
const boardName = topicData.boardName || boardId.charAt(0).toUpperCase() + boardId.slice(1);
|
|
90
|
+
const dynamicPosts = detail?.posts ?? [
|
|
91
|
+
{ ...MOCK_POSTS[0], author: mockTopic.author, authorAvatar: mockTopic.authorAvatar, content: `${mockTopic.title} hakkında yardımcı olabilecek var mı?` },
|
|
50
92
|
MOCK_POSTS[1],
|
|
51
93
|
MOCK_POSTS[2]
|
|
52
94
|
];
|
|
53
|
-
return (_jsxs("div", { className: "pb-20 animate-in fade-in slide-in-from-bottom-8 duration-700", children: [_jsx(PageWidth, { width: "max-w-[1280px]" }), _jsxs("div", { className: "mb-8 flex items-center gap-2 text-[10px] font-black uppercase tracking-widest text-armoyu-text-muted", children: [_jsx("button", { onClick: onBackToForum, className: "hover:text-armoyu-primary transition-colors uppercase", children: "FORUM" }), _jsx("span", { children: "/" }), _jsx("button", { onClick: () => onBackToBoard?.(boardId), className: "hover:text-armoyu-primary transition-colors uppercase", children: boardName }), _jsx("span", { children: "/" }), _jsx("span", { className: "text-armoyu-primary uppercase", children: topicData.title })] }), _jsx("div", { className: "mb-12", children: _jsx("h1", { className: "text-3xl lg:text-5xl font-black text-armoyu-text uppercase tracking-tighter italic leading-tight drop-shadow-xl", children: topicData.title }) }), _jsxs("div", { className: "space-y-12", children: [dynamicPosts.map((post) => (_jsx(ForumPost, { ...post }, post.id))), _jsxs("div", { className: "glass-panel p-8 md:p-12 rounded-[50px] border border-armoyu-card-border bg-armoyu-card-bg mt-16 shadow-2xl", children: [_jsxs("h3", { className: "text-xl font-black text-armoyu-text mb-8 uppercase tracking-tighter italic flex items-center gap-4", children: [_jsx("div", { className: "w-12 h-1 bg-armoyu-primary/30 rounded-full" }), " HIZLI YANIT G\u00D6NDER"] }), _jsxs("div", { className: "space-y-6", children: [_jsx("textarea", { rows: 6, className: "w-full bg-black/5 dark:bg-white/5 border border-armoyu-card-border rounded-3xl px-8 py-6 text-armoyu-text placeholder:text-armoyu-text-muted focus:outline-none focus:ring-2 focus:ring-armoyu-primary/50 transition-all font-bold text-sm leading-relaxed resize-none hide-scrollbar", placeholder: "Mesaj\u0131n\u0131z\u0131 buraya yaz\u0131n..." }), _jsx("div", { className: "flex justify-end gap-4", children: _jsx("button", { className: "px-12 py-5 bg-armoyu-primary hover:bg-armoyu-primary text-white font-black text-xs uppercase tracking-widest rounded-2xl shadow-xl shadow-armoyu-primary/30 active:scale-95 transition-all outline-none", children: "CEVABI
|
|
95
|
+
return (_jsxs("div", { className: "pb-20 animate-in fade-in slide-in-from-bottom-8 duration-700", children: [_jsx(PageWidth, { width: "max-w-[1280px]" }), _jsxs("div", { className: "mb-8 flex items-center gap-2 text-[10px] font-black uppercase tracking-widest text-armoyu-text-muted", children: [_jsx("button", { onClick: onBackToForum, className: "hover:text-armoyu-primary transition-colors uppercase", children: "FORUM" }), _jsx("span", { children: "/" }), _jsx("button", { onClick: () => onBackToBoard?.(boardId), className: "hover:text-armoyu-primary transition-colors uppercase", children: boardName }), _jsx("span", { children: "/" }), _jsx("span", { className: "text-armoyu-primary uppercase", children: topicData.title })] }), _jsx("div", { className: "mb-12", children: _jsx("h1", { className: "text-3xl lg:text-5xl font-black text-armoyu-text uppercase tracking-tighter italic leading-tight drop-shadow-xl", children: topicData.title }) }), _jsxs("div", { className: "space-y-12", children: [dynamicPosts.map((post) => (_jsx(ForumPost, { ...post }, post.id))), _jsxs("div", { className: "glass-panel p-8 md:p-12 rounded-[50px] border border-armoyu-card-border bg-armoyu-card-bg mt-16 shadow-2xl", children: [_jsxs("h3", { className: "text-xl font-black text-armoyu-text mb-8 uppercase tracking-tighter italic flex items-center gap-4", children: [_jsx("div", { className: "w-12 h-1 bg-armoyu-primary/30 rounded-full" }), " HIZLI YANIT G\u00D6NDER"] }), _jsxs("div", { className: "space-y-6", children: [_jsx("textarea", { rows: 6, "aria-label": "Yan\u0131t\u0131n\u0131z", value: reply, onChange: (e) => setReply(e.target.value), maxLength: 10000, disabled: topicData.isLocked, className: "w-full bg-black/5 dark:bg-white/5 border border-armoyu-card-border rounded-3xl px-8 py-6 text-armoyu-text placeholder:text-armoyu-text-muted focus:outline-none focus:ring-2 focus:ring-armoyu-primary/50 transition-all font-bold text-sm leading-relaxed resize-none hide-scrollbar", placeholder: "Mesaj\u0131n\u0131z\u0131 buraya yaz\u0131n..." }), _jsx("div", { className: "flex justify-end gap-4", children: _jsx("button", { onClick: handleReply, disabled: isSending || topicData.isLocked, className: "px-12 py-5 bg-armoyu-primary hover:bg-armoyu-primary text-white font-black text-xs uppercase tracking-widest rounded-2xl shadow-xl shadow-armoyu-primary/30 active:scale-95 transition-all outline-none disabled:opacity-50", children: topicData.isLocked ? "KONU KİLİTLİ" : isSending ? "GÖNDERİLİYOR..." : "CEVABI GÖNDER" }) })] })] })] }), _jsxs("div", { className: "mt-20 pt-12 border-t border-armoyu-card-border flex flex-wrap gap-12 justify-center opacity-40", children: [_jsx("div", { className: "flex flex-col items-center", children: _jsxs("span", { className: "text-[10px] font-black text-armoyu-text uppercase tracking-[0.3em]", children: [topicData.replies, " YANIT"] }) }), _jsx("div", { className: "flex flex-col items-center", children: _jsxs("span", { className: "text-[10px] font-black text-armoyu-text uppercase tracking-[0.3em]", children: [topicData.views, " \u0130ZLENME"] }) }), _jsx("div", { className: "flex flex-col items-center", children: _jsx("span", { className: "text-[10px] font-black text-armoyu-text uppercase tracking-[0.3em]", children: "Bu konuyu 3 ki\u015Fi g\u00F6r\u00FCnt\u00FCl\u00FCyor" }) })] })] }));
|
|
54
96
|
}
|
|
55
97
|
//# sourceMappingURL=ForumTopicPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForumTopicPage.js","sourceRoot":"","sources":["../../../../../src/components/modules/forum/pages/ForumTopicPage.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;
|
|
1
|
+
{"version":3,"file":"ForumTopicPage.js","sourceRoot":"","sources":["../../../../../src/components/modules/forum/pages/ForumTopicPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,16 @@ interface NewTopicModalProps {
|
|
|
2
2
|
isOpen: boolean;
|
|
3
3
|
onClose: () => void;
|
|
4
4
|
defaultBoard?: string;
|
|
5
|
+
/** Phatsa'dan gelen panolar; verilmezse sabit liste ile önizleme modunda çalışır */
|
|
6
|
+
boards?: {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
}[];
|
|
10
|
+
onCreated?: (topic: {
|
|
11
|
+
id: string;
|
|
12
|
+
boardId: string;
|
|
13
|
+
}) => void;
|
|
5
14
|
}
|
|
6
|
-
export declare function NewTopicModal({ isOpen, onClose, defaultBoard }: NewTopicModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
15
|
+
export declare function NewTopicModal({ isOpen, onClose, defaultBoard, boards, onCreated }: NewTopicModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
7
16
|
export {};
|
|
8
17
|
//# sourceMappingURL=NewTopicModal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewTopicModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/forum/widgets/NewTopicModal.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NewTopicModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/forum/widgets/NewTopicModal.tsx"],"names":[],"mappings":"AAMA,UAAU,kBAAkB;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC9D;AAaD,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,kBAAkB,kDA0IrG"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useEffect } from 'react';
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { useArmoyu } from '../../../../context/ArmoyuContext';
|
|
5
|
+
import { useAuth } from '../../../../context/AuthContext';
|
|
4
6
|
const BOARDS = [
|
|
5
7
|
"Duyurular & Haberler",
|
|
6
8
|
"Kurallar & Rehberler",
|
|
@@ -11,7 +13,46 @@ const BOARDS = [
|
|
|
11
13
|
"Python & AI",
|
|
12
14
|
"Genel Sohbet"
|
|
13
15
|
];
|
|
14
|
-
export function NewTopicModal({ isOpen, onClose, defaultBoard }) {
|
|
16
|
+
export function NewTopicModal({ isOpen, onClose, defaultBoard, boards, onCreated }) {
|
|
17
|
+
// shortcut: yayınlanan @armoyu/core tiplerinde bu forum metotları yok; yeni sürüm çıkınca cast kalkacak
|
|
18
|
+
const { api } = useArmoyu();
|
|
19
|
+
const { user, setIsLoginModalOpen } = useAuth();
|
|
20
|
+
const [boardId, setBoardId] = useState('');
|
|
21
|
+
const [title, setTitle] = useState('');
|
|
22
|
+
const [content, setContent] = useState('');
|
|
23
|
+
const [isBusy, setIsBusy] = useState(false);
|
|
24
|
+
const [error, setError] = useState('');
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
if (!boards?.length)
|
|
27
|
+
return;
|
|
28
|
+
const preferred = boards.find((b) => b.id === defaultBoard || b.name === defaultBoard);
|
|
29
|
+
setBoardId((preferred || boards[0]).id);
|
|
30
|
+
}, [boards, defaultBoard]);
|
|
31
|
+
const handleSubmit = async (e) => {
|
|
32
|
+
e.preventDefault();
|
|
33
|
+
if (!boards?.length) {
|
|
34
|
+
alert('Konunuz başarıyla oluşturuldu!');
|
|
35
|
+
onClose();
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (!user) {
|
|
39
|
+
setIsLoginModalOpen(true);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
setIsBusy(true);
|
|
43
|
+
setError('');
|
|
44
|
+
const response = await api.forum.createTopic({ categoryId: boardId, title, content });
|
|
45
|
+
setIsBusy(false);
|
|
46
|
+
if (response.durum === 1) {
|
|
47
|
+
setTitle('');
|
|
48
|
+
setContent('');
|
|
49
|
+
onCreated?.(response.icerik);
|
|
50
|
+
onClose();
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
setError(response.aciklama || 'Konu oluşturulamadı.');
|
|
54
|
+
}
|
|
55
|
+
};
|
|
15
56
|
useEffect(() => {
|
|
16
57
|
const handleEsc = (e) => {
|
|
17
58
|
if (e.key === 'Escape')
|
|
@@ -22,6 +63,8 @@ export function NewTopicModal({ isOpen, onClose, defaultBoard }) {
|
|
|
22
63
|
}, [onClose]);
|
|
23
64
|
if (!isOpen)
|
|
24
65
|
return null;
|
|
25
|
-
return (_jsxs("div", { className: "fixed inset-0 z-[100] flex items-center justify-center p-4", children: [_jsx("div", { className: "absolute inset-0 bg-black/80 backdrop-blur-sm animate-in fade-in duration-300", onClick: onClose }), _jsxs("div", { className: "relative w-full max-w-2xl bg-white dark:bg-[#12121a] border border-gray-200 dark:border-white/10 rounded-[40px] shadow-2xl overflow-hidden animate-in zoom-in-95 fade-in duration-300", children: [_jsxs("div", { className: "p-8 border-b border-gray-100 dark:border-white/5 flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-2xl font-black text-gray-900 dark:text-white uppercase tracking-tighter italic", children: "YEN\u0130 KONU OLU\u015ETUR" }), _jsx("p", { className: "text-[10px] font-bold text-armoyu-primary uppercase tracking-widest mt-1", children: "TOPLULUKLA PAYLA\u015EIMA BA\u015ELA" })] }), _jsx("button", { onClick: onClose, className: "w-10 h-10 rounded-full bg-gray-100 dark:bg-white/5 flex items-center justify-center hover:bg-gray-200 dark:hover:bg-white/10 transition-colors", children: _jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", className: "text-gray-900 dark:text-white", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) })] }), _jsxs("form", { className: "p-8 space-y-6", onSubmit:
|
|
66
|
+
return (_jsxs("div", { className: "fixed inset-0 z-[100] flex items-center justify-center p-4", children: [_jsx("div", { className: "absolute inset-0 bg-black/80 backdrop-blur-sm animate-in fade-in duration-300", onClick: onClose }), _jsxs("div", { className: "relative w-full max-w-2xl bg-white dark:bg-[#12121a] border border-gray-200 dark:border-white/10 rounded-[40px] shadow-2xl overflow-hidden animate-in zoom-in-95 fade-in duration-300", children: [_jsxs("div", { className: "p-8 border-b border-gray-100 dark:border-white/5 flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-2xl font-black text-gray-900 dark:text-white uppercase tracking-tighter italic", children: "YEN\u0130 KONU OLU\u015ETUR" }), _jsx("p", { className: "text-[10px] font-bold text-armoyu-primary uppercase tracking-widest mt-1", children: "TOPLULUKLA PAYLA\u015EIMA BA\u015ELA" })] }), _jsx("button", { onClick: onClose, className: "w-10 h-10 rounded-full bg-gray-100 dark:bg-white/5 flex items-center justify-center hover:bg-gray-200 dark:hover:bg-white/10 transition-colors", children: _jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", className: "text-gray-900 dark:text-white", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) })] }), _jsxs("form", { className: "p-8 space-y-6", onSubmit: handleSubmit, children: [_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [_jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-[10px] font-black uppercase tracking-widest text-gray-500 dark:text-gray-400 ml-1", children: "KATEGOR\u0130 SE\u00C7\u0130N" }), _jsxs("div", { className: "relative", children: [_jsx("select", { ...(boards?.length ? { value: boardId, onChange: (e) => setBoardId(e.target.value) } : { defaultValue: defaultBoard || "Genel Sohbet" }), "aria-label": "Kategori se\u00E7in", className: "w-full bg-gray-50 dark:bg-white/5 border border-gray-200 dark:border-white/10 rounded-2xl px-5 py-4 text-gray-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-armoyu-primary transition-all font-bold text-sm appearance-none cursor-pointer", children: boards?.length
|
|
67
|
+
? boards.map(board => (_jsx("option", { value: board.id, className: "bg-white dark:bg-[#12121a]", children: board.name }, board.id)))
|
|
68
|
+
: BOARDS.map(board => (_jsx("option", { value: board, className: "bg-white dark:bg-[#12121a]", children: board }, board))) }), _jsx("div", { className: "absolute right-5 top-1/2 -translate-y-1/2 pointer-events-none text-gray-400", children: _jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", children: _jsx("polyline", { points: "6 9 12 15 18 9" }) }) })] })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-[10px] font-black uppercase tracking-widest text-gray-500 dark:text-gray-400 ml-1", children: "ET\u0130KETLER (OPS\u0130YONEL)" }), _jsx("input", { type: "text", className: "w-full bg-gray-50 dark:bg-white/5 border border-gray-200 dark:border-white/10 rounded-2xl px-5 py-4 text-gray-900 dark:text-white placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-armoyu-primary transition-all font-bold text-sm", placeholder: "soru, minecraft, hata..." })] })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-[10px] font-black uppercase tracking-widest text-gray-500 dark:text-gray-400 ml-1", children: "KONU BA\u015ELI\u011EI" }), _jsx("input", { required: true, type: "text", "aria-label": "Konu ba\u015Fl\u0131\u011F\u0131", value: title, onChange: (e) => setTitle(e.target.value), maxLength: 255, className: "w-full bg-gray-50 dark:bg-white/5 border border-gray-200 dark:border-white/10 rounded-2xl px-5 py-4 text-gray-900 dark:text-white placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-armoyu-primary transition-all font-bold text-sm", placeholder: "Konunuzu \u00F6zetleyen k\u0131sa bir ba\u015Fl\u0131k..." })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-[10px] font-black uppercase tracking-widest text-gray-500 dark:text-gray-400 ml-1", children: "KONU \u0130\u00C7ER\u0130\u011E\u0130" }), _jsxs("div", { className: "relative group", children: [_jsx("textarea", { required: true, rows: 8, "aria-label": "Konu i\u00E7eri\u011Fi", value: content, onChange: (e) => setContent(e.target.value), maxLength: 10000, className: "w-full bg-gray-50 dark:bg-white/5 border border-gray-200 dark:border-white/10 rounded-3xl px-6 py-5 text-gray-900 dark:text-white placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-armoyu-primary transition-all font-bold text-sm no-scrollbar leading-relaxed", placeholder: "Konu detaylar\u0131n\u0131 buraya yaz\u0131n..." }), _jsx("div", { className: "absolute bottom-4 right-6 flex items-center gap-2 opacity-50 text-[10px] font-bold uppercase tracking-widest pointer-events-none", children: _jsx("span", { children: "Markdown Desteklenir" }) })] })] })] }), error && _jsx("p", { role: "alert", className: "text-xs font-bold text-red-500", children: error }), _jsxs("div", { className: "flex flex-col sm:flex-row gap-4 pt-4", children: [_jsx("button", { type: "button", onClick: onClose, className: "flex-1 py-5 bg-gray-100 dark:bg-white/5 hover:bg-gray-200 dark:hover:bg-white/10 text-gray-900 dark:text-white font-black text-xs uppercase tracking-widest rounded-2xl transition-all", children: "\u0130PTAL ET" }), _jsx("button", { disabled: isBusy, className: "flex-[2] py-5 bg-armoyu-primary hover:bg-armoyu-primary text-white font-black text-xs uppercase tracking-widest rounded-2xl shadow-xl shadow-armoyu-primary/30 transition-all active:scale-95 disabled:opacity-50", children: isBusy ? "YAYINLANIYOR..." : "KONUYU YAYINLA" })] })] })] })] }));
|
|
26
69
|
}
|
|
27
70
|
//# sourceMappingURL=NewTopicModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewTopicModal.js","sourceRoot":"","sources":["../../../../../src/components/modules/forum/widgets/NewTopicModal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"NewTopicModal.js","sourceRoot":"","sources":["../../../../../src/components/modules/forum/widgets/NewTopicModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GiveawayDetailPage.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/giveaways/pages/GiveawayDetailPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GiveawayDetailPage.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/giveaways/pages/GiveawayDetailPage.tsx"],"names":[],"mappings":"AAuCA,UAAU,uBAAuB;IAC/B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,uBAAuB,2CA+JjE"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { useArmoyu } from '../../../../context/ArmoyuContext';
|
|
5
|
+
import { useAuth } from '../../../../context/AuthContext';
|
|
3
6
|
import { PageWidth } from '../../../shared/PageWidth';
|
|
4
7
|
import { Clock, Users, ShieldCheck, Trophy, Sparkles, ArrowLeft } from 'lucide-react';
|
|
5
8
|
// Reuse the same mock data structure
|
|
@@ -33,10 +36,42 @@ const MOCK_GIVEAWAYS = [
|
|
|
33
36
|
}
|
|
34
37
|
];
|
|
35
38
|
export function GiveawayDetailPage({ id }) {
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
+
const { api } = useArmoyu();
|
|
40
|
+
const { user, setIsLoginModalOpen } = useAuth();
|
|
41
|
+
// shortcut: yayınlanan @armoyu/core'da giveaways servisi yok; yeni sürüm çıkınca cast kalkacak
|
|
42
|
+
const service = api.giveaways;
|
|
43
|
+
const [loaded, setLoaded] = useState(null);
|
|
44
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
45
|
+
const [isBusy, setIsBusy] = useState(false);
|
|
46
|
+
const load = async () => {
|
|
47
|
+
const response = await service?.getGiveaway(id);
|
|
48
|
+
setLoaded(response?.durum === 1 ? response.icerik : null);
|
|
49
|
+
setIsLoading(false);
|
|
39
50
|
};
|
|
40
|
-
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
load();
|
|
53
|
+
}, [id, user?.id]);
|
|
54
|
+
// API'ye ulaşılamazsa önizleme verisi gösterilir
|
|
55
|
+
const giveaway = loaded ?? MOCK_GIVEAWAYS.find(g => g.id === id) ?? MOCK_GIVEAWAYS[0];
|
|
56
|
+
const handleJoin = async () => {
|
|
57
|
+
if (!loaded) {
|
|
58
|
+
alert('Çekilişe başarıyla katıldın! Sonuçlar açıklandığında bildirim alacaksın.');
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
if (!user) {
|
|
62
|
+
setIsLoginModalOpen(true);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
setIsBusy(true);
|
|
66
|
+
const response = giveaway.isJoined ? await service.leave(id) : await service.join(id);
|
|
67
|
+
setIsBusy(false);
|
|
68
|
+
if (response.durum !== 1)
|
|
69
|
+
alert(response.aciklama || 'İşlem başarısız.');
|
|
70
|
+
await load();
|
|
71
|
+
};
|
|
72
|
+
if (isLoading) {
|
|
73
|
+
return _jsx("div", { className: "h-96 bg-black/5 dark:bg-white/5 rounded-[40px] animate-pulse" });
|
|
74
|
+
}
|
|
75
|
+
return (_jsxs("div", { className: "pb-20 animate-in fade-in slide-in-from-bottom-8 duration-700", children: [_jsx(PageWidth, { width: "max-w-[1280px]" }), _jsxs("div", { className: "relative w-full h-[50vh] md:h-[60vh] min-h-[400px] mb-16 overflow-hidden", children: [_jsxs("div", { className: "absolute inset-0", children: [_jsx("img", { src: giveaway.image, alt: giveaway.title, className: "w-full h-full object-cover blur-md scale-105 opacity-60" }), _jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-zinc-950 via-zinc-950/60 to-zinc-950/20" })] }), _jsxs("div", { className: "mx-auto w-full px-4 relative h-full flex flex-col justify-end pb-16 z-10 text-center", children: [_jsx("div", { className: "flex justify-center mb-6", children: _jsx("span", { className: `px-4 py-2 text-[10px] font-black uppercase tracking-widest rounded-2xl shadow-xl flex items-center gap-2 ${giveaway.status === 'active' ? 'bg-orange-500 text-white shadow-orange-500/20' : 'bg-red-500 text-white shadow-red-500/20'}`, children: giveaway.status === 'active' ? 'DEVAM EDİYOR' : 'SONA ERDİ' }) }), _jsx("h1", { className: "text-4xl md:text-6xl lg:text-7xl font-black text-white leading-tight tracking-tighter mb-4 uppercase drop-shadow-2xl italic", children: giveaway.title }), _jsxs("p", { className: "text-xl md:text-2xl font-bold text-zinc-400 mt-2", children: ["\u00D6d\u00FCl: ", _jsx("span", { className: "text-orange-400", children: giveaway.prize })] })] })] }), _jsxs("div", { className: "mx-auto px-4", children: [_jsxs("div", { className: "mb-8 flex items-center justify-center gap-2 text-[10px] font-black uppercase tracking-widest text-armoyu-text-muted", children: [_jsxs("button", { onClick: () => window.history.back(), className: "hover:text-armoyu-primary flex items-center gap-1.5 transition-colors", children: [_jsx(ArrowLeft, { size: 12 }), " GER\u0130 D\u00D6N"] }), _jsx("span", { children: "/" }), _jsx("span", { className: "text-armoyu-primary", children: "\u00C7EK\u0130L\u0130\u015E DETAY" })] }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6 mb-12", children: [_jsxs("div", { className: "glass-panel p-8 rounded-[40px] border border-orange-500/20 bg-orange-500/5 flex flex-col items-center justify-center text-center", children: [_jsx(Clock, { className: "text-orange-500 mb-4", size: 48, strokeWidth: 1.5 }), _jsx("p", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest mb-2", children: "KALAN S\u00DCRE" }), _jsx("h3", { className: "text-3xl font-black text-armoyu-text", children: giveaway.timeLeft })] }), _jsxs("div", { className: "glass-panel p-8 rounded-[40px] border border-armoyu-card-border bg-armoyu-card-bg flex flex-col items-center justify-center text-center relative overflow-hidden", children: [_jsx(Sparkles, { className: "absolute top-4 right-4 text-yellow-500/20", size: 120 }), _jsx(Users, { className: "text-armoyu-primary mb-4 relative z-10", size: 48, strokeWidth: 1.5 }), _jsx("p", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest mb-2 relative z-10", children: "KATILIMCI SAYISI" }), _jsxs("h3", { className: "text-3xl font-black text-armoyu-text relative z-10", children: [giveaway.participants, " ", _jsx("span", { className: "text-lg text-armoyu-text-muted", children: "Ki\u015Fi" })] })] })] }), _jsxs("div", { className: "flex justify-center mb-16 relative", children: [_jsx("div", { className: "absolute inset-0 bg-armoyu-primary/20 blur-3xl rounded-full" }), giveaway.status === 'active' ? (_jsxs("button", { onClick: handleJoin, disabled: isBusy, className: "group relative px-12 py-6 bg-armoyu-primary hover:bg-armoyu-primary text-white font-black text-sm uppercase tracking-widest rounded-[30px] shadow-2xl shadow-armoyu-primary/30 active:scale-95 transition-all overflow-hidden", children: [_jsxs("span", { className: "relative z-10 flex items-center gap-3", children: [_jsx(Trophy, { size: 20 }), " ", giveaway.isJoined ? 'KATILDIN · VAZGEÇ' : 'ÇEKİLİŞE KATIL'] }), _jsx("div", { className: "absolute inset-0 bg-white/20 translate-y-full group-hover:translate-y-0 transition-transform duration-300" })] })) : (_jsxs("button", { disabled: true, className: "px-12 py-6 bg-red-500/50 text-white/50 cursor-not-allowed font-black text-sm uppercase tracking-widest rounded-[30px] shadow-none flex items-center gap-3", children: [_jsx(ShieldCheck, { size: 20 }), " \u00C7EK\u0130L\u0130\u015E SONA ERD\u0130"] }))] }), giveaway.isDrawn && (_jsxs("div", { className: "glass-panel p-8 md:p-12 rounded-[40px] border border-armoyu-card-border bg-armoyu-card-bg mb-8", children: [_jsxs("h3", { className: "text-lg font-black text-armoyu-text mb-6 uppercase tracking-widest flex items-center gap-3", children: [_jsx(Trophy, { size: 20, className: "text-yellow-500" }), " KAZANANLAR"] }), giveaway.winners?.length ? (_jsx("ul", { className: "space-y-3", children: giveaway.winners.map((winner, index) => (_jsxs("li", { className: "font-bold text-armoyu-text", children: [winner.displayName, winner.username && ` (@${winner.username})`] }, index))) })) : (_jsx("p", { className: "text-armoyu-text-muted font-medium", children: "Bu \u00E7ekili\u015Fe kat\u0131l\u0131m olmad\u0131." }))] })), _jsx("div", { className: "space-y-8", children: _jsxs("div", { className: "glass-panel p-8 md:p-12 rounded-[40px] border border-armoyu-card-border bg-armoyu-card-bg", children: [_jsx("h3", { className: "text-lg font-black text-armoyu-text mb-6 uppercase tracking-widest border-b border-black/5 dark:border-white/5 pb-4", children: "\u00C7ekili\u015F \u015Eartlar\u0131 ve Kurallar" }), _jsxs("ul", { className: "space-y-4 text-armoyu-text-muted", children: [_jsxs("li", { className: "flex items-start gap-4", children: [_jsx("span", { className: "flex-shrink-0 w-6 h-6 rounded-full bg-armoyu-primary/20 text-armoyu-primary flex items-center justify-center font-bold text-xs mt-0.5", children: "1" }), _jsx("span", { className: "leading-relaxed font-medium", children: "Sadece kay\u0131tl\u0131 ve hesab\u0131n\u0131 do\u011Frulam\u0131\u015F \u00FCyeler kat\u0131labilir." })] }), _jsxs("li", { className: "flex items-start gap-4", children: [_jsx("span", { className: "flex-shrink-0 w-6 h-6 rounded-full bg-armoyu-primary/20 text-armoyu-primary flex items-center justify-center font-bold text-xs mt-0.5", children: "2" }), _jsx("span", { className: "leading-relaxed font-medium", children: "M\u00FCkerrer hesaplarla kat\u0131l\u0131m tespit edilirse, ki\u015Fi platformdan tamamen s\u00FCresiz yasaklanacakt\u0131r." })] }), _jsxs("li", { className: "flex items-start gap-4", children: [_jsx("span", { className: "flex-shrink-0 w-6 h-6 rounded-full bg-armoyu-primary/20 text-armoyu-primary flex items-center justify-center font-bold text-xs mt-0.5", children: "3" }), _jsx("span", { className: "leading-relaxed font-medium", children: "Kazananlar a\u00E7\u0131klama tarihinde sistem \u00FCzerinden direkt bildirim ve mail alacaklard\u0131r." })] })] })] }) })] })] }));
|
|
41
76
|
}
|
|
42
77
|
//# sourceMappingURL=GiveawayDetailPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GiveawayDetailPage.js","sourceRoot":"","sources":["../../../../../src/components/modules/giveaways/pages/GiveawayDetailPage.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;
|
|
1
|
+
{"version":3,"file":"GiveawayDetailPage.js","sourceRoot":"","sources":["../../../../../src/components/modules/giveaways/pages/GiveawayDetailPage.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAQ,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE5F,qCAAqC;AACrC,MAAM,cAAc,GAAG;IACrB;QACE,EAAE,EAAE,GAAG;QACP,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,oBAAoB;QAC3B,MAAM,EAAE,QAAiB;QACzB,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,6JAA6J;KACrK;IACD;QACE,EAAE,EAAE,GAAG;QACP,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,0BAA0B;QACjC,MAAM,EAAE,QAAiB;QACzB,YAAY,EAAE,GAAG;QACjB,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,oFAAoF;KAC5F;IACD;QACE,EAAE,EAAE,GAAG;QACP,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,QAAiB;QACzB,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,4IAA4I;KACpJ;CACF,CAAC;AAMF,MAAM,UAAU,kBAAkB,CAAC,EAAE,EAAE,EAA2B;IAChE,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,OAAO,EAAE,CAAC;IAChD,+FAA+F;IAC/F,MAAM,OAAO,GAAI,GAAW,CAAC,SAAS,CAAC;IACvC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAa,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,MAAM,QAAQ,GAAG,MAAM,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;QAChD,SAAS,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1D,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,EAAE,CAAC;IACT,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAEnB,iDAAiD;IACjD,MAAM,QAAQ,GAAQ,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;IAE3F,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,KAAK,CAAC,0EAA0E,CAAC,CAAC;YAClF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtF,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,IAAI,QAAQ,CAAC,KAAK,KAAK,CAAC;YAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,IAAI,kBAAkB,CAAC,CAAC;QACzE,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,cAAK,SAAS,EAAC,8DAA8D,GAAG,CAAC;IAC1F,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,8DAA8D,aAC3E,KAAC,SAAS,IAAC,KAAK,EAAC,gBAAgB,GAAG,EAGpC,eAAK,SAAS,EAAC,0EAA0E,aACvF,eAAK,SAAS,EAAC,kBAAkB,aAC9B,cAAK,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAC,yDAAyD,GAAG,EACrH,cAAK,SAAS,EAAC,gFAAgF,GAAO,IACnG,EAEN,eAAK,SAAS,EAAC,sFAAsF,aAClG,cAAK,SAAS,EAAC,0BAA0B,YACtC,eAAM,SAAS,EAAE,4GAA4G,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,yCAAyC,EAAE,YACrP,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,GACxD,GACJ,EAEN,aAAI,SAAS,EAAC,6HAA6H,YACvI,QAAQ,CAAC,KAAK,GACb,EACL,aAAG,SAAS,EAAC,kDAAkD,iCAAO,eAAM,SAAS,EAAC,iBAAiB,YAAE,QAAQ,CAAC,KAAK,GAAQ,IAAI,IAChI,IACF,EAEN,eAAK,SAAS,EAAC,cAAc,aAG3B,eAAK,SAAS,EAAC,qHAAqH,aACjI,kBAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAC,uEAAuE,aAC5H,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,2BACjB,EACT,+BAAc,EACd,eAAM,SAAS,EAAC,qBAAqB,kDAAqB,IACvD,EAGN,eAAK,SAAS,EAAC,6CAA6C,aAExD,eAAK,SAAS,EAAC,kIAAkI,aAC9I,KAAC,KAAK,IAAC,SAAS,EAAC,sBAAsB,EAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,GAAI,EACtE,YAAG,SAAS,EAAC,6EAA6E,gCAAe,EACzG,aAAI,SAAS,EAAC,sCAAsC,YAAE,QAAQ,CAAC,QAAQ,GAAM,IAC1E,EAEN,eAAK,SAAS,EAAC,kKAAkK,aAC9K,KAAC,QAAQ,IAAC,SAAS,EAAC,2CAA2C,EAAC,IAAI,EAAE,GAAG,GAAI,EAC7E,KAAC,KAAK,IAAC,SAAS,EAAC,wCAAwC,EAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,GAAI,EACxF,YAAG,SAAS,EAAC,2FAA2F,iCAAqB,EAC7H,cAAI,SAAS,EAAC,oDAAoD,aAAE,QAAQ,CAAC,YAAY,OAAE,eAAM,SAAS,EAAC,gCAAgC,0BAAY,IAAK,IACzJ,IAEJ,EAGN,eAAK,SAAS,EAAC,oCAAoC,aAC/C,cAAK,SAAS,EAAC,6DAA6D,GAAO,EAClF,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC9B,kBACE,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAC,+NAA+N,aAExO,gBAAM,SAAS,EAAC,uCAAuC,aACrD,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,OAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,IAC3E,EACP,cAAK,SAAS,EAAC,2GAA2G,GAAO,IAC3H,CACV,CAAC,CAAC,CAAC,CACF,kBAAQ,QAAQ,QAAC,SAAS,EAAC,2JAA2J,aACnL,KAAC,WAAW,IAAC,IAAI,EAAE,EAAE,GAAI,mDACnB,CACV,IACC,EAEL,QAAQ,CAAC,OAAO,IAAI,CACnB,eAAK,SAAS,EAAC,gGAAgG,aAC7G,cAAI,SAAS,EAAC,4FAA4F,aACxG,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,iBAAiB,GAAG,mBAC7C,EACJ,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAC1B,aAAI,SAAS,EAAC,WAAW,YACtB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,KAAa,EAAE,EAAE,CAAC,CACpD,cAAgB,SAAS,EAAC,4BAA4B,aAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,MAAM,CAAC,QAAQ,GAAG,KAA9G,KAAK,CAA+G,CAC9H,CAAC,GACC,CACN,CAAC,CAAC,CAAC,CACF,YAAG,SAAS,EAAC,oCAAoC,qEAAgC,CAClF,IACG,CACP,EAGD,cAAK,SAAS,EAAC,WAAW,YACvB,eAAK,SAAS,EAAC,2FAA2F,aACvG,aAAI,SAAS,EAAC,qHAAqH,iEAAkC,EACrK,cAAI,SAAS,EAAC,kCAAkC,aAC7C,cAAI,SAAS,EAAC,wBAAwB,aACnC,eAAM,SAAS,EAAC,uIAAuI,kBAAS,EAChK,eAAM,SAAS,EAAC,6BAA6B,uHAAiE,IAC5G,EACL,cAAI,SAAS,EAAC,wBAAwB,aACnC,eAAM,SAAS,EAAC,uIAAuI,kBAAS,EAChK,eAAM,SAAS,EAAC,6BAA6B,6IAAsG,IACjJ,EACL,cAAI,SAAS,EAAC,wBAAwB,aACnC,eAAM,SAAS,EAAC,uIAAuI,kBAAS,EAChK,eAAM,SAAS,EAAC,6BAA6B,yHAA4F,IACvI,IACH,IACF,GACH,IAEF,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GiveawaysPage.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/giveaways/pages/GiveawaysPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GiveawaysPage.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/giveaways/pages/GiveawaysPage.tsx"],"names":[],"mappings":"AAmDA,wBAAgB,aAAa,4CAqJ5B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useState } from 'react';
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { useArmoyu } from '../../../../context/ArmoyuContext';
|
|
4
5
|
import { GiveawayCard } from '../widgets/GiveawayCard';
|
|
5
6
|
import { PageWidth } from '../../../shared/PageWidth';
|
|
6
7
|
import { ViewModeToggle } from '../../../ViewModeToggle';
|
|
@@ -48,12 +49,23 @@ const MOCK_GIVEAWAYS = [
|
|
|
48
49
|
];
|
|
49
50
|
export function GiveawaysPage() {
|
|
50
51
|
const [activeTab, setActiveTab] = useState('Hepsi');
|
|
52
|
+
const { api } = useArmoyu();
|
|
53
|
+
const [giveaways, setGiveaways] = useState(null);
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
// shortcut: yayınlanan @armoyu/core'da giveaways servisi yok; yeni sürüm çıkınca cast kalkacak
|
|
56
|
+
api.giveaways?.getGiveaways().then((response) => {
|
|
57
|
+
if (response.durum === 1 && Array.isArray(response.icerik))
|
|
58
|
+
setGiveaways(response.icerik);
|
|
59
|
+
});
|
|
60
|
+
}, [api]);
|
|
61
|
+
// API'ye ulaşılamazsa önizleme verisi gösterilir
|
|
62
|
+
const allGiveaways = giveaways ?? MOCK_GIVEAWAYS;
|
|
51
63
|
const [viewMode, setViewMode] = useState('grid');
|
|
52
64
|
const categories = ['Hepsi', 'Aktif', 'Sona Erdi'];
|
|
53
65
|
const filteredGiveaways = activeTab === 'Hepsi'
|
|
54
|
-
?
|
|
55
|
-
:
|
|
56
|
-
return (_jsxs("div", { className: "pb-20 animate-in fade-in slide-in-from-bottom-8 duration-700", children: [_jsx(PageWidth, { width: "max-w-[1280px]" }), _jsxs("div", { className: "mb-10 text-center lg:text-left flex flex-col md:flex-row md:items-end justify-between gap-8", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-4xl md:text-5xl font-black text-armoyu-text mb-4 tracking-tighter uppercase italic", children: "KATIL VE KAZAN!" }), _jsx("p", { className: "text-armoyu-text-muted text-lg font-medium max-w-2xl leading-relaxed", children: "ARMOYU toplulu\u011Fu i\u00E7in d\u00FCzenledi\u011Fimiz \u00E7ekili\u015Flere kat\u0131larak harika \u00F6d\u00FCllere sahip ol. Her hafta yeni \u015Fanslar seni bekliyor." })] }), _jsxs("div", { className: "flex flex-col items-center md:items-end gap-4", children: [_jsxs("div", { className: "bg-armoyu-primary/10 border border-armoyu-primary/20 px-6 py-4 rounded-[32px] flex items-center gap-4 max-w-md shadow-lg shadow-armoyu-primary/5 animate-pulse-slow", children: [_jsx("div", { className: "w-10 h-10 rounded-full bg-armoyu-primary text-white flex items-center justify-center shrink-0", 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", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12" }), _jsx("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })] }) }), _jsxs("p", { className: "text-[11px] font-black text-armoyu-primary dark:text-armoyu-primary leading-tight uppercase tracking-wider text-left", children: ["T\u00FCm \u00E7ekili\u015Flerimiz tamamen ", _jsx("strong", { children: "\u00DCCRETS\u0130ZD\u0130R" }), " ve ", _jsx("strong", { children: "KAR AMACI G\u00DCTMEMEKTED\u0130R" }), "."] })] }), _jsx(ViewModeToggle, { mode: viewMode, onChange: setViewMode })] })] }), _jsxs("div", { className: "flex flex-col md:flex-row gap-6 items-center justify-between mb-12", children: [_jsx("div", { className: "flex bg-black/5 dark:bg-white/5 p-1.5 rounded-2xl border border-black/5 dark:border-white/5 overflow-x-auto no-scrollbar max-w-full", children: categories.map((cat) => (_jsx("button", { onClick: () => setActiveTab(cat), className: `px-6 py-2.5 rounded-xl text-xs font-black uppercase tracking-widest transition-all ${activeTab === cat ? 'bg-white dark:bg-armoyu-primary text-armoyu-primary dark:text-white shadow-xl' : 'text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5'}`, children: cat }, cat))) }), _jsxs("div", { className: "relative w-full md:w-80", children: [_jsx("input", { type: "text", placeholder: "\u00D6d\u00FCl ara...", className: "w-full bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/5 rounded-2xl px-5 py-3 text-sm text-armoyu-text focus:outline-none focus:border-armoyu-primary focus:ring-1 focus:ring-armoyu-primary transition-all font-medium" }), _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", className: "absolute right-4 top-3 text-armoyu-text-muted opacity-40", children: [_jsx("circle", { cx: "11", cy: "11", r: "8" }), _jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })] })] })] }), viewMode === 'grid' ? (_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6", children: [filteredGiveaways.map((giveaway, idx) => (_jsx(GiveawayCard, { ...giveaway }, idx))), _jsxs("div", { className: "glass-panel p-10 rounded-[40px] border border-yellow-500 bg-gradient-to-br from-yellow-500/10 to-orange-500/5 flex flex-col items-center justify-center text-center group transition-all duration-500", children: [_jsx("div", { className: "w-16 h-16 rounded-full bg-yellow-500 text-white flex items-center justify-center mb-6 shadow-xl shadow-yellow-500/20 group-hover:scale-110 transition-transform", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "28", height: "28", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", children: _jsx("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" }) }) }), _jsx("h3", { className: "font-black text-armoyu-text text-xl mb-3", children: "VIP \u00C7EK\u0130L\u0130\u015ELER" }), _jsx("p", { className: "text-sm font-medium text-armoyu-text-muted leading-relaxed mb-8 px-4", children: "\u00D6zel VIP \u00FCyelik ile sadece sana \u00F6zel \u00F6d\u00FClleri yakalama \u015Fans\u0131n\u0131 ka\u00E7\u0131rma." }), _jsx("button", { className: "px-8 py-3 bg-yellow-500 hover:bg-yellow-400 text-white rounded-xl font-black text-xs uppercase tracking-widest shadow-lg shadow-yellow-500/30 transition-all active:scale-95", children: "VIP Ol" })] })] })) : (_jsxs("div", { className: "glass-panel overflow-hidden rounded-[32px] border border-armoyu-card-border shadow-xl shadow-black/[0.02] dark:shadow-2xl animate-in fade-in slide-in-from-right-8 duration-500", children: [_jsxs("div", { className: "hidden md:grid grid-cols-12 gap-4 px-8 py-5 bg-gray-50/50 dark:bg-white/5 border-b border-armoyu-card-border", children: [_jsx("div", { className: "col-span-1 text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest", children: "RES\u0130M" }), _jsx("div", { className: "col-span-4 text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest", children: "\u00D6D\u00DCL" }), _jsx("div", { className: "col-span-2 text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest", children: "KATEGOR\u0130" }), _jsx("div", { className: "col-span-1 text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest text-center", children: "KATILIMCI" }), _jsx("div", { className: "col-span-2 text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest text-center", children: "KALAN S\u00DCRE" }), _jsx("div", { className: "col-span-2 text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest text-right", children: "#" })] }), _jsx("div", { className: "divide-y divide-black/5 dark:divide-white/5", children: filteredGiveaways.map((giveaway, idx) => (_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-12 gap-4 px-8 py-5 items-center hover:bg-armoyu-primary/5 transition-all group", children: [_jsx("div", { className: "col-span-1", children: _jsx("img", { src: giveaway.image, className: "w-12 h-12 rounded-xl object-contain bg-white p-1 border border-black/10 dark:border-white/10", alt: "" }) }), _jsx("div", { className: "col-span-4", children: _jsx("h4", { className: "text-sm font-black text-armoyu-text uppercase tracking-tight group-hover:text-armoyu-primary transition-colors", children: giveaway.prize }) }), _jsx("div", { className: "col-span-2", children: _jsx("span", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest opacity-60", children: giveaway.title }) }), _jsxs("div", { className: "col-span-1 text-center font-black text-xs text-armoyu-primary flex items-center justify-center gap-1", children: [_jsxs("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", children: [_jsx("path", { d: "M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2" }), _jsx("circle", { cx: "9", cy: "7", r: "4" }), _jsx("path", { d: "M23 21v-2a4 4 0 0 0-3-3.87" }), _jsx("path", { d: "M16 3.13a4 4 0 0 1 0 7.75" })] }), giveaway.participants] }), _jsx("div", { className: "col-span-2 text-center text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest", children: giveaway.timeLeft }), _jsx("div", { className: "col-span-2 text-right", children: _jsx("button", { className: `px-5 py-2 rounded-xl text-[10px] font-black uppercase tracking-widest transition-all ${giveaway.status === 'active'
|
|
66
|
+
? allGiveaways
|
|
67
|
+
: allGiveaways.filter(g => (activeTab === 'Aktif' ? g.status === 'active' : g.status === 'ended'));
|
|
68
|
+
return (_jsxs("div", { className: "pb-20 animate-in fade-in slide-in-from-bottom-8 duration-700", children: [_jsx(PageWidth, { width: "max-w-[1280px]" }), _jsxs("div", { className: "mb-10 text-center lg:text-left flex flex-col md:flex-row md:items-end justify-between gap-8", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-4xl md:text-5xl font-black text-armoyu-text mb-4 tracking-tighter uppercase italic", children: "KATIL VE KAZAN!" }), _jsx("p", { className: "text-armoyu-text-muted text-lg font-medium max-w-2xl leading-relaxed", children: "ARMOYU toplulu\u011Fu i\u00E7in d\u00FCzenledi\u011Fimiz \u00E7ekili\u015Flere kat\u0131larak harika \u00F6d\u00FCllere sahip ol. Her hafta yeni \u015Fanslar seni bekliyor." })] }), _jsxs("div", { className: "flex flex-col items-center md:items-end gap-4", children: [_jsxs("div", { className: "bg-armoyu-primary/10 border border-armoyu-primary/20 px-6 py-4 rounded-[32px] flex items-center gap-4 max-w-md shadow-lg shadow-armoyu-primary/5 animate-pulse-slow", children: [_jsx("div", { className: "w-10 h-10 rounded-full bg-armoyu-primary text-white flex items-center justify-center shrink-0", 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", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12" }), _jsx("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })] }) }), _jsxs("p", { className: "text-[11px] font-black text-armoyu-primary dark:text-armoyu-primary leading-tight uppercase tracking-wider text-left", children: ["T\u00FCm \u00E7ekili\u015Flerimiz tamamen ", _jsx("strong", { children: "\u00DCCRETS\u0130ZD\u0130R" }), " ve ", _jsx("strong", { children: "KAR AMACI G\u00DCTMEMEKTED\u0130R" }), "."] })] }), _jsx(ViewModeToggle, { mode: viewMode, onChange: setViewMode })] })] }), _jsxs("div", { className: "flex flex-col md:flex-row gap-6 items-center justify-between mb-12", children: [_jsx("div", { className: "flex bg-black/5 dark:bg-white/5 p-1.5 rounded-2xl border border-black/5 dark:border-white/5 overflow-x-auto no-scrollbar max-w-full", children: categories.map((cat) => (_jsx("button", { onClick: () => setActiveTab(cat), className: `px-6 py-2.5 rounded-xl text-xs font-black uppercase tracking-widest transition-all ${activeTab === cat ? 'bg-white dark:bg-armoyu-primary text-armoyu-primary dark:text-white shadow-xl' : 'text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5'}`, children: cat }, cat))) }), _jsxs("div", { className: "relative w-full md:w-80", children: [_jsx("input", { type: "text", placeholder: "\u00D6d\u00FCl ara...", className: "w-full bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/5 rounded-2xl px-5 py-3 text-sm text-armoyu-text focus:outline-none focus:border-armoyu-primary focus:ring-1 focus:ring-armoyu-primary transition-all font-medium" }), _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", className: "absolute right-4 top-3 text-armoyu-text-muted opacity-40", children: [_jsx("circle", { cx: "11", cy: "11", r: "8" }), _jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })] })] })] }), viewMode === 'grid' ? (_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6", children: [filteredGiveaways.map((giveaway, idx) => (_jsx(GiveawayCard, { ...giveaway }, giveaway.id || idx))), _jsxs("div", { className: "glass-panel p-10 rounded-[40px] border border-yellow-500 bg-gradient-to-br from-yellow-500/10 to-orange-500/5 flex flex-col items-center justify-center text-center group transition-all duration-500", children: [_jsx("div", { className: "w-16 h-16 rounded-full bg-yellow-500 text-white flex items-center justify-center mb-6 shadow-xl shadow-yellow-500/20 group-hover:scale-110 transition-transform", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "28", height: "28", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", children: _jsx("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" }) }) }), _jsx("h3", { className: "font-black text-armoyu-text text-xl mb-3", children: "VIP \u00C7EK\u0130L\u0130\u015ELER" }), _jsx("p", { className: "text-sm font-medium text-armoyu-text-muted leading-relaxed mb-8 px-4", children: "\u00D6zel VIP \u00FCyelik ile sadece sana \u00F6zel \u00F6d\u00FClleri yakalama \u015Fans\u0131n\u0131 ka\u00E7\u0131rma." }), _jsx("button", { className: "px-8 py-3 bg-yellow-500 hover:bg-yellow-400 text-white rounded-xl font-black text-xs uppercase tracking-widest shadow-lg shadow-yellow-500/30 transition-all active:scale-95", children: "VIP Ol" })] })] })) : (_jsxs("div", { className: "glass-panel overflow-hidden rounded-[32px] border border-armoyu-card-border shadow-xl shadow-black/[0.02] dark:shadow-2xl animate-in fade-in slide-in-from-right-8 duration-500", children: [_jsxs("div", { className: "hidden md:grid grid-cols-12 gap-4 px-8 py-5 bg-gray-50/50 dark:bg-white/5 border-b border-armoyu-card-border", children: [_jsx("div", { className: "col-span-1 text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest", children: "RES\u0130M" }), _jsx("div", { className: "col-span-4 text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest", children: "\u00D6D\u00DCL" }), _jsx("div", { className: "col-span-2 text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest", children: "KATEGOR\u0130" }), _jsx("div", { className: "col-span-1 text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest text-center", children: "KATILIMCI" }), _jsx("div", { className: "col-span-2 text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest text-center", children: "KALAN S\u00DCRE" }), _jsx("div", { className: "col-span-2 text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest text-right", children: "#" })] }), _jsx("div", { className: "divide-y divide-black/5 dark:divide-white/5", children: filteredGiveaways.map((giveaway, idx) => (_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-12 gap-4 px-8 py-5 items-center hover:bg-armoyu-primary/5 transition-all group", children: [_jsx("div", { className: "col-span-1", children: _jsx("img", { src: giveaway.image, className: "w-12 h-12 rounded-xl object-contain bg-white p-1 border border-black/10 dark:border-white/10", alt: "" }) }), _jsx("div", { className: "col-span-4", children: _jsx("h4", { className: "text-sm font-black text-armoyu-text uppercase tracking-tight group-hover:text-armoyu-primary transition-colors", children: giveaway.prize }) }), _jsx("div", { className: "col-span-2", children: _jsx("span", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest opacity-60", children: giveaway.title }) }), _jsxs("div", { className: "col-span-1 text-center font-black text-xs text-armoyu-primary flex items-center justify-center gap-1", children: [_jsxs("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", children: [_jsx("path", { d: "M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2" }), _jsx("circle", { cx: "9", cy: "7", r: "4" }), _jsx("path", { d: "M23 21v-2a4 4 0 0 0-3-3.87" }), _jsx("path", { d: "M16 3.13a4 4 0 0 1 0 7.75" })] }), giveaway.participants] }), _jsx("div", { className: "col-span-2 text-center text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest", children: giveaway.timeLeft }), _jsx("div", { className: "col-span-2 text-right", children: _jsx("button", { className: `px-5 py-2 rounded-xl text-[10px] font-black uppercase tracking-widest transition-all ${giveaway.status === 'active'
|
|
57
69
|
? 'bg-armoyu-primary text-white shadow-lg shadow-armoyu-primary/20 hover:scale-105 active:scale-95'
|
|
58
70
|
: 'bg-zinc-500/20 text-zinc-500 cursor-not-allowed'}`, children: giveaway.status === 'active' ? 'KATIL' : 'BITTI' }) })] }, idx))) })] })), _jsxs("div", { className: "mt-24 p-8 rounded-[40px] bg-emerald-500/5 border border-emerald-500/10 flex flex-col md:flex-row items-center justify-between gap-8", children: [_jsxs("div", { className: "flex items-center gap-6", children: [_jsx("div", { className: "w-16 h-16 rounded-full bg-emerald-500/10 flex items-center justify-center text-emerald-600", 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", children: _jsx("polyline", { points: "20 6 9 17 4 12" }) }) }), _jsxs("div", { children: [_jsx("h4", { className: "text-xl font-black text-armoyu-text", children: "Tebrikler!" }), _jsxs("p", { className: "text-sm font-medium text-armoyu-text-muted", children: ["Son Valorant \u00E7ekili\u015Fini kazanan ", _jsx("strong", { children: "@emirhan_top" }), " \u00F6d\u00FCl\u00FCn\u00FC teslim ald\u0131."] })] })] }), _jsx("button", { className: "px-6 py-3 border border-emerald-500 text-emerald-600 hover:bg-emerald-500 hover:text-white rounded-xl font-black text-[10px] uppercase tracking-widest transition-all active:scale-95", children: "Kazanlar\u0131 G\u00F6r" })] })] }));
|
|
59
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GiveawaysPage.js","sourceRoot":"","sources":["../../../../../src/components/modules/giveaways/pages/GiveawaysPage.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"GiveawaysPage.js","sourceRoot":"","sources":["../../../../../src/components/modules/giveaways/pages/GiveawaysPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export interface GiveawayCardProps {
|
|
2
|
+
id?: string;
|
|
2
3
|
title: string;
|
|
3
4
|
prize: string;
|
|
4
5
|
status: 'active' | 'ended';
|
|
@@ -6,5 +7,5 @@ export interface GiveawayCardProps {
|
|
|
6
7
|
timeLeft: string;
|
|
7
8
|
image: string;
|
|
8
9
|
}
|
|
9
|
-
export declare function GiveawayCard({ title, prize, status, participants, timeLeft, image }: GiveawayCardProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function GiveawayCard({ id, title, prize, status, participants, timeLeft, image }: GiveawayCardProps): import("react/jsx-runtime").JSX.Element;
|
|
10
11
|
//# sourceMappingURL=GiveawayCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GiveawayCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/giveaways/widgets/GiveawayCard.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GiveawayCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/giveaways/widgets/GiveawayCard.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,iBAAiB,2CA+D1G"}
|