@armoyu/ui 1.0.1 → 1.0.3
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/Providers.d.ts +6 -0
- package/dist/app/Providers.d.ts.map +1 -0
- package/dist/app/Providers.js +37 -0
- package/dist/app/Providers.js.map +1 -0
- 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 +97 -0
- package/dist/app/api/proxy/[...path]/route.js.map +1 -0
- package/dist/app/layout.d.ts.map +1 -1
- package/dist/app/layout.js +16 -23
- package/dist/app/layout.js.map +1 -1
- package/dist/components/RollingNumber.d.ts +6 -6
- package/dist/components/RollingNumber.js +23 -23
- package/dist/components/RollingNumber.js.map +1 -1
- package/dist/components/StatsGrid.d.ts +5 -5
- package/dist/components/modules/auth/Dashboard.d.ts +1 -1
- package/dist/components/modules/auth/PostCard.d.ts +25 -24
- package/dist/components/modules/auth/PostCard.d.ts.map +1 -1
- package/dist/components/modules/auth/PostCard.js +115 -112
- package/dist/components/modules/auth/PostCard.js.map +1 -1
- package/dist/components/modules/auth/PostInteractionsModal.d.ts +11 -11
- package/dist/components/modules/auth/RepostModal.d.ts +21 -21
- package/dist/components/modules/auth/SidebarLeft.d.ts +1 -1
- package/dist/components/modules/auth/SidebarLeft.d.ts.map +1 -1
- package/dist/components/modules/auth/SidebarLeft.js +8 -40
- package/dist/components/modules/auth/SidebarLeft.js.map +1 -1
- package/dist/components/modules/auth/Stories.d.ts +1 -1
- package/dist/components/modules/auth/StoryViewer.d.ts +9 -9
- package/dist/components/modules/auth/widgets/EconomyWidget.d.ts +2 -0
- package/dist/components/modules/auth/widgets/EconomyWidget.d.ts.map +1 -0
- package/dist/components/modules/auth/widgets/EconomyWidget.js +38 -0
- package/dist/components/modules/auth/widgets/EconomyWidget.js.map +1 -0
- package/dist/components/modules/auth/widgets/LeagueWidget.d.ts +2 -0
- package/dist/components/modules/auth/widgets/LeagueWidget.d.ts.map +1 -0
- package/dist/components/modules/auth/widgets/LeagueWidget.js +36 -0
- package/dist/components/modules/auth/widgets/LeagueWidget.js.map +1 -0
- package/dist/components/modules/auth/widgets/MinecraftWidget.d.ts +2 -0
- package/dist/components/modules/auth/widgets/MinecraftWidget.d.ts.map +1 -0
- package/dist/components/modules/auth/widgets/MinecraftWidget.js +36 -0
- package/dist/components/modules/auth/widgets/MinecraftWidget.js.map +1 -0
- package/dist/components/modules/auth/widgets/RankingWidget.d.ts +5 -0
- package/dist/components/modules/auth/widgets/RankingWidget.d.ts.map +1 -0
- package/dist/components/modules/auth/widgets/RankingWidget.js +79 -0
- package/dist/components/modules/auth/widgets/RankingWidget.js.map +1 -0
- package/dist/components/modules/chat/ChatContainer.d.ts +1 -1
- package/dist/components/modules/chat/ChatInput.d.ts +4 -4
- package/dist/components/modules/chat/ChatList.d.ts +6 -6
- package/dist/components/modules/chat/ChatNotes.d.ts +1 -1
- package/dist/components/modules/community/GroupHeader.d.ts +10 -10
- package/dist/components/modules/community/GroupMenu.d.ts +9 -9
- package/dist/components/modules/community/SchoolCard.d.ts +6 -6
- package/dist/components/modules/community/SurveyCard.d.ts +6 -6
- package/dist/components/modules/forum/ForumBoard.d.ts +16 -16
- package/dist/components/modules/forum/ForumBoard.js +6 -6
- package/dist/components/modules/forum/ForumBoard.js.map +1 -1
- package/dist/components/modules/forum/TopicItem.d.ts +15 -15
- package/dist/components/modules/forum/TopicItem.js +6 -6
- package/dist/components/modules/forum/TopicItem.js.map +1 -1
- package/dist/components/modules/guest/Introduction.d.ts +1 -1
- package/dist/components/modules/magaza/BackToStore.d.ts +1 -1
- package/dist/components/modules/magaza/StoreHeader.d.ts +5 -5
- package/dist/components/modules/news/NewsCard.d.ts +11 -11
- package/dist/components/modules/news/NewsComments.d.ts +1 -1
- package/dist/components/modules/profile/ProfileContent.d.ts +4 -4
- package/dist/components/modules/profile/ProfileContent.d.ts.map +1 -1
- package/dist/components/modules/profile/ProfileContent.js +98 -70
- package/dist/components/modules/profile/ProfileContent.js.map +1 -1
- package/dist/components/modules/profile/ProfileHeader.d.ts +7 -7
- package/dist/components/modules/profile/ProfileHeader.js +19 -19
- package/dist/components/modules/profile/ProfileHeader.js.map +1 -1
- package/dist/components/modules/profile/ProfileStats.d.ts +6 -1
- package/dist/components/modules/profile/ProfileStats.d.ts.map +1 -1
- package/dist/components/modules/profile/ProfileStats.js +11 -6
- package/dist/components/modules/profile/ProfileStats.js.map +1 -1
- package/dist/components/modules/profile/TeamSelectorModal.d.ts +10 -10
- package/dist/components/modules/profile/tabs/AboutTab.d.ts +10 -0
- package/dist/components/modules/profile/tabs/AboutTab.d.ts.map +1 -0
- package/dist/components/modules/profile/tabs/AboutTab.js +9 -0
- package/dist/components/modules/profile/tabs/AboutTab.js.map +1 -0
- package/dist/components/modules/profile/tabs/CareerTab.d.ts +7 -0
- package/dist/components/modules/profile/tabs/CareerTab.d.ts.map +1 -0
- package/dist/components/modules/profile/tabs/CareerTab.js +46 -0
- package/dist/components/modules/profile/tabs/CareerTab.js.map +1 -0
- package/dist/components/modules/profile/tabs/FriendsTab.d.ts +7 -0
- package/dist/components/modules/profile/tabs/FriendsTab.d.ts.map +1 -0
- package/dist/components/modules/profile/tabs/FriendsTab.js +8 -0
- package/dist/components/modules/profile/tabs/FriendsTab.js.map +1 -0
- package/dist/components/modules/profile/tabs/GamesTab.d.ts +7 -0
- package/dist/components/modules/profile/tabs/GamesTab.d.ts.map +1 -0
- package/dist/components/modules/profile/tabs/GamesTab.js +37 -0
- package/dist/components/modules/profile/tabs/GamesTab.js.map +1 -0
- package/dist/components/modules/profile/tabs/PostsTab.d.ts +7 -0
- package/dist/components/modules/profile/tabs/PostsTab.d.ts.map +1 -0
- package/dist/components/modules/profile/tabs/PostsTab.js +81 -0
- package/dist/components/modules/profile/tabs/PostsTab.js.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileBadgesWidget.d.ts +2 -0
- package/dist/components/modules/profile/widgets/ProfileBadgesWidget.d.ts.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileBadgesWidget.js +6 -0
- package/dist/components/modules/profile/widgets/ProfileBadgesWidget.js.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileCloudWidget.d.ts +6 -0
- package/dist/components/modules/profile/widgets/ProfileCloudWidget.d.ts.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileCloudWidget.js +6 -0
- package/dist/components/modules/profile/widgets/ProfileCloudWidget.js.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileFriendsWidget.d.ts +8 -0
- package/dist/components/modules/profile/widgets/ProfileFriendsWidget.d.ts.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileFriendsWidget.js +12 -0
- package/dist/components/modules/profile/widgets/ProfileFriendsWidget.js.map +1 -0
- package/dist/components/modules/stations/StationCard.d.ts +2 -2
- package/dist/components/modules/stations/StationQRModal.d.ts +9 -9
- package/dist/components/shared/DevTools.d.ts +2 -0
- package/dist/components/shared/DevTools.d.ts.map +1 -0
- package/dist/components/shared/DevTools.js +39 -0
- package/dist/components/shared/DevTools.js.map +1 -0
- package/dist/components/shared/FloatingChatButton.d.ts +4 -4
- package/dist/components/shared/Header.d.ts +1 -1
- package/dist/components/shared/Header.d.ts.map +1 -1
- package/dist/components/shared/Header.js +108 -97
- package/dist/components/shared/Header.js.map +1 -1
- package/dist/components/shared/LoginModal.d.ts +4 -4
- package/dist/components/shared/LoginModal.d.ts.map +1 -1
- package/dist/components/shared/LoginModal.js +65 -69
- package/dist/components/shared/LoginModal.js.map +1 -1
- package/dist/components/shared/MainLayoutWrapper.d.ts +3 -3
- package/dist/components/showcase/ProfileTab.d.ts.map +1 -1
- package/dist/components/showcase/ProfileTab.js +43 -3
- package/dist/components/showcase/ProfileTab.js.map +1 -1
- package/dist/components/showcase/SocialTab.d.ts.map +1 -1
- package/dist/components/showcase/SocialTab.js +86 -2
- package/dist/components/showcase/SocialTab.js.map +1 -1
- package/dist/context/ArmoyuContext.d.ts +42 -0
- package/dist/context/ArmoyuContext.d.ts.map +1 -0
- package/dist/context/ArmoyuContext.js +76 -0
- package/dist/context/ArmoyuContext.js.map +1 -0
- package/dist/context/AuthContext.d.ts +18 -18
- package/dist/context/AuthContext.d.ts.map +1 -1
- package/dist/context/AuthContext.js +97 -74
- package/dist/context/AuthContext.js.map +1 -1
- package/dist/context/CartContext.d.ts +16 -16
- package/dist/context/SocketContext.d.ts +12 -12
- package/dist/context/SocketContext.d.ts.map +1 -1
- package/dist/context/SocketContext.js +31 -30
- package/dist/context/SocketContext.js.map +1 -1
- package/dist/index.d.ts +67 -65
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +83 -80
- package/dist/index.js.map +1 -1
- package/dist/lib/ArmoyuUI.d.ts +18 -0
- package/dist/lib/ArmoyuUI.d.ts.map +1 -0
- package/dist/lib/ArmoyuUI.js +25 -0
- package/dist/lib/ArmoyuUI.js.map +1 -0
- package/dist/lib/constants/educationData.d.ts +7 -7
- package/dist/lib/constants/seedData.d.ts +164 -164
- package/dist/lib/constants/seedData.d.ts.map +1 -1
- package/dist/lib/constants/seedData.js +694 -694
- package/dist/lib/constants/seedData.js.map +1 -1
- package/dist/lib/constants/stationData.d.ts +13 -13
- package/dist/lib/constants/stationData.js +166 -166
- package/dist/lib/constants/stationData.js.map +1 -1
- package/dist/lib/constants/surveyData.d.ts +2 -2
- package/dist/lib/constants/teamData.d.ts +12 -12
- package/package.json +14 -12
- package/next.config.ts +0 -13
- package/postcss.config.js +0 -6
- package/src/app/layout.tsx +0 -67
- 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,758 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
User, Post, Role, Group, Notification, NotificationSender, Product, Note, Story, News, Mod, Forum, Giveaway,
|
|
3
|
-
ArmoyuEvent, Game, Station, StationProduct, WorkstationEquipment, StationCoupon, Project, Survey, SurveyAnswer,
|
|
4
|
-
School, Faculty, Classroom, SchoolTeam, Chat, ChatMessage, Session
|
|
5
|
-
} from '@armoyu/core';
|
|
6
|
-
import { GlobalStats } from '../../types';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import { SUPER_LEAGUE_TEAMS } from './teamData';
|
|
10
|
-
|
|
11
|
-
// Modular data imports
|
|
12
|
-
export * from './stationData';
|
|
13
|
-
export * from './surveyData';
|
|
14
|
-
export * from './educationData';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Common Roles
|
|
18
|
-
*/
|
|
19
|
-
export const roles = {
|
|
20
|
-
admin: new Role({ id: 'admin', name: 'Kurucu', color: '#ff4d4d' }),
|
|
21
|
-
memberMgmt: new Role({ id: 'member_mgmt', name: 'Üye Yönetim', color: '#ff4d4d' }),
|
|
22
|
-
discipline: new Role({ id: 'discipline', name: 'Düzen Ve Disiplin Yönetim', color: '#ff4d4d' }),
|
|
23
|
-
eventMgmt: new Role({ id: 'event_mgmt', name: 'Etkinlik Yönetim', color: '#ff4d4d' }),
|
|
24
|
-
assettoOfficial: new Role({ id: 'assetto_official', name: 'Oyun Yetkilisi (Assetto Corsa)', color: '#3b82f6' }),
|
|
25
|
-
mcOfficial: new Role({ id: 'mc_official', name: 'Oyun Yetkilisi (Minecraft)', color: '#3b82f6' }),
|
|
26
|
-
responsible: new Role({ id: 'responsible', name: 'Sorumlu', color: '#3b82f6' }),
|
|
27
|
-
gameDev: new Role({ id: 'game_dev', name: 'Oyun Geliştiricisi', color: '#10b981' }),
|
|
28
|
-
softwareDev: new Role({ id: 'software_dev', name: 'Yazılım Geliştirici', color: '#10b981' }),
|
|
29
|
-
frontendDev: new Role({ id: 'frontend_dev', name: 'Frontend Developer', color: '#10b981' }),
|
|
30
|
-
backendDev: new Role({ id: 'backend_dev', name: 'Backend Developer', color: '#10b981' }),
|
|
31
|
-
fullstackDev: new Role({ id: 'fullstack_dev', name: 'Full Stack Developer', color: '#10b981' }),
|
|
32
|
-
streamerContent: new Role({ id: 'streamer_content', name: 'Streamer / Content', color: '#a855f7' }),
|
|
33
|
-
streamerGaming: new Role({ id: 'streamer_gaming', name: 'Streamer / Gaming', color: '#a855f7' }),
|
|
34
|
-
streamer: new Role({ id: 'streamer', name: 'Yayıncı', color: '#a855f7' }),
|
|
35
|
-
esports: new Role({ id: 'esports', name: 'E-Sporcu', color: '#f97316' }),
|
|
36
|
-
user: new Role({ id: 'user', name: 'Kullanıcı', color: '#808080' }),
|
|
37
|
-
qualified: new Role({ id: 'qualified', name: 'Nitelikli Oyuncu', color: '#4ade80' }),
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Community Room Constant (Plain data for constructor)
|
|
42
|
-
*/
|
|
43
|
-
const TOPLULUK_ODASI_DATA = {
|
|
44
|
-
id: 'community-room',
|
|
45
|
-
name: 'Topluluk Odası',
|
|
46
|
-
avatar: 'https://cdn.pixabay.com/photo/2017/02/13/11/44/community-2062409_1280.png',
|
|
47
|
-
time: 'Canlı',
|
|
48
|
-
unreadCount: 42,
|
|
49
|
-
isOnline: true,
|
|
50
|
-
lastSeen: 'Şu an aktif',
|
|
51
|
-
participants: [],
|
|
52
|
-
messages: [
|
|
53
|
-
new ChatMessage({ id: 'c1', sender: new User({ displayName: 'Sistem', avatar: 'https://cdn.pixabay.com/photo/2017/02/13/11/44/community-2062409_1280.png' }), content: 'Topluluk Odası Sohbetine Hoş Geldiniz!', timestamp: 'Hep', isSystem: true }),
|
|
54
|
-
new ChatMessage({ id: 'c2', sender: new User({ displayName: 'Alperen', avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Alperen' }), content: 'Selamlar herkese!', timestamp: '10:00', isSystem: false }),
|
|
55
|
-
new ChatMessage({ id: 'c3', sender: new User({ displayName: 'Berkay', avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Berkay' }), content: 'V3 yakında yayında!', timestamp: '10:05', isSystem: false })
|
|
56
|
-
]
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
// Add lastMessage dynamically
|
|
60
|
-
const TOPLULUK_ODASI = new Chat({
|
|
61
|
-
...TOPLULUK_ODASI_DATA,
|
|
62
|
-
lastMessage: TOPLULUK_ODASI_DATA.messages[2],
|
|
63
|
-
updatedAt: Date.now(),
|
|
64
|
-
isGroup: true
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Seed data for Groups (Guilds/Communities)
|
|
69
|
-
*/
|
|
70
|
-
export const groupList: Group[] = [
|
|
71
|
-
new Group({
|
|
72
|
-
name: 'RIHTIM',
|
|
73
|
-
shortName: 'RTM',
|
|
74
|
-
description: 'Denizin verdiği huzur ile içinizi ferahlatacak bir yaşam sizi bekliyor. Topluluğumuzda huzur ve eğlence bir arada.',
|
|
75
|
-
recruitment: '16 Alım Açık',
|
|
76
|
-
date: '13.03.2022',
|
|
77
|
-
category: 'E-Spor/Takım',
|
|
78
|
-
tag: 'Minecraft',
|
|
79
|
-
banner: 'https://images.unsplash.com/photo-1587573089734-09cb6960951b?q=80&w=2672&auto=format&fit=crop',
|
|
80
|
-
logo: 'https://api.dicebear.com/7.x/shapes/svg?seed=Rihtim'
|
|
81
|
-
}),
|
|
82
|
-
new Group({
|
|
83
|
-
name: 'CODE MASTERS',
|
|
84
|
-
shortName: 'CODE',
|
|
85
|
-
description: 'Yazılım geliştirme tutkunlarının bir araya geldiği, projelerin havada uçuştuğu dinamik bir topluluk.',
|
|
86
|
-
recruitment: '5 Alım Açık',
|
|
87
|
-
date: '01.01.2023',
|
|
88
|
-
category: 'Yazılım',
|
|
89
|
-
tag: 'Next.js',
|
|
90
|
-
banner: 'https://images.unsplash.com/photo-1498050108023-c5249f4df085?q=80&w=2672&auto=format&fit=crop',
|
|
91
|
-
logo: 'https://api.dicebear.com/7.x/identicon/svg?seed=Code'
|
|
92
|
-
}),
|
|
93
|
-
new Group({
|
|
94
|
-
name: 'FAST FIVE',
|
|
95
|
-
shortName: 'F5',
|
|
96
|
-
description: 'Valorant rekabetçi dünyasında zirveyi hedefleyen, disiplinli ve yetenekli oyuncuların buluşma noktası.',
|
|
97
|
-
recruitment: '2 Alım Açık',
|
|
98
|
-
date: '15.05.2023',
|
|
99
|
-
category: 'E-Spor/Takım',
|
|
100
|
-
tag: 'Valorant',
|
|
101
|
-
banner: 'https://images.unsplash.com/photo-1542751371-adc38448a05e?q=80&w=2670&auto=format&fit=crop',
|
|
102
|
-
logo: 'https://api.dicebear.com/7.x/bottts/svg?seed=Fast'
|
|
103
|
-
}),
|
|
104
|
-
new Group({
|
|
105
|
-
name: 'GREEN COURT',
|
|
106
|
-
shortName: 'GRN',
|
|
107
|
-
description: 'Tenis ve açık hava sporlarını sevenler için haftalık turnuvalar ve antrenman grupları düzenliyoruz.',
|
|
108
|
-
recruitment: 'Sınırsız',
|
|
109
|
-
date: '10.10.2022',
|
|
110
|
-
category: 'Spor',
|
|
111
|
-
tag: 'Tenis',
|
|
112
|
-
banner: 'https://images.unsplash.com/photo-1595435064212-c441821ac9ac?q=80&w=2670&auto=format&fit=crop',
|
|
113
|
-
logo: 'https://api.dicebear.com/7.x/initials/svg?seed=Green'
|
|
114
|
-
}),
|
|
115
|
-
new Group({
|
|
116
|
-
name: 'İttihat ve Terakki',
|
|
117
|
-
shortName: 'İttihat',
|
|
118
|
-
description: 'İttihat Ruhu! Köklü geçmişimizle sahalarda ve her alanda mücadeleye devam ediyoruz.',
|
|
119
|
-
recruitment: '25 Alım Açık',
|
|
120
|
-
date: '22.05.2024',
|
|
121
|
-
category: 'Spor/Takım',
|
|
122
|
-
tag: 'Futbol',
|
|
123
|
-
banner: 'https://images.unsplash.com/photo-1574629810360-7efbbe195018?q=80&w=2670&auto=format&fit=crop',
|
|
124
|
-
logo: 'https://api.dicebear.com/7.x/initials/svg?seed=IT'
|
|
125
|
-
}),
|
|
126
|
-
new Group({
|
|
127
|
-
name: 'CZAL Hack Team',
|
|
128
|
-
shortName: 'CZAL HT',
|
|
129
|
-
description: 'Türk Yazılımcı ve Robotikciler ile toplandık Kendimizi Geliştirmek için çaba gösteriyoruz Biz Fatsa Cahit Zarifoğlu Anadolu Lisesinde kurulduk ve çalışmalarımıza devam ediyoruz sende bize katılmak istersen bize mail atabilirsin Okulumuzu İnternette araştırabilirsiniz.',
|
|
130
|
-
recruitment: '19 Alım Kapalı',
|
|
131
|
-
date: '14.10.2018',
|
|
132
|
-
category: 'Yazılım',
|
|
133
|
-
tag: 'Robotik Kodlama',
|
|
134
|
-
banner: 'https://images.unsplash.com/photo-1515879218367-8466d910aaa4?q=80&w=2669&auto=format&fit=crop',
|
|
135
|
-
logo: 'https://api.dicebear.com/7.x/bottts/svg?seed=CZAL'
|
|
136
|
-
})
|
|
137
|
-
];
|
|
138
|
-
|
|
139
|
-
/**
|
|
140
|
-
* Seed data for users (Team Members)
|
|
141
|
-
*/
|
|
142
|
-
export const userList: User[] = [
|
|
143
|
-
// YÖNETİM EKİBİ
|
|
144
|
-
new User({ displayName: 'Berkay Tikenoğlu', role: roles.admin, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Berkay', username: 'berkaytikenoglu', verified: true, bio: 'ARMOYU Kurucusu & Yazılım Geliştirici', level: 99, xp: 5000, popScore: 15000, groups: [groupList[0], groupList[1], groupList[5]], favoriteTeam: SUPER_LEAGUE_TEAMS[1], zodiac: 'Akrep', punishmentCount: 0, distrustScore: 1.0, odp: 90 }),
|
|
145
|
-
new User({ displayName: 'MythX', role: roles.memberMgmt, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=MythX', username: 'mythx', verified: true, level: 85, xp: 3200, popScore: 12500, groups: [groupList[1], groupList[2]], punishmentCount: 2, distrustScore: 1.2, odp: 75 }),
|
|
146
|
-
new User({ displayName: 'Barış Müftüoğlu', role: roles.discipline, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Baris', username: 'barismuftuoglu', verified: true, level: 82, xp: 2800, popScore: 11000, groups: [groupList[3]], punishmentCount: 5, distrustScore: 1.5, odp: 45 }),
|
|
147
|
-
new User({ displayName: 'Bey Ev', role: roles.eventMgmt, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Beytullah', username: 'beyev', verified: true, level: 80, xp: 2500, popScore: 10500, punishmentCount: 0, odp: 80 }),
|
|
148
|
-
|
|
149
|
-
// SORUMLULAR
|
|
150
|
-
new User({ displayName: 'Yılmaz Akşahin', role: roles.assettoOfficial, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Yilmaz', username: 'yilmazaksahin', level: 65, popScore: 8500, punishmentCount: 0 }),
|
|
151
|
-
new User({ displayName: 'Orkun Atılgan', role: roles.mcOfficial, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Orkun', username: 'orkunatilgan', level: 68, popScore: 9200, punishmentCount: 0 }),
|
|
152
|
-
new User({ displayName: 'Furkan Sarıdiken', role: roles.responsible, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Furkan', username: 'furkansaridiken', level: 60, popScore: 7800, punishmentCount: 9, distrustScore: 3.0 }),
|
|
153
|
-
new User({ displayName: 'Burakcan TOPAL', role: roles.responsible, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Burakcan', username: 'burakcantopal', level: 58, popScore: 7500 }),
|
|
154
|
-
|
|
155
|
-
// YAZILIM VE GELİŞTİRME
|
|
156
|
-
new User({ displayName: 'Burak Erel', role: roles.gameDev, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Burak', username: 'burakerel', level: 75, popScore: 9800, groups: [groupList[0]] }),
|
|
157
|
-
new User({ displayName: 'Engin Kuşkovan', role: roles.softwareDev, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Engin', username: 'enginkuskovan', level: 72, popScore: 9400 }),
|
|
158
|
-
new User({ displayName: 'Nariman Rustamli', role: roles.softwareDev, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Nariman', username: 'narimanrustamli', level: 70, popScore: 9000 }),
|
|
159
|
-
new User({ displayName: 'Ersan Güvenç', role: roles.qualified, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Ersan', username: 'ersanguvenc', level: 70, popScore: 8900 }),
|
|
160
|
-
new User({ displayName: 'Oğuzhan Seslikaya', role: roles.qualified, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Oguzhan', username: 'oguzhanseslikaya', level: 70, popScore: 8850 }),
|
|
161
|
-
new User({ displayName: 'Ömer Efe Dikici', role: roles.frontendDev, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Efe', username: 'omerefedikici', level: 78, popScore: 10200 }),
|
|
162
|
-
new User({ displayName: 'Ömer Faruk Sayın', role: roles.backendDev, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Faruk', username: 'omerfaruksayin', level: 77, popScore: 10100 }),
|
|
163
|
-
new User({ displayName: 'Emre Sandal', role: roles.fullstackDev, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Emre', username: 'emresandal', level: 79, popScore: 10300 }),
|
|
164
|
-
|
|
165
|
-
// YAYINCILAR
|
|
166
|
-
new User({ displayName: 'Metehan Çakır', role: roles.streamerContent, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Metehan', username: 'metehancakir', level: 88, popScore: 13500 }),
|
|
167
|
-
new User({ displayName: 'Bartu Başaran', role: roles.streamerGaming, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Bartu', username: 'bartubasaran', level: 86, popScore: 12800 }),
|
|
168
|
-
new User({ displayName: 'Erhan', role: roles.streamer, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Erhan', username: 'erhan', level: 84, popScore: 12200 }),
|
|
169
|
-
|
|
170
|
-
// E-SPOR LİSANSLI OYUNCULAR
|
|
171
|
-
new User({ displayName: 'Gabriel Eren Gümüşdal', role: roles.esports, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Gabriel', username: 'gabrieleren', level: 92, popScore: 14200 }),
|
|
172
|
-
|
|
173
|
-
// Nitelikli Oyuncular
|
|
174
|
-
new User({ displayName: 'Emir K.', role: roles.esports, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=EmirK', username: 'emir', level: 92, popScore: 14200 }),
|
|
175
|
-
new User({ displayName: 'Tugra', role: roles.esports, avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Tugra', username: 'tugra', level: 92, popScore: 14200 })
|
|
176
|
-
];
|
|
177
|
-
|
|
178
|
-
// Generate 100 additional mock users
|
|
179
|
-
const firstNames = ['Ahmet', 'Mehmet', 'Can', 'Deniz', 'Selin', 'Elif', 'Burak', 'Oğuz', 'Hakan', 'Ayşe', 'Fatma', 'Gökhan', 'Emre', 'Zeynep', 'Kaan'];
|
|
180
|
-
const lastNames = ['Yılmaz', 'Kaya', 'Demir', 'Çelik', 'Şahin', 'Yıldız', 'Öztürk', 'Aydın', 'Özkan', 'Arslan', 'Bulut', 'Yavuz', 'Koç', 'Kurt', 'Aksoy'];
|
|
181
|
-
|
|
182
|
-
for (let i = 0; i < 100; i++) {
|
|
183
|
-
const fName = firstNames[i % firstNames.length];
|
|
184
|
-
const lName = lastNames[i % lastNames.length];
|
|
185
|
-
userList.push(new User({
|
|
186
|
-
id: `u-${i + 200}`,
|
|
187
|
-
username: `${fName.toLowerCase()}${lName.toLowerCase()}${i}`,
|
|
188
|
-
displayName: `${fName} ${lName}`,
|
|
189
|
-
avatar: `https://api.dicebear.com/7.x/avataaars/svg?seed=${fName}${lName}${i}`,
|
|
190
|
-
role: roles.user,
|
|
191
|
-
verified: false,
|
|
192
|
-
level: Math.floor(Math.random() * 50) + 1,
|
|
193
|
-
xp: Math.floor(Math.random() * 1000),
|
|
194
|
-
popScore: Math.floor(Math.random() * 5000),
|
|
195
|
-
bio: `Ben ${fName}, aramizdakioyuncu.com topluluğunun bir üyesiyim! Herkese selamlar. 👋`,
|
|
196
|
-
groups: [],
|
|
197
|
-
friends: [],
|
|
198
|
-
punishmentCount: i % 10 === 0 ? Math.floor(Math.random() * 10) : 0,
|
|
199
|
-
distrustScore: 1.0,
|
|
200
|
-
odp: Math.floor(Math.random() * 100)
|
|
201
|
-
}));
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* Mock Surveys Data
|
|
206
|
-
*/
|
|
207
|
-
import { MOCK_SURVEYS_DATA } from './surveyData';
|
|
208
|
-
export const MOCK_SURVEYS = MOCK_SURVEYS_DATA(userList);
|
|
209
|
-
export const surveyList: Survey[] = MOCK_SURVEYS;
|
|
210
|
-
|
|
211
|
-
import { MOCK_EDUCATION_DATA } from './educationData';
|
|
212
|
-
const edu = MOCK_EDUCATION_DATA(userList);
|
|
213
|
-
export const schoolList: School[] = edu.schools;
|
|
214
|
-
export const facultyList: Faculty[] = edu.faculties;
|
|
215
|
-
export const schoolTeamList: SchoolTeam[] = edu.teams;
|
|
216
|
-
export const classroomList: Classroom[] = edu.classrooms;
|
|
217
|
-
|
|
218
|
-
// Global Networking (Friends & Chats)
|
|
219
|
-
const possibleMessages = [
|
|
220
|
-
'Sunucuya reset atıyorum...',
|
|
221
|
-
'Akşam CS2 giriyor muyuz?',
|
|
222
|
-
'Bildiriminiz çözüme ulaştı.',
|
|
223
|
-
'Yeni güncellemeyi gördün mü?',
|
|
224
|
-
'Selam, müsait misin?',
|
|
225
|
-
'Harika bir paylaşım olmuş!',
|
|
226
|
-
'Grupta bekliyoruz seni.',
|
|
227
|
-
'Sıralamada yükselmişsin tebrikler!',
|
|
228
|
-
'Discord adresini atar mısın?',
|
|
229
|
-
'V4 için heyecanlıyız!'
|
|
230
|
-
];
|
|
231
|
-
|
|
232
|
-
// Specific conversation for Berkay & MythX (Raw data for processing)
|
|
233
|
-
const BERKAY_MYTHX_MESSAGES_DATA = [
|
|
234
|
-
{ id: 'bm1', senderName: 'MythX', senderAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=MythX', content: 'Dostum selam, discord botunda ufak bir arıza var sanırım. Rolleri vermiyor.', timestamp: '10:30' },
|
|
235
|
-
{ id: 'bm2', senderName: 'Berkay', senderAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Berkay', content: 'Selam. Evet fark ettim, V3 güncellemesi sırasında API token süresi dolmuş.', timestamp: '10:35' },
|
|
236
|
-
{ id: 'bm3', senderName: 'Berkay', senderAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Berkay', content: 'Tokeni yeniledim, şimdi tekrar test eder misin? Sunucuya da reset atıyorum emin olmak için.', timestamp: '10:36' },
|
|
237
|
-
{ id: 'bm4', senderName: 'MythX', senderAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=MythX', content: 'Tamamdır deniyorum.', timestamp: '10:40' },
|
|
238
|
-
{ id: 'bm5', senderName: 'MythX', senderAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=MythX', content: 'Sunucuya reset atıyorum...', timestamp: '10:42' }
|
|
239
|
-
];
|
|
240
|
-
|
|
241
|
-
// ---------------------------------------------------------
|
|
242
|
-
// STEP 1: Basic Community & Initial Groups
|
|
243
|
-
// ---------------------------------------------------------
|
|
244
|
-
userList.forEach((user) => {
|
|
245
|
-
|
|
246
|
-
// Sync group memberships
|
|
247
|
-
user.groups.forEach((group: Group) => {
|
|
248
|
-
if (!group.members.some(m => m.username === user.username)) {
|
|
249
|
-
group.members.push(user);
|
|
250
|
-
group.memberCount = group.members.length;
|
|
251
|
-
}
|
|
252
|
-
if (group.permissions.length === 0) {
|
|
253
|
-
group.permissions = ['GÖNDERİ_PAYLAŞ', 'YORUM_YAP', 'ETKİNLİK_GÖR', 'MESAJ_GÖNDER'];
|
|
254
|
-
}
|
|
255
|
-
});
|
|
256
|
-
});
|
|
257
|
-
|
|
258
|
-
// ---------------------------------------------------------
|
|
259
|
-
// STEP 2: Bidirectional Friendships
|
|
260
|
-
// ---------------------------------------------------------
|
|
261
|
-
userList.forEach((user, index) => {
|
|
262
|
-
// Add 5 random FRIENDS for everyone (bidirectional)
|
|
263
|
-
const targetFriendCount = 5;
|
|
264
|
-
for (let i = 0; user.friends.length < targetFriendCount && i < 20; i++) {
|
|
265
|
-
const randomFriend = userList[(index + 10 + i * 13) % userList.length];
|
|
266
|
-
if (randomFriend.username !== user.username) {
|
|
267
|
-
if (!user.friends.some(f => f.username === randomFriend.username)) user.friends.push(randomFriend);
|
|
268
|
-
if (!randomFriend.friends.some(f => f.username === user.username)) randomFriend.friends.push(user);
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
// Ensure Berkay & MythX are friends
|
|
273
|
-
if (user.username === 'berkaytikenoglu') {
|
|
274
|
-
const myth = userList.find(u => u.username === 'mythx');
|
|
275
|
-
if (myth) {
|
|
276
|
-
if (!user.friends.some(f => f.username === 'mythx')) user.friends.push(myth);
|
|
277
|
-
if (!myth.friends.some(f => f.username === 'berkaytikenoglu')) myth.friends.push(user);
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
});
|
|
281
|
-
|
|
282
|
-
/**
|
|
283
|
-
* Seed data for posts
|
|
284
|
-
*/
|
|
285
|
-
export const postList: Post[] = [
|
|
286
|
-
new Post({
|
|
287
|
-
id: 'p1',
|
|
288
|
-
author: userList[0],
|
|
289
|
-
content: 'ARMOYU V3 sistemleri üzerinde çalışmaya devam ediyoruz! Çok yakında yeni özelliklerle karşınızda olacağız. #ARMOYU #V3 #Development',
|
|
290
|
-
createdAt: '2 saat önce',
|
|
291
|
-
stats: { likes: 124, comments: 2, reposts: 5, shares: 8 },
|
|
292
|
-
hashtags: ['ARMOYU', 'V3', 'Development'],
|
|
293
|
-
likeList: [userList[1], userList[2], userList[5], userList[8], userList[15]],
|
|
294
|
-
repostList: [userList[3], userList[10]],
|
|
295
|
-
commentList: [
|
|
296
|
-
{ id: 'c1', author: userList[4], content: 'Büyük merakla bekliyoruz! Elinize sağlık.', createdAt: '1 saat önce' },
|
|
297
|
-
{
|
|
298
|
-
id: 'c2', author: userList[12], content: 'Dashboard tasarımı çok temiz olmuş.', createdAt: '30 dk önce', replies: [
|
|
299
|
-
{ id: 'c2-1', author: userList[0], content: 'Teşekkürler hocam! 🙏', createdAt: '10 dk önce' }
|
|
300
|
-
]
|
|
301
|
-
}
|
|
302
|
-
]
|
|
303
|
-
}),
|
|
304
|
-
new Post({
|
|
305
|
-
id: 'p2',
|
|
306
|
-
author: userList[1],
|
|
307
|
-
content: 'Bu akşam saat 20:00\'de büyük bir çekilişimiz var, sakın kaçırmayın! 🔥',
|
|
308
|
-
createdAt: '5 saat önce',
|
|
309
|
-
stats: { likes: 85, comments: 1, reposts: 12, shares: 20 },
|
|
310
|
-
media: [{ type: 'image', url: 'https://images.unsplash.com/photo-1542751371-adc38448a05e?q=80&w=2670&auto=format&fit=crop' }],
|
|
311
|
-
likeList: [userList[0], userList[10], userList[22], userList[45], userList[12], userList[5], userList[8]],
|
|
312
|
-
repostList: [userList[5], userList[8], userList[14], userList[16]],
|
|
313
|
-
commentList: [
|
|
314
|
-
{ id: 'p2-c1', author: userList[5], content: 'Yine efsane bir çekiliş bizi bekliyor!', createdAt: '4 saat önce' }
|
|
315
|
-
]
|
|
316
|
-
}),
|
|
317
|
-
new Post({
|
|
318
|
-
id: 'p3',
|
|
319
|
-
author: userList[2],
|
|
320
|
-
content: 'Bugün harika bir day! Herkese iyi oyunlar dilerim. 🤍',
|
|
321
|
-
createdAt: '1 gün önce',
|
|
322
|
-
stats: { likes: 56, comments: 0, reposts: 1, shares: 2 },
|
|
323
|
-
likeList: [userList[1], userList[15], userList[18], userList[0], userList[5], userList[10]],
|
|
324
|
-
repostList: [userList[1]]
|
|
325
|
-
}),
|
|
326
|
-
new Post({
|
|
327
|
-
id: 'p4',
|
|
328
|
-
author: userList[0], // Berkay
|
|
329
|
-
content: 'Yeni bir blog yazısı paylaştım! "Modern Web Geliştirme Trendleri" hakkındaki düşüncelerimi okuyabilirsiniz. #Blog #WebDev',
|
|
330
|
-
createdAt: '3 saat önce',
|
|
331
|
-
stats: { likes: 210, comments: 0, reposts: 8, shares: 12 },
|
|
332
|
-
likeList: [userList[2], userList[14], userList[50], userList[60], userList[1], userList[5], userList[10], userList[11], userList[12]],
|
|
333
|
-
repostList: [userList[14], userList[5], userList[2]]
|
|
334
|
-
}),
|
|
335
|
-
new Post({
|
|
336
|
-
id: 'p5',
|
|
337
|
-
author: userList[14], // Engin
|
|
338
|
-
content: 'Kod yazarken kahve olmazsa olmaz diyenler? ☕️⌨️',
|
|
339
|
-
createdAt: '6 saat önce',
|
|
340
|
-
stats: { likes: 45, comments: 0, reposts: 2, shares: 1 },
|
|
341
|
-
media: [{ type: 'image', url: 'https://images.unsplash.com/photo-1517694712202-14dd9538aa97?q=80&w=2670&auto=format&fit=crop' }],
|
|
342
|
-
likeList: [userList[0], userList[12], userList[1], userList[2], userList[3], userList[4]]
|
|
343
|
-
}),
|
|
344
|
-
new Post({
|
|
345
|
-
id: 'p6',
|
|
346
|
-
author: userList[16], // Metehan
|
|
347
|
-
content: 'Birazdan yayındayız! Minecraft Survival serisinin yeni bölümü geliyor. Kaçırmayın! 🔴',
|
|
348
|
-
createdAt: '10 dk önce',
|
|
349
|
-
stats: { likes: 890, comments: 0, reposts: 50, shares: 30 },
|
|
350
|
-
likeList: [userList[1], userList[2], userList[3], userList[10], userList[11], userList[12], userList[14], userList[0], userList[5]],
|
|
351
|
-
repostList: [userList[0], userList[1], userList[14]]
|
|
352
|
-
})
|
|
353
|
-
];
|
|
354
|
-
|
|
355
|
-
// Final synchronization: link posts to users' myPosts list
|
|
356
|
-
postList.forEach(post => {
|
|
357
|
-
if (post.author) {
|
|
358
|
-
const user = userList.find(u => u.username === post.author?.username);
|
|
359
|
-
if (user) {
|
|
360
|
-
if (!user.myPosts.some(p => p.id === post.id)) {
|
|
361
|
-
user.myPosts.push(post);
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
});
|
|
366
|
-
|
|
367
|
-
/**
|
|
368
|
-
* Mock Session for Auto-Login
|
|
369
|
-
* notifications and chatList live on Session, not User.
|
|
370
|
-
*/
|
|
371
|
-
export const MOCK_SESSION = new Session({
|
|
372
|
-
user: userList[0],
|
|
373
|
-
token: 'mock-jwt-token-berkay',
|
|
374
|
-
notifications: [
|
|
375
|
-
new Notification({
|
|
376
|
-
id: 'n1',
|
|
377
|
-
type: 'POST_LIKE',
|
|
378
|
-
category: 'SOCIAL',
|
|
379
|
-
title: 'Yeni Beğeni',
|
|
380
|
-
message: `${userList[5].displayName} bir gönderini beğendi.`,
|
|
381
|
-
post: postList[0],
|
|
382
|
-
sender: userList[5].toNotificationSender(),
|
|
383
|
-
createdAt: '2024-03-29T10:00:00Z',
|
|
384
|
-
isRead: false
|
|
385
|
-
}),
|
|
386
|
-
new Notification({
|
|
387
|
-
id: 'n2',
|
|
388
|
-
type: 'POST_COMMENT',
|
|
389
|
-
category: 'SOCIAL',
|
|
390
|
-
title: 'Yeni Yorum',
|
|
391
|
-
sender: userList[4].toNotificationSender(),
|
|
392
|
-
createdAt: '1 saat önce',
|
|
393
|
-
isRead: false
|
|
394
|
-
}),
|
|
395
|
-
new Notification({
|
|
396
|
-
id: 'n3',
|
|
397
|
-
type: 'GROUP_INVITE',
|
|
398
|
-
category: 'GROUP',
|
|
399
|
-
group: groupList[1],
|
|
400
|
-
sender: groupList[1].toNotificationSender(),
|
|
401
|
-
createdAt: '3 saat önce',
|
|
402
|
-
isRead: true
|
|
403
|
-
}),
|
|
404
|
-
new Notification({
|
|
405
|
-
id: 'n4',
|
|
406
|
-
type: 'SYSTEM_UPDATE',
|
|
407
|
-
category: 'SYSTEM',
|
|
408
|
-
title: 'Sistem Güncellemesi',
|
|
409
|
-
message: 'ARMOYU V3 Beta 1.2 sürümüne güncellendi.',
|
|
410
|
-
sender: NotificationSender.system(),
|
|
411
|
-
createdAt: '1 gün önce',
|
|
412
|
-
isRead: true
|
|
413
|
-
})
|
|
414
|
-
],
|
|
415
|
-
chatList: [
|
|
416
|
-
new Chat({
|
|
417
|
-
id: 'c1',
|
|
418
|
-
name: userList[1].displayName,
|
|
419
|
-
avatar: userList[1].avatar,
|
|
420
|
-
participants: [userList[0], userList[1]],
|
|
421
|
-
lastMessage: new ChatMessage({ content: 'V3 sistemleri efsane oldu!', timestamp: '10:45' }),
|
|
422
|
-
time: '10:45',
|
|
423
|
-
unreadCount: 1,
|
|
424
|
-
isOnline: true
|
|
425
|
-
}),
|
|
426
|
-
new Chat({
|
|
427
|
-
id: 'c2',
|
|
428
|
-
name: userList[14].displayName,
|
|
429
|
-
avatar: userList[14].avatar,
|
|
430
|
-
participants: [userList[0], userList[14]],
|
|
431
|
-
lastMessage: new ChatMessage({ content: 'Aksam turnuva var mi?', timestamp: 'Dun' }),
|
|
432
|
-
time: 'Dun',
|
|
433
|
-
unreadCount: 0,
|
|
434
|
-
isOnline: false
|
|
435
|
-
}),
|
|
436
|
-
new Chat({
|
|
437
|
-
id: 'c3',
|
|
438
|
-
name: 'ARMOYU Yonetim',
|
|
439
|
-
avatar: 'https://api.dicebear.com/7.x/identicon/svg?seed=Admin',
|
|
440
|
-
isGroup: true,
|
|
441
|
-
participants: [userList[0], userList[1], userList[2]],
|
|
442
|
-
lastMessage: new ChatMessage({ content: 'Yeni istasyonlar eklendi.', timestamp: '2 gun once' }),
|
|
443
|
-
time: '2 gun once',
|
|
444
|
-
unreadCount: 5,
|
|
445
|
-
isOnline: true
|
|
446
|
-
})
|
|
447
|
-
]
|
|
448
|
-
});
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
/**
|
|
456
|
-
* Shop & News Mock Data (Migrated from mockData.ts)
|
|
457
|
-
*/
|
|
458
|
-
export const MOCK_PRODUCTS = [
|
|
459
|
-
new Product({
|
|
460
|
-
id: '1',
|
|
461
|
-
name: 'Premium VIP Üyelik',
|
|
462
|
-
category: 'Üyelik',
|
|
463
|
-
description: 'ARMOYU platformunda en üst düzey deneyim için tasarlanmıştır. Özel rozetler, öncelikli destek ve %20 daha fazla TP kazanırsınız.',
|
|
464
|
-
price: 149.90,
|
|
465
|
-
image: 'https://images.unsplash.com/photo-1550745165-9bc0b252726f?w=800&q=80',
|
|
466
|
-
isFeatured: true,
|
|
467
|
-
badge: 'EN POPÜLER',
|
|
468
|
-
stock: 999
|
|
469
|
-
}),
|
|
470
|
-
new Product({
|
|
471
|
-
id: '2',
|
|
472
|
-
name: '1000 ARMOYU Coin',
|
|
473
|
-
category: 'Oyun İçi',
|
|
474
|
-
description: 'Market alışverişlerinde ve özel etkinliklerde kullanabileceğiniz dijital para birimidir.',
|
|
475
|
-
price: 49.00,
|
|
476
|
-
image: 'https://images.unsplash.com/photo-1621416848469-8c2033bc699b?w=800&q=80',
|
|
477
|
-
stock: 9999
|
|
478
|
-
}),
|
|
479
|
-
new Product({
|
|
480
|
-
id: '3',
|
|
481
|
-
name: 'Elite Minecraft Paketi',
|
|
482
|
-
category: 'Oyun İçi',
|
|
483
|
-
description: 'Minecraft sunucularımızda kullanabileceğiniz efsanevi ekipmanlar ve özel bloklar içerir.',
|
|
484
|
-
price: 89.90,
|
|
485
|
-
image: 'https://images.unsplash.com/photo-1627398242454-45a1465c2479?w=800&q=80',
|
|
486
|
-
stock: 50
|
|
487
|
-
}),
|
|
488
|
-
new Product({
|
|
489
|
-
id: '4',
|
|
490
|
-
name: 'ARMOYU Kapşonlu (Siyah)',
|
|
491
|
-
category: 'Giyim',
|
|
492
|
-
description: 'Yüksek kaliteli pamuklu kumaş, şık ARMOYU nakışı ile günlük giyimde fark yaratın.',
|
|
493
|
-
price: 599.00,
|
|
494
|
-
image: 'https://images.unsplash.com/photo-1556821840-3a63f95609a7?w=800&q=80',
|
|
495
|
-
stock: 25
|
|
496
|
-
}),
|
|
497
|
-
new Product({
|
|
498
|
-
id: '5',
|
|
499
|
-
name: 'Efsanevi Kasa Anahtarı',
|
|
500
|
-
category: 'Oyun İçi',
|
|
501
|
-
price: 25.00,
|
|
502
|
-
image: 'https://images.unsplash.com/photo-1552820728-8b83bb6b773f?w=800&q=80',
|
|
503
|
-
stock: 500
|
|
504
|
-
}),
|
|
505
|
-
new Product({
|
|
506
|
-
id: '6',
|
|
507
|
-
name: 'Discord Özel Rolü',
|
|
508
|
-
category: 'Üyelik',
|
|
509
|
-
price: 19.90,
|
|
510
|
-
image: 'https://images.unsplash.com/photo-1614680376593-902f74cf0d41?w=800&q=80',
|
|
511
|
-
stock: 1000
|
|
512
|
-
})
|
|
513
|
-
];
|
|
514
|
-
|
|
515
|
-
export const MOCK_NEWS = [
|
|
516
|
-
new News({
|
|
517
|
-
slug: 'armoyu-v3-yayinda',
|
|
518
|
-
title: 'ARMOYU V3 Sistemleri Yayına Girdi!',
|
|
519
|
-
excerpt: 'Uzun süredir beklenen ARMOYU V3 sistemlerimiz artık yayında. Yepyeni bir dashboard konsepti sizi bekliyor.',
|
|
520
|
-
content: `
|
|
521
|
-
<p>ARMOYU topluluğu için heyecan verici bir dönemin kapılarını aralıyoruz. Uzun süredir üzerinde çalıştığımız V3 güncellemesi artık tüm sunucularımızda ve web platformumuzda yayında. Bu güncelleme sadece görsel bir değişim değil, aynı zamanda altyapısal bir devrimi de beraberinde getiriyor.</p>
|
|
522
|
-
<h2>Yepyeni Bir Kullanıcı Deneyimi</h2>
|
|
523
|
-
<p>Modern web teknolojilerini kullanarak baştan aşağı yenilediğimiz arayüzümüzle artık çok daha hızlı ve akıcı bir deneyim sunuyoruz. Glassmorphism tasarım dilini benimseyerek hem estetik hem de işlevsel bir yapı oluşturduk.</p>
|
|
524
|
-
<blockquote>"Bu güncellemenin temel odağı kullanıcılarımızın birbiriyle daha kolay etkileşim kurabilmesi ve içeriklere saniyeler içinde ulaşabilmesiydi."</blockquote>
|
|
525
|
-
<h2>Öne Çıkan Yeni Özellikler</h2>
|
|
526
|
-
<ul>
|
|
527
|
-
<li><strong>Yeni Dashboard:</strong> Tamamen özelleştirilebilir bileşenlerle dolu ana sayfanız.</li>
|
|
528
|
-
<li><strong>Hızlı Profil Yükleme:</strong> Profil sayfaları artık %40 daha hızlı açılıyor.</li>
|
|
529
|
-
<li><strong>Gelişmiş Grup Sistemi:</strong> Klan ve takım yönetimleri artık çok daha detaylı.</li>
|
|
530
|
-
</ul>
|
|
531
|
-
`,
|
|
532
|
-
author: userList[0], // Berkay
|
|
533
|
-
date: '31 Mart 2024',
|
|
534
|
-
image: 'https://images.unsplash.com/photo-1550745165-9bc0b252726f?w=1200&q=80',
|
|
535
|
-
category: 'Güncelleme'
|
|
536
|
-
}),
|
|
537
|
-
new News({
|
|
538
|
-
slug: 'yeni-donem-basliyor',
|
|
539
|
-
title: 'Toplulukta Yeni Bir Dönem Başlıyor',
|
|
540
|
-
excerpt: 'ARMOYU olarak topluluğumuzu bir üst seviyeye taşımak için yeni stratejilerimizi açıklıyoruz.',
|
|
541
|
-
content: `
|
|
542
|
-
<p>ARMOYU olarak topluluğumuzu bir üst seviyeye taşımak için yeni stratejilerimizi açıklıyoruz. Gelecek vizyonumuzda daha fazla oyun sunucusu ve daha geniş bir etkinlik takvimi yer alıyor.</p>
|
|
543
|
-
<p>Yeni yılda yapacağımız turnuvalar ve özel buluşmalar ile Türkiye'nin en aktif oyun topluluğu olma yolunda ilerliyoruz.</p>
|
|
544
|
-
`,
|
|
545
|
-
author: userList[1], // Alperen -> MythX'i admin olarak kullanabiliriz veya index 1
|
|
546
|
-
date: '30 Mart 2024',
|
|
547
|
-
image: 'https://images.unsplash.com/photo-1511512578047-dfb367046420?w=1200&q=80',
|
|
548
|
-
category: 'Duyuru'
|
|
549
|
-
})
|
|
550
|
-
];
|
|
551
|
-
|
|
552
|
-
export const newsList: News[] = MOCK_NEWS;
|
|
553
|
-
|
|
554
|
-
export const MOCK_NOTES = [
|
|
555
|
-
new Note({
|
|
556
|
-
id: 'note-1',
|
|
557
|
-
user: userList[0], // Berkay
|
|
558
|
-
note: 'Not bırak...',
|
|
559
|
-
isMe: true
|
|
560
|
-
}),
|
|
561
|
-
new Note({
|
|
562
|
-
id: 'note-2',
|
|
563
|
-
user: userList[1], // MythX
|
|
564
|
-
note: 'V3 sistemleri efsane oldu! 🚀',
|
|
565
|
-
isMe: false
|
|
566
|
-
}),
|
|
567
|
-
new Note({
|
|
568
|
-
id: 'note-3',
|
|
569
|
-
user: userList[14], // Efe
|
|
570
|
-
note: 'Akşam turnuva var, hazır mısınız? 🏆',
|
|
571
|
-
isMe: false
|
|
572
|
-
}),
|
|
573
|
-
new Note({
|
|
574
|
-
id: 'note-4',
|
|
575
|
-
user: userList[9], // Engin
|
|
576
|
-
note: 'Kahve & Kod keyfi... ☕️⌨️',
|
|
577
|
-
isMe: false
|
|
578
|
-
}),
|
|
579
|
-
new Note({
|
|
580
|
-
id: 'note-5',
|
|
581
|
-
user: userList[13], // Metehan
|
|
582
|
-
note: 'Birazdan yayındayız! 🔴',
|
|
583
|
-
isMe: false
|
|
584
|
-
})
|
|
585
|
-
];
|
|
586
|
-
|
|
587
|
-
/**
|
|
588
|
-
* Global Statistics (Migrated from mockData.ts)
|
|
589
|
-
*/
|
|
590
|
-
export const mockGlobalStats: GlobalStats = {
|
|
591
|
-
totalPlayers: 15420,
|
|
592
|
-
malePlayers: 8950,
|
|
593
|
-
femalePlayers: 6470,
|
|
594
|
-
totalForums: 1245,
|
|
595
|
-
totalPolls: 452,
|
|
596
|
-
activeUsers24h: 3120,
|
|
597
|
-
totalMatchesPlayed: 85600,
|
|
598
|
-
totalGuilds: 342,
|
|
599
|
-
monthlyVisitors: 45000,
|
|
600
|
-
totalNews: 156
|
|
601
|
-
};
|
|
602
|
-
|
|
603
|
-
/**
|
|
604
|
-
* Rankings (Derived from userList)
|
|
605
|
-
*/
|
|
606
|
-
export const MOCK_RANKING_LEVEL = [...userList]
|
|
607
|
-
.sort((a, b) => (b.level || 0) - (a.level || 0))
|
|
608
|
-
.slice(0, 10);
|
|
609
|
-
|
|
610
|
-
export const MOCK_RANKING_POPULARITY = [...userList]
|
|
611
|
-
.sort((a, b) => (b.popScore || 0) - (a.popScore || 0))
|
|
612
|
-
.slice(0, 10);
|
|
613
|
-
|
|
614
|
-
/**
|
|
615
|
-
* Stories Mock Data (Migrated and Reconstructed)
|
|
616
|
-
*/
|
|
617
|
-
export const MOCK_STORIES = [
|
|
618
|
-
new Story({ id: 's1', user: userList[0], hasUnseen: false, isMe: true }),
|
|
619
|
-
new Story({ id: 's2', user: userList[1], hasUnseen: true, media: 'https://images.unsplash.com/photo-1542751371-adc38448a05e?q=80&w=2670' }),
|
|
620
|
-
new Story({ id: 's3', user: userList[14], hasUnseen: true, media: 'https://images.unsplash.com/photo-1511512578047-dfb367046420?q=80&w=1200' }),
|
|
621
|
-
new Story({ id: 's4', user: userList[9], hasUnseen: false, media: 'https://images.unsplash.com/photo-1550745165-9bc0b252726f?q=80&w=800' }),
|
|
622
|
-
new Story({ id: 's5', user: userList[13], hasUnseen: true, media: 'https://images.unsplash.com/photo-1517694712202-14dd9538aa97?q=80&w=2670' }),
|
|
623
|
-
new Story({ id: 's6', user: userList[5], hasUnseen: false }),
|
|
624
|
-
new Story({ id: 's7', user: userList[10], hasUnseen: true }),
|
|
625
|
-
];
|
|
626
|
-
|
|
627
|
-
/**
|
|
628
|
-
* Game Mods Mock Data
|
|
629
|
-
*/
|
|
630
|
-
export const MOCK_MODS = [
|
|
631
|
-
new Mod({ id: '1', name: 'ARMOYU Realistic Minecraft Pack', game: 'Minecraft', version: '1.20.1', author: userList[0], downloads: '1.2k', image: 'https://images.unsplash.com/photo-1627398242454-45a1465c2479?w=800&q=80', isFeatured: true, description: 'Minecraft görselliğini kökünden değiştiren, en gerçekçi shader ve doku paketleriyle entegre edilmiş ARMOYU özel mod paketi. Su yansımalarından, güneş ışınlarına kadar her detayı hisset.' }),
|
|
632
|
-
new Mod({ id: '2', name: 'Tofaş Doğan SLX Drift Mod', game: 'Assetto Corsa', version: 'v2.4', author: userList[2], downloads: '4.5k', image: 'https://images.unsplash.com/photo-1541899481282-d53bffe3c35d?w=800&q=80', description: 'Gelişmiş fizikler, ayarlanabilir süspansiyon ve tam uyumlu direksiyon hasasiyeti ile Tofaş Doğan SLX keyfini Assetto Corsa\'da yaşayın.' }),
|
|
633
|
-
new Mod({ id: '3', name: 'Medieval Kingdom Pack', game: 'Minecraft', version: '1.19.2', author: userList[3], downloads: '850', image: 'https://images.unsplash.com/photo-1599420186946-7b6fb4e297f0?w=800&q=80', description: 'Orta Çağ Krallığı temasına sahip bu devasa mod paketi, yeni silahlar, şatolar ve yepyeni düşmanlarla dolu zorlu bir hayatta kalma macerası.' }),
|
|
634
|
-
new Mod({ id: '4', name: 'Nürburgring Night Edition', game: 'Assetto Corsa', version: '1.0', author: userList[5], downloads: '2.1k', image: 'https://images.unsplash.com/photo-1503376780353-7e6692767b70?w=800&q=80', description: 'Efsanevi Nürburgring pistini karanlık çöktüğünde gece aydınlatmalarıyla oynamak için optimize edilmiş yüksek kaliteli harita modu.' }),
|
|
635
|
-
new Mod({ id: '5', name: 'ARMOYU Voice Chat Integration', game: 'Minecraft', version: 'v1.5', author: userList[4], downloads: '3.2k', image: 'https://images.unsplash.com/photo-1614850523296-d8c1af93d400?w=800&q=80', description: 'Oyuncuların 3D ses konumu sistemiyle oyun içinde Discord olmadan direkt iletişim kurmasını sağlayan eşsiz ARMOYU plugini.' }),
|
|
636
|
-
new Mod({ id: '6', name: 'Ultra Shader Pack V2', game: 'Genel', version: 'v5.0', author: userList[11], downloads: '12k', image: 'https://images.unsplash.com/photo-1550745165-9bc0b252726f?w=800&q=80', description: 'Işın izleme (Ray Tracing) teknolojisine benzeyen özel gölgelendirmeleri ile en çok tercih edilen ultra gerçekçi grafik motoru pakedi.' })
|
|
637
|
-
];
|
|
638
|
-
|
|
639
|
-
/**
|
|
640
|
-
* Forum Categories Mock Data
|
|
641
|
-
*/
|
|
642
|
-
export const MOCK_FORUM_CATEGORIES = [
|
|
643
|
-
{
|
|
644
|
-
title: 'ARMOYU TOPLULUĞU',
|
|
645
|
-
boards: [
|
|
646
|
-
new Forum({ id: 'duyurular', name: 'Duyurular & Haberler', desc: 'ARMOYU hakkında en güncel haberler ve resmi duyurular.', topicCount: 124, postCount: 2540 }),
|
|
647
|
-
new Forum({ id: 'kurallar', name: 'Kurallar & Rehberler', desc: 'Topluluğumuzda uymanız gereken kurallar ve kullanım rehberleri.', topicCount: 12, postCount: 150 })
|
|
648
|
-
]
|
|
649
|
-
},
|
|
650
|
-
{
|
|
651
|
-
title: 'OYUN DÜNYASI',
|
|
652
|
-
boards: [
|
|
653
|
-
new Forum({ id: 'minecraft', name: 'Minecraft', desc: 'Minecraft sunucularımız, buildler ve teknik destek.', topicCount: 540, postCount: 8400, lastPost: { topicTitle: 'Sunucuya nasıl girerim?', author: 'MinecraftMaster', avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=MC', time: '10 dk önce' } }),
|
|
654
|
-
new Forum({ id: 'csgo', name: 'Counter-Strike', desc: 'CS2 taktikleri, skin piyasası ve topluluk maçları.', topicCount: 320, postCount: 4200 }),
|
|
655
|
-
new Forum({ id: 'assetto', name: 'Assetto Corsa', desc: 'Simülasyon dünyası, modlar ve drift etkinlikleri.', topicCount: 210, postCount: 1800 })
|
|
656
|
-
]
|
|
657
|
-
},
|
|
658
|
-
{
|
|
659
|
-
title: 'YAZILIM VE TEKNOLOJİ',
|
|
660
|
-
boards: [
|
|
661
|
-
new Forum({ id: 'web-dev', name: 'Web Geliştirme', desc: 'React, Next.js, CSS ve Web teknolojileri üzerine tartışmalar.', topicCount: 85, postCount: 740 }),
|
|
662
|
-
new Forum({ id: 'python', name: 'Python & AI', desc: 'Python projeleri, veri bilimi ve yapay zeka.', topicCount: 42, postCount: 320 })
|
|
663
|
-
]
|
|
664
|
-
}
|
|
665
|
-
];
|
|
666
|
-
|
|
667
|
-
/**
|
|
668
|
-
* Giveaways Mock Data
|
|
669
|
-
*/
|
|
670
|
-
export const MOCK_GIVEAWAYS = [
|
|
671
|
-
new Giveaway({ id: 'g1', title: 'Aylık ARMOYU Plus Aboneliği', prize: '1 Aylık Plus + Discord Rolü', status: 'active', participants: 450, timeLeft: '3 Gün Kaldı', image: 'https://images.unsplash.com/photo-1550745165-9bc0b252726f?w=800&q=80' }),
|
|
672
|
-
new Giveaway({ id: 'g2', title: '500 ARMOYU Coin (Oyun İçi)', prize: '500 AC', status: 'active', participants: 210, timeLeft: '10 Saat Kaldı', image: 'https://images.unsplash.com/photo-1621416848469-8c2033bc699b?w=800&q=80' }),
|
|
673
|
-
new Giveaway({ id: 'g3', title: 'Steam $10 Cüzdan Kodu', prize: '$10 Cüzdan', status: 'ended', participants: 1200, timeLeft: 'Sona Erdi', image: 'https://images.unsplash.com/photo-1614680376593-902f74cf0d41?w=800&q=80' })
|
|
674
|
-
];
|
|
675
|
-
|
|
676
|
-
export const giveawayList: Giveaway[] = MOCK_GIVEAWAYS;
|
|
677
|
-
/**
|
|
678
|
-
* Mock Projects Data
|
|
679
|
-
*/
|
|
680
|
-
export const MOCK_PROJECTS: Project[] = [
|
|
681
|
-
new Project({
|
|
682
|
-
id: 'p1',
|
|
683
|
-
name: 'ARMOYU V3 Dashboard',
|
|
684
|
-
description: 'Yeni nesil ARMOYU topluluk yönetim platformu. Glassmorphism tasarımı, gerçek zamanlı bildirimler ve optimize edilmiş kullanıcı deneyimi sunar.',
|
|
685
|
-
status: 'Geliştiriliyor',
|
|
686
|
-
image: 'https://images.unsplash.com/photo-1550745165-9bc0b252726f?w=1200&q=80',
|
|
687
|
-
techStack: ['Next.js', 'TypeScript', 'Tailwind CSS', 'Socket.io'],
|
|
688
|
-
authors: [
|
|
689
|
-
{ user: userList[0], role: 'Proje Lideri' },
|
|
690
|
-
{ user: userList[1], role: 'UI/UX Tasarımcı' }
|
|
691
|
-
],
|
|
692
|
-
group: groupList[1], // CODE MASTERS
|
|
693
|
-
url: 'https://v3.armoyu.com',
|
|
694
|
-
githubUrl: 'https://github.com/armoyu/v3-dashboard'
|
|
695
|
-
}),
|
|
696
|
-
new Project({
|
|
697
|
-
id: 'p2',
|
|
698
|
-
name: 'Realistic Minecraft Launcher',
|
|
699
|
-
description: 'Modlu Minecraft oyuncuları için özel olarak geliştirilmiş, performans odaklı ve otomatik güncelleme özellikli launcher.',
|
|
700
|
-
status: 'Tamamlandı',
|
|
701
|
-
image: 'https://images.unsplash.com/photo-1627398242454-45a1465c2479?w=1200&q=80',
|
|
702
|
-
techStack: ['Electron', 'React', 'Node.js'],
|
|
703
|
-
authors: [
|
|
704
|
-
{ user: userList[14], role: 'Baş Geliştirici' }
|
|
705
|
-
],
|
|
706
|
-
group: groupList[0], // RIHTIM
|
|
707
|
-
url: 'https://launcher.armoyu.com'
|
|
708
|
-
}),
|
|
709
|
-
new Project({
|
|
710
|
-
id: 'p3',
|
|
711
|
-
name: 'ARMOYU Mobile App',
|
|
712
|
-
description: 'Toplulukla her zaman bağlantıda kalmanızı sağlayan, Flutter ile geliştirilen modern mobil uygulama projesi.',
|
|
713
|
-
status: 'Geliştiriliyor',
|
|
714
|
-
image: 'https://images.unsplash.com/photo-1512941937669-90a1b58e7e9c?w=1200&q=80',
|
|
715
|
-
techStack: ['Flutter', 'Dart', 'Firebase'],
|
|
716
|
-
authors: [
|
|
717
|
-
{ user: userList[11], role: 'Mobile Dev' },
|
|
718
|
-
{ user: userList[0], role: 'API Architect' }
|
|
719
|
-
],
|
|
720
|
-
group: groupList[1],
|
|
721
|
-
githubUrl: 'https://github.com/armoyu/mobile-app'
|
|
722
|
-
})
|
|
723
|
-
];
|
|
724
|
-
|
|
725
|
-
export const projectList: Project[] = MOCK_PROJECTS;
|
|
726
|
-
export const sessionList: Session[] = [];
|
|
727
|
-
export const armoyuProjects: Project[] = MOCK_PROJECTS;
|
|
728
|
-
export const armoyuGiveaways: Giveaway[] = giveawayList;
|
|
729
|
-
|
|
730
|
-
/**
|
|
731
|
-
* Forum Topics Mock Data
|
|
732
|
-
*/
|
|
733
|
-
export const MOCK_FORUM_TOPICS = [
|
|
734
|
-
// Minecraft Board Topics
|
|
735
|
-
{ id: '1', boardId: 'minecraft', title: 'Sunucuya nasıl girerim?', author: 'MinecraftMaster', authorAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=MC', replies: 12, views: 240, lastActivity: '10 dk önce', lastAuthor: 'Berkay Tikenoğlu', isPinned: true, isHot: true },
|
|
736
|
-
{ id: '2', boardId: 'minecraft', title: 'Hala whitelist bekliyorum!', author: 'Oyuncu42', authorAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=42', replies: 4, views: 80, lastActivity: '2 saat önce', lastAuthor: 'Admin_Bey', isSolved: true },
|
|
737
|
-
{ id: '3', boardId: 'minecraft', title: 'Server lag sorunu yaşayan var mı?', author: 'GamerX', authorAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=X', replies: 42, views: 1200, lastActivity: 'Dün 22:30', lastAuthor: 'Barış M.', isHot: true },
|
|
738
|
-
{ id: '4', boardId: 'minecraft', title: 'Modlar ne zaman güncellenecek?', author: 'ModluServer', authorAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Mod', replies: 2, views: 45, lastActivity: '3 gün önce', lastAuthor: 'Bey Ev' },
|
|
739
|
-
{ id: '5', boardId: 'minecraft', title: 'Minecraft build yarışması hakkında', author: 'BuilderGözü', authorAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Build', replies: 15, views: 310, lastActivity: '5 gün önce', lastAuthor: 'MythX', isPinned: true },
|
|
740
|
-
|
|
741
|
-
// Duyurular Board Topics
|
|
742
|
-
{ id: '6', boardId: 'duyurular', title: 'ARMOYU V3 Geliyor! Yenilikler Neler?', author: 'Armoyu Ekibi', authorAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Armoyu', replies: 254, views: 5600, lastActivity: '2 dk önce', lastAuthor: 'Berkay Tikenoğlu', isPinned: true, isHot: true },
|
|
743
|
-
{ id: '7', boardId: 'duyurular', title: 'Topluluk Yöneticisi Alımları Başladı', author: 'Armoyu Ekibi', authorAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Armoyu', replies: 45, views: 1200, lastActivity: '1 gün önce', lastAuthor: 'Admin_Bey', isPinned: true },
|
|
744
|
-
{ id: '8', boardId: 'duyurular', title: 'Sunucu Bakımı (12 Nisan)', author: 'Sistem Yöneticisi', authorAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Sys', replies: 12, views: 450, lastActivity: '5 gün önce', lastAuthor: 'Ahmet Y.', isSolved: true },
|
|
745
|
-
|
|
746
|
-
// CSGO Board Topics
|
|
747
|
-
{ id: '9', boardId: 'csgo', title: 'CS2 Dust 2 Yeni Smoke Taktikleri', author: 'GlobalElite', authorAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=CS', replies: 34, views: 890, lastActivity: '1 saat önce', lastAuthor: 'KralSlayer', isHot: true },
|
|
748
|
-
{ id: '10', boardId: 'csgo', title: 'Prime fiyatları çok arttı', author: 'SilverGamer', authorAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Silver', replies: 56, views: 1400, lastActivity: '3 saat önce', lastAuthor: 'TraderPro' },
|
|
749
|
-
{ id: '11', boardId: 'csgo', title: 'Kelebek bıçak takaslamak isteyen var mı?', author: 'SkinCollector', authorAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Skin', replies: 8, views: 210, lastActivity: 'Dün', lastAuthor: 'ScammerNo1' },
|
|
750
|
-
|
|
751
|
-
// Assetto Board Topics
|
|
752
|
-
{ id: '12', boardId: 'assetto', title: 'Tofaş modu nereden iner?', author: 'DriftKralı_34', authorAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=34', replies: 5, views: 120, lastActivity: '15 dk önce', lastAuthor: 'ModDeveloper', isSolved: true },
|
|
753
|
-
{ id: '13', boardId: 'assetto', title: 'Direksiyon seti önerisi (Logitech G29 vs Thrustmaster)', author: 'RacerBoi', authorAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Race', replies: 28, views: 650, lastActivity: '2 gün önce', lastAuthor: 'SimSim' },
|
|
754
|
-
|
|
755
|
-
// Web Dev Board Topics
|
|
756
|
-
{ id: '14', boardId: 'web-dev', title: 'Next.js App Router Sorunsalı', author: 'Frontend_Ninja', authorAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=FE', replies: 18, views: 400, lastActivity: '45 dk önce', lastAuthor: 'FullstackG', isHot: true },
|
|
757
|
-
{ id: '15', boardId: 'web-dev', title: 'Tailwind CSS ile karanlık mod yapımı', author: 'CSS_Büyücüsü', authorAvatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=CSS', replies: 7, views: 180, lastActivity: 'Dün', lastAuthor: 'Berkay Tikenoğlu', isSolved: true }
|
|
758
|
-
];
|