@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.
Files changed (149) hide show
  1. package/dist/app/layout.d.ts.map +1 -1
  2. package/dist/app/layout.js +16 -13
  3. package/dist/app/layout.js.map +1 -1
  4. package/dist/components/Button.d.ts +7 -7
  5. package/dist/components/Button.js +15 -15
  6. package/dist/components/GenderStatsBar.d.ts +5 -5
  7. package/dist/components/GenderStatsBar.js +7 -7
  8. package/dist/components/RollingNumber.js +3 -3
  9. package/dist/components/RollingNumber.js.map +1 -1
  10. package/dist/components/Slider.d.ts +10 -10
  11. package/dist/components/Slider.js +35 -35
  12. package/dist/components/StatsGrid.d.ts +5 -5
  13. package/dist/components/StatsGrid.js +13 -13
  14. package/dist/components/ViewModeToggle.d.ts +7 -7
  15. package/dist/components/ViewModeToggle.js +9 -9
  16. package/dist/components/modules/auth/Dashboard.d.ts +1 -1
  17. package/dist/components/modules/auth/Dashboard.js +250 -250
  18. package/dist/components/modules/auth/MediaLightbox.d.ts +13 -13
  19. package/dist/components/modules/auth/MediaLightbox.js +46 -46
  20. package/dist/components/modules/auth/PostCard.d.ts +24 -24
  21. package/dist/components/modules/auth/PostCard.js +112 -112
  22. package/dist/components/modules/auth/PostInteractionsModal.d.ts +11 -11
  23. package/dist/components/modules/auth/PostInteractionsModal.js +12 -12
  24. package/dist/components/modules/auth/RepostModal.d.ts +21 -21
  25. package/dist/components/modules/auth/RepostModal.js +75 -75
  26. package/dist/components/modules/auth/SidebarLeft.d.ts +1 -1
  27. package/dist/components/modules/auth/SidebarLeft.js +40 -40
  28. package/dist/components/modules/auth/Stories.d.ts +1 -1
  29. package/dist/components/modules/auth/Stories.js +15 -15
  30. package/dist/components/modules/auth/StoryViewer.d.ts +9 -9
  31. package/dist/components/modules/auth/StoryViewer.js +47 -47
  32. package/dist/components/modules/chat/ChatContainer.d.ts +1 -1
  33. package/dist/components/modules/chat/ChatContainer.js +196 -196
  34. package/dist/components/modules/chat/ChatInput.d.ts +4 -4
  35. package/dist/components/modules/chat/ChatInput.js +30 -30
  36. package/dist/components/modules/chat/ChatList.d.ts +6 -6
  37. package/dist/components/modules/chat/ChatList.js +51 -51
  38. package/dist/components/modules/chat/ChatMessage.d.ts +11 -11
  39. package/dist/components/modules/chat/ChatMessage.js +6 -6
  40. package/dist/components/modules/chat/ChatNotes.d.ts +1 -1
  41. package/dist/components/modules/chat/ChatNotes.js +11 -11
  42. package/dist/components/modules/community/GroupHeader.d.ts +10 -10
  43. package/dist/components/modules/community/GroupHeader.js +17 -17
  44. package/dist/components/modules/community/GroupMenu.d.ts +9 -9
  45. package/dist/components/modules/community/GroupMenu.js +16 -16
  46. package/dist/components/modules/community/SchoolCard.d.ts +6 -6
  47. package/dist/components/modules/community/SchoolCard.js +7 -7
  48. package/dist/components/modules/community/SurveyCard.d.ts +6 -6
  49. package/dist/components/modules/community/SurveyCard.js +35 -35
  50. package/dist/components/modules/forum/ForumBoard.d.ts +16 -16
  51. package/dist/components/modules/forum/ForumBoard.js +6 -6
  52. package/dist/components/modules/forum/ForumPost.d.ts +13 -13
  53. package/dist/components/modules/forum/ForumPost.js +5 -5
  54. package/dist/components/modules/forum/NewTopicModal.d.ts +7 -7
  55. package/dist/components/modules/forum/NewTopicModal.js +26 -26
  56. package/dist/components/modules/forum/TopicItem.d.ts +15 -15
  57. package/dist/components/modules/forum/TopicItem.js +6 -6
  58. package/dist/components/modules/galleries/GalleryCard.d.ts +9 -9
  59. package/dist/components/modules/galleries/GalleryCard.js +5 -5
  60. package/dist/components/modules/giveaways/GiveawayCard.d.ts +9 -9
  61. package/dist/components/modules/giveaways/GiveawayCard.js +6 -6
  62. package/dist/components/modules/groups/ApplicationModal.d.ts +7 -7
  63. package/dist/components/modules/groups/ApplicationModal.js +27 -27
  64. package/dist/components/modules/groups/GroupCard.d.ts +12 -12
  65. package/dist/components/modules/groups/GroupCard.js +6 -6
  66. package/dist/components/modules/guest/Introduction.d.ts +1 -1
  67. package/dist/components/modules/guest/Introduction.js +13 -13
  68. package/dist/components/modules/magaza/BackToStore.d.ts +1 -1
  69. package/dist/components/modules/magaza/BackToStore.js +10 -10
  70. package/dist/components/modules/magaza/StoreHeader.d.ts +5 -5
  71. package/dist/components/modules/magaza/StoreHeader.js +8 -8
  72. package/dist/components/modules/news/NewsCard.d.ts +11 -11
  73. package/dist/components/modules/news/NewsCard.js +6 -6
  74. package/dist/components/modules/news/NewsComments.d.ts +1 -1
  75. package/dist/components/modules/news/NewsComments.js +52 -52
  76. package/dist/components/modules/profile/CloudStorageModal.d.ts +8 -8
  77. package/dist/components/modules/profile/CloudStorageModal.js +31 -31
  78. package/dist/components/modules/profile/EditProfileModal.d.ts +8 -8
  79. package/dist/components/modules/profile/EditProfileModal.js +27 -27
  80. package/dist/components/modules/profile/ProfileContent.d.ts +4 -4
  81. package/dist/components/modules/profile/ProfileContent.js +70 -70
  82. package/dist/components/modules/profile/ProfileHeader.d.ts +7 -7
  83. package/dist/components/modules/profile/ProfileHeader.js +19 -19
  84. package/dist/components/modules/profile/ProfileStats.js +1 -1
  85. package/dist/components/modules/profile/ProfileStats.js.map +1 -1
  86. package/dist/components/modules/profile/TeamSelectorModal.d.ts +10 -10
  87. package/dist/components/modules/profile/TeamSelectorModal.js +16 -16
  88. package/dist/components/modules/stations/StationCard.d.ts +2 -2
  89. package/dist/components/modules/stations/StationCard.js +25 -25
  90. package/dist/components/modules/stations/StationQRModal.d.ts +9 -9
  91. package/dist/components/modules/stations/StationQRModal.js +12 -12
  92. package/dist/components/shared/FloatingChatButton.d.ts +4 -4
  93. package/dist/components/shared/FloatingChatButton.js +20 -20
  94. package/dist/components/shared/Footer.d.ts +1 -1
  95. package/dist/components/shared/Footer.js +9 -9
  96. package/dist/components/shared/Header.d.ts +1 -1
  97. package/dist/components/shared/Header.js +97 -97
  98. package/dist/components/shared/LoginModal.d.ts +4 -4
  99. package/dist/components/shared/LoginModal.js +69 -69
  100. package/dist/components/shared/MainLayoutWrapper.d.ts +3 -3
  101. package/dist/components/shared/MainLayoutWrapper.js +7 -7
  102. package/dist/components/shared/PageWidth.d.ts +5 -5
  103. package/dist/components/shared/PageWidth.js +13 -13
  104. package/dist/context/AuthContext.d.ts +18 -18
  105. package/dist/context/AuthContext.js +74 -74
  106. package/dist/context/CartContext.d.ts +16 -16
  107. package/dist/context/CartContext.js +63 -63
  108. package/dist/context/ChatContext.d.ts +12 -12
  109. package/dist/context/ChatContext.js +17 -17
  110. package/dist/context/LayoutContext.d.ts +10 -10
  111. package/dist/context/LayoutContext.js +16 -16
  112. package/dist/context/SocketContext.d.ts +12 -12
  113. package/dist/context/SocketContext.js +30 -30
  114. package/dist/context/ThemeContext.d.ts +10 -10
  115. package/dist/context/ThemeContext.js +39 -39
  116. package/dist/index.d.ts +65 -65
  117. package/dist/index.js +80 -80
  118. package/dist/lib/constants/educationData.d.ts +7 -7
  119. package/dist/lib/constants/educationData.js +117 -117
  120. package/dist/lib/constants/punishmentData.d.ts +29 -29
  121. package/dist/lib/constants/punishmentData.js +183 -183
  122. package/dist/lib/constants/seedData.d.ts +164 -164
  123. package/dist/lib/constants/seedData.js +694 -694
  124. package/dist/lib/constants/stationData.d.ts +13 -13
  125. package/dist/lib/constants/stationData.js +166 -166
  126. package/dist/lib/constants/surveyData.d.ts +2 -2
  127. package/dist/lib/constants/surveyData.js +49 -49
  128. package/dist/lib/constants/teamData.d.ts +12 -12
  129. package/dist/lib/constants/teamData.js +65 -65
  130. package/dist/types/stats.d.ts +17 -17
  131. package/dist/types/stats.js +1 -1
  132. package/next.config.ts +13 -13
  133. package/package.json +45 -46
  134. package/postcss.config.js +6 -6
  135. package/src/app/layout.tsx +67 -64
  136. package/src/app/page.tsx +101 -101
  137. package/src/components/RollingNumber.tsx +3 -3
  138. package/src/components/modules/profile/ProfileStats.tsx +4 -4
  139. package/src/components/showcase/CommunityTab.tsx +22 -22
  140. package/src/components/showcase/CorporateTab.tsx +38 -38
  141. package/src/components/showcase/GeneralTab.tsx +41 -41
  142. package/src/components/showcase/MessagesTab.tsx +26 -26
  143. package/src/components/showcase/ProfileTab.tsx +20 -20
  144. package/src/components/showcase/ShopTab.tsx +24 -24
  145. package/src/components/showcase/SocialTab.tsx +28 -28
  146. package/src/globals.css +187 -187
  147. package/src/lib/utils/numberFormat.ts +16 -16
  148. package/src/lib/utils/odpUtils.ts +51 -51
  149. package/src/types/index.ts +1 -1
