@armoyu/ui 1.1.17 → 1.1.21
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/poll/pages/PollsPage.d.ts.map +1 -1
- package/dist/components/modules/poll/pages/PollsPage.js +28 -2
- package/dist/components/modules/poll/pages/PollsPage.js.map +1 -1
- package/dist/components/modules/posts/widgets/SocialFeed.d.ts +3 -0
- package/dist/components/modules/posts/widgets/SocialFeed.d.ts.map +1 -1
- package/dist/components/modules/posts/widgets/SocialFeed.js +9 -9
- package/dist/components/modules/posts/widgets/SocialFeed.js.map +1 -1
- package/dist/components/modules/profile/ProfileLayout.d.ts.map +1 -1
- package/dist/components/modules/profile/ProfileLayout.js +44 -6
- package/dist/components/modules/profile/ProfileLayout.js.map +1 -1
- package/dist/components/modules/profile/tabs/GamesTab.d.ts.map +1 -1
- package/dist/components/modules/profile/tabs/GamesTab.js +18 -31
- package/dist/components/modules/profile/tabs/GamesTab.js.map +1 -1
- package/dist/components/modules/profile/tabs/MediaTab.d.ts.map +1 -1
- package/dist/components/modules/profile/tabs/MediaTab.js +3 -1
- package/dist/components/modules/profile/tabs/MediaTab.js.map +1 -1
- package/dist/components/modules/profile/tabs/PostsTab.d.ts.map +1 -1
- 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/tabs/QuestionsTab.d.ts +6 -0
- package/dist/components/modules/profile/tabs/QuestionsTab.d.ts.map +1 -0
- package/dist/components/modules/profile/tabs/QuestionsTab.js +42 -0
- package/dist/components/modules/profile/tabs/QuestionsTab.js.map +1 -0
- package/dist/components/modules/profile/tabs/TaggedPostsTab.d.ts +7 -0
- package/dist/components/modules/profile/tabs/TaggedPostsTab.d.ts.map +1 -0
- package/dist/components/modules/profile/tabs/TaggedPostsTab.js +12 -0
- package/dist/components/modules/profile/tabs/TaggedPostsTab.js.map +1 -0
- package/dist/components/modules/profile/tabs/WallTab.d.ts +7 -0
- package/dist/components/modules/profile/tabs/WallTab.d.ts.map +1 -0
- package/dist/components/modules/profile/tabs/WallTab.js +76 -0
- package/dist/components/modules/profile/tabs/WallTab.js.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileBadgesWidget.d.ts.map +1 -1
- package/dist/components/modules/profile/widgets/ProfileBadgesWidget.js +9 -1
- package/dist/components/modules/profile/widgets/ProfileBadgesWidget.js.map +1 -1
- package/dist/components/modules/profile/widgets/ProfileGamesWidget.d.ts +7 -0
- package/dist/components/modules/profile/widgets/ProfileGamesWidget.d.ts.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileGamesWidget.js +14 -0
- package/dist/components/modules/profile/widgets/ProfileGamesWidget.js.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileGroupsWidget.d.ts +7 -0
- package/dist/components/modules/profile/widgets/ProfileGroupsWidget.d.ts.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileGroupsWidget.js +14 -0
- package/dist/components/modules/profile/widgets/ProfileGroupsWidget.js.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileInfoWidget.d.ts +9 -0
- package/dist/components/modules/profile/widgets/ProfileInfoWidget.d.ts.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileInfoWidget.js +43 -0
- package/dist/components/modules/profile/widgets/ProfileInfoWidget.js.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileSidebar.d.ts +4 -1
- package/dist/components/modules/profile/widgets/ProfileSidebar.d.ts.map +1 -1
- package/dist/components/modules/profile/widgets/ProfileSidebar.js +5 -3
- package/dist/components/modules/profile/widgets/ProfileSidebar.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 +16 -12
- package/dist/components/modules/profile/widgets/ProfileStats.js.map +1 -1
- package/dist/components/modules/profile/widgets/ProfileTabsArea.d.ts +3 -1
- package/dist/components/modules/profile/widgets/ProfileTabsArea.d.ts.map +1 -1
- package/dist/components/modules/profile/widgets/ProfileTabsArea.js +17 -21
- package/dist/components/modules/profile/widgets/ProfileTabsArea.js.map +1 -1
- package/dist/components/modules/profile/widgets/SoulmateSelectorModal.d.ts +10 -0
- package/dist/components/modules/profile/widgets/SoulmateSelectorModal.d.ts.map +1 -0
- package/dist/components/modules/profile/widgets/SoulmateSelectorModal.js +19 -0
- package/dist/components/modules/profile/widgets/SoulmateSelectorModal.js.map +1 -0
- package/dist/components/modules/shop/CartLayout.d.ts +12 -0
- package/dist/components/modules/shop/CartLayout.d.ts.map +1 -0
- package/dist/components/modules/shop/CartLayout.js +17 -0
- package/dist/components/modules/shop/CartLayout.js.map +1 -0
- package/dist/components/modules/shop/CheckoutLayout.d.ts +8 -0
- package/dist/components/modules/shop/CheckoutLayout.d.ts.map +1 -0
- package/dist/components/modules/shop/CheckoutLayout.js +26 -0
- package/dist/components/modules/shop/CheckoutLayout.js.map +1 -0
- package/dist/components/modules/shop/DetailLayout.d.ts.map +1 -1
- package/dist/components/modules/shop/DetailLayout.js +3 -1
- package/dist/components/modules/shop/DetailLayout.js.map +1 -1
- package/dist/components/modules/shop/OrdersLayout.d.ts +15 -0
- package/dist/components/modules/shop/OrdersLayout.d.ts.map +1 -0
- package/dist/components/modules/shop/OrdersLayout.js +11 -0
- package/dist/components/modules/shop/OrdersLayout.js.map +1 -0
- package/dist/components/modules/shop/widgets/BackToStore.d.ts.map +1 -1
- package/dist/components/modules/shop/widgets/BackToStore.js +3 -1
- package/dist/components/modules/shop/widgets/BackToStore.js.map +1 -1
- package/dist/components/modules/shop/widgets/StoreSearchBar.d.ts +9 -0
- package/dist/components/modules/shop/widgets/StoreSearchBar.d.ts.map +1 -0
- package/dist/components/modules/shop/widgets/StoreSearchBar.js +15 -0
- package/dist/components/modules/shop/widgets/StoreSearchBar.js.map +1 -0
- package/dist/components/showcase/ShopTab.d.ts.map +1 -1
- package/dist/components/showcase/ShopTab.js +32 -1
- package/dist/components/showcase/ShopTab.js.map +1 -1
- package/dist/components/showcase/ShowcaseNavigation.js +1 -1
- package/dist/components/showcase/ShowcaseNavigation.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/models/auth/User.d.ts +3 -1
- package/dist/models/auth/User.d.ts.map +1 -1
- package/dist/models/auth/User.js +12 -4
- package/dist/models/auth/User.js.map +1 -1
- package/dist/models/community/Survey.d.ts.map +1 -1
- package/dist/models/community/Survey.js +14 -9
- package/dist/models/community/Survey.js.map +1 -1
- package/dist/models/community/SurveyAnswer.js +3 -3
- package/dist/models/community/SurveyAnswer.js.map +1 -1
- package/dist/models/social/gaming/Game.d.ts +7 -0
- package/dist/models/social/gaming/Game.d.ts.map +1 -1
- package/dist/models/social/gaming/Game.js +19 -8
- package/dist/models/social/gaming/Game.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PollsPage.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/poll/pages/PollsPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PollsPage.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/poll/pages/PollsPage.tsx"],"names":[],"mappings":"AAUA,wBAAgB,SAAS,4CA0IxB"}
|
|
@@ -8,10 +8,36 @@ const PageWidth_1 = require("../../../shared/PageWidth");
|
|
|
8
8
|
const seedData_1 = require("../../../../lib/constants/seedData");
|
|
9
9
|
const SurveyCard_1 = require("../../community/widgets/SurveyCard");
|
|
10
10
|
const lucide_react_1 = require("lucide-react");
|
|
11
|
+
const ArmoyuContext_1 = require("../../../../context/ArmoyuContext");
|
|
12
|
+
const Survey_1 = require("../../../../models/community/Survey");
|
|
11
13
|
function PollsPage() {
|
|
14
|
+
const { ui } = (0, ArmoyuContext_1.useArmoyu)();
|
|
12
15
|
const [activeTab, setActiveTab] = (0, react_1.useState)('Aktif');
|
|
13
16
|
const [searchQuery, setSearchQuery] = (0, react_1.useState)('');
|
|
14
|
-
const
|
|
17
|
+
const [polls, setPolls] = (0, react_1.useState)(() => (seedData_1.surveyList || []).map(s => Survey_1.Survey.fromAPI(s)));
|
|
18
|
+
const [isFetching, setIsFetching] = (0, react_1.useState)(false);
|
|
19
|
+
const fetchPollsFromApi = async () => {
|
|
20
|
+
setIsFetching(true);
|
|
21
|
+
try {
|
|
22
|
+
const response = await ui.api.polls.getPolls(1);
|
|
23
|
+
if (response.durum === 1) {
|
|
24
|
+
const apiPolls = (response.icerik || []).map((poll) => Survey_1.Survey.fromAPI(poll));
|
|
25
|
+
// Prepend API polls to the list (or replace if desired, here we merge)
|
|
26
|
+
setPolls(prev => {
|
|
27
|
+
const combined = [...apiPolls, ...prev];
|
|
28
|
+
// Filter unique IDs
|
|
29
|
+
return Array.from(new Map(combined.map(p => [p.id, p])).values());
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
console.error("Failed to fetch polls:", error);
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
setIsFetching(false);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
const filteredSurveys = polls.filter((survey) => {
|
|
15
41
|
// 1. Search Query
|
|
16
42
|
if (searchQuery && !survey.question.toLowerCase().includes(searchQuery.toLowerCase()))
|
|
17
43
|
return false;
|
|
@@ -24,7 +50,7 @@ function PollsPage() {
|
|
|
24
50
|
return !survey.expiresAt || new Date(survey.expiresAt) >= new Date();
|
|
25
51
|
return true;
|
|
26
52
|
});
|
|
27
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "pb-32 animate-in fade-in duration-700 bg-armoyu-bg min-h-screen", children: [(0, jsx_runtime_1.jsx)(PageWidth_1.PageWidth, { width: "max-w-[1280px]" }), (0, jsx_runtime_1.jsxs)("div", { className: "max-w-[1280px] mx-auto px-6 md:px-12", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col md:flex-row items-center justify-between gap-8 mb-16 pt-12", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex-1", children: [(0, jsx_runtime_1.jsxs)("h1", { className: "text-4xl md:text-6xl font-black text-armoyu-text uppercase tracking-tighter italic leading-none mb-4 drop-shadow-xl", children: ["TOPLULUK ", (0, jsx_runtime_1.jsx)("span", { className: "text-blue-500", children: "ANKETLER\u0130" })] }), (0, jsx_runtime_1.jsx)("p", { className: "text-armoyu-text-muted text-sm md:text-base font-medium opacity-80 max-w-2xl leading-relaxed", children: "ARMOYU d\u00FCnyas\u0131n\u0131n gelece\u011Fini birlikte \u015Fekillendiriyoruz. Fikrini belirt, oyunu kullan ve toplulu\u011Fun nabz\u0131n\u0131 tut!" })] }), (0, jsx_runtime_1.jsxs)("button", { className: "px-8 py-4 bg-blue-600 text-white rounded-[25px] font-black text-xs uppercase tracking-[0.2em] shadow-2xl shadow-blue-500/30 hover:scale-105 active:scale-95 transition-all flex items-center gap-3", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Plus, { size: 18, strokeWidth: 3 }), " YEN\u0130 ANKET OLU\u015ETUR"] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "grid grid-cols-1 lg:grid-cols-12 gap-12", children: [(0, jsx_runtime_1.jsxs)("div", { className: "lg:col-span-3 space-y-8", children: [(0, jsx_runtime_1.jsxs)("div", { className: "space-y-3", children: [(0, jsx_runtime_1.jsx)("p", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-[0.3em] ml-4 mb-4", children: "G\u00F6r\u00FCn\u00FCm Filtrele" }), [
|
|
53
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "pb-32 animate-in fade-in duration-700 bg-armoyu-bg min-h-screen", children: [(0, jsx_runtime_1.jsx)(PageWidth_1.PageWidth, { width: "max-w-[1280px]" }), (0, jsx_runtime_1.jsxs)("div", { className: "max-w-[1280px] mx-auto px-6 md:px-12", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col md:flex-row items-center justify-between gap-8 mb-16 pt-12", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex-1", children: [(0, jsx_runtime_1.jsxs)("h1", { className: "text-4xl md:text-6xl font-black text-armoyu-text uppercase tracking-tighter italic leading-none mb-4 drop-shadow-xl", children: ["TOPLULUK ", (0, jsx_runtime_1.jsx)("span", { className: "text-blue-500", children: "ANKETLER\u0130" })] }), (0, jsx_runtime_1.jsx)("p", { className: "text-armoyu-text-muted text-sm md:text-base font-medium opacity-80 max-w-2xl leading-relaxed", children: "ARMOYU d\u00FCnyas\u0131n\u0131n gelece\u011Fini birlikte \u015Fekillendiriyoruz. Fikrini belirt, oyunu kullan ve toplulu\u011Fun nabz\u0131n\u0131 tut!" })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-4", children: [(0, jsx_runtime_1.jsxs)("button", { onClick: fetchPollsFromApi, disabled: isFetching, className: `px-8 py-4 bg-white/5 hover:bg-white/10 text-armoyu-text rounded-[25px] font-black text-xs uppercase tracking-[0.2em] border border-white/5 shadow-xl transition-all flex items-center gap-3 active:scale-95 ${isFetching ? 'opacity-50' : ''}`, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.RefreshCw, { size: 18, strokeWidth: 3, className: isFetching ? 'animate-spin' : '' }), isFetching ? 'VERİ ÇEKİLİYOR...' : 'API BİLGİSİ ÇEK'] }), (0, jsx_runtime_1.jsxs)("button", { className: "px-8 py-4 bg-blue-600 text-white rounded-[25px] font-black text-xs uppercase tracking-[0.2em] shadow-2xl shadow-blue-500/30 hover:scale-105 active:scale-95 transition-all flex items-center gap-3", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Plus, { size: 18, strokeWidth: 3 }), " YEN\u0130 ANKET OLU\u015ETUR"] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "grid grid-cols-1 lg:grid-cols-12 gap-12", children: [(0, jsx_runtime_1.jsxs)("div", { className: "lg:col-span-3 space-y-8", children: [(0, jsx_runtime_1.jsxs)("div", { className: "space-y-3", children: [(0, jsx_runtime_1.jsx)("p", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-[0.3em] ml-4 mb-4", children: "G\u00F6r\u00FCn\u00FCm Filtrele" }), [
|
|
28
54
|
{ name: 'Aktif', icon: lucide_react_1.TrendingUp },
|
|
29
55
|
{ name: 'Katıldıklarım', icon: lucide_react_1.BarChart3 },
|
|
30
56
|
{ name: 'Arşiv', icon: lucide_react_1.History }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PollsPage.js","sourceRoot":"","sources":["../../../../../src/components/modules/poll/pages/PollsPage.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;
|
|
1
|
+
{"version":3,"file":"PollsPage.js","sourceRoot":"","sources":["../../../../../src/components/modules/poll/pages/PollsPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,9 @@ import { PostCardProps } from './PostCard';
|
|
|
3
3
|
export interface SocialFeedProps {
|
|
4
4
|
category?: string;
|
|
5
5
|
categoryDetail?: string | number;
|
|
6
|
+
userId?: number;
|
|
7
|
+
username?: string;
|
|
8
|
+
feature?: string;
|
|
6
9
|
initialPosts?: PostCardProps[];
|
|
7
10
|
profilePrefix?: string;
|
|
8
11
|
emptyMessage?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SocialFeed.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/posts/widgets/SocialFeed.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4E,MAAM,OAAO,CAAC;AAEjG,OAAO,EAAY,aAAa,EAAE,MAAM,YAAY,CAAC;AAMrD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,WAAW,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"SocialFeed.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/posts/widgets/SocialFeed.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4E,MAAM,OAAO,CAAC;AAEjG,OAAO,EAAY,aAAa,EAAE,MAAM,YAAY,CAAC;AAMrD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,WAAW,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,UAAU,uFAgLrB,CAAC"}
|
|
@@ -11,7 +11,7 @@ const AuthContext_1 = require("../../../../context/AuthContext");
|
|
|
11
11
|
const postUtils_1 = require("../../../../lib/utils/postUtils");
|
|
12
12
|
const lucide_react_1 = require("lucide-react");
|
|
13
13
|
exports.SocialFeed = (0, react_1.forwardRef)((props, ref) => {
|
|
14
|
-
const { category, categoryDetail, initialPosts = [], profilePrefix, emptyMessage = 'Henüz bir paylaşım bulunamadı.', autoFetch = true, live = false, className = '' } = props;
|
|
14
|
+
const { category, categoryDetail, userId, username, feature, initialPosts = [], profilePrefix, emptyMessage = 'Henüz bir paylaşım bulunamadı.', autoFetch = true, live = false, className = '' } = props;
|
|
15
15
|
const { api } = (0, ArmoyuContext_1.useArmoyu)();
|
|
16
16
|
const { user: currentUser } = (0, AuthContext_1.useAuth)();
|
|
17
17
|
const { on } = (0, SocketContext_1.useSocket)();
|
|
@@ -21,11 +21,7 @@ exports.SocialFeed = (0, react_1.forwardRef)((props, ref) => {
|
|
|
21
21
|
const [hasMore, setHasMore] = (0, react_1.useState)(true);
|
|
22
22
|
const [error, setError] = (0, react_1.useState)(null);
|
|
23
23
|
const fetchPosts = (0, react_1.useCallback)(async (isLoadMore = false, forcePage) => {
|
|
24
|
-
|
|
25
|
-
if (!currentUser) {
|
|
26
|
-
setError("Paylaşımları görmek için giriş yapmalısınız.");
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
24
|
+
console.log(`[SocialFeed] Fetching posts for:`, { username, userId, feature, category, page: forcePage ?? (isLoadMore ? page + 1 : 1) });
|
|
29
25
|
setLoading(true);
|
|
30
26
|
setError(null);
|
|
31
27
|
try {
|
|
@@ -34,7 +30,10 @@ exports.SocialFeed = (0, react_1.forwardRef)((props, ref) => {
|
|
|
34
30
|
const params = {
|
|
35
31
|
limit,
|
|
36
32
|
category,
|
|
37
|
-
categoryDetail: categoryDetail?.toString()
|
|
33
|
+
categoryDetail: categoryDetail?.toString(),
|
|
34
|
+
userId,
|
|
35
|
+
username,
|
|
36
|
+
feature
|
|
38
37
|
};
|
|
39
38
|
const response = await api.social.getPosts(targetPage, params);
|
|
40
39
|
if (response.durum !== 1) {
|
|
@@ -64,7 +63,7 @@ exports.SocialFeed = (0, react_1.forwardRef)((props, ref) => {
|
|
|
64
63
|
finally {
|
|
65
64
|
setLoading(false);
|
|
66
65
|
}
|
|
67
|
-
}, [api, currentUser, category, categoryDetail, page]);
|
|
66
|
+
}, [api, currentUser, category, categoryDetail, userId, username, feature, page]);
|
|
68
67
|
// Live Socket Listeners
|
|
69
68
|
(0, react_1.useEffect)(() => {
|
|
70
69
|
if (!live)
|
|
@@ -111,12 +110,13 @@ exports.SocialFeed = (0, react_1.forwardRef)((props, ref) => {
|
|
|
111
110
|
}
|
|
112
111
|
}));
|
|
113
112
|
(0, react_1.useEffect)(() => {
|
|
113
|
+
console.log("[SocialFeed] Props/Dependencies changed:", { category, categoryDetail, userId, username, feature, currentUser: !!currentUser });
|
|
114
114
|
if (autoFetch) {
|
|
115
115
|
setPosts([]); // Clear previous content when category changes
|
|
116
116
|
fetchPosts(false, 1);
|
|
117
117
|
}
|
|
118
118
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
119
|
-
}, [category, categoryDetail, currentUser, autoFetch]);
|
|
119
|
+
}, [category, categoryDetail, userId, username, feature, currentUser, autoFetch]);
|
|
120
120
|
return ((0, jsx_runtime_1.jsx)("div", { className: `space-y-6 ${className}`, children: (0, jsx_runtime_1.jsx)("div", { className: "flex flex-col gap-6", children: loading && posts.length === 0 ? ((0, jsx_runtime_1.jsxs)("div", { className: "py-20 flex flex-col items-center gap-4 opacity-50", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.RefreshCcw, { size: 32, className: "animate-spin text-blue-500" }), (0, jsx_runtime_1.jsx)("span", { className: "text-xs font-black uppercase tracking-widest text-armoyu-text", children: "Ak\u0131\u015F G\u00FCncelleniyor..." })] })) : posts.length > 0 ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [posts.map((post) => ((0, jsx_runtime_1.jsx)(PostCard_1.PostCard, { ...post, profilePrefix: profilePrefix }, post.id))), hasMore && ((0, jsx_runtime_1.jsx)("div", { className: "flex justify-center mt-6", children: (0, jsx_runtime_1.jsxs)("button", { onClick: () => fetchPosts(true), disabled: loading, className: "px-8 py-3 bg-blue-600 hover:bg-blue-500 disabled:bg-gray-700/50 text-white rounded-2xl text-[11px] font-black uppercase tracking-widest transition-all shadow-xl shadow-blue-600/20 active:scale-95 flex items-center gap-3", children: [loading ? (0, jsx_runtime_1.jsx)(lucide_react_1.RefreshCcw, { size: 14, className: "animate-spin" }) : (0, jsx_runtime_1.jsx)(lucide_react_1.RefreshCcw, { size: 14 }), loading ? 'YÜKLENİYOR...' : 'DAHA FAZLA GÖSTER'] }) }))] })) : !loading && ((0, jsx_runtime_1.jsxs)("div", { className: "py-20 text-center border-2 border-dashed border-white/5 rounded-[40px] opacity-40", children: [(0, jsx_runtime_1.jsx)("div", { className: "mb-4 flex justify-center text-armoyu-text-muted", children: (0, jsx_runtime_1.jsx)(lucide_react_1.FileX, { size: 48, strokeWidth: 1 }) }), (0, jsx_runtime_1.jsx)("p", { className: "text-xs font-black uppercase tracking-widest text-armoyu-text", children: error ? 'BİR HATA OLUŞTU' : emptyMessage }), error && (0, jsx_runtime_1.jsx)("p", { className: "text-[10px] font-bold text-red-500 mt-2 italic", children: error })] })) }) }));
|
|
121
121
|
});
|
|
122
122
|
exports.SocialFeed.displayName = 'SocialFeed';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SocialFeed.js","sourceRoot":"","sources":["../../../../../src/components/modules/posts/widgets/SocialFeed.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;AAEb,iCAAiG;AACjG,qEAA8D;AAC9D,yCAAqD;AACrD,qEAA8D;AAC9D,iEAA0D;AAC1D,+DAAwE;AACxE,+CAAiD;
|
|
1
|
+
{"version":3,"file":"SocialFeed.js","sourceRoot":"","sources":["../../../../../src/components/modules/posts/widgets/SocialFeed.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfileLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/modules/profile/ProfileLayout.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"ProfileLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/modules/profile/ProfileLayout.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAmBjD,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,IAAI,CAAA;CAAE,kDAoMtD"}
|
|
@@ -12,12 +12,17 @@ const ProfileHeader_1 = require("./widgets/ProfileHeader");
|
|
|
12
12
|
const ProfileStats_1 = require("./widgets/ProfileStats");
|
|
13
13
|
const ProfileSidebar_1 = require("./widgets/ProfileSidebar");
|
|
14
14
|
const ProfileTabsArea_1 = require("./widgets/ProfileTabsArea");
|
|
15
|
+
const SoulmateSelectorModal_1 = require("./widgets/SoulmateSelectorModal");
|
|
15
16
|
const index_2 = require("../../../index");
|
|
17
|
+
const lucide_react_1 = require("lucide-react");
|
|
16
18
|
function ProfileLayout({ user }) {
|
|
17
|
-
const { user: currentUser } = (0, index_1.useAuth)();
|
|
19
|
+
const { user: currentUser, updateUser } = (0, index_1.useAuth)();
|
|
18
20
|
const { api: armoyuApi } = (0, index_1.useArmoyu)();
|
|
19
21
|
const [activeTab, setActiveTab] = (0, react_1.useState)('Kariyer');
|
|
20
22
|
const [isCloudModalOpen, setIsCloudModalOpen] = (0, react_1.useState)(false);
|
|
23
|
+
const [isBioModalOpen, setIsBioModalOpen] = (0, react_1.useState)(false);
|
|
24
|
+
const [isSoulmateModalOpen, setIsSoulmateModalOpen] = (0, react_1.useState)(false);
|
|
25
|
+
const [tempBio, setTempBio] = (0, react_1.useState)(user?.bio || '');
|
|
21
26
|
const [friends, setFriends] = (0, react_1.useState)([]);
|
|
22
27
|
const [isLoadingFriends, setIsLoadingFriends] = (0, react_1.useState)(false);
|
|
23
28
|
const [hasFetchedFriends, setHasFetchedFriends] = (0, react_1.useState)(false);
|
|
@@ -26,6 +31,29 @@ function ProfileLayout({ user }) {
|
|
|
26
31
|
// Use currentUser from context if it's our own profile to ensure reactivity
|
|
27
32
|
const isOwnProfile = currentUser?.username === user?.username;
|
|
28
33
|
const displayUser = isOwnProfile ? currentUser : user;
|
|
34
|
+
// Reset internal states when the user changes to prevent "ghosting" of old data
|
|
35
|
+
(0, react_1.useEffect)(() => {
|
|
36
|
+
setFriends([]);
|
|
37
|
+
setHasFetchedFriends(false);
|
|
38
|
+
setFriendsPage(1);
|
|
39
|
+
setHasMoreFriends(true);
|
|
40
|
+
if (displayUser?.bio) {
|
|
41
|
+
setTempBio(displayUser.bio);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
setTempBio('');
|
|
45
|
+
}
|
|
46
|
+
console.log(`[ProfileLayout] State reset for new user: ${displayUser?.username}`);
|
|
47
|
+
}, [displayUser?.id, displayUser?.username]);
|
|
48
|
+
const handleBioSave = () => {
|
|
49
|
+
if (isOwnProfile && currentUser) {
|
|
50
|
+
updateUser({
|
|
51
|
+
...currentUser,
|
|
52
|
+
bio: tempBio
|
|
53
|
+
});
|
|
54
|
+
setIsBioModalOpen(false);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
29
57
|
const fetchFriends = async (isLoadMore = false) => {
|
|
30
58
|
if (!displayUser?.id)
|
|
31
59
|
return;
|
|
@@ -36,8 +64,8 @@ function ProfileLayout({ user }) {
|
|
|
36
64
|
userId: Number(displayUser.id),
|
|
37
65
|
limit: 20
|
|
38
66
|
});
|
|
39
|
-
if (data && Array.isArray(data)) {
|
|
40
|
-
const mappedFriends = data.map((u) => User_1.User.fromAPI(u));
|
|
67
|
+
if (data && data.icerik && Array.isArray(data.icerik)) {
|
|
68
|
+
const mappedFriends = data.icerik.map((u) => User_1.User.fromAPI(u));
|
|
41
69
|
if (isLoadMore) {
|
|
42
70
|
setFriends(prev => [...prev, ...mappedFriends]);
|
|
43
71
|
}
|
|
@@ -51,6 +79,10 @@ function ProfileLayout({ user }) {
|
|
|
51
79
|
}
|
|
52
80
|
else {
|
|
53
81
|
setHasMoreFriends(false);
|
|
82
|
+
if (!isLoadMore) {
|
|
83
|
+
setFriends([]);
|
|
84
|
+
setHasFetchedFriends(true);
|
|
85
|
+
}
|
|
54
86
|
}
|
|
55
87
|
}
|
|
56
88
|
catch (error) {
|
|
@@ -64,10 +96,16 @@ function ProfileLayout({ user }) {
|
|
|
64
96
|
if (activeTab === 'Arkadaşlar' && !hasFetchedFriends) {
|
|
65
97
|
fetchFriends(false);
|
|
66
98
|
}
|
|
67
|
-
|
|
68
|
-
}, [activeTab, hasFetchedFriends, displayUser?.id, armoyuApi]);
|
|
99
|
+
}, [activeTab, displayUser?.id, armoyuApi, hasFetchedFriends]);
|
|
69
100
|
if (!displayUser)
|
|
70
101
|
return null;
|
|
71
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "max-w-7xl mx-auto px-4 py-8 space-y-8 animate-in fade-in duration-700", children: [(0, jsx_runtime_1.jsx)(ProfileHeader_1.ProfileHeader, { user: displayUser, isOwnProfile: isOwnProfile }), (0, jsx_runtime_1.jsx)(ProfileStats_1.ProfileStats, { user: displayUser }), (0, jsx_runtime_1.jsxs)("div", { className: "w-full flex flex-col lg:flex-row gap-8", children: [(0, jsx_runtime_1.jsx)("div", { className: "w-full lg:w-80 shrink-0", children: (0, jsx_runtime_1.jsx)(ProfileSidebar_1.ProfileSidebar, { displayUser: displayUser, isOwnProfile: isOwnProfile, friends: friends.length > 0 ? friends : (displayUser?.friends || []), onSeeAllFriends: () => setActiveTab('Arkadaşlar'), onManageCloud: () => setIsCloudModalOpen(true) }) }), (0, jsx_runtime_1.jsx)(ProfileTabsArea_1.ProfileTabsArea, { displayUser: displayUser, isOwnProfile: isOwnProfile, activeTab: activeTab, setActiveTab: setActiveTab, friends: friends, hasMoreFriends: hasMoreFriends, isLoadingFriends: isLoadingFriends, onLoadMoreFriends: () => fetchFriends(true) })] }), (0, jsx_runtime_1.jsx)(index_2.CloudModal, { isOpen: isCloudModalOpen, onClose: () => setIsCloudModalOpen(false) })]
|
|
102
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "max-w-7xl mx-auto px-4 py-8 space-y-8 animate-in fade-in duration-700", children: [(0, jsx_runtime_1.jsx)(ProfileHeader_1.ProfileHeader, { user: displayUser, isOwnProfile: isOwnProfile }), (0, jsx_runtime_1.jsx)(ProfileStats_1.ProfileStats, { user: displayUser, isOwnProfile: isOwnProfile, onEditBio: () => setIsBioModalOpen(true) }), (0, jsx_runtime_1.jsxs)("div", { className: "w-full flex flex-col lg:flex-row gap-8", children: [(0, jsx_runtime_1.jsx)("div", { className: "w-full lg:w-80 shrink-0", children: (0, jsx_runtime_1.jsx)(ProfileSidebar_1.ProfileSidebar, { displayUser: displayUser, isOwnProfile: isOwnProfile, friends: friends.length > 0 ? friends : (displayUser?.friends || []), onSeeAllFriends: () => setActiveTab('Arkadaşlar'), onSeeAllGroups: () => setActiveTab('Gruplar'), onSeeAllGames: () => setActiveTab('Oynadığı Oyunlar'), onManageCloud: () => setIsCloudModalOpen(true), onSoulmateEdit: isOwnProfile ? () => setIsSoulmateModalOpen(true) : undefined }) }), (0, jsx_runtime_1.jsx)(ProfileTabsArea_1.ProfileTabsArea, { displayUser: displayUser, isOwnProfile: isOwnProfile, activeTab: activeTab, setActiveTab: setActiveTab, friends: friends, hasMoreFriends: hasMoreFriends, isLoadingFriends: isLoadingFriends, hasFetchedFriends: hasFetchedFriends, onLoadMoreFriends: () => fetchFriends(true), onEditBio: () => setIsBioModalOpen(true) })] }), (0, jsx_runtime_1.jsx)(index_2.CloudModal, { isOpen: isCloudModalOpen, onClose: () => setIsCloudModalOpen(false) }), (0, jsx_runtime_1.jsx)(SoulmateSelectorModal_1.SoulmateSelectorModal, { isOpen: isSoulmateModalOpen, onClose: () => setIsSoulmateModalOpen(false), friends: friends.length > 0 ? friends : (displayUser?.friends || []), onSelect: (soulmate) => {
|
|
103
|
+
if (isOwnProfile && currentUser) {
|
|
104
|
+
updateUser({
|
|
105
|
+
...currentUser,
|
|
106
|
+
soulmate: soulmate
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
} }), isBioModalOpen && ((0, jsx_runtime_1.jsxs)("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4", children: [(0, jsx_runtime_1.jsx)("div", { className: "absolute inset-0 bg-black/60 backdrop-blur-sm", onClick: () => setIsBioModalOpen(false) }), (0, jsx_runtime_1.jsxs)("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl w-full max-w-md relative z-10 overflow-hidden shadow-2xl", children: [(0, jsx_runtime_1.jsxs)("div", { className: "p-6 border-b border-armoyu-card-border flex justify-between items-center bg-black/5 dark:bg-white/5", children: [(0, jsx_runtime_1.jsx)("h3", { className: "text-xl font-black text-armoyu-text italic uppercase tracking-tight", children: "HAKKINDA'YI D\u00DCZENLE" }), (0, jsx_runtime_1.jsx)("button", { onClick: () => setIsBioModalOpen(false), className: "text-armoyu-text-muted hover:text-red-500 transition-all", children: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { size: 24 }) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "p-6 space-y-6", children: [(0, jsx_runtime_1.jsxs)("div", { className: "space-y-3", children: [(0, jsx_runtime_1.jsxs)("label", { className: "text-[11px] font-black text-armoyu-text-muted uppercase tracking-widest italic flex justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Kendinden Bahset" }), (0, jsx_runtime_1.jsxs)("span", { children: [(tempBio || '').length, "/300"] })] }), (0, jsx_runtime_1.jsx)("textarea", { value: tempBio || '', onChange: (e) => setTempBio(e.target.value.slice(0, 300)), placeholder: "Di\u011Fer oyunculara kim oldu\u011Funu anlat...", className: "w-full h-32 bg-black/5 dark:bg-white/5 border border-armoyu-card-border rounded-2xl p-4 text-sm font-medium text-armoyu-text focus:outline-none focus:border-blue-500 transition-all resize-none" })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-3 pt-4 border-t border-armoyu-card-border", children: [(0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setIsBioModalOpen(false), className: "flex-1 px-6 py-4 rounded-xl text-xs font-black text-armoyu-text uppercase tracking-widest bg-black/5 hover:bg-black/10 transition-all border border-transparent hover:border-armoyu-card-border", children: "\u0130PTAL" }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: handleBioSave, className: "flex-1 px-6 py-4 rounded-xl text-xs font-black text-white uppercase tracking-widest bg-blue-600 hover:bg-blue-500 transition-all shadow-xl shadow-blue-500/20", children: "KAYDET" })] })] })] })] }))] }));
|
|
72
110
|
}
|
|
73
111
|
//# sourceMappingURL=ProfileLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfileLayout.js","sourceRoot":"","sources":["../../../../src/components/modules/profile/ProfileLayout.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;
|
|
1
|
+
{"version":3,"file":"ProfileLayout.js","sourceRoot":"","sources":["../../../../src/components/modules/profile/ProfileLayout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GamesTab.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/profile/tabs/GamesTab.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAGpD,UAAU,aAAa;IACrB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;CACnB;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"GamesTab.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/profile/tabs/GamesTab.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAGpD,UAAU,aAAa;IACrB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;CACnB;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,2CAmI/C"}
|
|
@@ -5,36 +5,23 @@ exports.GamesTab = GamesTab;
|
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const lucide_react_1 = require("lucide-react");
|
|
7
7
|
function GamesTab({ user }) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
image: 'https://images.alphacoders.com/132/1322158.png'
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
id: 3,
|
|
30
|
-
name: 'Valorant',
|
|
31
|
-
rank: 'Immortal 1',
|
|
32
|
-
hours: '950',
|
|
33
|
-
level: 156,
|
|
34
|
-
icon: 'https://e7.pngegg.com/pngimages/362/342/png-clipart-valorant-riot-games-logo-video-game-valorant-text-logo.png',
|
|
35
|
-
image: 'https://images2.alphacoders.com/106/1064562.jpg'
|
|
36
|
-
}
|
|
37
|
-
];
|
|
38
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "space-y-8", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-4 px-2", children: [(0, jsx_runtime_1.jsx)("div", { className: "w-12 h-12 rounded-2xl bg-blue-600 flex items-center justify-center text-white shadow-xl shadow-blue-600/20", children: (0, jsx_runtime_1.jsx)(lucide_react_1.Gamepad2, { size: 24 }) }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h3", { className: "text-xl font-black text-armoyu-text uppercase tracking-tighter italic leading-none", children: "OYUN K\u00DCT\u00DCPHANES\u0130" }), (0, jsx_runtime_1.jsx)("p", { className: "text-[10px] font-bold text-armoyu-text-muted mt-1 uppercase tracking-widest", children: "Aktif olarak oynanan ve favori oyunlar" })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: [games.map((game) => ((0, jsx_runtime_1.jsxs)("div", { className: "group relative bg-armoyu-card-bg border border-armoyu-card-border rounded-[32px] overflow-hidden hover:border-blue-500/50 transition-all duration-500 shadow-sm hover:shadow-2xl hover:shadow-blue-500/10", children: [(0, jsx_runtime_1.jsxs)("div", { className: "h-48 relative overflow-hidden", children: [(0, jsx_runtime_1.jsx)("img", { src: game.image, alt: game.name, className: "w-full h-full object-cover group-hover:scale-110 transition-transform duration-700" }), (0, jsx_runtime_1.jsx)("div", { className: "absolute inset-0 bg-gradient-to-t from-armoyu-card-bg via-armoyu-card-bg/40 to-transparent" }), (0, jsx_runtime_1.jsx)("div", { className: "absolute top-4 left-4", children: (0, jsx_runtime_1.jsxs)("div", { className: "bg-black/60 backdrop-blur-md px-3 py-1.5 rounded-xl border border-white/10 flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("img", { src: game.icon, alt: "icon", className: "w-4 h-4 object-contain" }), (0, jsx_runtime_1.jsx)("span", { className: "text-[10px] font-black text-white uppercase tracking-widest", children: game.name })] }) })] }), (0, jsx_runtime_1.jsx)("div", { className: "p-6 pt-0 -mt-8 relative z-10", children: (0, jsx_runtime_1.jsxs)("div", { className: "bg-armoyu-card-bg/80 backdrop-blur-xl border border-white/5 rounded-[24px] p-5", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between items-center mb-4", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { className: "text-[9px] font-black text-armoyu-text-muted uppercase tracking-widest mb-1", children: "R\u00DCTBE" }), (0, jsx_runtime_1.jsx)("div", { className: "text-sm font-black text-blue-500 uppercase italic tracking-tighter", children: game.rank })] }), (0, jsx_runtime_1.jsxs)("div", { className: "text-right", children: [(0, jsx_runtime_1.jsx)("div", { className: "text-[9px] font-black text-armoyu-text-muted uppercase tracking-widest mb-1", children: "SEV\u0130YE" }), (0, jsx_runtime_1.jsx)("div", { className: "text-sm font-black text-armoyu-text", children: game.level })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "grid grid-cols-2 gap-3", children: [(0, jsx_runtime_1.jsxs)("div", { className: "p-3 rounded-2xl bg-black/5 dark:bg-white/5 flex items-center gap-3", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Calendar, { size: 14, className: "text-armoyu-text-muted" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { className: "text-[8px] font-black text-armoyu-text-muted uppercase", children: "S\u00DCRE" }), (0, jsx_runtime_1.jsxs)("div", { className: "text-[11px] font-bold text-armoyu-text", children: [game.hours, " Sa"] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "p-3 rounded-2xl bg-black/5 dark:bg-white/5 flex items-center gap-3", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Trophy, { size: 14, className: "text-amber-500" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { className: "text-[8px] font-black text-armoyu-text-muted uppercase", children: "KUPA" }), (0, jsx_runtime_1.jsx)("div", { className: "text-[11px] font-bold text-armoyu-text", children: "12/30" })] })] })] })] }) })] }, game.id))), (0, jsx_runtime_1.jsxs)("div", { className: "group border-2 border-dashed border-armoyu-card-border rounded-[32px] p-8 flex flex-col items-center justify-center gap-4 hover:border-blue-500/50 hover:bg-blue-500/5 transition-all cursor-pointer min-h-[300px]", children: [(0, jsx_runtime_1.jsx)("div", { className: "w-16 h-16 rounded-full bg-black/5 dark:bg-white/5 flex items-center justify-center text-armoyu-text-muted group-hover:text-blue-500 group-hover:bg-blue-500/10 transition-all", children: (0, jsx_runtime_1.jsx)(lucide_react_1.Users, { size: 32 }) }), (0, jsx_runtime_1.jsxs)("div", { className: "text-center", children: [(0, jsx_runtime_1.jsx)("h4", { className: "font-black text-armoyu-text uppercase tracking-tighter italic", children: "YEN\u0130 OYUN EKLE" }), (0, jsx_runtime_1.jsx)("p", { className: "text-[10px] font-bold text-armoyu-text-muted mt-1 uppercase tracking-widest italic", children: "K\u00FCt\u00FCphaneni geni\u015Fletmeye ne dersin?" })] })] })] })] }));
|
|
8
|
+
const games = (user?.popularGames || []).map(game => ({
|
|
9
|
+
id: game.id,
|
|
10
|
+
name: game.title,
|
|
11
|
+
rank: game.role || game.rank || 'Aktif Oyuncu',
|
|
12
|
+
hours: game.playTime || '0',
|
|
13
|
+
level: game.gameLevel || 0,
|
|
14
|
+
icon: game.logo || 'https://cdn-icons-png.flaticon.com/512/686/686589.png',
|
|
15
|
+
image: game.banner || 'https://images.unsplash.com/photo-1542751371-adc38448a05e?auto=format&fit=crop&q=80',
|
|
16
|
+
clan: game.clan ? {
|
|
17
|
+
name: game.clan.name,
|
|
18
|
+
role: game.clan.role,
|
|
19
|
+
color: game.clan.color
|
|
20
|
+
} : null
|
|
21
|
+
}));
|
|
22
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "space-y-8", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-4 px-2", children: [(0, jsx_runtime_1.jsx)("div", { className: "w-12 h-12 rounded-2xl bg-blue-600 flex items-center justify-center text-white shadow-xl shadow-blue-600/20", children: (0, jsx_runtime_1.jsx)(lucide_react_1.Gamepad2, { size: 24 }) }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h3", { className: "text-xl font-black text-armoyu-text uppercase tracking-tighter italic leading-none", children: "OYUN K\u00DCT\u00DCPHANES\u0130" }), (0, jsx_runtime_1.jsx)("p", { className: "text-[10px] font-bold text-armoyu-text-muted mt-1 uppercase tracking-widest", children: "Aktif olarak oynanan ve favori oyunlar" })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: [games.map((game) => ((0, jsx_runtime_1.jsxs)("div", { className: "group relative bg-armoyu-card-bg border border-armoyu-card-border rounded-[32px] overflow-hidden hover:border-blue-500/50 transition-all duration-500 shadow-sm hover:shadow-2xl hover:shadow-blue-500/10", children: [(0, jsx_runtime_1.jsxs)("div", { className: "h-48 relative overflow-hidden", children: [(0, jsx_runtime_1.jsx)("img", { src: game.image, alt: game.name, className: "w-full h-full object-cover group-hover:scale-110 transition-transform duration-700" }), (0, jsx_runtime_1.jsx)("div", { className: "absolute inset-0 bg-gradient-to-t from-armoyu-card-bg via-armoyu-card-bg/40 to-transparent" }), (0, jsx_runtime_1.jsx)("div", { className: "absolute top-4 left-4", children: (0, jsx_runtime_1.jsxs)("div", { className: "bg-black/60 backdrop-blur-md px-3 py-1.5 rounded-xl border border-white/10 flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("img", { src: game.icon, alt: "icon", className: "w-4 h-4 object-contain" }), (0, jsx_runtime_1.jsx)("span", { className: "text-[10px] font-black text-white uppercase tracking-widest", children: game.name })] }) })] }), (0, jsx_runtime_1.jsx)("div", { className: "p-6 pt-0 -mt-8 relative z-10", children: (0, jsx_runtime_1.jsxs)("div", { className: "bg-armoyu-card-bg/80 backdrop-blur-xl border border-white/5 rounded-[24px] p-5", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between items-start mb-4", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { className: "text-[9px] font-black text-armoyu-text-muted uppercase tracking-widest mb-1", children: "R\u00DCTBE" }), (0, jsx_runtime_1.jsx)("div", { className: "text-sm font-black text-blue-500 uppercase italic tracking-tighter leading-tight", children: game.rank })] }), game.clan && ((0, jsx_runtime_1.jsxs)("div", { className: "text-right", children: [(0, jsx_runtime_1.jsx)("div", { className: "text-[9px] font-black text-armoyu-text-muted uppercase tracking-widest mb-1", children: "KLAN" }), (0, jsx_runtime_1.jsx)("div", { className: "text-xs font-black uppercase italic tracking-tighter", style: { color: game.clan.color || '#3b82f6' }, children: game.clan.name })] }))] }), (0, jsx_runtime_1.jsx)("div", { className: "flex justify-between items-center mb-4", children: (0, jsx_runtime_1.jsxs)("div", { className: "text-right flex-1", children: [(0, jsx_runtime_1.jsx)("div", { className: "text-[9px] font-black text-armoyu-text-muted uppercase tracking-widest mb-1", children: "SEV\u0130YE" }), (0, jsx_runtime_1.jsx)("div", { className: "text-sm font-black text-armoyu-text", children: game.level })] }) }), game.clan && ((0, jsx_runtime_1.jsxs)("div", { className: "mb-4 flex items-center gap-2 px-3 py-1.5 rounded-lg border animate-in fade-in slide-in-from-left duration-500", style: {
|
|
23
|
+
backgroundColor: `${game.clan.color || '#3b82f6'}10`,
|
|
24
|
+
borderColor: `${game.clan.color || '#3b82f6'}30`
|
|
25
|
+
}, children: [(0, jsx_runtime_1.jsx)("div", { className: "w-2 h-2 rounded-full animate-pulse", style: { backgroundColor: game.clan.color || '#3b82f6' } }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-[8px] font-black opacity-60 uppercase tracking-widest", style: { color: game.clan.color || '#3b82f6' }, children: "KLAN R\u00DCTBES\u0130" }), (0, jsx_runtime_1.jsx)("span", { className: "text-[10px] font-black uppercase tracking-widest", style: { color: game.clan.color || '#3b82f6' }, children: game.clan.role })] })] })), (0, jsx_runtime_1.jsxs)("div", { className: "grid grid-cols-2 gap-3", children: [(0, jsx_runtime_1.jsxs)("div", { className: "p-3 rounded-2xl bg-black/5 dark:bg-white/5 flex items-center gap-3", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Calendar, { size: 14, className: "text-armoyu-text-muted" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { className: "text-[8px] font-black text-armoyu-text-muted uppercase", children: "S\u00DCRE" }), (0, jsx_runtime_1.jsxs)("div", { className: "text-[11px] font-bold text-armoyu-text", children: [game.hours, " Sa"] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "p-3 rounded-2xl bg-black/5 dark:bg-white/5 flex items-center gap-3", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Trophy, { size: 14, className: "text-amber-500" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { className: "text-[8px] font-black text-armoyu-text-muted uppercase", children: "KUPA" }), (0, jsx_runtime_1.jsx)("div", { className: "text-[11px] font-bold text-armoyu-text", children: "12/30" })] })] })] })] }) })] }, game.id))), (0, jsx_runtime_1.jsxs)("div", { className: "group border-2 border-dashed border-armoyu-card-border rounded-[32px] p-8 flex flex-col items-center justify-center gap-4 hover:border-blue-500/50 hover:bg-blue-500/5 transition-all cursor-pointer min-h-[300px]", children: [(0, jsx_runtime_1.jsx)("div", { className: "w-16 h-16 rounded-full bg-black/5 dark:bg-white/5 flex items-center justify-center text-armoyu-text-muted group-hover:text-blue-500 group-hover:bg-blue-500/10 transition-all", children: (0, jsx_runtime_1.jsx)(lucide_react_1.Users, { size: 32 }) }), (0, jsx_runtime_1.jsxs)("div", { className: "text-center", children: [(0, jsx_runtime_1.jsx)("h4", { className: "font-black text-armoyu-text uppercase tracking-tighter italic", children: "YEN\u0130 OYUN EKLE" }), (0, jsx_runtime_1.jsx)("p", { className: "text-[10px] font-bold text-armoyu-text-muted mt-1 uppercase tracking-widest italic", children: "K\u00FCt\u00FCphaneni geni\u015Fletmeye ne dersin?" })] })] })] })] }));
|
|
39
26
|
}
|
|
40
27
|
//# sourceMappingURL=GamesTab.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GamesTab.js","sourceRoot":"","sources":["../../../../../src/components/modules/profile/tabs/GamesTab.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAUb,
|
|
1
|
+
{"version":3,"file":"GamesTab.js","sourceRoot":"","sources":["../../../../../src/components/modules/profile/tabs/GamesTab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaTab.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/profile/tabs/MediaTab.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAKpD,UAAU,aAAa;IACrB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;CACnB;AAQD,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"MediaTab.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/profile/tabs/MediaTab.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAKpD,UAAU,aAAa;IACrB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;CACnB;AAQD,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,2CA8K/C"}
|
|
@@ -60,7 +60,9 @@ function MediaTab({ user }) {
|
|
|
60
60
|
}
|
|
61
61
|
}, [api, user?.id, page]);
|
|
62
62
|
(0, react_1.useEffect)(() => {
|
|
63
|
-
|
|
63
|
+
if (mediaItems.length === 0) {
|
|
64
|
+
fetchMedia(false);
|
|
65
|
+
}
|
|
64
66
|
}, [user?.id]);
|
|
65
67
|
const openLightbox = (index) => {
|
|
66
68
|
setLightbox({ isOpen: true, index });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaTab.js","sourceRoot":"","sources":["../../../../../src/components/modules/profile/tabs/MediaTab.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;AAmBb,
|
|
1
|
+
{"version":3,"file":"MediaTab.js","sourceRoot":"","sources":["../../../../../src/components/modules/profile/tabs/MediaTab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostsTab.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/profile/tabs/PostsTab.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAM1C,UAAU,aAAa;IACrB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;CACnB;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"PostsTab.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/profile/tabs/PostsTab.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAM1C,UAAU,aAAa;IACrB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;CACnB;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,2CAsE/C"}
|
|
@@ -65,6 +65,6 @@ function PostsTab({ user }) {
|
|
|
65
65
|
}
|
|
66
66
|
};
|
|
67
67
|
const isOwnProfile = currentUser?.username === user?.username;
|
|
68
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "space-y-6", children: [isOwnProfile && ((0, jsx_runtime_1.jsx)("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-5 shadow-sm group focus-within:border-blue-500/50 transition-all", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-4", children: [(0, jsx_runtime_1.jsx)("img", { src: user?.avatar || "https://api.dicebear.com/7.x/avataaars/svg?seed=Berkay", className: "w-10 h-10 rounded-full bg-black/5 dark:bg-white/5 shrink-0 object-cover", alt: "Avatar" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex-1 space-y-4", children: [(0, jsx_runtime_1.jsx)("textarea", { value: newPostContent, onChange: (e) => setNewPostContent(e.target.value), placeholder: "Neler oluyor? Bir \u015Feyler payla\u015F...", className: "w-full bg-transparent border-none outline-none text-sm font-medium text-armoyu-text placeholder:text-armoyu-text-muted resize-none min-h-[60px] pt-2" }), (0, jsx_runtime_1.jsx)("div", { className: "flex justify-end pt-2 border-t border-armoyu-card-border/50", children: (0, jsx_runtime_1.jsx)("button", { onClick: handleCreatePost, disabled: !newPostContent.trim() || isPublishing, className: "bg-blue-600 hover:bg-blue-500 disabled:opacity-50 disabled:cursor-not-allowed text-white text-[10px] font-black uppercase tracking-widest px-6 py-2.5 rounded-xl shadow-lg shadow-blue-600/20 transition-all flex items-center gap-2", children: isPublishing ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "w-3 h-3 border-2 border-white/20 border-t-white rounded-full animate-spin" }), "Yay\u0131nlan\u0131yor"] })) : 'Paylaş' }) })] })] }) })), (0, jsx_runtime_1.jsx)(index_1.SocialFeed, { ref: feedRef,
|
|
68
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "space-y-6", children: [isOwnProfile && ((0, jsx_runtime_1.jsx)("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-5 shadow-sm group focus-within:border-blue-500/50 transition-all", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-4", children: [(0, jsx_runtime_1.jsx)("img", { src: user?.avatar || "https://api.dicebear.com/7.x/avataaars/svg?seed=Berkay", className: "w-10 h-10 rounded-full bg-black/5 dark:bg-white/5 shrink-0 object-cover", alt: "Avatar" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex-1 space-y-4", children: [(0, jsx_runtime_1.jsx)("textarea", { value: newPostContent, onChange: (e) => setNewPostContent(e.target.value), placeholder: "Neler oluyor? Bir \u015Feyler payla\u015F...", className: "w-full bg-transparent border-none outline-none text-sm font-medium text-armoyu-text placeholder:text-armoyu-text-muted resize-none min-h-[60px] pt-2" }), (0, jsx_runtime_1.jsx)("div", { className: "flex justify-end pt-2 border-t border-armoyu-card-border/50", children: (0, jsx_runtime_1.jsx)("button", { onClick: handleCreatePost, disabled: !newPostContent.trim() || isPublishing, className: "bg-blue-600 hover:bg-blue-500 disabled:opacity-50 disabled:cursor-not-allowed text-white text-[10px] font-black uppercase tracking-widest px-6 py-2.5 rounded-xl shadow-lg shadow-blue-600/20 transition-all flex items-center gap-2", children: isPublishing ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "w-3 h-3 border-2 border-white/20 border-t-white rounded-full animate-spin" }), "Yay\u0131nlan\u0131yor"] })) : 'Paylaş' }) })] })] }) })), (0, jsx_runtime_1.jsx)(index_1.SocialFeed, { ref: feedRef, username: user?.username, emptyMessage: isOwnProfile ? 'Profilini canlandırmak için ilk gönderini hemen paylaş!' : 'Bu kullanıcı henüz bir şey paylaşmamış.' })] }));
|
|
69
69
|
}
|
|
70
70
|
//# sourceMappingURL=PostsTab.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostsTab.js","sourceRoot":"","sources":["../../../../../src/components/modules/profile/tabs/PostsTab.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcb,
|
|
1
|
+
{"version":3,"file":"PostsTab.js","sourceRoot":"","sources":["../../../../../src/components/modules/profile/tabs/PostsTab.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcb,4BAsEC;;AAlFD,+CAAmD;AAInD,qEAA8D;AAC9D,iEAA0D;AAC1D,6CAA8D;AAM9D,SAAgB,QAAQ,CAAC,EAAE,IAAI,EAAiB;IAC9C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAA,yBAAS,GAAE,CAAC;IAC5B,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAA,qBAAO,GAAE,CAAC;IACxC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,eAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;IAElD,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAClC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,YAAY;YAAE,OAAO;QAEnD,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC7D,IAAI,QAAQ,EAAE,CAAC;gBACb,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBACtB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,wDAAwD;YACtF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,EAAE,QAAQ,KAAK,IAAI,EAAE,QAAQ,CAAC;IAE9D,OAAO,CACL,iCAAK,SAAS,EAAC,WAAW,aAEvB,YAAY,IAAI,CACf,gCAAK,SAAS,EAAC,mIAAmI,YAChJ,iCAAK,SAAS,EAAC,YAAY,aACzB,gCACE,GAAG,EAAE,IAAI,EAAE,MAAM,IAAI,wDAAwD,EAC7E,SAAS,EAAC,yEAAyE,EACnF,GAAG,EAAC,QAAQ,GACZ,EACF,iCAAK,SAAS,EAAC,kBAAkB,aAC/B,qCACE,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAClD,WAAW,EAAC,8CAAoC,EAChD,SAAS,EAAC,sJAAsJ,GAChK,EACF,gCAAK,SAAS,EAAC,6DAA6D,YAC1E,mCACE,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,YAAY,EAChD,SAAS,EAAC,sOAAsO,YAE/O,YAAY,CAAC,CAAC,CAAC,CACd,6DACE,gCAAK,SAAS,EAAC,2EAA2E,GAAG,8BAE5F,CACJ,CAAC,CAAC,CAAC,QAAQ,GACL,GACL,IACF,IACF,GACF,CACP,EAED,uBAAC,kBAAU,IACT,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,IAAI,EAAE,QAAQ,EACxB,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,yDAAyD,CAAC,CAAC,CAAC,yCAAyC,GAClI,IACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuestionsTab.d.ts","sourceRoot":"","sources":["../../../../../src/components/modules/profile/tabs/QuestionsTab.tsx"],"names":[],"mappings":"AAqBA,UAAU,iBAAiB;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,YAAY,CAAC,EAAE,YAAmB,EAAE,EAAE,iBAAiB,2CAmLtE"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.QuestionsTab = QuestionsTab;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const lucide_react_1 = require("lucide-react");
|
|
8
|
+
const INITIAL_QUESTIONS = [
|
|
9
|
+
{ id: 1, content: "Sence de bu profil çok havalı değil mi?", date: "2 saat önce", isAnonymous: true },
|
|
10
|
+
{ id: 2, content: "En son kimi stalkladın dürüst ol :D", date: "5 saat önce", isAnonymous: true },
|
|
11
|
+
{ id: 3, content: "Neden bu kadar yakışıklısın/güzelsin?", date: "Dün", isAnonymous: true },
|
|
12
|
+
{ id: 4, content: "Gizli bir yeteneğin var mı? Varsa ne?", date: "2 gün önce", isAnonymous: true },
|
|
13
|
+
{ id: 5, content: "En sevdiğin yemek makarna mı? Değilse neden değil??", date: "3 gün önce", isAnonymous: true },
|
|
14
|
+
];
|
|
15
|
+
function QuestionsTab({ isOwnProfile = true }) {
|
|
16
|
+
const [questions, setQuestions] = (0, react_1.useState)(INITIAL_QUESTIONS);
|
|
17
|
+
const [answeringId, setAnsweringId] = (0, react_1.useState)(null);
|
|
18
|
+
const [tempAnswer, setTempAnswer] = (0, react_1.useState)('');
|
|
19
|
+
const [visitorQuestion, setVisitorQuestion] = (0, react_1.useState)('');
|
|
20
|
+
const [showSuccess, setShowSuccess] = (0, react_1.useState)(false);
|
|
21
|
+
const displayQuestions = isOwnProfile ? questions : questions.filter(q => q.answer);
|
|
22
|
+
const handleAsk = () => {
|
|
23
|
+
if (!visitorQuestion.trim())
|
|
24
|
+
return;
|
|
25
|
+
// In a real app, this would send to API. Here we just show success.
|
|
26
|
+
setShowSuccess(true);
|
|
27
|
+
setVisitorQuestion('');
|
|
28
|
+
setTimeout(() => setShowSuccess(false), 3000);
|
|
29
|
+
};
|
|
30
|
+
const handleAnswer = (id) => {
|
|
31
|
+
if (!tempAnswer.trim())
|
|
32
|
+
return;
|
|
33
|
+
setQuestions(prev => prev.map(q => q.id === id ? { ...q, answer: tempAnswer } : q));
|
|
34
|
+
setAnsweringId(null);
|
|
35
|
+
setTempAnswer('');
|
|
36
|
+
};
|
|
37
|
+
const handleDelete = (id) => {
|
|
38
|
+
setQuestions(prev => prev.filter(q => q.id !== id));
|
|
39
|
+
};
|
|
40
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "max-w-4xl mx-auto space-y-6 animate-in fade-in slide-in-from-bottom-4 duration-700", children: [(0, jsx_runtime_1.jsxs)("div", { className: "bg-gradient-to-r from-purple-600/10 to-pink-600/10 border border-purple-500/20 rounded-[32px] p-8 text-center relative overflow-hidden group", children: [(0, jsx_runtime_1.jsx)("div", { className: "absolute -right-12 -top-12 w-48 h-48 bg-purple-500/10 blur-3xl rounded-full group-hover:scale-150 transition-transform duration-1000" }), (0, jsx_runtime_1.jsx)("div", { className: "w-16 h-16 rounded-[24px] bg-gradient-to-br from-purple-600 to-pink-600 flex items-center justify-center text-white mx-auto mb-4 shadow-xl shadow-purple-600/20", children: (0, jsx_runtime_1.jsx)(lucide_react_1.MessageSquare, { size: 32 }) }), (0, jsx_runtime_1.jsx)("h2", { className: "text-2xl font-black text-armoyu-text uppercase underline decoration-purple-500/50 decoration-4 underline-offset-4 italic tracking-tighter", children: "ANON\u0130M SORU-CEVAP" })] }), !isOwnProfile && ((0, jsx_runtime_1.jsxs)("div", { className: "bg-armoyu-card-bg border-2 border-dashed border-purple-500/30 rounded-[40px] p-8 space-y-4 animate-in zoom-in-95 duration-500", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-3 mb-2", children: [(0, jsx_runtime_1.jsx)("div", { className: "w-10 h-10 rounded-2xl bg-purple-500/10 flex items-center justify-center text-purple-500", children: (0, jsx_runtime_1.jsx)(lucide_react_1.Send, { size: 20 }) }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h3", { className: "text-sm font-black text-armoyu-text uppercase italic", children: "SORU SOR" }), (0, jsx_runtime_1.jsx)("p", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-widest opacity-50 text-left", children: "Tamamen anonim olarak soru sorabilirsin" })] })] }), (0, jsx_runtime_1.jsx)("textarea", { value: visitorQuestion, onChange: (e) => setVisitorQuestion(e.target.value), placeholder: "Merak etti\u011Fin bir \u015Feyi anonim olarak sor...", className: "w-full bg-black/5 dark:bg-white/5 border border-armoyu-card-border focus:border-purple-500/50 rounded-3xl p-6 text-sm font-bold text-armoyu-text outline-none transition-all min-h-[120px]" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between items-center", children: [(0, jsx_runtime_1.jsx)("p", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase italic tracking-widest", children: "ASKER: ANON\u0130M" }), (0, jsx_runtime_1.jsx)("button", { onClick: handleAsk, disabled: !visitorQuestion.trim(), className: "px-8 py-3 bg-purple-600 hover:bg-purple-500 text-white text-[10px] font-black uppercase tracking-[0.2em] rounded-2xl shadow-xl shadow-purple-600/20 transition-all active:scale-95 disabled:opacity-50", children: "SORUYU G\u00D6NDER" })] }), showSuccess && ((0, jsx_runtime_1.jsx)("div", { className: "p-4 bg-green-500/10 border border-green-500/20 rounded-2xl text-center animate-in fade-in slide-in-from-top-2 duration-300", children: (0, jsx_runtime_1.jsx)("p", { className: "text-xs font-black text-green-500 uppercase tracking-widest italic", children: "Soru ba\u015Far\u0131yla ve anonim olarak iletildi! \uD83C\uDF89" }) }))] })), (0, jsx_runtime_1.jsxs)("div", { className: "grid gap-6", children: [displayQuestions.map((q) => ((0, jsx_runtime_1.jsxs)("div", { className: `group relative bg-armoyu-card-bg border border-armoyu-card-border rounded-[40px] p-8 transition-all hover:border-purple-500/30 shadow-sm ${q.answer ? 'bg-purple-500/5' : ''}`, children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-start justify-between gap-6", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex-1 space-y-4", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-3", children: [(0, jsx_runtime_1.jsx)("div", { className: "w-8 h-8 rounded-full bg-zinc-500/10 flex items-center justify-center text-zinc-500", children: (0, jsx_runtime_1.jsx)(lucide_react_1.User, { size: 14 }) }), (0, jsx_runtime_1.jsx)("span", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest italic", children: "Anonim Birisi Sordu" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-1.5 text-[10px] font-bold text-armoyu-text-muted/40 uppercase tracking-tighter", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Clock, { size: 10 }), q.date] })] }), (0, jsx_runtime_1.jsxs)("p", { className: "text-lg font-black text-armoyu-text leading-relaxed tracking-tight", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-purple-500 mr-2 text-2xl", children: "\"" }), q.content, (0, jsx_runtime_1.jsx)("span", { className: "text-purple-500 ml-1 text-2xl", children: "\"" })] })] }), isOwnProfile && ((0, jsx_runtime_1.jsx)("button", { onClick: () => handleDelete(q.id), className: "p-3 text-armoyu-text-muted hover:text-red-500 bg-red-500/5 hover:bg-red-500/10 rounded-2xl transition-all opacity-0 group-hover:opacity-100", title: "Soruyu Sil", children: (0, jsx_runtime_1.jsx)(lucide_react_1.Trash2, { size: 18 }) }))] }), (0, jsx_runtime_1.jsx)("div", { className: "mt-8 pt-8 border-t border-armoyu-card-border", children: q.answer ? ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-start gap-4 animate-in fade-in slide-in-from-left duration-500", children: [(0, jsx_runtime_1.jsx)("div", { className: "w-10 h-10 rounded-2xl bg-blue-600 flex items-center justify-center text-white shrink-0 shadow-lg shadow-blue-600/20", children: (0, jsx_runtime_1.jsx)("span", { className: "font-black italic text-xs", children: "SEN" }) }), (0, jsx_runtime_1.jsxs)("div", { className: "flex-1 space-y-1", children: [(0, jsx_runtime_1.jsx)("p", { className: "text-[10px] font-black text-blue-500 uppercase tracking-widest italic", children: "CEVABIN" }), (0, jsx_runtime_1.jsx)("p", { className: "text-sm font-bold text-armoyu-text leading-relaxed", children: q.answer })] })] })) : isOwnProfile && answeringId === q.id ? ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-4 animate-in zoom-in-95 duration-300", children: [(0, jsx_runtime_1.jsx)("textarea", { autoFocus: true, value: tempAnswer, onChange: (e) => setTempAnswer(e.target.value), placeholder: "E\u011Flenceli bir cevap yaz...", className: "w-full bg-black/5 dark:bg-white/5 border border-purple-500/30 rounded-3xl p-6 text-sm font-bold text-armoyu-text outline-none focus:ring-2 ring-purple-500/20 transition-all min-h-[100px]" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex justify-end gap-3", children: [(0, jsx_runtime_1.jsx)("button", { onClick: () => { setAnsweringId(null); setTempAnswer(''); }, className: "px-6 py-3 text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest hover:text-armoyu-text transition-colors", children: "VAZGE\u00C7" }), (0, jsx_runtime_1.jsxs)("button", { onClick: () => handleAnswer(q.id), className: "px-8 py-3 bg-gradient-to-r from-purple-600 to-pink-600 text-white text-[10px] font-black uppercase tracking-[0.2em] rounded-2xl shadow-xl shadow-purple-600/20 hover:scale-[1.02] active:scale-95 transition-all flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Send, { size: 14 }), " G\u00D6NDER"] })] })] })) : ((0, jsx_runtime_1.jsxs)("button", { onClick: () => setAnsweringId(q.id), className: "w-full py-4 bg-black/5 hover:bg-black/10 border border-dashed border-armoyu-card-border hover:border-purple-500/40 rounded-3xl text-[10px] font-black text-armoyu-text-muted hover:text-purple-500 uppercase tracking-[0.3em] transition-all flex items-center justify-center gap-3 italic", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.MessageSquare, { size: 16 }), "BU SORUYU CEVAPLA"] })) })] }, q.id))), questions.length === 0 && ((0, jsx_runtime_1.jsxs)("div", { className: "py-24 text-center border-2 border-dashed border-armoyu-card-border rounded-[40px]", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.MessageSquare, { className: "w-16 h-16 text-armoyu-text-muted mx-auto mb-4 opacity-20" }), (0, jsx_runtime_1.jsx)("p", { className: "text-xs font-black text-armoyu-text-muted uppercase tracking-[0.3em] italic", children: "Hen\u00FCz hi\u00E7 soru yok. \u015Eimdilik sessiz..." })] }))] })] }));
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=QuestionsTab.js.map
|