@armoyu/ui 1.0.0 → 1.0.1
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/layout.d.ts.map +1 -1
- package/dist/app/layout.js +16 -13
- package/dist/app/layout.js.map +1 -1
- 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.js +3 -3
- package/dist/components/RollingNumber.js.map +1 -1
- package/dist/components/Slider.d.ts +10 -10
- package/dist/components/Slider.js +35 -35
- package/dist/components/StatsGrid.d.ts +5 -5
- 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.d.ts +1 -1
- 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.d.ts +24 -24
- package/dist/components/modules/auth/PostCard.js +112 -112
- package/dist/components/modules/auth/PostInteractionsModal.d.ts +11 -11
- package/dist/components/modules/auth/PostInteractionsModal.js +12 -12
- package/dist/components/modules/auth/RepostModal.d.ts +21 -21
- package/dist/components/modules/auth/RepostModal.js +75 -75
- package/dist/components/modules/auth/SidebarLeft.d.ts +1 -1
- package/dist/components/modules/auth/SidebarLeft.js +40 -40
- package/dist/components/modules/auth/Stories.d.ts +1 -1
- package/dist/components/modules/auth/Stories.js +15 -15
- package/dist/components/modules/auth/StoryViewer.d.ts +9 -9
- package/dist/components/modules/auth/StoryViewer.js +47 -47
- package/dist/components/modules/chat/ChatContainer.d.ts +1 -1
- package/dist/components/modules/chat/ChatContainer.js +196 -196
- package/dist/components/modules/chat/ChatInput.d.ts +4 -4
- package/dist/components/modules/chat/ChatInput.js +30 -30
- package/dist/components/modules/chat/ChatList.d.ts +6 -6
- 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.d.ts +1 -1
- package/dist/components/modules/chat/ChatNotes.js +11 -11
- package/dist/components/modules/community/GroupHeader.d.ts +10 -10
- package/dist/components/modules/community/GroupHeader.js +17 -17
- package/dist/components/modules/community/GroupMenu.d.ts +9 -9
- package/dist/components/modules/community/GroupMenu.js +16 -16
- package/dist/components/modules/community/SchoolCard.d.ts +6 -6
- package/dist/components/modules/community/SchoolCard.js +7 -7
- package/dist/components/modules/community/SurveyCard.d.ts +6 -6
- 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.d.ts +1 -1
- package/dist/components/modules/guest/Introduction.js +13 -13
- package/dist/components/modules/magaza/BackToStore.d.ts +1 -1
- package/dist/components/modules/magaza/BackToStore.js +10 -10
- package/dist/components/modules/magaza/StoreHeader.d.ts +5 -5
- package/dist/components/modules/magaza/StoreHeader.js +8 -8
- package/dist/components/modules/news/NewsCard.d.ts +11 -11
- package/dist/components/modules/news/NewsCard.js +6 -6
- package/dist/components/modules/news/NewsComments.d.ts +1 -1
- 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.d.ts +4 -4
- package/dist/components/modules/profile/ProfileContent.js +70 -70
- package/dist/components/modules/profile/ProfileHeader.d.ts +7 -7
- package/dist/components/modules/profile/ProfileHeader.js +19 -19
- package/dist/components/modules/profile/ProfileStats.js +1 -1
- 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/TeamSelectorModal.js +16 -16
- package/dist/components/modules/stations/StationCard.d.ts +2 -2
- package/dist/components/modules/stations/StationCard.js +25 -25
- package/dist/components/modules/stations/StationQRModal.d.ts +9 -9
- package/dist/components/modules/stations/StationQRModal.js +12 -12
- package/dist/components/shared/FloatingChatButton.d.ts +4 -4
- 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.d.ts +1 -1
- package/dist/components/shared/Header.js +97 -97
- package/dist/components/shared/LoginModal.d.ts +4 -4
- package/dist/components/shared/LoginModal.js +69 -69
- package/dist/components/shared/MainLayoutWrapper.d.ts +3 -3
- 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/context/AuthContext.d.ts +18 -18
- package/dist/context/AuthContext.js +74 -74
- package/dist/context/CartContext.d.ts +16 -16
- 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.d.ts +12 -12
- 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.d.ts +65 -65
- package/dist/index.js +80 -80
- package/dist/lib/constants/educationData.d.ts +7 -7
- 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.d.ts +164 -164
- package/dist/lib/constants/seedData.js +694 -694
- package/dist/lib/constants/stationData.d.ts +13 -13
- package/dist/lib/constants/stationData.js +166 -166
- package/dist/lib/constants/surveyData.d.ts +2 -2
- package/dist/lib/constants/surveyData.js +49 -49
- package/dist/lib/constants/teamData.d.ts +12 -12
- package/dist/lib/constants/teamData.js +65 -65
- package/dist/types/stats.d.ts +17 -17
- package/dist/types/stats.js +1 -1
- package/next.config.ts +13 -13
- package/package.json +45 -46
- package/postcss.config.js +6 -6
- package/src/app/layout.tsx +67 -64
- package/src/app/page.tsx +101 -101
- package/src/components/RollingNumber.tsx +3 -3
- package/src/components/modules/profile/ProfileStats.tsx +4 -4
- package/src/components/showcase/CommunityTab.tsx +22 -22
- package/src/components/showcase/CorporateTab.tsx +38 -38
- package/src/components/showcase/GeneralTab.tsx +41 -41
- package/src/components/showcase/MessagesTab.tsx +26 -26
- package/src/components/showcase/ProfileTab.tsx +20 -20
- package/src/components/showcase/ShopTab.tsx +24 -24
- package/src/components/showcase/SocialTab.tsx +28 -28
- package/src/globals.css +187 -187
- package/src/lib/utils/numberFormat.ts +16 -16
- package/src/lib/utils/odpUtils.ts +51 -51
- package/src/types/index.ts +1 -1
|
@@ -1,184 +1,184 @@
|
|
|
1
|
-
export const PUNISHMENT_RULES = [
|
|
2
|
-
// SOHBET (M1.X)
|
|
3
|
-
{
|
|
4
|
-
id: 'spam-flood',
|
|
5
|
-
article: 'M1.1',
|
|
6
|
-
category: 'SOHBET',
|
|
7
|
-
name: 'Spam / Flood',
|
|
8
|
-
description: 'Sohbet veya yorum alanlarında tekrarlayıcı ve rahatsız edici içerik paylaşımı.',
|
|
9
|
-
duration: 24,
|
|
10
|
-
restrictions: ['CHAT_BAN'],
|
|
11
|
-
severity: 'low',
|
|
12
|
-
isMajor: false
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
id: 'inappropriate-lang',
|
|
16
|
-
article: 'M1.2',
|
|
17
|
-
category: 'SOHBET',
|
|
18
|
-
name: 'Uygunsuz Dil / Küfür',
|
|
19
|
-
description: 'Diğer kullanıcılara yönelik hakaret, küfür veya aşağılayıcı ifadeler.',
|
|
20
|
-
duration: 72,
|
|
21
|
-
restrictions: ['CHAT_BAN'],
|
|
22
|
-
severity: 'medium',
|
|
23
|
-
isMajor: true
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
id: 'toxic-behavior',
|
|
27
|
-
article: 'M1.3',
|
|
28
|
-
category: 'SOHBET',
|
|
29
|
-
name: 'Toksik Davranış / Kışkırtma',
|
|
30
|
-
description: 'Topluluk huzurunu bozmaya yönelik kışkırtmalar ve huzursuzluk çıkarma.',
|
|
31
|
-
duration: 48,
|
|
32
|
-
restrictions: ['CHAT_BAN'],
|
|
33
|
-
severity: 'low',
|
|
34
|
-
isMajor: false
|
|
35
|
-
},
|
|
36
|
-
// İÇERİK (M2.X)
|
|
37
|
-
{
|
|
38
|
-
id: 'misleading-content',
|
|
39
|
-
article: 'M2.1',
|
|
40
|
-
category: 'İÇERİK',
|
|
41
|
-
name: 'Hatalı Paylaşım / Clickbait',
|
|
42
|
-
description: 'Topluluğu yanıltıcı veya gereksiz (çöp) içerik üretimi.',
|
|
43
|
-
duration: 48,
|
|
44
|
-
restrictions: ['POST_BAN'],
|
|
45
|
-
severity: 'low',
|
|
46
|
-
isMajor: false
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
id: 'illegal-content',
|
|
50
|
-
article: 'M2.2',
|
|
51
|
-
category: 'İÇERİK',
|
|
52
|
-
name: 'İllegal / Uygunsuz Paylaşım',
|
|
53
|
-
description: 'Yasal olmayan içeriklerin, korsan yazılım veya uygunsuz medyanın paylaşımı.',
|
|
54
|
-
duration: 0,
|
|
55
|
-
restrictions: ['PERMANENT_BAN'],
|
|
56
|
-
severity: 'critical',
|
|
57
|
-
isMajor: true
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
id: 'ad-sharing',
|
|
61
|
-
article: 'M2.3',
|
|
62
|
-
category: 'İÇERİK',
|
|
63
|
-
name: 'İzinsiz Reklam / Tanıtım',
|
|
64
|
-
description: 'Yönetimden izin almadan yapılan topluluk, yayıncı veya ürün reklamları.',
|
|
65
|
-
duration: 168,
|
|
66
|
-
restrictions: ['POST_BAN', 'CHAT_BAN'],
|
|
67
|
-
severity: 'medium',
|
|
68
|
-
isMajor: false
|
|
69
|
-
},
|
|
70
|
-
// GÜVENLİK (M3.X)
|
|
71
|
-
{
|
|
72
|
-
id: 'harassment',
|
|
73
|
-
article: 'M3.1',
|
|
74
|
-
category: 'GÜVENLİK',
|
|
75
|
-
name: 'Kullanıcı Taciz / Rahatsızlık',
|
|
76
|
-
description: 'Kullanıcıları sistematik olarak rahatsız etme veya taciz etme.',
|
|
77
|
-
duration: 168,
|
|
78
|
-
restrictions: ['CHAT_BAN', 'POST_BAN', 'PROFILE_EDIT_BAN'],
|
|
79
|
-
severity: 'high',
|
|
80
|
-
isMajor: true
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
id: 'doxxing',
|
|
84
|
-
article: 'M3.2',
|
|
85
|
-
category: 'GÜVENLİK',
|
|
86
|
-
name: 'Kişisel Veri İhlali / Doxxing',
|
|
87
|
-
description: 'Bir kullanıcının gerçek hayat verilerini, adresini veya telefonunu izinsiz paylaşma.',
|
|
88
|
-
duration: 0,
|
|
89
|
-
restrictions: ['PERMANENT_BAN'],
|
|
90
|
-
severity: 'critical',
|
|
91
|
-
isMajor: true
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
id: 'bug-abuse',
|
|
95
|
-
article: 'M3.3',
|
|
96
|
-
category: 'GÜVENLİK',
|
|
97
|
-
name: 'Sistem Odaklı Hata Kullanımı',
|
|
98
|
-
description: 'Platformdaki hataları (bug) bildirmek yerine kendi çıkarı için kullanma.',
|
|
99
|
-
duration: 720, // 1 month
|
|
100
|
-
restrictions: ['LOGIN_BAN', 'POST_BAN'],
|
|
101
|
-
severity: 'high',
|
|
102
|
-
isMajor: true
|
|
103
|
-
},
|
|
104
|
-
// HESAP (M4.X)
|
|
105
|
-
{
|
|
106
|
-
id: 'fake-identity',
|
|
107
|
-
article: 'M4.1',
|
|
108
|
-
category: 'HESAP',
|
|
109
|
-
name: 'Sahte Kimlik / Taklit',
|
|
110
|
-
description: 'Başka bir kullanıcıyı veya yetkiliyi taklit etme.',
|
|
111
|
-
duration: 0,
|
|
112
|
-
restrictions: ['PERMANENT_BAN'],
|
|
113
|
-
severity: 'critical',
|
|
114
|
-
isMajor: true
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
id: 'hate-speech',
|
|
118
|
-
article: 'M4.2',
|
|
119
|
-
category: 'HESAP',
|
|
120
|
-
name: 'Nefret Söylemi / Değerlere Hakaret',
|
|
121
|
-
description: 'Dini, milli veya manevi değerlere yönelik ağır hakaret ve saldırı.',
|
|
122
|
-
duration: 0,
|
|
123
|
-
restrictions: ['PERMANENT_BAN'],
|
|
124
|
-
severity: 'critical',
|
|
125
|
-
isMajor: true
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
id: 'fraud',
|
|
129
|
-
article: 'M4.3',
|
|
130
|
-
category: 'HESAP',
|
|
131
|
-
name: 'Dolandırıcılık / Sahtekarlık',
|
|
132
|
-
description: 'Hizmet veya ürün alımlarında kullanıcıları veya sistemi dolandırma girişimi.',
|
|
133
|
-
duration: 0,
|
|
134
|
-
restrictions: ['PERMANENT_BAN'],
|
|
135
|
-
severity: 'critical',
|
|
136
|
-
isMajor: true
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
id: 'multi-account',
|
|
140
|
-
article: 'M4.4',
|
|
141
|
-
category: 'HESAP',
|
|
142
|
-
name: 'Çoklu Hesap / Multi Account',
|
|
143
|
-
description: 'Yasaklandığı halde farklı hesaplarla sisteme tekrar dahil olma girişimi.',
|
|
144
|
-
duration: 0,
|
|
145
|
-
restrictions: ['PERMANENT_BAN'],
|
|
146
|
-
severity: 'critical',
|
|
147
|
-
isMajor: true
|
|
148
|
-
}
|
|
149
|
-
];
|
|
150
|
-
export const getRestrictionLabel = (type) => {
|
|
151
|
-
switch (type) {
|
|
152
|
-
case 'CHAT_BAN': return 'Sohbet Yasağı';
|
|
153
|
-
case 'POST_BAN': return 'Paylaşım Yasağı';
|
|
154
|
-
case 'PROFILE_EDIT_BAN': return 'Profil Düzenleme Yasağı';
|
|
155
|
-
case 'LOGIN_BAN': return 'Giriş Yasağı';
|
|
156
|
-
case 'PERMANENT_BAN': return 'Kalıcı Yasaklama (Ban)';
|
|
157
|
-
default: return 'Bilinmeyen Kısıtlama';
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
/**
|
|
161
|
-
* Calculates the escalated duration based on the number of previous punishments.
|
|
162
|
-
* Formula: base * multiplier
|
|
163
|
-
*/
|
|
164
|
-
export const calculateEscalatedDuration = (baseDuration, punishmentCount) => {
|
|
165
|
-
if (baseDuration === 0)
|
|
166
|
-
return 0; // Permanent stays permanent
|
|
167
|
-
const level = getCommunityComplianceLevel(punishmentCount);
|
|
168
|
-
return Math.round(baseDuration * level.multiplier);
|
|
169
|
-
};
|
|
170
|
-
/**
|
|
171
|
-
* Returns the community compliance level details based on involvement count.
|
|
172
|
-
*/
|
|
173
|
-
export const getCommunityComplianceLevel = (count) => {
|
|
174
|
-
if (count === 0)
|
|
175
|
-
return { label: 'Tam Uyumlu', color: '#10b981', multiplier: 1.0, severity: 'safe' };
|
|
176
|
-
if (count < 3)
|
|
177
|
-
return { label: 'Biliyor', color: '#3b82f6', multiplier: 1.1, severity: 'low' };
|
|
178
|
-
if (count < 6)
|
|
179
|
-
return { label: 'Dikkat Etmeli', color: '#eab308', multiplier: 1.3, severity: 'medium' };
|
|
180
|
-
if (count < 9)
|
|
181
|
-
return { label: 'Rehberlik Gerekli', color: '#f97316', multiplier: 1.6, severity: 'high' };
|
|
182
|
-
return { label: 'İnceleme Altında', color: '#ef4444', multiplier: 2.0, severity: 'critical' };
|
|
183
|
-
};
|
|
1
|
+
export const PUNISHMENT_RULES = [
|
|
2
|
+
// SOHBET (M1.X)
|
|
3
|
+
{
|
|
4
|
+
id: 'spam-flood',
|
|
5
|
+
article: 'M1.1',
|
|
6
|
+
category: 'SOHBET',
|
|
7
|
+
name: 'Spam / Flood',
|
|
8
|
+
description: 'Sohbet veya yorum alanlarında tekrarlayıcı ve rahatsız edici içerik paylaşımı.',
|
|
9
|
+
duration: 24,
|
|
10
|
+
restrictions: ['CHAT_BAN'],
|
|
11
|
+
severity: 'low',
|
|
12
|
+
isMajor: false
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: 'inappropriate-lang',
|
|
16
|
+
article: 'M1.2',
|
|
17
|
+
category: 'SOHBET',
|
|
18
|
+
name: 'Uygunsuz Dil / Küfür',
|
|
19
|
+
description: 'Diğer kullanıcılara yönelik hakaret, küfür veya aşağılayıcı ifadeler.',
|
|
20
|
+
duration: 72,
|
|
21
|
+
restrictions: ['CHAT_BAN'],
|
|
22
|
+
severity: 'medium',
|
|
23
|
+
isMajor: true
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
id: 'toxic-behavior',
|
|
27
|
+
article: 'M1.3',
|
|
28
|
+
category: 'SOHBET',
|
|
29
|
+
name: 'Toksik Davranış / Kışkırtma',
|
|
30
|
+
description: 'Topluluk huzurunu bozmaya yönelik kışkırtmalar ve huzursuzluk çıkarma.',
|
|
31
|
+
duration: 48,
|
|
32
|
+
restrictions: ['CHAT_BAN'],
|
|
33
|
+
severity: 'low',
|
|
34
|
+
isMajor: false
|
|
35
|
+
},
|
|
36
|
+
// İÇERİK (M2.X)
|
|
37
|
+
{
|
|
38
|
+
id: 'misleading-content',
|
|
39
|
+
article: 'M2.1',
|
|
40
|
+
category: 'İÇERİK',
|
|
41
|
+
name: 'Hatalı Paylaşım / Clickbait',
|
|
42
|
+
description: 'Topluluğu yanıltıcı veya gereksiz (çöp) içerik üretimi.',
|
|
43
|
+
duration: 48,
|
|
44
|
+
restrictions: ['POST_BAN'],
|
|
45
|
+
severity: 'low',
|
|
46
|
+
isMajor: false
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
id: 'illegal-content',
|
|
50
|
+
article: 'M2.2',
|
|
51
|
+
category: 'İÇERİK',
|
|
52
|
+
name: 'İllegal / Uygunsuz Paylaşım',
|
|
53
|
+
description: 'Yasal olmayan içeriklerin, korsan yazılım veya uygunsuz medyanın paylaşımı.',
|
|
54
|
+
duration: 0,
|
|
55
|
+
restrictions: ['PERMANENT_BAN'],
|
|
56
|
+
severity: 'critical',
|
|
57
|
+
isMajor: true
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
id: 'ad-sharing',
|
|
61
|
+
article: 'M2.3',
|
|
62
|
+
category: 'İÇERİK',
|
|
63
|
+
name: 'İzinsiz Reklam / Tanıtım',
|
|
64
|
+
description: 'Yönetimden izin almadan yapılan topluluk, yayıncı veya ürün reklamları.',
|
|
65
|
+
duration: 168,
|
|
66
|
+
restrictions: ['POST_BAN', 'CHAT_BAN'],
|
|
67
|
+
severity: 'medium',
|
|
68
|
+
isMajor: false
|
|
69
|
+
},
|
|
70
|
+
// GÜVENLİK (M3.X)
|
|
71
|
+
{
|
|
72
|
+
id: 'harassment',
|
|
73
|
+
article: 'M3.1',
|
|
74
|
+
category: 'GÜVENLİK',
|
|
75
|
+
name: 'Kullanıcı Taciz / Rahatsızlık',
|
|
76
|
+
description: 'Kullanıcıları sistematik olarak rahatsız etme veya taciz etme.',
|
|
77
|
+
duration: 168,
|
|
78
|
+
restrictions: ['CHAT_BAN', 'POST_BAN', 'PROFILE_EDIT_BAN'],
|
|
79
|
+
severity: 'high',
|
|
80
|
+
isMajor: true
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
id: 'doxxing',
|
|
84
|
+
article: 'M3.2',
|
|
85
|
+
category: 'GÜVENLİK',
|
|
86
|
+
name: 'Kişisel Veri İhlali / Doxxing',
|
|
87
|
+
description: 'Bir kullanıcının gerçek hayat verilerini, adresini veya telefonunu izinsiz paylaşma.',
|
|
88
|
+
duration: 0,
|
|
89
|
+
restrictions: ['PERMANENT_BAN'],
|
|
90
|
+
severity: 'critical',
|
|
91
|
+
isMajor: true
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: 'bug-abuse',
|
|
95
|
+
article: 'M3.3',
|
|
96
|
+
category: 'GÜVENLİK',
|
|
97
|
+
name: 'Sistem Odaklı Hata Kullanımı',
|
|
98
|
+
description: 'Platformdaki hataları (bug) bildirmek yerine kendi çıkarı için kullanma.',
|
|
99
|
+
duration: 720, // 1 month
|
|
100
|
+
restrictions: ['LOGIN_BAN', 'POST_BAN'],
|
|
101
|
+
severity: 'high',
|
|
102
|
+
isMajor: true
|
|
103
|
+
},
|
|
104
|
+
// HESAP (M4.X)
|
|
105
|
+
{
|
|
106
|
+
id: 'fake-identity',
|
|
107
|
+
article: 'M4.1',
|
|
108
|
+
category: 'HESAP',
|
|
109
|
+
name: 'Sahte Kimlik / Taklit',
|
|
110
|
+
description: 'Başka bir kullanıcıyı veya yetkiliyi taklit etme.',
|
|
111
|
+
duration: 0,
|
|
112
|
+
restrictions: ['PERMANENT_BAN'],
|
|
113
|
+
severity: 'critical',
|
|
114
|
+
isMajor: true
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
id: 'hate-speech',
|
|
118
|
+
article: 'M4.2',
|
|
119
|
+
category: 'HESAP',
|
|
120
|
+
name: 'Nefret Söylemi / Değerlere Hakaret',
|
|
121
|
+
description: 'Dini, milli veya manevi değerlere yönelik ağır hakaret ve saldırı.',
|
|
122
|
+
duration: 0,
|
|
123
|
+
restrictions: ['PERMANENT_BAN'],
|
|
124
|
+
severity: 'critical',
|
|
125
|
+
isMajor: true
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
id: 'fraud',
|
|
129
|
+
article: 'M4.3',
|
|
130
|
+
category: 'HESAP',
|
|
131
|
+
name: 'Dolandırıcılık / Sahtekarlık',
|
|
132
|
+
description: 'Hizmet veya ürün alımlarında kullanıcıları veya sistemi dolandırma girişimi.',
|
|
133
|
+
duration: 0,
|
|
134
|
+
restrictions: ['PERMANENT_BAN'],
|
|
135
|
+
severity: 'critical',
|
|
136
|
+
isMajor: true
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
id: 'multi-account',
|
|
140
|
+
article: 'M4.4',
|
|
141
|
+
category: 'HESAP',
|
|
142
|
+
name: 'Çoklu Hesap / Multi Account',
|
|
143
|
+
description: 'Yasaklandığı halde farklı hesaplarla sisteme tekrar dahil olma girişimi.',
|
|
144
|
+
duration: 0,
|
|
145
|
+
restrictions: ['PERMANENT_BAN'],
|
|
146
|
+
severity: 'critical',
|
|
147
|
+
isMajor: true
|
|
148
|
+
}
|
|
149
|
+
];
|
|
150
|
+
export const getRestrictionLabel = (type) => {
|
|
151
|
+
switch (type) {
|
|
152
|
+
case 'CHAT_BAN': return 'Sohbet Yasağı';
|
|
153
|
+
case 'POST_BAN': return 'Paylaşım Yasağı';
|
|
154
|
+
case 'PROFILE_EDIT_BAN': return 'Profil Düzenleme Yasağı';
|
|
155
|
+
case 'LOGIN_BAN': return 'Giriş Yasağı';
|
|
156
|
+
case 'PERMANENT_BAN': return 'Kalıcı Yasaklama (Ban)';
|
|
157
|
+
default: return 'Bilinmeyen Kısıtlama';
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
/**
|
|
161
|
+
* Calculates the escalated duration based on the number of previous punishments.
|
|
162
|
+
* Formula: base * multiplier
|
|
163
|
+
*/
|
|
164
|
+
export const calculateEscalatedDuration = (baseDuration, punishmentCount) => {
|
|
165
|
+
if (baseDuration === 0)
|
|
166
|
+
return 0; // Permanent stays permanent
|
|
167
|
+
const level = getCommunityComplianceLevel(punishmentCount);
|
|
168
|
+
return Math.round(baseDuration * level.multiplier);
|
|
169
|
+
};
|
|
170
|
+
/**
|
|
171
|
+
* Returns the community compliance level details based on involvement count.
|
|
172
|
+
*/
|
|
173
|
+
export const getCommunityComplianceLevel = (count) => {
|
|
174
|
+
if (count === 0)
|
|
175
|
+
return { label: 'Tam Uyumlu', color: '#10b981', multiplier: 1.0, severity: 'safe' };
|
|
176
|
+
if (count < 3)
|
|
177
|
+
return { label: 'Biliyor', color: '#3b82f6', multiplier: 1.1, severity: 'low' };
|
|
178
|
+
if (count < 6)
|
|
179
|
+
return { label: 'Dikkat Etmeli', color: '#eab308', multiplier: 1.3, severity: 'medium' };
|
|
180
|
+
if (count < 9)
|
|
181
|
+
return { label: 'Rehberlik Gerekli', color: '#f97316', multiplier: 1.6, severity: 'high' };
|
|
182
|
+
return { label: 'İnceleme Altında', color: '#ef4444', multiplier: 2.0, severity: 'critical' };
|
|
183
|
+
};
|
|
184
184
|
//# sourceMappingURL=punishmentData.js.map
|