@@ -1,118 +1,118 @@
1
- import { School, Faculty, Classroom, SchoolTeam } from '@armoyu/core';
2
- export const MOCK_EDUCATION_DATA = (userList) => {
3
- // 1. School Teams (Traditional & Esports)
4
- const teams = [
5
- new SchoolTeam({
6
- id: 'st1',
7
- name: 'ARMOYU CS2 Team',
8
- gameOrSport: 'Counter-Strike 2',
9
- type: 'ESPORTS',
10
- schoolId: 'sch1',
11
- captain: userList[0]
12
- }),
13
- new SchoolTeam({
14
- id: 'st2',
15
- name: 'UAV Football Varsity',
16
- gameOrSport: 'Football',
17
- type: 'TRADITIONAL_SPORTS',
18
- schoolId: 'sch1',
19
- captain: userList[11]
20
- }),
21
- new SchoolTeam({
22
- id: 'st3',
23
- name: 'Code Masters LoL',
24
- gameOrSport: 'League of Legends',
25
- type: 'ESPORTS',
26
- schoolId: 'sch2',
27
- captain: userList[1]
28
- })
29
- ];
30
- // 2. Faculties
31
- const faculties = [
32
- new Faculty({ id: 'f1', name: 'Mühendislik Fakültesi', schoolId: 'sch1', representative: userList[14] }),
33
- new Faculty({ id: 'f2', name: 'İktisadi ve İdari Bilimler Fakültesi', schoolId: 'sch1', representative: userList[12] }),
34
- new Faculty({ id: 'f3', name: 'Fen Edebiyat Fakültesi', schoolId: 'sch2', representative: userList[3] })
35
- ];
36
- // 3. Classrooms
37
- const classrooms = [
38
- new Classroom({ id: 'c1', name: 'Web Geliştirme 101', schoolId: 'sch1', teacher: userList[0], password: 'armoyu_learn' }),
39
- new Classroom({ id: 'c2', name: 'Algoritma ve Veri Yapıları', schoolId: 'sch1', teacher: userList[14] }),
40
- new Classroom({ id: 'c3', name: 'Dijital Tasarım', schoolId: 'sch2', teacher: userList[1] })
41
- ];
42
- // 4. Schools
43
- const schools = [
44
- new School({
45
- id: 'sch1',
46
- name: 'İstanbul Teknik Üniversitesi',
47
- slug: 'itu',
48
- logo: 'https://upload.wikimedia.org/wikipedia/tr/a/ae/%C4%B0T%C3%9C_Logo.png',
49
- representative: userList[0],
50
- faculties: faculties.filter(f => f.schoolId === 'sch1'),
51
- teams: teams.filter(t => t.schoolId === 'sch1'),
52
- classrooms: classrooms.filter(cl => cl.schoolId === 'sch1'),
53
- memberCount: 1250
54
- }),
55
- new School({
56
- id: 'sch2',
57
- name: 'Boğaziçi Üniversitesi',
58
- slug: 'bogazici',
59
- logo: 'https://upload.wikimedia.org/wikipedia/tr/b/b3/Bo%C4%9Fazi%C3%A7i_%C3%9Cniversitesi_Logosu.png',
60
- representative: userList[1],
61
- faculties: faculties.filter(f => f.schoolId === 'sch2'),
62
- teams: teams.filter(t => t.schoolId === 'sch2'),
63
- classrooms: classrooms.filter(cl => cl.schoolId === 'sch2'),
64
- memberCount: 890
65
- }),
66
- new School({
67
- id: 'sch3',
68
- name: 'Sivas Cumhuriyet Üniversitesi',
69
- slug: 'cumhuriyet',
70
- logo: 'https://upload.wikimedia.org/wikipedia/tr/a/ac/Cumhuriyet_%C3%9Cniversitesi_Logosu.png',
71
- representative: userList[2],
72
- faculties: [
73
- new Faculty({ id: 'f4', name: 'Tıp Fakültesi', schoolId: 'sch3', representative: userList[4] }),
74
- new Faculty({ id: 'f5', name: 'Eğitim Fakültesi', schoolId: 'sch3', representative: userList[5] })
75
- ],
76
- teams: [
77
- new SchoolTeam({ id: 'st4', name: 'CU Eagles Volleyball', gameOrSport: 'Volleyball', type: 'TRADITIONAL_SPORTS', schoolId: 'sch3', captain: userList[2] }),
78
- new SchoolTeam({ id: 'st5', name: 'CU Valorant', gameOrSport: 'Valorant', type: 'ESPORTS', schoolId: 'sch3', captain: userList[4] })
79
- ],
80
- classrooms: [
81
- new Classroom({ id: 'c4', name: 'Temel Programlama', schoolId: 'sch3', teacher: userList[2] })
82
- ],
83
- memberCount: 2100
84
- }),
85
- new School({
86
- id: 'sch4',
87
- name: 'Tokat Gaziosmanpaşa Üniversitesi',
88
- slug: 'gop',
89
- logo: 'https://upload.wikimedia.org/wikipedia/tr/5/5e/Tokat_Gaziosmanpa%C5%9Fa_%C3%9Cniversitesi_Logosu.png',
90
- representative: userList[3],
91
- faculties: [
92
- new Faculty({ id: 'f6', name: 'Ziraat Fakültesi', schoolId: 'sch4', representative: userList[3] })
93
- ],
94
- teams: [
95
- new SchoolTeam({ id: 'st6', name: 'GOP Football', gameOrSport: 'Football', type: 'TRADITIONAL_SPORTS', schoolId: 'sch4', captain: userList[3] })
96
- ],
97
- classrooms: [],
98
- memberCount: 1450
99
- }),
100
- new School({
101
- id: 'sch5',
102
- name: 'Samsun Ondokuz Mayıs Üniversitesi',
103
- slug: 'omu',
104
- logo: 'https://upload.wikimedia.org/wikipedia/tr/6/6d/Ondokuz_May%C4%B1s_%C3%9Cniversitesi_Logosu.png',
105
- representative: userList[10],
106
- faculties: [
107
- new Faculty({ id: 'f7', name: 'Hukuk Fakültesi', schoolId: 'sch5', representative: userList[10] })
108
- ],
109
- teams: [
110
- new SchoolTeam({ id: 'st7', name: 'OMU Cyber Sports', gameOrSport: 'DotA 2', type: 'ESPORTS', schoolId: 'sch5', captain: userList[11] })
111
- ],
112
- classrooms: [],
113
- memberCount: 3200
114
- })
115
- ];
116
- return { schools, faculties, teams, classrooms };
117
- };
1
+ import { School, Faculty, Classroom, SchoolTeam } from '@armoyu/core';
2
+ export const MOCK_EDUCATION_DATA = (userList) => {
3
+ // 1. School Teams (Traditional & Esports)
4
+ const teams = [
5
+ new SchoolTeam({
6
+ id: 'st1',
7
+ name: 'ARMOYU CS2 Team',
8
+ gameOrSport: 'Counter-Strike 2',
9
+ type: 'ESPORTS',
10
+ schoolId: 'sch1',
11
+ captain: userList[0]
12
+ }),
13
+ new SchoolTeam({
14
+ id: 'st2',
15
+ name: 'UAV Football Varsity',
16
+ gameOrSport: 'Football',
17
+ type: 'TRADITIONAL_SPORTS',
18
+ schoolId: 'sch1',
19
+ captain: userList[11]
20
+ }),
21
+ new SchoolTeam({
22
+ id: 'st3',
23
+ name: 'Code Masters LoL',
24
+ gameOrSport: 'League of Legends',
25
+ type: 'ESPORTS',
26
+ schoolId: 'sch2',
27
+ captain: userList[1]
28
+ })
29
+ ];
30
+ // 2. Faculties
31
+ const faculties = [
32
+ new Faculty({ id: 'f1', name: 'Mühendislik Fakültesi', schoolId: 'sch1', representative: userList[14] }),
33
+ new Faculty({ id: 'f2', name: 'İktisadi ve İdari Bilimler Fakültesi', schoolId: 'sch1', representative: userList[12] }),
34
+ new Faculty({ id: 'f3', name: 'Fen Edebiyat Fakültesi', schoolId: 'sch2', representative: userList[3] })
35
+ ];
36
+ // 3. Classrooms
37
+ const classrooms = [
38
+ new Classroom({ id: 'c1', name: 'Web Geliştirme 101', schoolId: 'sch1', teacher: userList[0], password: 'armoyu_learn' }),
39
+ new Classroom({ id: 'c2', name: 'Algoritma ve Veri Yapıları', schoolId: 'sch1', teacher: userList[14] }),
40
+ new Classroom({ id: 'c3', name: 'Dijital Tasarım', schoolId: 'sch2', teacher: userList[1] })
41
+ ];
42
+ // 4. Schools
43
+ const schools = [
44
+ new School({
45
+ id: 'sch1',
46
+ name: 'İstanbul Teknik Üniversitesi',
47
+ slug: 'itu',
48
+ logo: 'https://upload.wikimedia.org/wikipedia/tr/a/ae/%C4%B0T%C3%9C_Logo.png',
49
+ representative: userList[0],
50
+ faculties: faculties.filter(f => f.schoolId === 'sch1'),
51
+ teams: teams.filter(t => t.schoolId === 'sch1'),
52
+ classrooms: classrooms.filter(cl => cl.schoolId === 'sch1'),
53
+ memberCount: 1250
54
+ }),
55
+ new School({
56
+ id: 'sch2',
57
+ name: 'Boğaziçi Üniversitesi',
58
+ slug: 'bogazici',
59
+ logo: 'https://upload.wikimedia.org/wikipedia/tr/b/b3/Bo%C4%9Fazi%C3%A7i_%C3%9Cniversitesi_Logosu.png',
60
+ representative: userList[1],
61
+ faculties: faculties.filter(f => f.schoolId === 'sch2'),
62
+ teams: teams.filter(t => t.schoolId === 'sch2'),
63
+ classrooms: classrooms.filter(cl => cl.schoolId === 'sch2'),
64
+ memberCount: 890
65
+ }),
66
+ new School({
67
+ id: 'sch3',
68
+ name: 'Sivas Cumhuriyet Üniversitesi',
69
+ slug: 'cumhuriyet',
70
+ logo: 'https://upload.wikimedia.org/wikipedia/tr/a/ac/Cumhuriyet_%C3%9Cniversitesi_Logosu.png',
71
+ representative: userList[2],
72
+ faculties: [
73
+ new Faculty({ id: 'f4', name: 'Tıp Fakültesi', schoolId: 'sch3', representative: userList[4] }),
74
+ new Faculty({ id: 'f5', name: 'Eğitim Fakültesi', schoolId: 'sch3', representative: userList[5] })
75
+ ],
76
+ teams: [
77
+ new SchoolTeam({ id: 'st4', name: 'CU Eagles Volleyball', gameOrSport: 'Volleyball', type: 'TRADITIONAL_SPORTS', schoolId: 'sch3', captain: userList[2] }),
78
+ new SchoolTeam({ id: 'st5', name: 'CU Valorant', gameOrSport: 'Valorant', type: 'ESPORTS', schoolId: 'sch3', captain: userList[4] })
79
+ ],
80
+ classrooms: [
81
+ new Classroom({ id: 'c4', name: 'Temel Programlama', schoolId: 'sch3', teacher: userList[2] })
82
+ ],
83
+ memberCount: 2100
84
+ }),
85
+ new School({
86
+ id: 'sch4',
87
+ name: 'Tokat Gaziosmanpaşa Üniversitesi',
88
+ slug: 'gop',
89
+ logo: 'https://upload.wikimedia.org/wikipedia/tr/5/5e/Tokat_Gaziosmanpa%C5%9Fa_%C3%9Cniversitesi_Logosu.png',
90
+ representative: userList[3],
91
+ faculties: [
92
+ new Faculty({ id: 'f6', name: 'Ziraat Fakültesi', schoolId: 'sch4', representative: userList[3] })
93
+ ],
94
+ teams: [
95
+ new SchoolTeam({ id: 'st6', name: 'GOP Football', gameOrSport: 'Football', type: 'TRADITIONAL_SPORTS', schoolId: 'sch4', captain: userList[3] })
96
+ ],
97
+ classrooms: [],
98
+ memberCount: 1450
99
+ }),
100
+ new School({
101
+ id: 'sch5',
102
+ name: 'Samsun Ondokuz Mayıs Üniversitesi',
103
+ slug: 'omu',
104
+ logo: 'https://upload.wikimedia.org/wikipedia/tr/6/6d/Ondokuz_May%C4%B1s_%C3%9Cniversitesi_Logosu.png',
105
+ representative: userList[10],
106
+ faculties: [
107
+ new Faculty({ id: 'f7', name: 'Hukuk Fakültesi', schoolId: 'sch5', representative: userList[10] })
108
+ ],
109
+ teams: [
110
+ new SchoolTeam({ id: 'st7', name: 'OMU Cyber Sports', gameOrSport: 'DotA 2', type: 'ESPORTS', schoolId: 'sch5', captain: userList[11] })
111
+ ],
112
+ classrooms: [],
113
+ memberCount: 3200
114
+ })
115
+ ];
116
+ return { schools, faculties, teams, classrooms };
117
+ };
118
118
  //# sourceMappingURL=educationData.js.map
