@armoyu/ui 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/api/proxy/[...path]/route.d.ts +22 -0
- package/dist/app/api/proxy/[...path]/route.d.ts.map +1 -0
- package/dist/app/api/proxy/[...path]/route.js +89 -0
- package/dist/app/api/proxy/[...path]/route.js.map +1 -0
- package/dist/app/layout.js +11 -11
- package/dist/components/Button.d.ts +7 -7
- package/dist/components/Button.js +15 -15
- package/dist/components/GenderStatsBar.d.ts +5 -5
- package/dist/components/GenderStatsBar.js +7 -7
- package/dist/components/RollingNumber.d.ts +6 -6
- package/dist/components/RollingNumber.js +23 -23
- package/dist/components/Slider.d.ts +10 -10
- package/dist/components/Slider.js +35 -35
- package/dist/components/StatsGrid.js +13 -13
- package/dist/components/ViewModeToggle.d.ts +7 -7
- package/dist/components/ViewModeToggle.js +9 -9
- package/dist/components/modules/auth/Dashboard.js +250 -250
- package/dist/components/modules/auth/MediaLightbox.d.ts +13 -13
- package/dist/components/modules/auth/MediaLightbox.js +46 -46
- package/dist/components/modules/auth/PostCard.js +112 -112
- package/dist/components/modules/auth/PostInteractionsModal.js +12 -12
- package/dist/components/modules/auth/RepostModal.js +75 -75
- package/dist/components/modules/auth/SidebarLeft.js +40 -40
- package/dist/components/modules/auth/Stories.js +15 -15
- package/dist/components/modules/auth/StoryViewer.js +47 -47
- package/dist/components/modules/chat/ChatContainer.js +196 -196
- package/dist/components/modules/chat/ChatInput.js +30 -30
- package/dist/components/modules/chat/ChatList.js +51 -51
- package/dist/components/modules/chat/ChatMessage.d.ts +11 -11
- package/dist/components/modules/chat/ChatMessage.js +6 -6
- package/dist/components/modules/chat/ChatNotes.js +11 -11
- package/dist/components/modules/community/GroupHeader.js +17 -17
- package/dist/components/modules/community/GroupMenu.js +16 -16
- package/dist/components/modules/community/SchoolCard.js +7 -7
- package/dist/components/modules/community/SurveyCard.js +35 -35
- package/dist/components/modules/forum/ForumBoard.d.ts +16 -16
- package/dist/components/modules/forum/ForumBoard.js +6 -6
- package/dist/components/modules/forum/ForumPost.d.ts +13 -13
- package/dist/components/modules/forum/ForumPost.js +5 -5
- package/dist/components/modules/forum/NewTopicModal.d.ts +7 -7
- package/dist/components/modules/forum/NewTopicModal.js +26 -26
- package/dist/components/modules/forum/TopicItem.d.ts +15 -15
- package/dist/components/modules/forum/TopicItem.js +6 -6
- package/dist/components/modules/galleries/GalleryCard.d.ts +9 -9
- package/dist/components/modules/galleries/GalleryCard.js +5 -5
- package/dist/components/modules/giveaways/GiveawayCard.d.ts +9 -9
- package/dist/components/modules/giveaways/GiveawayCard.js +6 -6
- package/dist/components/modules/groups/ApplicationModal.d.ts +7 -7
- package/dist/components/modules/groups/ApplicationModal.js +27 -27
- package/dist/components/modules/groups/GroupCard.d.ts +12 -12
- package/dist/components/modules/groups/GroupCard.js +6 -6
- package/dist/components/modules/guest/Introduction.js +13 -13
- package/dist/components/modules/magaza/BackToStore.js +10 -10
- package/dist/components/modules/magaza/StoreHeader.js +8 -8
- package/dist/components/modules/news/NewsCard.js +6 -6
- package/dist/components/modules/news/NewsComments.js +52 -52
- package/dist/components/modules/profile/CloudStorageModal.d.ts +8 -8
- package/dist/components/modules/profile/CloudStorageModal.js +31 -31
- package/dist/components/modules/profile/EditProfileModal.d.ts +8 -8
- package/dist/components/modules/profile/EditProfileModal.js +27 -27
- package/dist/components/modules/profile/ProfileContent.js +70 -70
- package/dist/components/modules/profile/ProfileHeader.js +19 -19
- package/dist/components/modules/profile/ProfileStats.d.ts +1 -1
- package/dist/components/modules/profile/ProfileStats.js +14 -14
- package/dist/components/modules/profile/TeamSelectorModal.js +16 -16
- package/dist/components/modules/stations/StationCard.js +25 -25
- package/dist/components/modules/stations/StationQRModal.js +12 -12
- package/dist/components/shared/FloatingChatButton.js +20 -20
- package/dist/components/shared/Footer.d.ts +1 -1
- package/dist/components/shared/Footer.js +9 -9
- package/dist/components/shared/Header.js +97 -97
- package/dist/components/shared/LoginModal.d.ts.map +1 -1
- package/dist/components/shared/LoginModal.js +12 -16
- package/dist/components/shared/LoginModal.js.map +1 -1
- package/dist/components/shared/MainLayoutWrapper.js +7 -7
- package/dist/components/shared/PageWidth.d.ts +5 -5
- package/dist/components/shared/PageWidth.js +13 -13
- package/dist/components/showcase/SocialTab.d.ts.map +1 -1
- package/dist/components/showcase/SocialTab.js +47 -2
- package/dist/components/showcase/SocialTab.js.map +1 -1
- package/dist/context/AuthContext.d.ts +1 -1
- package/dist/context/AuthContext.d.ts.map +1 -1
- package/dist/context/AuthContext.js +52 -33
- package/dist/context/AuthContext.js.map +1 -1
- package/dist/context/CartContext.js +63 -63
- package/dist/context/ChatContext.d.ts +12 -12
- package/dist/context/ChatContext.js +17 -17
- package/dist/context/LayoutContext.d.ts +10 -10
- package/dist/context/LayoutContext.js +16 -16
- package/dist/context/SocketContext.js +30 -30
- package/dist/context/ThemeContext.d.ts +10 -10
- package/dist/context/ThemeContext.js +39 -39
- package/dist/index.js +80 -80
- package/dist/lib/constants/educationData.js +117 -117
- package/dist/lib/constants/punishmentData.d.ts +29 -29
- package/dist/lib/constants/punishmentData.js +183 -183
- package/dist/lib/constants/seedData.js +694 -694
- package/dist/lib/constants/stationData.js +166 -166
- package/dist/lib/constants/surveyData.js +49 -49
- package/dist/lib/constants/teamData.js +65 -65
- package/dist/types/stats.d.ts +17 -17
- package/dist/types/stats.js +1 -1
- package/package.json +47 -46
- package/src/globals.css +187 -187
- package/next.config.ts +0 -13
- package/postcss.config.js +0 -6
- package/src/app/layout.tsx +0 -64
- package/src/app/page.tsx +0 -101
- package/src/components/Button.tsx +0 -41
- package/src/components/GenderStatsBar.tsx +0 -66
- package/src/components/RollingNumber.tsx +0 -50
- package/src/components/Slider.tsx +0 -114
- package/src/components/StatsGrid.tsx +0 -35
- package/src/components/ViewModeToggle.tsx +0 -39
- package/src/components/modules/auth/Dashboard.tsx +0 -649
- package/src/components/modules/auth/MediaLightbox.tsx +0 -112
- package/src/components/modules/auth/PostCard.tsx +0 -556
- package/src/components/modules/auth/PostInteractionsModal.tsx +0 -138
- package/src/components/modules/auth/RepostModal.tsx +0 -167
- package/src/components/modules/auth/SidebarLeft.tsx +0 -237
- package/src/components/modules/auth/Stories.tsx +0 -69
- package/src/components/modules/auth/StoryViewer.tsx +0 -146
- package/src/components/modules/chat/ChatContainer.tsx +0 -332
- package/src/components/modules/chat/ChatInput.tsx +0 -57
- package/src/components/modules/chat/ChatList.tsx +0 -179
- package/src/components/modules/chat/ChatMessage.tsx +0 -43
- package/src/components/modules/chat/ChatNotes.tsx +0 -58
- package/src/components/modules/community/GroupHeader.tsx +0 -111
- package/src/components/modules/community/GroupMenu.tsx +0 -82
- package/src/components/modules/community/SchoolCard.tsx +0 -104
- package/src/components/modules/community/SurveyCard.tsx +0 -149
- package/src/components/modules/forum/ForumBoard.tsx +0 -78
- package/src/components/modules/forum/ForumPost.tsx +0 -71
- package/src/components/modules/forum/NewTopicModal.tsx +0 -112
- package/src/components/modules/forum/TopicItem.tsx +0 -72
- package/src/components/modules/galleries/GalleryCard.tsx +0 -66
- package/src/components/modules/giveaways/GiveawayCard.tsx +0 -76
- package/src/components/modules/groups/ApplicationModal.tsx +0 -133
- package/src/components/modules/groups/GroupCard.tsx +0 -96
- package/src/components/modules/guest/Introduction.tsx +0 -60
- package/src/components/modules/magaza/BackToStore.tsx +0 -53
- package/src/components/modules/magaza/StoreHeader.tsx +0 -74
- package/src/components/modules/news/NewsCard.tsx +0 -66
- package/src/components/modules/news/NewsComments.tsx +0 -141
- package/src/components/modules/profile/CloudStorageModal.tsx +0 -200
- package/src/components/modules/profile/EditProfileModal.tsx +0 -191
- package/src/components/modules/profile/ProfileContent.tsx +0 -491
- package/src/components/modules/profile/ProfileHeader.tsx +0 -128
- package/src/components/modules/profile/ProfileStats.tsx +0 -72
- package/src/components/modules/profile/TeamSelectorModal.tsx +0 -129
- package/src/components/modules/stations/StationCard.tsx +0 -95
- package/src/components/modules/stations/StationQRModal.tsx +0 -102
- package/src/components/shared/FloatingChatButton.tsx +0 -57
- package/src/components/shared/Footer.tsx +0 -77
- package/src/components/shared/Header.tsx +0 -799
- package/src/components/shared/LoginModal.tsx +0 -208
- package/src/components/shared/MainLayoutWrapper.tsx +0 -15
- package/src/components/shared/PageWidth.tsx +0 -22
- package/src/components/showcase/CommunityTab.tsx +0 -22
- package/src/components/showcase/CorporateTab.tsx +0 -38
- package/src/components/showcase/GeneralTab.tsx +0 -41
- package/src/components/showcase/MessagesTab.tsx +0 -26
- package/src/components/showcase/ProfileTab.tsx +0 -20
- package/src/components/showcase/ShopTab.tsx +0 -24
- package/src/components/showcase/SocialTab.tsx +0 -28
- package/src/context/AuthContext.tsx +0 -104
- package/src/context/CartContext.tsx +0 -93
- package/src/context/ChatContext.tsx +0 -32
- package/src/context/LayoutContext.tsx +0 -29
- package/src/context/SocketContext.tsx +0 -50
- package/src/context/ThemeContext.tsx +0 -52
- package/src/index.ts +0 -96
- package/src/lib/constants/educationData.ts +0 -124
- package/src/lib/constants/punishmentData.ts +0 -201
- package/src/lib/constants/seedData.ts +0 -758
- package/src/lib/constants/stationData.ts +0 -170
- package/src/lib/constants/surveyData.ts +0 -53
- package/src/lib/constants/teamData.ts +0 -69
- package/src/lib/utils/numberFormat.ts +0 -16
- package/src/lib/utils/odpUtils.ts +0 -51
- package/src/types/index.ts +0 -1
- package/src/types/stats.ts +0 -17
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useEffect, useState } from 'react';
|
|
4
|
-
import { createPortal } from 'react-dom';
|
|
5
|
-
export function CloudStorageModal({ isOpen, onClose, onSelectMedia }) {
|
|
6
|
-
const [mounted, setMounted] = useState(false);
|
|
7
|
-
const [activeCategory, setActiveCategory] = useState('all'); // Simplified for mock display
|
|
8
|
-
const [dragActive, setDragActive] = useState(false);
|
|
9
|
-
useEffect(() => setMounted(true), []);
|
|
10
|
-
if (!isOpen || !mounted)
|
|
11
|
-
return null;
|
|
12
|
-
// Mock Cloud Files
|
|
13
|
-
const mockFiles = [
|
|
14
|
-
{ id: '1', type: 'image', url: 'https://images.unsplash.com/photo-1542751371-adc38448a05e?q=80&w=2670&auto=format&fit=crop', name: 'Valorant_Clip_1.jpg', size: '2.4 MB', date: '12 Eki' },
|
|
15
|
-
{ id: '2', type: 'video', url: 'https://test-videos.co.uk/vids/bigbuckbunny/mp4/h264/720/Big_Buck_Bunny_720_10s_1MB.mp4', name: 'CS2_Aces.mp4', size: '14.1 MB', date: '05 Eki' },
|
|
16
|
-
{ id: '3', type: 'image', url: 'https://images.unsplash.com/photo-1587831990711-23ca6441447b?q=80&w=2698&auto=format&fit=crop', name: 'Setup_Photo.png', size: '4.8 MB', date: '28 Eyl' },
|
|
17
|
-
{ id: '4', type: 'image', url: 'https://images.unsplash.com/photo-1614680376593-902f74cf0d41?q=80&w=2574&auto=format&fit=crop', name: 'Minecraft_Bas...jpg', size: '1.2 MB', date: '15 Eyl' },
|
|
18
|
-
{ id: '5', type: 'image', url: 'https://images.unsplash.com/photo-1498050108023-c5249f4df085?q=80&w=2672&auto=format&fit=crop', name: 'Coding_Session.jpg', size: '3.5 MB', date: '02 Eyl' }
|
|
19
|
-
];
|
|
20
|
-
const filteredFiles = activeCategory === 'all' ? mockFiles : mockFiles.filter(f => f.type === activeCategory);
|
|
21
|
-
// Mock Storage Math
|
|
22
|
-
const storageData = { total: 5000, used: 2400, photos: 1200, videos: 800, audios: 200, documents: 200 };
|
|
23
|
-
const pPhotos = (storageData.photos / storageData.total) * 100;
|
|
24
|
-
const pVideos = (storageData.videos / storageData.total) * 100;
|
|
25
|
-
const pAudios = (storageData.audios / storageData.total) * 100;
|
|
26
|
-
const pDocs = (storageData.documents / storageData.total) * 100;
|
|
27
|
-
const modalContent = (_jsxs("div", { className: "fixed inset-0 z-[9999] p-4 md:p-8 xl:p-12 flex items-center justify-center animate-in fade-in duration-200", children: [_jsx("div", { className: "absolute inset-0 bg-black/80 backdrop-blur-sm", onClick: onClose }), _jsxs("div", { className: "relative w-full max-w-6xl h-full max-h-[85vh] bg-white dark:bg-[#0a0a0e] border border-gray-200 dark:border-white/10 rounded-[2rem] shadow-2xl flex flex-col md:flex-row overflow-hidden animate-in zoom-in-95 duration-300", children: [_jsxs("div", { className: "w-full md:w-64 border-r border-gray-200 dark:border-white/10 bg-gray-50 dark:bg-[#121216] flex flex-col shrink-0", children: [_jsx("div", { className: "p-6 md:p-8 pb-4", children: _jsxs("h2", { className: "text-2xl font-black text-armoyu-text tracking-tight flex items-center gap-3", children: [_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "28", height: "28", viewBox: "0 0 24 24", fill: "currentColor", className: "text-blue-500", children: _jsx("path", { d: "M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z" }) }), "Cloud"] }) }), _jsxs("nav", { className: "flex-1 px-4 space-y-1.5 overflow-y-auto hide-scrollbar", children: [_jsxs("button", { onClick: () => setActiveCategory('all'), className: `w-full flex items-center gap-3 px-4 py-3.5 rounded-xl font-bold text-sm transition-all ${activeCategory === 'all' ? 'bg-blue-500 text-white shadow-md shadow-blue-500/20' : 'text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5'}`, children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "3", y: "3", width: "7", height: "7" }), _jsx("rect", { x: "14", y: "3", width: "7", height: "7" }), _jsx("rect", { x: "14", y: "14", width: "7", height: "7" }), _jsx("rect", { x: "3", y: "14", width: "7", height: "7" })] }), "T\u00FCm\u00FC"] }), _jsxs("button", { onClick: () => setActiveCategory('image'), className: `w-full flex items-center gap-3 px-4 py-3.5 rounded-xl font-bold text-sm transition-all ${activeCategory === 'image' ? 'bg-blue-500 text-white shadow-md shadow-blue-500/20' : 'text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5'}`, children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", ry: "2" }), _jsx("circle", { cx: "8.5", cy: "8.5", r: "1.5" }), _jsx("polyline", { points: "21 15 16 10 5 21" })] }), "Foto\u011Fraflar"] }), _jsxs("button", { onClick: () => setActiveCategory('video'), className: `w-full flex items-center gap-3 px-4 py-3.5 rounded-xl font-bold text-sm transition-all ${activeCategory === 'video' ? 'bg-blue-500 text-white shadow-md shadow-blue-500/20' : 'text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5'}`, children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("polygon", { points: "23 7 16 12 23 17 23 7" }), _jsx("rect", { x: "1", y: "5", width: "15", height: "14", rx: "2", ry: "2" })] }), "Videolar"] }), _jsxs("button", { onClick: () => { }, className: `w-full flex items-center gap-3 px-4 py-3.5 rounded-xl font-bold text-sm transition-all text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5`, children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M9 18V5l12-2v13" }), _jsx("circle", { cx: "6", cy: "18", r: "3" }), _jsx("circle", { cx: "18", cy: "16", r: "3" })] }), "Sesler"] })] }), _jsxs("div", { className: "p-6 border-t border-gray-200 dark:border-white/10 hidden md:block group", children: [_jsxs("div", { className: "mb-2 flex justify-between items-end", children: [_jsx("span", { className: "text-xs font-bold text-armoyu-text-muted group-hover:text-armoyu-text transition-colors", children: "Depolama" }), _jsxs("span", { className: "text-xs font-black text-armoyu-text", children: [(storageData.used / 1000).toFixed(1), "GB ", _jsxs("span", { className: "text-[10px] text-armoyu-text-muted font-bold", children: ["/ ", (storageData.total / 1000).toFixed(1), "GB"] })] })] }), _jsxs("div", { className: "w-full h-2.5 bg-black/5 dark:bg-white/10 rounded-full overflow-hidden flex gap-0.5 shadow-inner", children: [_jsx("div", { style: { width: `${pPhotos}%` }, className: "bg-blue-500 h-full", title: "Foto\u011Fraflar" }), _jsx("div", { style: { width: `${pVideos}%` }, className: "bg-purple-500 h-full", title: "Videolar" }), _jsx("div", { style: { width: `${pAudios}%` }, className: "bg-emerald-500 h-full", title: "Sesler" }), _jsx("div", { style: { width: `${pDocs}%` }, className: "bg-orange-500 h-full", title: "Belgeler" })] })] })] }), _jsxs("div", { className: "flex-1 flex flex-col min-w-0 bg-white dark:bg-[#0a0a0e]", children: [_jsxs("div", { className: "flex justify-between items-center p-4 md:px-8 border-b border-gray-200 dark:border-white/10 shrink-0", children: [_jsx("h3", { className: "font-extrabold text-armoyu-text text-lg tracking-tight", children: activeCategory === 'all' ? 'Tüm Dosyalar' :
|
|
28
|
-
activeCategory === 'image' ? 'Fotoğraflar' :
|
|
29
|
-
activeCategory === 'video' ? 'Videolar' : 'Dosyalarım' }), _jsx("button", { onClick: onClose, className: "p-2 rounded-full hover:bg-black/5 dark:hover:bg-white/5 text-armoyu-text-muted transition-colors", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) })] }), _jsx("div", { className: "flex-1 overflow-y-auto px-4 md:px-8 py-6 hide-scrollbar", children: _jsxs("div", { className: "space-y-8 max-w-5xl mx-auto", children: [_jsxs("div", { className: `border-2 border-dashed rounded-[2rem] p-6 lg:p-8 flex flex-col md:flex-row items-center justify-between gap-6 transition-all group ${dragActive ? 'border-blue-500 bg-blue-500/10' : 'border-black/10 dark:border-white/10 hover:border-blue-500/50 bg-black/5 dark:bg-white/5'}`, onDragEnter: () => setDragActive(true), onDragLeave: () => setDragActive(false), onDragOver: (e) => e.preventDefault(), onDrop: (e) => { e.preventDefault(); setDragActive(false); /* file handle logic */ }, children: [_jsxs("div", { className: "flex items-center gap-5", children: [_jsx("div", { className: "w-16 h-16 rounded-[1.25rem] bg-white dark:bg-[#1a1a24] shadow-[0_4px_20px_rgba(0,0,0,0.05)] dark:shadow-[0_4px_20px_rgba(255,255,255,0.03)] flex flex-shrink-0 items-center justify-center group-hover:scale-105 transition-transform", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "28", height: "28", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", className: "text-blue-500", children: [_jsx("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }), _jsx("polyline", { points: "17 8 12 3 7 8" }), _jsx("line", { x1: "12", y1: "3", x2: "12", y2: "15" })] }) }), _jsxs("div", { children: [_jsx("h3", { className: "font-black text-armoyu-text text-lg mb-1", children: "Yeni \u0130\u00E7erik Y\u00FCkle" }), _jsx("p", { className: "text-xs font-bold text-armoyu-text-muted", children: "G\u00F6rsel veya Dosyalar\u0131 S\u00FCr\u00FCkleyin (Maks 100MB)" })] })] }), _jsxs("div", { className: "flex flex-col sm:flex-row gap-3 w-full md:w-auto shrink-0", children: [_jsxs("select", { className: "bg-white dark:bg-[#1a1a24] border border-gray-200 dark:border-white/10 rounded-xl px-4 py-3 text-sm font-bold text-armoyu-text outline-none cursor-pointer focus:border-blue-500 transition-colors shadow-sm", children: [_jsx("option", { value: "image", children: "Foto\u011Fraflar \u0130\u00E7in" }), _jsx("option", { value: "video", children: "Videolar \u0130\u00E7in" }), _jsx("option", { value: "audio", children: "Sesler \u0130\u00E7in" })] }), _jsx("button", { className: "px-6 py-3 bg-gradient-to-r from-blue-600 to-blue-500 hover:from-blue-700 hover:to-blue-600 text-white text-sm font-bold rounded-xl shadow-[0_0_15px_rgba(37,99,235,0.3)] hover:shadow-[0_0_20px_rgba(37,99,235,0.5)] transition-all", children: "Se\u00E7 ve Y\u00FCkle" })] })] }), _jsxs("div", { children: [_jsxs("h4", { className: "text-sm font-bold text-armoyu-text-muted mb-4 uppercase tracking-wider", children: [filteredFiles.length, " \u0130\u00E7erik G\u00F6r\u00FCnt\u00FCleniyor"] }), _jsx("div", { className: "grid grid-cols-2 lg:grid-cols-4 gap-4", children: filteredFiles.map(file => (_jsxs("div", { className: "group relative aspect-square rounded-2xl overflow-hidden bg-black/5 dark:bg-white/5 border border-transparent hover:border-blue-500/50 cursor-pointer shadow-sm hover:shadow-lg transition-all", onClick: () => onSelectMedia && onSelectMedia(file.url, file.type), children: [file.type === 'image' ? (_jsx("img", { src: file.url, alt: file.name, className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-110" })) : (_jsxs("div", { className: "w-full h-full relative", children: [_jsx("video", { src: file.url, className: "w-full h-full object-cover" }), _jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black/20", children: _jsx("div", { className: "w-10 h-10 rounded-full bg-black/50 backdrop-blur-md flex items-center justify-center text-white border border-white/20", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "currentColor", children: _jsx("polygon", { points: "5 3 19 12 5 21 5 3" }) }) }) })] })), _jsxs("div", { className: "absolute inset-0 bg-gradient-to-t from-black/90 via-black/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex flex-col justify-end p-4", children: [_jsx("p", { className: "text-white font-bold text-sm truncate mb-0.5", children: file.name }), _jsxs("p", { className: "text-white/70 font-bold text-[10px]", children: [file.size, " \u2022 ", file.date] }), _jsxs("button", { className: "mt-3 w-full py-2 bg-blue-500 hover:bg-blue-600 text-white text-xs font-bold rounded-xl transition-colors shadow-md flex items-center justify-center gap-1.5", onClick: (e) => { e.stopPropagation(); onSelectMedia && onSelectMedia(file.url, file.type); }, children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M22 11.08V12a10 10 0 1 1-5.93-9.14" }), _jsx("polyline", { points: "22 4 12 14.01 9 11.01" })] }), "Payla\u015F\u0131ma Ekle"] })] })] }, file.id))) })] })] }) })] })] })] }));
|
|
30
|
-
return createPortal(modalContent, document.body);
|
|
31
|
-
}
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { createPortal } from 'react-dom';
|
|
5
|
+
export function CloudStorageModal({ isOpen, onClose, onSelectMedia }) {
|
|
6
|
+
const [mounted, setMounted] = useState(false);
|
|
7
|
+
const [activeCategory, setActiveCategory] = useState('all'); // Simplified for mock display
|
|
8
|
+
const [dragActive, setDragActive] = useState(false);
|
|
9
|
+
useEffect(() => setMounted(true), []);
|
|
10
|
+
if (!isOpen || !mounted)
|
|
11
|
+
return null;
|
|
12
|
+
// Mock Cloud Files
|
|
13
|
+
const mockFiles = [
|
|
14
|
+
{ id: '1', type: 'image', url: 'https://images.unsplash.com/photo-1542751371-adc38448a05e?q=80&w=2670&auto=format&fit=crop', name: 'Valorant_Clip_1.jpg', size: '2.4 MB', date: '12 Eki' },
|
|
15
|
+
{ id: '2', type: 'video', url: 'https://test-videos.co.uk/vids/bigbuckbunny/mp4/h264/720/Big_Buck_Bunny_720_10s_1MB.mp4', name: 'CS2_Aces.mp4', size: '14.1 MB', date: '05 Eki' },
|
|
16
|
+
{ id: '3', type: 'image', url: 'https://images.unsplash.com/photo-1587831990711-23ca6441447b?q=80&w=2698&auto=format&fit=crop', name: 'Setup_Photo.png', size: '4.8 MB', date: '28 Eyl' },
|
|
17
|
+
{ id: '4', type: 'image', url: 'https://images.unsplash.com/photo-1614680376593-902f74cf0d41?q=80&w=2574&auto=format&fit=crop', name: 'Minecraft_Bas...jpg', size: '1.2 MB', date: '15 Eyl' },
|
|
18
|
+
{ id: '5', type: 'image', url: 'https://images.unsplash.com/photo-1498050108023-c5249f4df085?q=80&w=2672&auto=format&fit=crop', name: 'Coding_Session.jpg', size: '3.5 MB', date: '02 Eyl' }
|
|
19
|
+
];
|
|
20
|
+
const filteredFiles = activeCategory === 'all' ? mockFiles : mockFiles.filter(f => f.type === activeCategory);
|
|
21
|
+
// Mock Storage Math
|
|
22
|
+
const storageData = { total: 5000, used: 2400, photos: 1200, videos: 800, audios: 200, documents: 200 };
|
|
23
|
+
const pPhotos = (storageData.photos / storageData.total) * 100;
|
|
24
|
+
const pVideos = (storageData.videos / storageData.total) * 100;
|
|
25
|
+
const pAudios = (storageData.audios / storageData.total) * 100;
|
|
26
|
+
const pDocs = (storageData.documents / storageData.total) * 100;
|
|
27
|
+
const modalContent = (_jsxs("div", { className: "fixed inset-0 z-[9999] p-4 md:p-8 xl:p-12 flex items-center justify-center animate-in fade-in duration-200", children: [_jsx("div", { className: "absolute inset-0 bg-black/80 backdrop-blur-sm", onClick: onClose }), _jsxs("div", { className: "relative w-full max-w-6xl h-full max-h-[85vh] bg-white dark:bg-[#0a0a0e] border border-gray-200 dark:border-white/10 rounded-[2rem] shadow-2xl flex flex-col md:flex-row overflow-hidden animate-in zoom-in-95 duration-300", children: [_jsxs("div", { className: "w-full md:w-64 border-r border-gray-200 dark:border-white/10 bg-gray-50 dark:bg-[#121216] flex flex-col shrink-0", children: [_jsx("div", { className: "p-6 md:p-8 pb-4", children: _jsxs("h2", { className: "text-2xl font-black text-armoyu-text tracking-tight flex items-center gap-3", children: [_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "28", height: "28", viewBox: "0 0 24 24", fill: "currentColor", className: "text-blue-500", children: _jsx("path", { d: "M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z" }) }), "Cloud"] }) }), _jsxs("nav", { className: "flex-1 px-4 space-y-1.5 overflow-y-auto hide-scrollbar", children: [_jsxs("button", { onClick: () => setActiveCategory('all'), className: `w-full flex items-center gap-3 px-4 py-3.5 rounded-xl font-bold text-sm transition-all ${activeCategory === 'all' ? 'bg-blue-500 text-white shadow-md shadow-blue-500/20' : 'text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5'}`, children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "3", y: "3", width: "7", height: "7" }), _jsx("rect", { x: "14", y: "3", width: "7", height: "7" }), _jsx("rect", { x: "14", y: "14", width: "7", height: "7" }), _jsx("rect", { x: "3", y: "14", width: "7", height: "7" })] }), "T\u00FCm\u00FC"] }), _jsxs("button", { onClick: () => setActiveCategory('image'), className: `w-full flex items-center gap-3 px-4 py-3.5 rounded-xl font-bold text-sm transition-all ${activeCategory === 'image' ? 'bg-blue-500 text-white shadow-md shadow-blue-500/20' : 'text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5'}`, children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", ry: "2" }), _jsx("circle", { cx: "8.5", cy: "8.5", r: "1.5" }), _jsx("polyline", { points: "21 15 16 10 5 21" })] }), "Foto\u011Fraflar"] }), _jsxs("button", { onClick: () => setActiveCategory('video'), className: `w-full flex items-center gap-3 px-4 py-3.5 rounded-xl font-bold text-sm transition-all ${activeCategory === 'video' ? 'bg-blue-500 text-white shadow-md shadow-blue-500/20' : 'text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5'}`, children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("polygon", { points: "23 7 16 12 23 17 23 7" }), _jsx("rect", { x: "1", y: "5", width: "15", height: "14", rx: "2", ry: "2" })] }), "Videolar"] }), _jsxs("button", { onClick: () => { }, className: `w-full flex items-center gap-3 px-4 py-3.5 rounded-xl font-bold text-sm transition-all text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5`, children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M9 18V5l12-2v13" }), _jsx("circle", { cx: "6", cy: "18", r: "3" }), _jsx("circle", { cx: "18", cy: "16", r: "3" })] }), "Sesler"] })] }), _jsxs("div", { className: "p-6 border-t border-gray-200 dark:border-white/10 hidden md:block group", children: [_jsxs("div", { className: "mb-2 flex justify-between items-end", children: [_jsx("span", { className: "text-xs font-bold text-armoyu-text-muted group-hover:text-armoyu-text transition-colors", children: "Depolama" }), _jsxs("span", { className: "text-xs font-black text-armoyu-text", children: [(storageData.used / 1000).toFixed(1), "GB ", _jsxs("span", { className: "text-[10px] text-armoyu-text-muted font-bold", children: ["/ ", (storageData.total / 1000).toFixed(1), "GB"] })] })] }), _jsxs("div", { className: "w-full h-2.5 bg-black/5 dark:bg-white/10 rounded-full overflow-hidden flex gap-0.5 shadow-inner", children: [_jsx("div", { style: { width: `${pPhotos}%` }, className: "bg-blue-500 h-full", title: "Foto\u011Fraflar" }), _jsx("div", { style: { width: `${pVideos}%` }, className: "bg-purple-500 h-full", title: "Videolar" }), _jsx("div", { style: { width: `${pAudios}%` }, className: "bg-emerald-500 h-full", title: "Sesler" }), _jsx("div", { style: { width: `${pDocs}%` }, className: "bg-orange-500 h-full", title: "Belgeler" })] })] })] }), _jsxs("div", { className: "flex-1 flex flex-col min-w-0 bg-white dark:bg-[#0a0a0e]", children: [_jsxs("div", { className: "flex justify-between items-center p-4 md:px-8 border-b border-gray-200 dark:border-white/10 shrink-0", children: [_jsx("h3", { className: "font-extrabold text-armoyu-text text-lg tracking-tight", children: activeCategory === 'all' ? 'Tüm Dosyalar' :
|
|
28
|
+
activeCategory === 'image' ? 'Fotoğraflar' :
|
|
29
|
+
activeCategory === 'video' ? 'Videolar' : 'Dosyalarım' }), _jsx("button", { onClick: onClose, className: "p-2 rounded-full hover:bg-black/5 dark:hover:bg-white/5 text-armoyu-text-muted transition-colors", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) })] }), _jsx("div", { className: "flex-1 overflow-y-auto px-4 md:px-8 py-6 hide-scrollbar", children: _jsxs("div", { className: "space-y-8 max-w-5xl mx-auto", children: [_jsxs("div", { className: `border-2 border-dashed rounded-[2rem] p-6 lg:p-8 flex flex-col md:flex-row items-center justify-between gap-6 transition-all group ${dragActive ? 'border-blue-500 bg-blue-500/10' : 'border-black/10 dark:border-white/10 hover:border-blue-500/50 bg-black/5 dark:bg-white/5'}`, onDragEnter: () => setDragActive(true), onDragLeave: () => setDragActive(false), onDragOver: (e) => e.preventDefault(), onDrop: (e) => { e.preventDefault(); setDragActive(false); /* file handle logic */ }, children: [_jsxs("div", { className: "flex items-center gap-5", children: [_jsx("div", { className: "w-16 h-16 rounded-[1.25rem] bg-white dark:bg-[#1a1a24] shadow-[0_4px_20px_rgba(0,0,0,0.05)] dark:shadow-[0_4px_20px_rgba(255,255,255,0.03)] flex flex-shrink-0 items-center justify-center group-hover:scale-105 transition-transform", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "28", height: "28", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", className: "text-blue-500", children: [_jsx("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }), _jsx("polyline", { points: "17 8 12 3 7 8" }), _jsx("line", { x1: "12", y1: "3", x2: "12", y2: "15" })] }) }), _jsxs("div", { children: [_jsx("h3", { className: "font-black text-armoyu-text text-lg mb-1", children: "Yeni \u0130\u00E7erik Y\u00FCkle" }), _jsx("p", { className: "text-xs font-bold text-armoyu-text-muted", children: "G\u00F6rsel veya Dosyalar\u0131 S\u00FCr\u00FCkleyin (Maks 100MB)" })] })] }), _jsxs("div", { className: "flex flex-col sm:flex-row gap-3 w-full md:w-auto shrink-0", children: [_jsxs("select", { className: "bg-white dark:bg-[#1a1a24] border border-gray-200 dark:border-white/10 rounded-xl px-4 py-3 text-sm font-bold text-armoyu-text outline-none cursor-pointer focus:border-blue-500 transition-colors shadow-sm", children: [_jsx("option", { value: "image", children: "Foto\u011Fraflar \u0130\u00E7in" }), _jsx("option", { value: "video", children: "Videolar \u0130\u00E7in" }), _jsx("option", { value: "audio", children: "Sesler \u0130\u00E7in" })] }), _jsx("button", { className: "px-6 py-3 bg-gradient-to-r from-blue-600 to-blue-500 hover:from-blue-700 hover:to-blue-600 text-white text-sm font-bold rounded-xl shadow-[0_0_15px_rgba(37,99,235,0.3)] hover:shadow-[0_0_20px_rgba(37,99,235,0.5)] transition-all", children: "Se\u00E7 ve Y\u00FCkle" })] })] }), _jsxs("div", { children: [_jsxs("h4", { className: "text-sm font-bold text-armoyu-text-muted mb-4 uppercase tracking-wider", children: [filteredFiles.length, " \u0130\u00E7erik G\u00F6r\u00FCnt\u00FCleniyor"] }), _jsx("div", { className: "grid grid-cols-2 lg:grid-cols-4 gap-4", children: filteredFiles.map(file => (_jsxs("div", { className: "group relative aspect-square rounded-2xl overflow-hidden bg-black/5 dark:bg-white/5 border border-transparent hover:border-blue-500/50 cursor-pointer shadow-sm hover:shadow-lg transition-all", onClick: () => onSelectMedia && onSelectMedia(file.url, file.type), children: [file.type === 'image' ? (_jsx("img", { src: file.url, alt: file.name, className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-110" })) : (_jsxs("div", { className: "w-full h-full relative", children: [_jsx("video", { src: file.url, className: "w-full h-full object-cover" }), _jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black/20", children: _jsx("div", { className: "w-10 h-10 rounded-full bg-black/50 backdrop-blur-md flex items-center justify-center text-white border border-white/20", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "currentColor", children: _jsx("polygon", { points: "5 3 19 12 5 21 5 3" }) }) }) })] })), _jsxs("div", { className: "absolute inset-0 bg-gradient-to-t from-black/90 via-black/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex flex-col justify-end p-4", children: [_jsx("p", { className: "text-white font-bold text-sm truncate mb-0.5", children: file.name }), _jsxs("p", { className: "text-white/70 font-bold text-[10px]", children: [file.size, " \u2022 ", file.date] }), _jsxs("button", { className: "mt-3 w-full py-2 bg-blue-500 hover:bg-blue-600 text-white text-xs font-bold rounded-xl transition-colors shadow-md flex items-center justify-center gap-1.5", onClick: (e) => { e.stopPropagation(); onSelectMedia && onSelectMedia(file.url, file.type); }, children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M22 11.08V12a10 10 0 1 1-5.93-9.14" }), _jsx("polyline", { points: "22 4 12 14.01 9 11.01" })] }), "Payla\u015F\u0131ma Ekle"] })] })] }, file.id))) })] })] }) })] })] })] }));
|
|
30
|
+
return createPortal(modalContent, document.body);
|
|
31
|
+
}
|
|
32
32
|
//# sourceMappingURL=CloudStorageModal.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface EditProfileModalProps {
|
|
3
|
-
isOpen: boolean;
|
|
4
|
-
onClose: () => void;
|
|
5
|
-
user: any;
|
|
6
|
-
}
|
|
7
|
-
export declare function EditProfileModal({ isOpen, onClose, user }: EditProfileModalProps): React.ReactPortal | null;
|
|
8
|
-
export {};
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface EditProfileModalProps {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
user: any;
|
|
6
|
+
}
|
|
7
|
+
export declare function EditProfileModal({ isOpen, onClose, user }: EditProfileModalProps): React.ReactPortal | null;
|
|
8
|
+
export {};
|
|
9
9
|
//# sourceMappingURL=EditProfileModal.d.ts.map
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useState, useEffect } from 'react';
|
|
4
|
-
import { createPortal } from 'react-dom';
|
|
5
|
-
export function EditProfileModal({ isOpen, onClose, user }) {
|
|
6
|
-
const [formData, setFormData] = useState({
|
|
7
|
-
profession: '',
|
|
8
|
-
email: 'kullanici@armoyu.com',
|
|
9
|
-
phone: '',
|
|
10
|
-
birthDate: '',
|
|
11
|
-
country: 'Türkiye',
|
|
12
|
-
city: 'İstanbul',
|
|
13
|
-
});
|
|
14
|
-
const handleChange = (e) => {
|
|
15
|
-
setFormData(prev => ({ ...prev, [e.target.name]: e.target.value }));
|
|
16
|
-
};
|
|
17
|
-
const handleSave = () => {
|
|
18
|
-
// API logic buraya eklenecek
|
|
19
|
-
onClose();
|
|
20
|
-
};
|
|
21
|
-
const [mounted, setMounted] = useState(false);
|
|
22
|
-
useEffect(() => setMounted(true), []);
|
|
23
|
-
if (!isOpen || !mounted)
|
|
24
|
-
return null;
|
|
25
|
-
const modalContent = (_jsxs("div", { className: "fixed inset-0 z-[9999] flex items-center justify-center animate-in fade-in duration-200", children: [_jsx("div", { className: "absolute inset-0 bg-black/60 backdrop-blur-sm", onClick: onClose }), _jsxs("div", { className: "relative w-full max-w-2xl bg-white dark:bg-[#0a0a0e] border border-gray-200 dark:border-white/10 rounded-[2rem] shadow-2xl p-6 md:p-8 animate-in zoom-in-95 duration-300 mx-4 max-h-[90vh] overflow-y-auto hide-scrollbar flex flex-col", children: [_jsxs("div", { className: "flex justify-between items-center mb-6 shrink-0 sticky top-0 bg-white dark:bg-[#0a0a0e] z-10 pt-2 pb-4 border-b border-gray-200 dark:border-white/5", children: [_jsx("h2", { className: "text-xl md:text-2xl font-black text-armoyu-text tracking-tight", children: "Profili D\u00FCzenle" }), _jsx("button", { onClick: onClose, className: "p-2 rounded-full hover:bg-black/5 dark:hover:bg-white/5 text-armoyu-text-muted transition-colors border border-transparent hover:border-armoyu-card-border", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) })] }), _jsxs("div", { className: "space-y-8 pb-8 flex-1", children: [_jsxs("div", { className: "space-y-5", children: [_jsx("h3", { className: "text-lg font-bold text-armoyu-text border-b border-gray-200 dark:border-white/5 pb-2", children: "Temel Bilgiler" }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5", children: [_jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-xs font-bold text-armoyu-text-muted uppercase tracking-wider", children: "E-Posta Adresi" }), _jsx("input", { type: "email", name: "email", value: formData.email, onChange: handleChange, className: "w-full bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/10 rounded-xl px-4 py-3 text-sm text-armoyu-text font-bold outline-none focus:border-blue-500 shadow-inner transition-colors" })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-xs font-bold text-armoyu-text-muted uppercase tracking-wider", children: "Cep Numaras\u0131" }), _jsx("input", { type: "tel", name: "phone", value: formData.phone, onChange: handleChange, placeholder: "+90 555 555 55 55", className: "w-full bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/10 rounded-xl px-4 py-3 text-sm text-armoyu-text font-bold outline-none focus:border-blue-500 shadow-inner transition-colors" })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-xs font-bold text-armoyu-text-muted uppercase tracking-wider", children: "Meslek / Unvan" }), _jsxs("select", { name: "profession", value: formData.profession, onChange: handleChange, className: "w-full bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/10 rounded-xl px-4 py-3 text-sm text-armoyu-text font-bold outline-none focus:border-blue-500 shadow-inner transition-colors appearance-none", children: [_jsx("option", { value: "", children: "Se\u00E7iniz..." }), _jsx("option", { value: "\u00D6\u011Frenci", children: "\u00D6\u011Frenci" }), _jsx("option", { value: "\u00D6\u011Fretmen / E\u011Fitmen", children: "\u00D6\u011Fretmen / E\u011Fitmen" }), _jsx("option", { value: "Yaz\u0131l\u0131m Geli\u015Ftirici", children: "Yaz\u0131l\u0131m Geli\u015Ftirici" }), _jsx("option", { value: "M\u00FChendis", children: "M\u00FChendis" }), _jsx("option", { value: "Tasar\u0131mc\u0131 / Grafiker", children: "Tasar\u0131mc\u0131 / Grafiker" }), _jsx("option", { value: "Mimar", children: "Mimar" }), _jsx("option", { value: "\u0130\u00E7erik \u00DCreticisi (YouTuber/Yay\u0131nc\u0131)", children: "\u0130\u00E7erik \u00DCreticisi (YouTuber/Yay\u0131nc\u0131)" }), _jsx("option", { value: "e-Spor Oyuncusu", children: "e-Spor Oyuncusu" }), _jsx("option", { value: "Doktor / Sa\u011Fl\u0131k \u00C7al\u0131\u015Fan\u0131", children: "Doktor / Sa\u011Fl\u0131k \u00C7al\u0131\u015Fan\u0131" }), _jsx("option", { value: "Avukat / Hukuk\u00E7u", children: "Avukat / Hukuk\u00E7u" }), _jsx("option", { value: "Muhasebeci / Finans", children: "Muhasebeci / Finans" }), _jsx("option", { value: "Sat\u0131\u015F / Pazarlama", children: "Sat\u0131\u015F / Pazarlama" }), _jsx("option", { value: "Serbest \u00C7al\u0131\u015Fan (Freelancer)", children: "Serbest \u00C7al\u0131\u015Fan (Freelancer)" }), _jsx("option", { value: "Giri\u015Fimci / \u0130\u015F \u0130nsan\u0131", children: "Giri\u015Fimci / \u0130\u015F \u0130nsan\u0131" }), _jsx("option", { value: "Di\u011Fer", children: "Di\u011Fer" })] })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-xs font-bold text-armoyu-text-muted uppercase tracking-wider", children: "Do\u011Fum Tarihi" }), _jsx("input", { type: "date", name: "birthDate", value: formData.birthDate, onChange: handleChange, className: "w-full bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/10 rounded-xl px-4 py-3 text-sm text-armoyu-text font-bold outline-none focus:border-blue-500 shadow-inner transition-colors" })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-xs font-bold text-armoyu-text-muted uppercase tracking-wider", children: "\u00DClke" }), _jsxs("select", { name: "country", value: formData.country, onChange: handleChange, className: "w-full bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/10 rounded-xl px-4 py-3 text-sm text-armoyu-text font-bold outline-none focus:border-blue-500 shadow-inner transition-colors appearance-none", children: [_jsx("option", { value: "T\u00FCrkiye", children: "T\u00FCrkiye" }), _jsx("option", { value: "Azerbaycan", children: "Azerbaycan" }), _jsx("option", { value: "Almanya", children: "Almanya" }), _jsx("option", { value: "Di\u011Fer", children: "Di\u011Fer" })] })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-xs font-bold text-armoyu-text-muted uppercase tracking-wider", children: "\u0130l / \u015Eehir" }), _jsx("input", { type: "text", name: "city", value: formData.city, onChange: handleChange, placeholder: "\u00D6rn: \u0130stanbul", className: "w-full bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/10 rounded-xl px-4 py-3 text-sm text-armoyu-text font-bold outline-none focus:border-blue-500 shadow-inner transition-colors" })] })] })] }), _jsxs("div", { className: "space-y-5", children: [_jsx("h3", { className: "text-lg font-bold text-armoyu-text border-b border-gray-200 dark:border-white/5 pb-2", children: "Ba\u011Fl\u0131 Hesaplar" }), _jsx("p", { className: "text-xs font-bold text-armoyu-text-muted mb-4 leading-relaxed", children: "Di\u011Fer platformlardaki hesaplar\u0131n\u0131z\u0131 ba\u011Flayarak profilinizde sergileyebilir ve arkada\u015Flar\u0131n\u0131z\u0131n sizi kolayca bulmas\u0131n\u0131 sa\u011Flayabilirsiniz." }), _jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4", children: [_jsxs("button", { className: "flex items-center gap-3 w-full p-3.5 rounded-2xl bg-[#5865F2]/5 hover:bg-[#5865F2]/10 dark:bg-[#5865F2]/20 dark:hover:bg-[#5865F2]/30 border border-[#5865F2]/30 transition-all group shadow-sm hover:shadow-md", children: [_jsx("div", { className: "w-12 h-12 rounded-xl bg-[#5865F2] flex items-center justify-center text-white shrink-0 shadow-[0_0_15px_rgba(88,101,242,0.4)]", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "currentColor", children: _jsx("path", { d: "M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2498-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8745-.6177-1.2498a.077.077 0 00-.0788-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z" }) }) }), _jsxs("div", { className: "flex-1 text-left", children: [_jsx("div", { className: "font-bold text-[15px] text-armoyu-text", children: "Discord" }), _jsx("div", { className: "text-[11px] font-bold text-blue-500 uppercase tracking-wider", children: "Ba\u011Fland\u0131" })] }), _jsx("div", { className: "px-3.5 py-2 rounded-xl border border-red-500/20 text-red-500 text-xs font-black bg-red-500/5 hover:bg-red-500/10 transition-colors shadow-sm", children: "\u0130ptal Et" })] }), _jsxs("button", { className: "flex items-center gap-3 w-full p-3.5 rounded-2xl bg-[#171a21]/5 hover:bg-[#171a21]/10 dark:bg-[#171a21]/80 dark:hover:bg-[#171a21] border border-gray-200 dark:border-white/5 transition-all group shadow-sm hover:shadow-md", children: [_jsx("div", { className: "w-12 h-12 rounded-xl bg-[#171a21] flex items-center justify-center text-white shrink-0 shadow-sm", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "currentColor", children: _jsx("path", { d: "M11.97 0C5.35 0 0 5.37 0 12c0 2.87 1.02 5.51 2.71 7.55l3.82-5.59c-.06-.31-.08-.63-.08-.96 0-3.32 2.68-6 6-6s6 2.68 6 6-2.68 6-6 6c-.84 0-1.63-.17-2.36-.5l-3.23 4.74A11.961 11.961 0 0 0 11.97 24c6.62 0 12-5.37 12-12s-5.38-12-12-12m6.25 11.89c0 1.6-1.29 2.89-2.89 2.89a2.89 2.89 0 0 1-2.89-2.89c0-1.6 1.29-2.89 2.89-2.89s2.89 1.29 2.89 2.89M8.38 14.88c-.85.34-1.8.1-2.38-.6a2.031 2.031 0 0 1 .59-2.85c.85-.34 1.8-.1 2.38.6.59.71.26 2.5-.59 2.85" }) }) }), _jsxs("div", { className: "flex-1 text-left", children: [_jsx("div", { className: "font-bold text-[15px] text-armoyu-text", children: "Steam" }), _jsx("div", { className: "text-[11px] font-bold text-armoyu-text-muted uppercase tracking-wider", children: "Ba\u011Flanmad\u0131" })] }), _jsx("div", { className: "px-3.5 py-2 rounded-xl bg-black/5 dark:bg-white/5 text-xs font-black text-armoyu-text group-hover:bg-armoyu-text group-hover:text-white dark:group-hover:text-[#0a0a0e] transition-colors border border-black/5 dark:border-white/10 shadow-sm", children: "Ba\u011Fla" })] }), _jsxs("button", { className: "flex items-center gap-3 w-full p-3.5 rounded-2xl bg-pink-500/5 hover:bg-pink-500/10 dark:bg-pink-500/10 dark:hover:bg-pink-500/15 border border-pink-500/20 transition-all group shadow-sm hover:shadow-md", children: [_jsx("div", { className: "w-12 h-12 rounded-xl bg-gradient-to-tr from-yellow-400 via-pink-500 to-purple-500 flex items-center justify-center text-white shrink-0 shadow-[0_0_15px_rgba(236,72,153,0.4)]", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "2", y: "2", width: "20", height: "20", rx: "5", ry: "5" }), _jsx("path", { d: "M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z" }), _jsx("line", { x1: "17.5", y1: "6.5", x2: "17.51", y2: "6.5" })] }) }), _jsxs("div", { className: "flex-1 text-left", children: [_jsx("div", { className: "font-bold text-[15px] text-armoyu-text", children: "Instagram" }), _jsx("div", { className: "text-[11px] font-bold text-armoyu-text-muted uppercase tracking-wider", children: "Ba\u011Flanmad\u0131" })] }), _jsx("div", { className: "px-3.5 py-2 rounded-xl bg-black/5 dark:bg-white/5 text-xs font-black text-armoyu-text group-hover:bg-armoyu-text group-hover:text-white dark:group-hover:text-[#0a0a0e] transition-colors border border-black/5 dark:border-white/10 shadow-sm", children: "Ba\u011Fla" })] }), _jsxs("button", { className: "flex items-center gap-3 w-full p-3.5 rounded-2xl bg-[#0077b5]/5 hover:bg-[#0077b5]/10 dark:bg-[#0077b5]/10 dark:hover:bg-[#0077b5]/20 border border-[#0077b5]/20 transition-all group shadow-sm hover:shadow-md", children: [_jsx("div", { className: "w-12 h-12 rounded-xl bg-[#0077b5] flex items-center justify-center text-white shrink-0 shadow-[0_0_15px_rgba(0,119,181,0.4)]", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" }), _jsx("rect", { x: "2", y: "9", width: "4", height: "12" }), _jsx("circle", { cx: "4", cy: "4", r: "2" })] }) }), _jsxs("div", { className: "flex-1 text-left", children: [_jsx("div", { className: "font-bold text-[15px] text-armoyu-text", children: "LinkedIn" }), _jsx("div", { className: "text-[11px] font-bold text-armoyu-text-muted uppercase tracking-wider", children: "Ba\u011Flanmad\u0131" })] }), _jsx("div", { className: "px-3.5 py-2 rounded-xl bg-black/5 dark:bg-white/5 text-xs font-black text-armoyu-text group-hover:bg-armoyu-text group-hover:text-white dark:group-hover:text-[#0a0a0e] transition-colors border border-black/5 dark:border-white/10 shadow-sm", children: "Ba\u011Fla" })] }), _jsxs("button", { className: "flex items-center gap-3 w-full p-3.5 rounded-2xl bg-[#1877F2]/5 hover:bg-[#1877F2]/10 dark:bg-[#1877F2]/10 dark:hover:bg-[#1877F2]/20 border border-[#1877F2]/20 transition-all group shadow-sm hover:shadow-md", children: [_jsx("div", { className: "w-12 h-12 rounded-xl bg-[#1877F2] flex items-center justify-center text-white shrink-0 shadow-[0_0_15px_rgba(24,119,242,0.4)]", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z" }) }) }), _jsxs("div", { className: "flex-1 text-left", children: [_jsx("div", { className: "font-bold text-[15px] text-armoyu-text", children: "Facebook" }), _jsx("div", { className: "text-[11px] font-bold text-armoyu-text-muted uppercase tracking-wider", children: "Ba\u011Flanmad\u0131" })] }), _jsx("div", { className: "px-3.5 py-2 rounded-xl bg-black/5 dark:bg-white/5 text-xs font-black text-armoyu-text group-hover:bg-armoyu-text group-hover:text-white dark:group-hover:text-[#0a0a0e] transition-colors border border-black/5 dark:border-white/10 shadow-sm", children: "Ba\u011Fla" })] })] })] })] }), _jsxs("div", { className: "flex gap-4 pt-6 mt-auto sticky bottom-0 bg-white dark:bg-[#0a0a0e] pb-2 z-10 w-full shrink-0 border-t border-gray-200 dark:border-white/5", children: [_jsx("button", { onClick: onClose, className: "flex-1 py-3.5 text-sm font-black text-armoyu-text bg-black/5 dark:bg-white/5 hover:bg-black/10 dark:hover:bg-white/10 rounded-2xl transition-colors border border-black/5 dark:border-white/5 shadow-sm", children: "\u0130ptal" }), _jsx("button", { onClick: handleSave, className: "flex-1 py-3.5 text-sm font-black text-white bg-gradient-to-r from-blue-600 to-blue-500 hover:from-blue-700 hover:to-blue-600 rounded-2xl transition-all shadow-[0_0_20px_rgba(37,99,235,0.4)]", children: "De\u011Fi\u015Fiklikleri Kaydet" })] })] })] }));
|
|
26
|
-
return createPortal(modalContent, document.body);
|
|
27
|
-
}
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useEffect } from 'react';
|
|
4
|
+
import { createPortal } from 'react-dom';
|
|
5
|
+
export function EditProfileModal({ isOpen, onClose, user }) {
|
|
6
|
+
const [formData, setFormData] = useState({
|
|
7
|
+
profession: '',
|
|
8
|
+
email: 'kullanici@armoyu.com',
|
|
9
|
+
phone: '',
|
|
10
|
+
birthDate: '',
|
|
11
|
+
country: 'Türkiye',
|
|
12
|
+
city: 'İstanbul',
|
|
13
|
+
});
|
|
14
|
+
const handleChange = (e) => {
|
|
15
|
+
setFormData(prev => ({ ...prev, [e.target.name]: e.target.value }));
|
|
16
|
+
};
|
|
17
|
+
const handleSave = () => {
|
|
18
|
+
// API logic buraya eklenecek
|
|
19
|
+
onClose();
|
|
20
|
+
};
|
|
21
|
+
const [mounted, setMounted] = useState(false);
|
|
22
|
+
useEffect(() => setMounted(true), []);
|
|
23
|
+
if (!isOpen || !mounted)
|
|
24
|
+
return null;
|
|
25
|
+
const modalContent = (_jsxs("div", { className: "fixed inset-0 z-[9999] flex items-center justify-center animate-in fade-in duration-200", children: [_jsx("div", { className: "absolute inset-0 bg-black/60 backdrop-blur-sm", onClick: onClose }), _jsxs("div", { className: "relative w-full max-w-2xl bg-white dark:bg-[#0a0a0e] border border-gray-200 dark:border-white/10 rounded-[2rem] shadow-2xl p-6 md:p-8 animate-in zoom-in-95 duration-300 mx-4 max-h-[90vh] overflow-y-auto hide-scrollbar flex flex-col", children: [_jsxs("div", { className: "flex justify-between items-center mb-6 shrink-0 sticky top-0 bg-white dark:bg-[#0a0a0e] z-10 pt-2 pb-4 border-b border-gray-200 dark:border-white/5", children: [_jsx("h2", { className: "text-xl md:text-2xl font-black text-armoyu-text tracking-tight", children: "Profili D\u00FCzenle" }), _jsx("button", { onClick: onClose, className: "p-2 rounded-full hover:bg-black/5 dark:hover:bg-white/5 text-armoyu-text-muted transition-colors border border-transparent hover:border-armoyu-card-border", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) })] }), _jsxs("div", { className: "space-y-8 pb-8 flex-1", children: [_jsxs("div", { className: "space-y-5", children: [_jsx("h3", { className: "text-lg font-bold text-armoyu-text border-b border-gray-200 dark:border-white/5 pb-2", children: "Temel Bilgiler" }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-5", children: [_jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-xs font-bold text-armoyu-text-muted uppercase tracking-wider", children: "E-Posta Adresi" }), _jsx("input", { type: "email", name: "email", value: formData.email, onChange: handleChange, className: "w-full bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/10 rounded-xl px-4 py-3 text-sm text-armoyu-text font-bold outline-none focus:border-blue-500 shadow-inner transition-colors" })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-xs font-bold text-armoyu-text-muted uppercase tracking-wider", children: "Cep Numaras\u0131" }), _jsx("input", { type: "tel", name: "phone", value: formData.phone, onChange: handleChange, placeholder: "+90 555 555 55 55", className: "w-full bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/10 rounded-xl px-4 py-3 text-sm text-armoyu-text font-bold outline-none focus:border-blue-500 shadow-inner transition-colors" })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-xs font-bold text-armoyu-text-muted uppercase tracking-wider", children: "Meslek / Unvan" }), _jsxs("select", { name: "profession", value: formData.profession, onChange: handleChange, className: "w-full bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/10 rounded-xl px-4 py-3 text-sm text-armoyu-text font-bold outline-none focus:border-blue-500 shadow-inner transition-colors appearance-none", children: [_jsx("option", { value: "", children: "Se\u00E7iniz..." }), _jsx("option", { value: "\u00D6\u011Frenci", children: "\u00D6\u011Frenci" }), _jsx("option", { value: "\u00D6\u011Fretmen / E\u011Fitmen", children: "\u00D6\u011Fretmen / E\u011Fitmen" }), _jsx("option", { value: "Yaz\u0131l\u0131m Geli\u015Ftirici", children: "Yaz\u0131l\u0131m Geli\u015Ftirici" }), _jsx("option", { value: "M\u00FChendis", children: "M\u00FChendis" }), _jsx("option", { value: "Tasar\u0131mc\u0131 / Grafiker", children: "Tasar\u0131mc\u0131 / Grafiker" }), _jsx("option", { value: "Mimar", children: "Mimar" }), _jsx("option", { value: "\u0130\u00E7erik \u00DCreticisi (YouTuber/Yay\u0131nc\u0131)", children: "\u0130\u00E7erik \u00DCreticisi (YouTuber/Yay\u0131nc\u0131)" }), _jsx("option", { value: "e-Spor Oyuncusu", children: "e-Spor Oyuncusu" }), _jsx("option", { value: "Doktor / Sa\u011Fl\u0131k \u00C7al\u0131\u015Fan\u0131", children: "Doktor / Sa\u011Fl\u0131k \u00C7al\u0131\u015Fan\u0131" }), _jsx("option", { value: "Avukat / Hukuk\u00E7u", children: "Avukat / Hukuk\u00E7u" }), _jsx("option", { value: "Muhasebeci / Finans", children: "Muhasebeci / Finans" }), _jsx("option", { value: "Sat\u0131\u015F / Pazarlama", children: "Sat\u0131\u015F / Pazarlama" }), _jsx("option", { value: "Serbest \u00C7al\u0131\u015Fan (Freelancer)", children: "Serbest \u00C7al\u0131\u015Fan (Freelancer)" }), _jsx("option", { value: "Giri\u015Fimci / \u0130\u015F \u0130nsan\u0131", children: "Giri\u015Fimci / \u0130\u015F \u0130nsan\u0131" }), _jsx("option", { value: "Di\u011Fer", children: "Di\u011Fer" })] })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-xs font-bold text-armoyu-text-muted uppercase tracking-wider", children: "Do\u011Fum Tarihi" }), _jsx("input", { type: "date", name: "birthDate", value: formData.birthDate, onChange: handleChange, className: "w-full bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/10 rounded-xl px-4 py-3 text-sm text-armoyu-text font-bold outline-none focus:border-blue-500 shadow-inner transition-colors" })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-xs font-bold text-armoyu-text-muted uppercase tracking-wider", children: "\u00DClke" }), _jsxs("select", { name: "country", value: formData.country, onChange: handleChange, className: "w-full bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/10 rounded-xl px-4 py-3 text-sm text-armoyu-text font-bold outline-none focus:border-blue-500 shadow-inner transition-colors appearance-none", children: [_jsx("option", { value: "T\u00FCrkiye", children: "T\u00FCrkiye" }), _jsx("option", { value: "Azerbaycan", children: "Azerbaycan" }), _jsx("option", { value: "Almanya", children: "Almanya" }), _jsx("option", { value: "Di\u011Fer", children: "Di\u011Fer" })] })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-xs font-bold text-armoyu-text-muted uppercase tracking-wider", children: "\u0130l / \u015Eehir" }), _jsx("input", { type: "text", name: "city", value: formData.city, onChange: handleChange, placeholder: "\u00D6rn: \u0130stanbul", className: "w-full bg-black/5 dark:bg-white/5 border border-black/5 dark:border-white/10 rounded-xl px-4 py-3 text-sm text-armoyu-text font-bold outline-none focus:border-blue-500 shadow-inner transition-colors" })] })] })] }), _jsxs("div", { className: "space-y-5", children: [_jsx("h3", { className: "text-lg font-bold text-armoyu-text border-b border-gray-200 dark:border-white/5 pb-2", children: "Ba\u011Fl\u0131 Hesaplar" }), _jsx("p", { className: "text-xs font-bold text-armoyu-text-muted mb-4 leading-relaxed", children: "Di\u011Fer platformlardaki hesaplar\u0131n\u0131z\u0131 ba\u011Flayarak profilinizde sergileyebilir ve arkada\u015Flar\u0131n\u0131z\u0131n sizi kolayca bulmas\u0131n\u0131 sa\u011Flayabilirsiniz." }), _jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4", children: [_jsxs("button", { className: "flex items-center gap-3 w-full p-3.5 rounded-2xl bg-[#5865F2]/5 hover:bg-[#5865F2]/10 dark:bg-[#5865F2]/20 dark:hover:bg-[#5865F2]/30 border border-[#5865F2]/30 transition-all group shadow-sm hover:shadow-md", children: [_jsx("div", { className: "w-12 h-12 rounded-xl bg-[#5865F2] flex items-center justify-center text-white shrink-0 shadow-[0_0_15px_rgba(88,101,242,0.4)]", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "currentColor", children: _jsx("path", { d: "M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2498-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8745-.6177-1.2498a.077.077 0 00-.0788-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z" }) }) }), _jsxs("div", { className: "flex-1 text-left", children: [_jsx("div", { className: "font-bold text-[15px] text-armoyu-text", children: "Discord" }), _jsx("div", { className: "text-[11px] font-bold text-blue-500 uppercase tracking-wider", children: "Ba\u011Fland\u0131" })] }), _jsx("div", { className: "px-3.5 py-2 rounded-xl border border-red-500/20 text-red-500 text-xs font-black bg-red-500/5 hover:bg-red-500/10 transition-colors shadow-sm", children: "\u0130ptal Et" })] }), _jsxs("button", { className: "flex items-center gap-3 w-full p-3.5 rounded-2xl bg-[#171a21]/5 hover:bg-[#171a21]/10 dark:bg-[#171a21]/80 dark:hover:bg-[#171a21] border border-gray-200 dark:border-white/5 transition-all group shadow-sm hover:shadow-md", children: [_jsx("div", { className: "w-12 h-12 rounded-xl bg-[#171a21] flex items-center justify-center text-white shrink-0 shadow-sm", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "currentColor", children: _jsx("path", { d: "M11.97 0C5.35 0 0 5.37 0 12c0 2.87 1.02 5.51 2.71 7.55l3.82-5.59c-.06-.31-.08-.63-.08-.96 0-3.32 2.68-6 6-6s6 2.68 6 6-2.68 6-6 6c-.84 0-1.63-.17-2.36-.5l-3.23 4.74A11.961 11.961 0 0 0 11.97 24c6.62 0 12-5.37 12-12s-5.38-12-12-12m6.25 11.89c0 1.6-1.29 2.89-2.89 2.89a2.89 2.89 0 0 1-2.89-2.89c0-1.6 1.29-2.89 2.89-2.89s2.89 1.29 2.89 2.89M8.38 14.88c-.85.34-1.8.1-2.38-.6a2.031 2.031 0 0 1 .59-2.85c.85-.34 1.8-.1 2.38.6.59.71.26 2.5-.59 2.85" }) }) }), _jsxs("div", { className: "flex-1 text-left", children: [_jsx("div", { className: "font-bold text-[15px] text-armoyu-text", children: "Steam" }), _jsx("div", { className: "text-[11px] font-bold text-armoyu-text-muted uppercase tracking-wider", children: "Ba\u011Flanmad\u0131" })] }), _jsx("div", { className: "px-3.5 py-2 rounded-xl bg-black/5 dark:bg-white/5 text-xs font-black text-armoyu-text group-hover:bg-armoyu-text group-hover:text-white dark:group-hover:text-[#0a0a0e] transition-colors border border-black/5 dark:border-white/10 shadow-sm", children: "Ba\u011Fla" })] }), _jsxs("button", { className: "flex items-center gap-3 w-full p-3.5 rounded-2xl bg-pink-500/5 hover:bg-pink-500/10 dark:bg-pink-500/10 dark:hover:bg-pink-500/15 border border-pink-500/20 transition-all group shadow-sm hover:shadow-md", children: [_jsx("div", { className: "w-12 h-12 rounded-xl bg-gradient-to-tr from-yellow-400 via-pink-500 to-purple-500 flex items-center justify-center text-white shrink-0 shadow-[0_0_15px_rgba(236,72,153,0.4)]", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "2", y: "2", width: "20", height: "20", rx: "5", ry: "5" }), _jsx("path", { d: "M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z" }), _jsx("line", { x1: "17.5", y1: "6.5", x2: "17.51", y2: "6.5" })] }) }), _jsxs("div", { className: "flex-1 text-left", children: [_jsx("div", { className: "font-bold text-[15px] text-armoyu-text", children: "Instagram" }), _jsx("div", { className: "text-[11px] font-bold text-armoyu-text-muted uppercase tracking-wider", children: "Ba\u011Flanmad\u0131" })] }), _jsx("div", { className: "px-3.5 py-2 rounded-xl bg-black/5 dark:bg-white/5 text-xs font-black text-armoyu-text group-hover:bg-armoyu-text group-hover:text-white dark:group-hover:text-[#0a0a0e] transition-colors border border-black/5 dark:border-white/10 shadow-sm", children: "Ba\u011Fla" })] }), _jsxs("button", { className: "flex items-center gap-3 w-full p-3.5 rounded-2xl bg-[#0077b5]/5 hover:bg-[#0077b5]/10 dark:bg-[#0077b5]/10 dark:hover:bg-[#0077b5]/20 border border-[#0077b5]/20 transition-all group shadow-sm hover:shadow-md", children: [_jsx("div", { className: "w-12 h-12 rounded-xl bg-[#0077b5] flex items-center justify-center text-white shrink-0 shadow-[0_0_15px_rgba(0,119,181,0.4)]", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" }), _jsx("rect", { x: "2", y: "9", width: "4", height: "12" }), _jsx("circle", { cx: "4", cy: "4", r: "2" })] }) }), _jsxs("div", { className: "flex-1 text-left", children: [_jsx("div", { className: "font-bold text-[15px] text-armoyu-text", children: "LinkedIn" }), _jsx("div", { className: "text-[11px] font-bold text-armoyu-text-muted uppercase tracking-wider", children: "Ba\u011Flanmad\u0131" })] }), _jsx("div", { className: "px-3.5 py-2 rounded-xl bg-black/5 dark:bg-white/5 text-xs font-black text-armoyu-text group-hover:bg-armoyu-text group-hover:text-white dark:group-hover:text-[#0a0a0e] transition-colors border border-black/5 dark:border-white/10 shadow-sm", children: "Ba\u011Fla" })] }), _jsxs("button", { className: "flex items-center gap-3 w-full p-3.5 rounded-2xl bg-[#1877F2]/5 hover:bg-[#1877F2]/10 dark:bg-[#1877F2]/10 dark:hover:bg-[#1877F2]/20 border border-[#1877F2]/20 transition-all group shadow-sm hover:shadow-md", children: [_jsx("div", { className: "w-12 h-12 rounded-xl bg-[#1877F2] flex items-center justify-center text-white shrink-0 shadow-[0_0_15px_rgba(24,119,242,0.4)]", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z" }) }) }), _jsxs("div", { className: "flex-1 text-left", children: [_jsx("div", { className: "font-bold text-[15px] text-armoyu-text", children: "Facebook" }), _jsx("div", { className: "text-[11px] font-bold text-armoyu-text-muted uppercase tracking-wider", children: "Ba\u011Flanmad\u0131" })] }), _jsx("div", { className: "px-3.5 py-2 rounded-xl bg-black/5 dark:bg-white/5 text-xs font-black text-armoyu-text group-hover:bg-armoyu-text group-hover:text-white dark:group-hover:text-[#0a0a0e] transition-colors border border-black/5 dark:border-white/10 shadow-sm", children: "Ba\u011Fla" })] })] })] })] }), _jsxs("div", { className: "flex gap-4 pt-6 mt-auto sticky bottom-0 bg-white dark:bg-[#0a0a0e] pb-2 z-10 w-full shrink-0 border-t border-gray-200 dark:border-white/5", children: [_jsx("button", { onClick: onClose, className: "flex-1 py-3.5 text-sm font-black text-armoyu-text bg-black/5 dark:bg-white/5 hover:bg-black/10 dark:hover:bg-white/10 rounded-2xl transition-colors border border-black/5 dark:border-white/5 shadow-sm", children: "\u0130ptal" }), _jsx("button", { onClick: handleSave, className: "flex-1 py-3.5 text-sm font-black text-white bg-gradient-to-r from-blue-600 to-blue-500 hover:from-blue-700 hover:to-blue-600 rounded-2xl transition-all shadow-[0_0_20px_rgba(37,99,235,0.4)]", children: "De\u011Fi\u015Fiklikleri Kaydet" })] })] })] }));
|
|
26
|
+
return createPortal(modalContent, document.body);
|
|
27
|
+
}
|
|
28
28
|
//# sourceMappingURL=EditProfileModal.js.map
|
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useState, useEffect } from 'react';
|
|
4
|
-
import { PostCard } from '../auth/PostCard';
|
|
5
|
-
import { CloudStorageModal } from './CloudStorageModal';
|
|
6
|
-
import { X, Edit3, Shield, Sparkles } from 'lucide-react';
|
|
7
|
-
import { TeamSelectorModal } from './TeamSelectorModal';
|
|
8
|
-
import { ZODIAC_SIGNS } from '../../../lib/constants/teamData';
|
|
9
|
-
import { useAuth } from '../../../context/AuthContext';
|
|
10
|
-
export function ProfileContent({ user }) {
|
|
11
|
-
const { user: currentUser, updateUser } = useAuth();
|
|
12
|
-
const [activeTab, setActiveTab] = useState('Kariyer');
|
|
13
|
-
const [isCloudModalOpen, setIsCloudModalOpen] = useState(false);
|
|
14
|
-
const [isTeamModalOpen, setIsTeamModalOpen] = useState(false);
|
|
15
|
-
const [isBioModalOpen, setIsBioModalOpen] = useState(false);
|
|
16
|
-
const [showTeamBanner, setShowTeamBanner] = useState(false);
|
|
17
|
-
// Use currentUser from context if it's our own profile to ensure reactivity
|
|
18
|
-
const isOwnProfile = currentUser?.username === user?.username;
|
|
19
|
-
const displayUser = isOwnProfile ? currentUser : user;
|
|
20
|
-
const [tempBio, setTempBio] = useState(displayUser?.bio || '');
|
|
21
|
-
useEffect(() => {
|
|
22
|
-
// Show banner only on own profile and if team is missing and not dismissed
|
|
23
|
-
if (isOwnProfile && !displayUser?.favoriteTeam) {
|
|
24
|
-
const dismissed = localStorage.getItem(`team_prompt_dismissed_${displayUser?.id}`);
|
|
25
|
-
if (!dismissed) {
|
|
26
|
-
setShowTeamBanner(true);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}, [isOwnProfile, user]);
|
|
30
|
-
const handleTeamSelect = (team, zodiac) => {
|
|
31
|
-
if (displayUser) {
|
|
32
|
-
if (isOwnProfile && currentUser) {
|
|
33
|
-
updateUser({
|
|
34
|
-
...currentUser,
|
|
35
|
-
favoriteTeam: team,
|
|
36
|
-
zodiac: zodiac
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
setIsTeamModalOpen(false);
|
|
41
|
-
setShowTeamBanner(false);
|
|
42
|
-
localStorage.setItem(`team_prompt_dismissed_${displayUser?.id}`, 'true');
|
|
43
|
-
};
|
|
44
|
-
const handleBioSave = () => {
|
|
45
|
-
if (isOwnProfile && currentUser) {
|
|
46
|
-
updateUser({
|
|
47
|
-
...currentUser,
|
|
48
|
-
bio: tempBio
|
|
49
|
-
});
|
|
50
|
-
setIsBioModalOpen(false);
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
const userZodiac = ZODIAC_SIGNS.find(s => s.name === displayUser?.zodiac);
|
|
54
|
-
const tabs = ['Gönderiler', 'Hakkında', 'Kariyer', 'Oynadığı Oyunlar', 'Arkadaşlar'];
|
|
55
|
-
const mockCareerEvents = displayUser?.career?.length ? displayUser.career : [
|
|
56
|
-
{ id: '1', date: '12.03.2018', title: 'ARMOYU Ailesine Katıldı', description: 'Platformdaki ilk adımlarını attı.', type: 'JOIN' },
|
|
57
|
-
{ id: '2', date: '05.06.2020', title: 'Yayıncı Rütbesi Aldı', description: 'Oyun yayınlarına ve içerik üretimine başladı.', type: 'RANK' },
|
|
58
|
-
{ id: '3', date: '15.01.2022', title: 'RIHTIM Grubunu Kurdu', description: 'Kendi topluluğunu oluşturarak liderlik yolculuğuna başladı.', type: 'GROUP' },
|
|
59
|
-
{ id: '4', date: '01.04.2024', title: 'V3 Beta Testçisi', description: 'Yeni nesil platformun gelişimine katkıda bulundu.', type: 'AWARD' },
|
|
60
|
-
];
|
|
61
|
-
return (_jsxs("div", { className: "w-full flex flex-col lg:flex-row gap-6 mt-6", children: [_jsxs("div", { className: "w-full lg:w-80 shrink-0 space-y-6", children: [_jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-6 shadow-sm", children: [_jsxs("div", { className: "flex items-center justify-between mb-4", children: [_jsx("h3", { className: "text-lg font-black text-armoyu-text", children: "Hakk\u0131nda" }), isOwnProfile && (_jsx("button", { onClick: () => {
|
|
62
|
-
setTempBio(displayUser?.bio || '');
|
|
63
|
-
setIsBioModalOpen(true);
|
|
64
|
-
}, className: "p-2 text-armoyu-text-muted hover:text-blue-500 bg-black/5 hover:bg-blue-500/10 rounded-xl transition-all", title: "Hakk\u0131nda Yaz\u0131s\u0131n\u0131 D\u00FCzenle", children: _jsx(Edit3, { size: 14 }) }))] }), _jsx("p", { className: "text-sm font-medium text-armoyu-text-muted leading-relaxed mb-6", children: displayUser?.bio || 'Bu kullanıcı henüz hakkında bir bilgi eklememiş.' }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "w-8 h-8 rounded-full bg-blue-500/10 flex items-center justify-center text-blue-500", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", children: [_jsx("path", { d: "M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z" }), _jsx("circle", { cx: "12", cy: "10", r: "3" })] }) }), _jsxs("div", { children: [_jsx("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase", children: "Konum" }), _jsx("div", { className: "text-sm font-bold text-armoyu-text", children: "\u0130stanbul, T\u00FCrkiye" })] })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "w-8 h-8 rounded-full bg-blue-500/10 flex items-center justify-center text-blue-500", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", children: [_jsx("rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", ry: "2" }), _jsx("line", { x1: "16", y1: "2", x2: "16", y2: "6" }), _jsx("line", { x1: "8", y1: "2", x2: "8", y2: "6" }), _jsx("line", { x1: "3", y1: "10", x2: "21", y2: "10" })] }) }), _jsxs("div", { children: [_jsx("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase", children: "Kat\u0131l\u0131m Tarihi" }), _jsx("div", { className: "text-sm font-bold text-armoyu-text", children: "A\u011Fustos 2018" })] })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "w-8 h-8 rounded-full bg-blue-500/10 flex items-center justify-center text-blue-500", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", children: [_jsx("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2", ry: "2" }), _jsx("line", { x1: "8", y1: "21", x2: "16", y2: "21" }), _jsx("line", { x1: "12", y1: "17", x2: "12", y2: "21" })] }) }), _jsxs("div", { children: [_jsx("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase", children: "Ana Platform" }), _jsx("div", { className: "text-sm font-bold text-armoyu-text", children: "PC (Steam)" })] })] }), displayUser?.zodiac ? (_jsxs("div", { className: "flex items-center justify-between group/item", children: [_jsxs("div", { className: "flex items-center gap-3 animate-in slide-in-from-left duration-500", children: [_jsx("div", { className: "w-8 h-8 rounded-full bg-purple-500/10 flex items-center justify-center text-purple-500 text-lg", children: userZodiac?.icon || '✨' }), _jsxs("div", { children: [_jsx("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase", children: "Bur\u00E7" }), _jsx("div", { className: "text-sm font-bold text-armoyu-text", children: displayUser.zodiac })] })] }), isOwnProfile && (_jsx("button", { onClick: () => setIsTeamModalOpen(true), className: "p-2 text-armoyu-text-muted hover:text-blue-500 opacity-0 group-hover/item:opacity-100 transition-all bg-black/5 rounded-lg mr-1", title: "Burcu De\u011Fi\u015Ftir", children: _jsx(Edit3, { size: 12 }) }))] })) : isOwnProfile && (_jsxs("button", { onClick: () => setIsTeamModalOpen(true), className: "flex items-center gap-3 p-2 rounded-2xl hover:bg-purple-500/5 border border-dashed border-armoyu-card-border group transition-all w-full text-left", children: [_jsx("div", { className: "w-8 h-8 rounded-full bg-purple-500/5 group-hover:bg-purple-500/10 flex items-center justify-center text-purple-500/40 group-hover:text-purple-500 transition-colors", children: _jsx(Sparkles, { size: 14 }) }), _jsxs("div", { children: [_jsx("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase opacity-60", children: "Bur\u00E7" }), _jsx("div", { className: "text-[11px] font-black text-purple-500/60 group-hover:text-purple-500 uppercase italic tracking-widest transition-colors", children: "Bur\u00E7 Ekle" })] })] })), displayUser?.favoriteTeam && displayUser.favoriteTeam.id !== 'none' ? (_jsxs("div", { className: "flex items-center justify-between group/item", children: [_jsxs("div", { className: "flex items-center gap-3 animate-in slide-in-from-left duration-700", children: [_jsx("div", { className: "w-8 h-8 rounded-full bg-black/10 flex items-center justify-center overflow-hidden", children: _jsx("img", { src: displayUser.favoriteTeam.logo, alt: displayUser.favoriteTeam.name, className: "w-5 h-5 object-contain" }) }), _jsxs("div", { children: [_jsx("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase", children: "Favori Tak\u0131m" }), _jsx("div", { className: "text-sm font-bold text-armoyu-text", children: displayUser.favoriteTeam.name })] })] }), isOwnProfile && (_jsx("button", { onClick: () => setIsTeamModalOpen(true), className: "p-2 text-armoyu-text-muted hover:text-blue-500 opacity-0 group-hover/item:opacity-100 transition-all bg-black/5 rounded-lg mr-1", title: "Tak\u0131m\u0131 De\u011Fi\u015Ftir", children: _jsx(Edit3, { size: 12 }) }))] })) : isOwnProfile && (_jsxs("button", { onClick: () => setIsTeamModalOpen(true), className: "flex items-center gap-3 p-2 rounded-2xl hover:bg-blue-500/5 border border-dashed border-armoyu-card-border group transition-all w-full text-left", children: [_jsx("div", { className: "w-8 h-8 rounded-full bg-blue-500/5 group-hover:bg-blue-500/10 flex items-center justify-center text-blue-500/40 group-hover:text-blue-500 transition-colors", children: _jsx(Shield, { size: 14 }) }), _jsxs("div", { children: [_jsx("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase opacity-60", children: "Favori Tak\u0131m" }), _jsx("div", { className: "text-[11px] font-black text-blue-500/60 group-hover:text-blue-500 uppercase italic tracking-widest transition-colors", children: "Tak\u0131m Se\u00E7" })] })] }))] })] }), _jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-6 shadow-sm hidden lg:block", children: [_jsx("h3", { className: "text-lg font-black text-armoyu-text mb-4", children: "Rozetler" }), _jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsx("span", { className: "bg-red-500/10 text-red-500 text-xs font-bold px-3 py-1.5 rounded-xl border border-red-500/20", children: "Kurucu" }), _jsx("span", { className: "bg-emerald-500/10 text-emerald-500 text-xs font-bold px-3 py-1.5 rounded-xl border border-emerald-500/20", children: "5 Y\u0131ll\u0131k \u00DCye" }), _jsx("span", { className: "bg-purple-500/10 text-purple-500 text-xs font-bold px-3 py-1.5 rounded-xl border border-purple-500/20", children: "Turnuva \u015Eampiyonu" }), _jsx("span", { className: "bg-yellow-500/10 text-yellow-600 dark:text-yellow-400 text-xs font-bold px-3 py-1.5 rounded-xl border border-yellow-500/20", children: "Premium" })] })] }), isOwnProfile && (_jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-6 shadow-sm hidden lg:block", children: [_jsxs("div", { className: "flex justify-between items-center mb-4", children: [_jsxs("h3", { className: "text-lg font-black text-armoyu-text flex items-center gap-2", children: [_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "text-blue-500", children: _jsx("path", { d: "M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z" }) }), "ARMOYU Cloud"] }), _jsx("span", { className: "text-xs font-bold text-armoyu-text-muted", children: "48%" })] }), _jsx("div", { className: "w-full h-2 bg-gray-100 dark:bg-white/5 rounded-full overflow-hidden mb-3 shadow-inner", children: _jsx("div", { className: "w-[48%] h-full bg-blue-500 rounded-full shadow-[0_0_10px_rgba(59,130,246,0.6)]" }) }), _jsxs("p", { className: "text-xs font-medium text-armoyu-text-muted mb-4", children: ["5 GB alan\u0131n ", _jsx("span", { className: "font-bold text-armoyu-text", children: "2.4 GB" }), " kadar\u0131 hesaba yedeklendi."] }), _jsx("button", { onClick: () => setIsCloudModalOpen(true), className: "w-full py-2.5 text-xs font-bold text-blue-600 dark:text-blue-400 bg-blue-500/10 hover:bg-blue-500/20 rounded-xl transition-colors border border-blue-500/10", children: "Depolamay\u0131 Y\u00F6net" })] })), _jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-6 shadow-sm", children: [_jsxs("div", { className: "flex justify-between items-center mb-5", children: [_jsxs("h3", { className: "text-lg font-black text-armoyu-text", children: ["Arkada\u015Flar ", _jsx("span", { className: "text-blue-500 ml-1", children: displayUser?.friends?.length || 0 })] }), _jsx("button", { onClick: () => setActiveTab('Arkadaşlar'), className: "text-xs font-bold text-blue-500 hover:underline", children: "T\u00FCm\u00FCn\u00FC G\u00F6r" })] }), _jsxs("div", { className: "grid grid-cols-5 gap-2", children: [(displayUser?.friends || []).slice(0, 5).map((friend, idx) => (_jsx("div", { className: "group relative", children: _jsx("img", { src: friend.avatar, alt: friend.displayName, className: "w-10 h-10 rounded-xl object-cover border border-white/10 group-hover:scale-110 transition-transform cursor-pointer shadow-sm", title: friend.displayName }) }, friend.id || idx))), (displayUser?.friends?.length || 0) === 0 && (_jsx("p", { className: "col-span-5 text-xs text-armoyu-text-muted text-center py-2 italic", children: "Hen\u00FCz arkada\u015F eklenmemi\u015F." }))] })] })] }), _jsxs("div", { className: "flex-1 min-w-0 flex flex-col gap-6", children: [showTeamBanner && (_jsxs("div", { className: "glass-panel p-6 rounded-[32px] border border-blue-500/30 bg-blue-600/5 relative overflow-hidden group animate-in slide-in-from-top duration-700", children: [_jsx("div", { className: "absolute -right-8 -top-8 w-32 h-32 bg-blue-500/10 blur-3xl rounded-full group-hover:scale-150 transition-transform duration-1000" }), _jsxs("div", { className: "flex flex-col md:flex-row items-center justify-between gap-6 relative z-10", children: [_jsxs("div", { className: "flex items-center gap-5 text-center md:text-left", children: [_jsx("div", { className: "w-16 h-16 rounded-[24px] bg-blue-600 flex items-center justify-center text-white shadow-xl shadow-blue-600/20", children: _jsx(Shield, { size: 32 }) }), _jsxs("div", { children: [_jsx("h3", { className: "text-lg font-black text-armoyu-text uppercase italic tracking-tighter leading-none", children: "TAKIMINI SE\u00C7MED\u0130N!" }), _jsx("p", { className: "text-xs font-bold text-armoyu-text-muted mt-2 max-w-xs leading-relaxed uppercase tracking-wider italic", children: "Favori tak\u0131m\u0131n\u0131 ve burcunu ekleyerek profilini daha renkli hale getir." })] })] }), _jsxs("div", { className: "flex items-center gap-3 w-full md:w-auto", children: [_jsx("button", { onClick: () => setIsTeamModalOpen(true), className: "flex-1 md:flex-none px-8 py-3.5 bg-blue-600 hover:bg-blue-500 text-white font-black rounded-2xl text-[10px] uppercase tracking-widest shadow-xl shadow-blue-600/20 transition-all active:scale-95 italic", children: "\u015E\u0130MD\u0130 SE\u00C7" }), _jsx("button", { onClick: () => {
|
|
65
|
-
setShowTeamBanner(false);
|
|
66
|
-
localStorage.setItem(`team_prompt_dismissed_${user?.id}`, 'true');
|
|
67
|
-
}, className: "p-3.5 text-armoyu-text-muted hover:text-armoyu-text bg-black/5 hover:bg-black/10 rounded-2xl transition-all", children: _jsx(X, { size: 18 }) })] })] })] })), _jsx("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-2xl p-2 shadow-sm overflow-x-auto hide-scrollbar", children: _jsx("div", { className: "flex gap-2 min-w-max", children: tabs.map((tab) => (_jsx("button", { onClick: () => setActiveTab(tab), className: `px-5 py-2.5 rounded-xl text-sm font-bold transition-all ${activeTab === tab
|
|
68
|
-
? 'bg-blue-500 text-white shadow-[0_0_15px_rgba(37,99,235,0.4)]'
|
|
69
|
-
: 'text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5'}`, children: tab }, tab))) }) }), activeTab === 'Gönderiler' && (_jsxs("div", { className: "space-y-6", children: [_jsx("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-5 shadow-sm", children: _jsxs("div", { className: "flex gap-4", children: [_jsx("img", { src: "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" }), _jsx("input", { type: "text", placeholder: "Profiline sabit bir g\u00F6nderi yaz...", className: "flex-1 bg-transparent border-none outline-none text-sm font-medium text-armoyu-text placeholder:text-armoyu-text-muted" })] }) }), (user?.myPosts || []).map(post => (_jsx(PostCard, { ...post }, post.id))), (user?.myPosts?.length || 0) === 0 && (_jsx("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-12 text-center", children: _jsx("p", { className: "text-armoyu-text-muted font-medium", children: "Hen\u00FCz bir payla\u015F\u0131m yap\u0131lmam\u0131\u015F." }) }))] })), activeTab === 'Arkadaşlar' && (_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: [(displayUser?.friends || []).map((friend) => (_jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-5 shadow-sm hover:shadow-md transition-all group", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsx("div", { className: "w-16 h-16 rounded-2xl overflow-hidden border-2 border-armoyu-card-border group-hover:scale-105 transition-transform", children: _jsx("img", { src: friend.avatar, alt: friend.displayName, className: "w-full h-full object-cover" }) }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("h4", { className: "text-base font-bold text-armoyu-text truncate", children: friend.displayName }), _jsxs("p", { className: "text-sm font-medium text-blue-500 truncate", children: ["@", friend.username] }), _jsxs("div", { className: "flex items-center gap-2 mt-2", children: [_jsx("span", { className: "w-2 h-2 rounded-full bg-emerald-500 animate-pulse" }), _jsx("span", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-wider", children: "\u00C7evrimi\u00E7i" })] })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-3 mt-5", children: [_jsx("a", { href: `/oyuncular/${friend.username}`, className: "py-2 text-center text-xs font-bold text-armoyu-text bg-black/5 dark:bg-white/5 hover:bg-black/10 dark:hover:bg-white/10 rounded-xl transition-colors border border-armoyu-card-border", children: "Profili G\u00F6r" }), _jsx("button", { className: "py-2 text-center text-xs font-bold text-white bg-blue-500 hover:bg-blue-600 rounded-xl shadow-lg shadow-blue-500/20 transition-all", children: "Mesaj At" })] })] }, friend.id))), (displayUser?.friends?.length || 0) === 0 && (_jsx("div", { className: "col-span-full bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-12 text-center", children: _jsx("p", { className: "text-armoyu-text-muted font-medium", children: "Hen\u00FCz arkada\u015F listeniz bo\u015F." }) }))] })), activeTab === 'Kariyer' && (_jsx("div", { className: "space-y-8 py-4", children: _jsxs("div", { className: "relative", children: [_jsx("div", { className: "absolute left-6 top-8 bottom-4 w-1 bg-gradient-to-b from-blue-500 to-purple-500/20 rounded-full" }), _jsx("div", { className: "space-y-12", children: mockCareerEvents.map((event) => (_jsxs("div", { className: "relative flex gap-8 group", children: [_jsx("div", { className: "relative z-10", children: _jsxs("div", { className: "w-12 h-12 rounded-2xl bg-armoyu-card-bg border-4 border-armoyu-bg flex items-center justify-center shadow-lg transition-transform group-hover:scale-110 duration-500 shrink-0", children: [event.type === 'JOIN' && _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", className: "text-emerald-500", 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" }) }), event.type === 'RANK' && _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", className: "text-blue-500", children: _jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }) }), event.type === 'GROUP' && _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", className: "text-purple-500", 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" })] }), event.type === 'AWARD' && _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", className: "text-amber-500", children: [_jsx("path", { d: "M6 9H4.5a2.5 2.5 0 0 1 0-5H6" }), _jsx("path", { d: "M18 9h1.5a2.5 2.5 0 0 0 0-5H18" }), _jsx("path", { d: "M4 22h16" }), _jsx("path", { d: "M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22" }), _jsx("path", { d: "M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22" }), _jsx("path", { d: "M18 2H6v7a6 6 0 0 0 12 0V2z" })] })] }) }), _jsxs("div", { className: "flex-1 pt-1 text-left", children: [_jsxs("div", { className: "flex flex-col md:flex-row md:items-center justify-between gap-2 mb-2", children: [_jsx("h4", { className: "text-lg font-black text-armoyu-text uppercase italic leading-none", children: event.title }), _jsx("span", { className: "text-[10px] font-black text-armoyu-text-muted bg-black/5 dark:bg-white/5 px-3 py-1.5 rounded-xl uppercase tracking-widest leading-none", children: event.date })] }), _jsx("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border p-6 rounded-[32px] shadow-sm group-hover:border-blue-500/30 transition-all leading-normal", children: _jsx("p", { className: "text-sm font-medium text-armoyu-text-muted leading-relaxed italic", children: event.description }) })] })] }, event.id))) })] }) })), activeTab !== 'Gönderiler' && activeTab !== 'Arkadaşlar' && activeTab !== 'Kariyer' && (_jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-12 shadow-sm flex flex-col items-center justify-center text-center", children: [_jsx("div", { className: "w-16 h-16 bg-black/5 dark:bg-white/5 rounded-full flex items-center justify-center text-armoyu-text-muted mb-4 font-bold uppercase italic", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "12", y1: "8", x2: "12", y2: "12" }), _jsx("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })] }) }), _jsx("h3", { className: "text-xl font-bold text-armoyu-text mb-2", children: "Bu alan hen\u00FCz yap\u0131m a\u015Famas\u0131nda" }), _jsxs("p", { className: "text-armoyu-text-muted text-sm max-w-sm italic", children: ["\"", activeTab, "\" sekmesine ait i\u00E7erikler yak\u0131nda eklenecek. Sabr\u0131n\u0131z i\u00E7in te\u015Fekk\u00FCr ederiz."] })] }))] }), _jsx(CloudStorageModal, { isOpen: isCloudModalOpen, onClose: () => setIsCloudModalOpen(false) }), _jsx(TeamSelectorModal, { isOpen: isTeamModalOpen, onClose: () => setIsTeamModalOpen(false), onSelect: handleTeamSelect, initialTeam: displayUser?.favoriteTeam, initialZodiac: displayUser?.zodiac }), isBioModalOpen && (_jsxs("div", { className: "fixed inset-0 z-[200] flex items-center justify-center p-6 text-left", children: [_jsx("div", { className: "absolute inset-0 bg-black/60 backdrop-blur-md", onClick: () => setIsBioModalOpen(false) }), _jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-[40px] w-full max-w-lg relative z-10 shadow-2xl animate-in zoom-in-95 duration-300 overflow-hidden", children: [_jsxs("div", { className: "p-8 border-b border-armoyu-card-border flex items-center justify-between bg-black/5", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsx("div", { className: "w-12 h-12 rounded-2xl bg-blue-500/10 flex items-center justify-center text-blue-500 text-2xl", children: "\u270D\uFE0F" }), _jsxs("div", { children: [_jsx("h3", { className: "text-xl font-black text-armoyu-text uppercase tracking-tight italic", children: "Biyografini D\u00FCzenle" }), _jsx("p", { className: "text-xs font-medium text-armoyu-text-muted", children: "Kendini ARMOYU \u00FCyelerine tan\u0131t." })] })] }), _jsx("button", { onClick: () => setIsBioModalOpen(false), className: "p-2 text-armoyu-text-muted hover:text-armoyu-text bg-black/10 rounded-xl transition-all", children: _jsx(X, { size: 20 }) })] }), _jsxs("div", { className: "p-8 space-y-6", children: [_jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest ml-4", children: "HAKKINDA" }), _jsx("textarea", { className: "w-full bg-black/10 border border-armoyu-card-border rounded-3xl px-6 py-5 text-sm font-bold text-armoyu-text focus:outline-none focus:border-blue-500 transition-all min-h-[150px] resize-none", placeholder: "Kendinden bahset...", value: tempBio, onChange: (e) => setTempBio(e.target.value), autoFocus: true })] }), _jsx("button", { onClick: handleBioSave, className: "w-full py-5 bg-blue-600 hover:bg-blue-500 text-white font-black rounded-[20px] text-xs uppercase tracking-widest shadow-xl shadow-blue-500/20 active:scale-95 transition-all flex items-center justify-center gap-2 italic", children: "DE\u011E\u0130\u015E\u0130KL\u0130KLER\u0130 KAYDET" })] })] })] }))] }));
|
|
70
|
-
}
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useEffect } from 'react';
|
|
4
|
+
import { PostCard } from '../auth/PostCard';
|
|
5
|
+
import { CloudStorageModal } from './CloudStorageModal';
|
|
6
|
+
import { X, Edit3, Shield, Sparkles } from 'lucide-react';
|
|
7
|
+
import { TeamSelectorModal } from './TeamSelectorModal';
|
|
8
|
+
import { ZODIAC_SIGNS } from '../../../lib/constants/teamData';
|
|
9
|
+
import { useAuth } from '../../../context/AuthContext';
|
|
10
|
+
export function ProfileContent({ user }) {
|
|
11
|
+
const { user: currentUser, updateUser } = useAuth();
|
|
12
|
+
const [activeTab, setActiveTab] = useState('Kariyer');
|
|
13
|
+
const [isCloudModalOpen, setIsCloudModalOpen] = useState(false);
|
|
14
|
+
const [isTeamModalOpen, setIsTeamModalOpen] = useState(false);
|
|
15
|
+
const [isBioModalOpen, setIsBioModalOpen] = useState(false);
|
|
16
|
+
const [showTeamBanner, setShowTeamBanner] = useState(false);
|
|
17
|
+
// Use currentUser from context if it's our own profile to ensure reactivity
|
|
18
|
+
const isOwnProfile = currentUser?.username === user?.username;
|
|
19
|
+
const displayUser = isOwnProfile ? currentUser : user;
|
|
20
|
+
const [tempBio, setTempBio] = useState(displayUser?.bio || '');
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
// Show banner only on own profile and if team is missing and not dismissed
|
|
23
|
+
if (isOwnProfile && !displayUser?.favoriteTeam) {
|
|
24
|
+
const dismissed = localStorage.getItem(`team_prompt_dismissed_${displayUser?.id}`);
|
|
25
|
+
if (!dismissed) {
|
|
26
|
+
setShowTeamBanner(true);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}, [isOwnProfile, user]);
|
|
30
|
+
const handleTeamSelect = (team, zodiac) => {
|
|
31
|
+
if (displayUser) {
|
|
32
|
+
if (isOwnProfile && currentUser) {
|
|
33
|
+
updateUser({
|
|
34
|
+
...currentUser,
|
|
35
|
+
favoriteTeam: team,
|
|
36
|
+
zodiac: zodiac
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
setIsTeamModalOpen(false);
|
|
41
|
+
setShowTeamBanner(false);
|
|
42
|
+
localStorage.setItem(`team_prompt_dismissed_${displayUser?.id}`, 'true');
|
|
43
|
+
};
|
|
44
|
+
const handleBioSave = () => {
|
|
45
|
+
if (isOwnProfile && currentUser) {
|
|
46
|
+
updateUser({
|
|
47
|
+
...currentUser,
|
|
48
|
+
bio: tempBio
|
|
49
|
+
});
|
|
50
|
+
setIsBioModalOpen(false);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
const userZodiac = ZODIAC_SIGNS.find(s => s.name === displayUser?.zodiac);
|
|
54
|
+
const tabs = ['Gönderiler', 'Hakkında', 'Kariyer', 'Oynadığı Oyunlar', 'Arkadaşlar'];
|
|
55
|
+
const mockCareerEvents = displayUser?.career?.length ? displayUser.career : [
|
|
56
|
+
{ id: '1', date: '12.03.2018', title: 'ARMOYU Ailesine Katıldı', description: 'Platformdaki ilk adımlarını attı.', type: 'JOIN' },
|
|
57
|
+
{ id: '2', date: '05.06.2020', title: 'Yayıncı Rütbesi Aldı', description: 'Oyun yayınlarına ve içerik üretimine başladı.', type: 'RANK' },
|
|
58
|
+
{ id: '3', date: '15.01.2022', title: 'RIHTIM Grubunu Kurdu', description: 'Kendi topluluğunu oluşturarak liderlik yolculuğuna başladı.', type: 'GROUP' },
|
|
59
|
+
{ id: '4', date: '01.04.2024', title: 'V3 Beta Testçisi', description: 'Yeni nesil platformun gelişimine katkıda bulundu.', type: 'AWARD' },
|
|
60
|
+
];
|
|
61
|
+
return (_jsxs("div", { className: "w-full flex flex-col lg:flex-row gap-6 mt-6", children: [_jsxs("div", { className: "w-full lg:w-80 shrink-0 space-y-6", children: [_jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-6 shadow-sm", children: [_jsxs("div", { className: "flex items-center justify-between mb-4", children: [_jsx("h3", { className: "text-lg font-black text-armoyu-text", children: "Hakk\u0131nda" }), isOwnProfile && (_jsx("button", { onClick: () => {
|
|
62
|
+
setTempBio(displayUser?.bio || '');
|
|
63
|
+
setIsBioModalOpen(true);
|
|
64
|
+
}, className: "p-2 text-armoyu-text-muted hover:text-blue-500 bg-black/5 hover:bg-blue-500/10 rounded-xl transition-all", title: "Hakk\u0131nda Yaz\u0131s\u0131n\u0131 D\u00FCzenle", children: _jsx(Edit3, { size: 14 }) }))] }), _jsx("p", { className: "text-sm font-medium text-armoyu-text-muted leading-relaxed mb-6", children: displayUser?.bio || 'Bu kullanıcı henüz hakkında bir bilgi eklememiş.' }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "w-8 h-8 rounded-full bg-blue-500/10 flex items-center justify-center text-blue-500", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", children: [_jsx("path", { d: "M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z" }), _jsx("circle", { cx: "12", cy: "10", r: "3" })] }) }), _jsxs("div", { children: [_jsx("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase", children: "Konum" }), _jsx("div", { className: "text-sm font-bold text-armoyu-text", children: "\u0130stanbul, T\u00FCrkiye" })] })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "w-8 h-8 rounded-full bg-blue-500/10 flex items-center justify-center text-blue-500", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", children: [_jsx("rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", ry: "2" }), _jsx("line", { x1: "16", y1: "2", x2: "16", y2: "6" }), _jsx("line", { x1: "8", y1: "2", x2: "8", y2: "6" }), _jsx("line", { x1: "3", y1: "10", x2: "21", y2: "10" })] }) }), _jsxs("div", { children: [_jsx("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase", children: "Kat\u0131l\u0131m Tarihi" }), _jsx("div", { className: "text-sm font-bold text-armoyu-text", children: "A\u011Fustos 2018" })] })] }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "w-8 h-8 rounded-full bg-blue-500/10 flex items-center justify-center text-blue-500", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", children: [_jsx("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2", ry: "2" }), _jsx("line", { x1: "8", y1: "21", x2: "16", y2: "21" }), _jsx("line", { x1: "12", y1: "17", x2: "12", y2: "21" })] }) }), _jsxs("div", { children: [_jsx("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase", children: "Ana Platform" }), _jsx("div", { className: "text-sm font-bold text-armoyu-text", children: "PC (Steam)" })] })] }), displayUser?.zodiac ? (_jsxs("div", { className: "flex items-center justify-between group/item", children: [_jsxs("div", { className: "flex items-center gap-3 animate-in slide-in-from-left duration-500", children: [_jsx("div", { className: "w-8 h-8 rounded-full bg-purple-500/10 flex items-center justify-center text-purple-500 text-lg", children: userZodiac?.icon || '✨' }), _jsxs("div", { children: [_jsx("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase", children: "Bur\u00E7" }), _jsx("div", { className: "text-sm font-bold text-armoyu-text", children: displayUser.zodiac })] })] }), isOwnProfile && (_jsx("button", { onClick: () => setIsTeamModalOpen(true), className: "p-2 text-armoyu-text-muted hover:text-blue-500 opacity-0 group-hover/item:opacity-100 transition-all bg-black/5 rounded-lg mr-1", title: "Burcu De\u011Fi\u015Ftir", children: _jsx(Edit3, { size: 12 }) }))] })) : isOwnProfile && (_jsxs("button", { onClick: () => setIsTeamModalOpen(true), className: "flex items-center gap-3 p-2 rounded-2xl hover:bg-purple-500/5 border border-dashed border-armoyu-card-border group transition-all w-full text-left", children: [_jsx("div", { className: "w-8 h-8 rounded-full bg-purple-500/5 group-hover:bg-purple-500/10 flex items-center justify-center text-purple-500/40 group-hover:text-purple-500 transition-colors", children: _jsx(Sparkles, { size: 14 }) }), _jsxs("div", { children: [_jsx("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase opacity-60", children: "Bur\u00E7" }), _jsx("div", { className: "text-[11px] font-black text-purple-500/60 group-hover:text-purple-500 uppercase italic tracking-widest transition-colors", children: "Bur\u00E7 Ekle" })] })] })), displayUser?.favoriteTeam && displayUser.favoriteTeam.id !== 'none' ? (_jsxs("div", { className: "flex items-center justify-between group/item", children: [_jsxs("div", { className: "flex items-center gap-3 animate-in slide-in-from-left duration-700", children: [_jsx("div", { className: "w-8 h-8 rounded-full bg-black/10 flex items-center justify-center overflow-hidden", children: _jsx("img", { src: displayUser.favoriteTeam.logo, alt: displayUser.favoriteTeam.name, className: "w-5 h-5 object-contain" }) }), _jsxs("div", { children: [_jsx("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase", children: "Favori Tak\u0131m" }), _jsx("div", { className: "text-sm font-bold text-armoyu-text", children: displayUser.favoriteTeam.name })] })] }), isOwnProfile && (_jsx("button", { onClick: () => setIsTeamModalOpen(true), className: "p-2 text-armoyu-text-muted hover:text-blue-500 opacity-0 group-hover/item:opacity-100 transition-all bg-black/5 rounded-lg mr-1", title: "Tak\u0131m\u0131 De\u011Fi\u015Ftir", children: _jsx(Edit3, { size: 12 }) }))] })) : isOwnProfile && (_jsxs("button", { onClick: () => setIsTeamModalOpen(true), className: "flex items-center gap-3 p-2 rounded-2xl hover:bg-blue-500/5 border border-dashed border-armoyu-card-border group transition-all w-full text-left", children: [_jsx("div", { className: "w-8 h-8 rounded-full bg-blue-500/5 group-hover:bg-blue-500/10 flex items-center justify-center text-blue-500/40 group-hover:text-blue-500 transition-colors", children: _jsx(Shield, { size: 14 }) }), _jsxs("div", { children: [_jsx("div", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase opacity-60", children: "Favori Tak\u0131m" }), _jsx("div", { className: "text-[11px] font-black text-blue-500/60 group-hover:text-blue-500 uppercase italic tracking-widest transition-colors", children: "Tak\u0131m Se\u00E7" })] })] }))] })] }), _jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-6 shadow-sm hidden lg:block", children: [_jsx("h3", { className: "text-lg font-black text-armoyu-text mb-4", children: "Rozetler" }), _jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsx("span", { className: "bg-red-500/10 text-red-500 text-xs font-bold px-3 py-1.5 rounded-xl border border-red-500/20", children: "Kurucu" }), _jsx("span", { className: "bg-emerald-500/10 text-emerald-500 text-xs font-bold px-3 py-1.5 rounded-xl border border-emerald-500/20", children: "5 Y\u0131ll\u0131k \u00DCye" }), _jsx("span", { className: "bg-purple-500/10 text-purple-500 text-xs font-bold px-3 py-1.5 rounded-xl border border-purple-500/20", children: "Turnuva \u015Eampiyonu" }), _jsx("span", { className: "bg-yellow-500/10 text-yellow-600 dark:text-yellow-400 text-xs font-bold px-3 py-1.5 rounded-xl border border-yellow-500/20", children: "Premium" })] })] }), isOwnProfile && (_jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-6 shadow-sm hidden lg:block", children: [_jsxs("div", { className: "flex justify-between items-center mb-4", children: [_jsxs("h3", { className: "text-lg font-black text-armoyu-text flex items-center gap-2", children: [_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "text-blue-500", children: _jsx("path", { d: "M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z" }) }), "ARMOYU Cloud"] }), _jsx("span", { className: "text-xs font-bold text-armoyu-text-muted", children: "48%" })] }), _jsx("div", { className: "w-full h-2 bg-gray-100 dark:bg-white/5 rounded-full overflow-hidden mb-3 shadow-inner", children: _jsx("div", { className: "w-[48%] h-full bg-blue-500 rounded-full shadow-[0_0_10px_rgba(59,130,246,0.6)]" }) }), _jsxs("p", { className: "text-xs font-medium text-armoyu-text-muted mb-4", children: ["5 GB alan\u0131n ", _jsx("span", { className: "font-bold text-armoyu-text", children: "2.4 GB" }), " kadar\u0131 hesaba yedeklendi."] }), _jsx("button", { onClick: () => setIsCloudModalOpen(true), className: "w-full py-2.5 text-xs font-bold text-blue-600 dark:text-blue-400 bg-blue-500/10 hover:bg-blue-500/20 rounded-xl transition-colors border border-blue-500/10", children: "Depolamay\u0131 Y\u00F6net" })] })), _jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-6 shadow-sm", children: [_jsxs("div", { className: "flex justify-between items-center mb-5", children: [_jsxs("h3", { className: "text-lg font-black text-armoyu-text", children: ["Arkada\u015Flar ", _jsx("span", { className: "text-blue-500 ml-1", children: displayUser?.friends?.length || 0 })] }), _jsx("button", { onClick: () => setActiveTab('Arkadaşlar'), className: "text-xs font-bold text-blue-500 hover:underline", children: "T\u00FCm\u00FCn\u00FC G\u00F6r" })] }), _jsxs("div", { className: "grid grid-cols-5 gap-2", children: [(displayUser?.friends || []).slice(0, 5).map((friend, idx) => (_jsx("div", { className: "group relative", children: _jsx("img", { src: friend.avatar, alt: friend.displayName, className: "w-10 h-10 rounded-xl object-cover border border-white/10 group-hover:scale-110 transition-transform cursor-pointer shadow-sm", title: friend.displayName }) }, friend.id || idx))), (displayUser?.friends?.length || 0) === 0 && (_jsx("p", { className: "col-span-5 text-xs text-armoyu-text-muted text-center py-2 italic", children: "Hen\u00FCz arkada\u015F eklenmemi\u015F." }))] })] })] }), _jsxs("div", { className: "flex-1 min-w-0 flex flex-col gap-6", children: [showTeamBanner && (_jsxs("div", { className: "glass-panel p-6 rounded-[32px] border border-blue-500/30 bg-blue-600/5 relative overflow-hidden group animate-in slide-in-from-top duration-700", children: [_jsx("div", { className: "absolute -right-8 -top-8 w-32 h-32 bg-blue-500/10 blur-3xl rounded-full group-hover:scale-150 transition-transform duration-1000" }), _jsxs("div", { className: "flex flex-col md:flex-row items-center justify-between gap-6 relative z-10", children: [_jsxs("div", { className: "flex items-center gap-5 text-center md:text-left", children: [_jsx("div", { className: "w-16 h-16 rounded-[24px] bg-blue-600 flex items-center justify-center text-white shadow-xl shadow-blue-600/20", children: _jsx(Shield, { size: 32 }) }), _jsxs("div", { children: [_jsx("h3", { className: "text-lg font-black text-armoyu-text uppercase italic tracking-tighter leading-none", children: "TAKIMINI SE\u00C7MED\u0130N!" }), _jsx("p", { className: "text-xs font-bold text-armoyu-text-muted mt-2 max-w-xs leading-relaxed uppercase tracking-wider italic", children: "Favori tak\u0131m\u0131n\u0131 ve burcunu ekleyerek profilini daha renkli hale getir." })] })] }), _jsxs("div", { className: "flex items-center gap-3 w-full md:w-auto", children: [_jsx("button", { onClick: () => setIsTeamModalOpen(true), className: "flex-1 md:flex-none px-8 py-3.5 bg-blue-600 hover:bg-blue-500 text-white font-black rounded-2xl text-[10px] uppercase tracking-widest shadow-xl shadow-blue-600/20 transition-all active:scale-95 italic", children: "\u015E\u0130MD\u0130 SE\u00C7" }), _jsx("button", { onClick: () => {
|
|
65
|
+
setShowTeamBanner(false);
|
|
66
|
+
localStorage.setItem(`team_prompt_dismissed_${user?.id}`, 'true');
|
|
67
|
+
}, className: "p-3.5 text-armoyu-text-muted hover:text-armoyu-text bg-black/5 hover:bg-black/10 rounded-2xl transition-all", children: _jsx(X, { size: 18 }) })] })] })] })), _jsx("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-2xl p-2 shadow-sm overflow-x-auto hide-scrollbar", children: _jsx("div", { className: "flex gap-2 min-w-max", children: tabs.map((tab) => (_jsx("button", { onClick: () => setActiveTab(tab), className: `px-5 py-2.5 rounded-xl text-sm font-bold transition-all ${activeTab === tab
|
|
68
|
+
? 'bg-blue-500 text-white shadow-[0_0_15px_rgba(37,99,235,0.4)]'
|
|
69
|
+
: 'text-armoyu-text-muted hover:text-armoyu-text hover:bg-black/5 dark:hover:bg-white/5'}`, children: tab }, tab))) }) }), activeTab === 'Gönderiler' && (_jsxs("div", { className: "space-y-6", children: [_jsx("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-5 shadow-sm", children: _jsxs("div", { className: "flex gap-4", children: [_jsx("img", { src: "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" }), _jsx("input", { type: "text", placeholder: "Profiline sabit bir g\u00F6nderi yaz...", className: "flex-1 bg-transparent border-none outline-none text-sm font-medium text-armoyu-text placeholder:text-armoyu-text-muted" })] }) }), (user?.myPosts || []).map(post => (_jsx(PostCard, { ...post }, post.id))), (user?.myPosts?.length || 0) === 0 && (_jsx("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-12 text-center", children: _jsx("p", { className: "text-armoyu-text-muted font-medium", children: "Hen\u00FCz bir payla\u015F\u0131m yap\u0131lmam\u0131\u015F." }) }))] })), activeTab === 'Arkadaşlar' && (_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: [(displayUser?.friends || []).map((friend) => (_jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-5 shadow-sm hover:shadow-md transition-all group", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsx("div", { className: "w-16 h-16 rounded-2xl overflow-hidden border-2 border-armoyu-card-border group-hover:scale-105 transition-transform", children: _jsx("img", { src: friend.avatar, alt: friend.displayName, className: "w-full h-full object-cover" }) }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("h4", { className: "text-base font-bold text-armoyu-text truncate", children: friend.displayName }), _jsxs("p", { className: "text-sm font-medium text-blue-500 truncate", children: ["@", friend.username] }), _jsxs("div", { className: "flex items-center gap-2 mt-2", children: [_jsx("span", { className: "w-2 h-2 rounded-full bg-emerald-500 animate-pulse" }), _jsx("span", { className: "text-[10px] font-bold text-armoyu-text-muted uppercase tracking-wider", children: "\u00C7evrimi\u00E7i" })] })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-3 mt-5", children: [_jsx("a", { href: `/oyuncular/${friend.username}`, className: "py-2 text-center text-xs font-bold text-armoyu-text bg-black/5 dark:bg-white/5 hover:bg-black/10 dark:hover:bg-white/10 rounded-xl transition-colors border border-armoyu-card-border", children: "Profili G\u00F6r" }), _jsx("button", { className: "py-2 text-center text-xs font-bold text-white bg-blue-500 hover:bg-blue-600 rounded-xl shadow-lg shadow-blue-500/20 transition-all", children: "Mesaj At" })] })] }, friend.id))), (displayUser?.friends?.length || 0) === 0 && (_jsx("div", { className: "col-span-full bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-12 text-center", children: _jsx("p", { className: "text-armoyu-text-muted font-medium", children: "Hen\u00FCz arkada\u015F listeniz bo\u015F." }) }))] })), activeTab === 'Kariyer' && (_jsx("div", { className: "space-y-8 py-4", children: _jsxs("div", { className: "relative", children: [_jsx("div", { className: "absolute left-6 top-8 bottom-4 w-1 bg-gradient-to-b from-blue-500 to-purple-500/20 rounded-full" }), _jsx("div", { className: "space-y-12", children: mockCareerEvents.map((event) => (_jsxs("div", { className: "relative flex gap-8 group", children: [_jsx("div", { className: "relative z-10", children: _jsxs("div", { className: "w-12 h-12 rounded-2xl bg-armoyu-card-bg border-4 border-armoyu-bg flex items-center justify-center shadow-lg transition-transform group-hover:scale-110 duration-500 shrink-0", children: [event.type === 'JOIN' && _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", className: "text-emerald-500", 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" }) }), event.type === 'RANK' && _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", className: "text-blue-500", children: _jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }) }), event.type === 'GROUP' && _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", className: "text-purple-500", 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" })] }), event.type === 'AWARD' && _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", className: "text-amber-500", children: [_jsx("path", { d: "M6 9H4.5a2.5 2.5 0 0 1 0-5H6" }), _jsx("path", { d: "M18 9h1.5a2.5 2.5 0 0 0 0-5H18" }), _jsx("path", { d: "M4 22h16" }), _jsx("path", { d: "M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22" }), _jsx("path", { d: "M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22" }), _jsx("path", { d: "M18 2H6v7a6 6 0 0 0 12 0V2z" })] })] }) }), _jsxs("div", { className: "flex-1 pt-1 text-left", children: [_jsxs("div", { className: "flex flex-col md:flex-row md:items-center justify-between gap-2 mb-2", children: [_jsx("h4", { className: "text-lg font-black text-armoyu-text uppercase italic leading-none", children: event.title }), _jsx("span", { className: "text-[10px] font-black text-armoyu-text-muted bg-black/5 dark:bg-white/5 px-3 py-1.5 rounded-xl uppercase tracking-widest leading-none", children: event.date })] }), _jsx("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border p-6 rounded-[32px] shadow-sm group-hover:border-blue-500/30 transition-all leading-normal", children: _jsx("p", { className: "text-sm font-medium text-armoyu-text-muted leading-relaxed italic", children: event.description }) })] })] }, event.id))) })] }) })), activeTab !== 'Gönderiler' && activeTab !== 'Arkadaşlar' && activeTab !== 'Kariyer' && (_jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-3xl p-12 shadow-sm flex flex-col items-center justify-center text-center", children: [_jsx("div", { className: "w-16 h-16 bg-black/5 dark:bg-white/5 rounded-full flex items-center justify-center text-armoyu-text-muted mb-4 font-bold uppercase italic", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "12", y1: "8", x2: "12", y2: "12" }), _jsx("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })] }) }), _jsx("h3", { className: "text-xl font-bold text-armoyu-text mb-2", children: "Bu alan hen\u00FCz yap\u0131m a\u015Famas\u0131nda" }), _jsxs("p", { className: "text-armoyu-text-muted text-sm max-w-sm italic", children: ["\"", activeTab, "\" sekmesine ait i\u00E7erikler yak\u0131nda eklenecek. Sabr\u0131n\u0131z i\u00E7in te\u015Fekk\u00FCr ederiz."] })] }))] }), _jsx(CloudStorageModal, { isOpen: isCloudModalOpen, onClose: () => setIsCloudModalOpen(false) }), _jsx(TeamSelectorModal, { isOpen: isTeamModalOpen, onClose: () => setIsTeamModalOpen(false), onSelect: handleTeamSelect, initialTeam: displayUser?.favoriteTeam, initialZodiac: displayUser?.zodiac }), isBioModalOpen && (_jsxs("div", { className: "fixed inset-0 z-[200] flex items-center justify-center p-6 text-left", children: [_jsx("div", { className: "absolute inset-0 bg-black/60 backdrop-blur-md", onClick: () => setIsBioModalOpen(false) }), _jsxs("div", { className: "bg-armoyu-card-bg border border-armoyu-card-border rounded-[40px] w-full max-w-lg relative z-10 shadow-2xl animate-in zoom-in-95 duration-300 overflow-hidden", children: [_jsxs("div", { className: "p-8 border-b border-armoyu-card-border flex items-center justify-between bg-black/5", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsx("div", { className: "w-12 h-12 rounded-2xl bg-blue-500/10 flex items-center justify-center text-blue-500 text-2xl", children: "\u270D\uFE0F" }), _jsxs("div", { children: [_jsx("h3", { className: "text-xl font-black text-armoyu-text uppercase tracking-tight italic", children: "Biyografini D\u00FCzenle" }), _jsx("p", { className: "text-xs font-medium text-armoyu-text-muted", children: "Kendini ARMOYU \u00FCyelerine tan\u0131t." })] })] }), _jsx("button", { onClick: () => setIsBioModalOpen(false), className: "p-2 text-armoyu-text-muted hover:text-armoyu-text bg-black/10 rounded-xl transition-all", children: _jsx(X, { size: 20 }) })] }), _jsxs("div", { className: "p-8 space-y-6", children: [_jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-[10px] font-black text-armoyu-text-muted uppercase tracking-widest ml-4", children: "HAKKINDA" }), _jsx("textarea", { className: "w-full bg-black/10 border border-armoyu-card-border rounded-3xl px-6 py-5 text-sm font-bold text-armoyu-text focus:outline-none focus:border-blue-500 transition-all min-h-[150px] resize-none", placeholder: "Kendinden bahset...", value: tempBio, onChange: (e) => setTempBio(e.target.value), autoFocus: true })] }), _jsx("button", { onClick: handleBioSave, className: "w-full py-5 bg-blue-600 hover:bg-blue-500 text-white font-black rounded-[20px] text-xs uppercase tracking-widest shadow-xl shadow-blue-500/20 active:scale-95 transition-all flex items-center justify-center gap-2 italic", children: "DE\u011E\u0130\u015E\u0130KL\u0130KLER\u0130 KAYDET" })] })] })] }))] }));
|
|
70
|
+
}
|
|
71
71
|
//# sourceMappingURL=ProfileContent.js.map
|