@@ -1,30 +1,30 @@
1
- export type RestrictionType = 'CHAT_BAN' | 'POST_BAN' | 'PROFILE_EDIT_BAN' | 'LOGIN_BAN' | 'PERMANENT_BAN';
2
- export type RuleCategory = 'SOHBET' | 'GÜVENLİK' | 'İÇERİK' | 'HESAP' | 'ETKİNLİK';
3
- export interface PunishmentRule {
4
- id: string;
5
- article: string;
6
- name: string;
7
- category: RuleCategory;
8
- description: string;
9
- duration: number;
10
- restrictions: RestrictionType[];
11
- severity: 'low' | 'medium' | 'high' | 'critical';
12
- isMajor?: boolean;
13
- }
14
- export declare const PUNISHMENT_RULES: PunishmentRule[];
15
- export declare const getRestrictionLabel: (type: RestrictionType) => string;
16
- /**
17
- * Calculates the escalated duration based on the number of previous punishments.
18
- * Formula: base * multiplier
19
- */
20
- export declare const calculateEscalatedDuration: (baseDuration: number, punishmentCount: number) => number;
21
- /**
22
- * Returns the community compliance level details based on involvement count.
23
- */
24
- export declare const getCommunityComplianceLevel: (count: number) => {
25
- label: string;
26
- color: string;
27
- multiplier: number;
28
- severity: string;
29
- };
1
+ export type RestrictionType = 'CHAT_BAN' | 'POST_BAN' | 'PROFILE_EDIT_BAN' | 'LOGIN_BAN' | 'PERMANENT_BAN';
2
+ export type RuleCategory = 'SOHBET' | 'GÜVENLİK' | 'İÇERİK' | 'HESAP' | 'ETKİNLİK';
3
+ export interface PunishmentRule {
4
+ id: string;
5
+ article: string;
6
+ name: string;
7
+ category: RuleCategory;
8
+ description: string;
9
+ duration: number;
10
+ restrictions: RestrictionType[];
11
+ severity: 'low' | 'medium' | 'high' | 'critical';
12
+ isMajor?: boolean;
13
+ }
14
+ export declare const PUNISHMENT_RULES: PunishmentRule[];
15
+ export declare const getRestrictionLabel: (type: RestrictionType) => string;
16
+ /**
17
+ * Calculates the escalated duration based on the number of previous punishments.
18
+ * Formula: base * multiplier
19
+ */
20
+ export declare const calculateEscalatedDuration: (baseDuration: number, punishmentCount: number) => number;
21
+ /**
22
+ * Returns the community compliance level details based on involvement count.
23
+ */
24
+ export declare const getCommunityComplianceLevel: (count: number) => {
25
+ label: string;
26
+ color: string;
27
+ multiplier: number;
28
+ severity: string;
29
+ };
30
30
  //# sourceMappingURL=punishmentData.d.ts.map