@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
package/src/globals.css CHANGED
@@ -1,187 +1,187 @@
1
- @import "tailwindcss";
2
- @source "./components/**/*.{js,ts,jsx,tsx}";
3
- @source "./app/**/*.{js,ts,jsx,tsx}";
4
-
5
- /*
6
- * TAILWIND V4 DARK MODE STRATEGY FIX
7
- * Varsayılan olarak Tailwind v4 sistem temasına (@media prefers-color-scheme) bakar.
8
- * Aşağıdaki kural ile Tailwind'in sadece .dark class'ı varken çalışmasını sağlıyoruz.
9
- */
10
- @custom-variant dark (&:where(.dark, .dark *));
11
-
12
- /*
13
- * GLOBAL TEMALANDIRMA DEĞİŞKENLERİ
14
- * Bu yapı sayesinde gelecekte yüzlerce farklı renk/tema (Kırmızı Mod, RGB Modu vb.) tanımlanabilir.
15
- */
16
- @layer base {
17
- :root {
18
- --armoyu-bg: #f8fafc;
19
- /* Slate 50 - Daha asil bir açık gri */
20
- --armoyu-fg: #0f172a;
21
-
22
- --armoyu-header-bg: rgba(255, 255, 255, 0.85);
23
- --armoyu-header-border: rgba(0, 0, 0, 0.04);
24
-
25
- --armoyu-drawer-bg: rgba(255, 255, 255, 0.9);
26
- --armoyu-drawer-border: rgba(0, 0, 0, 0.04);
27
-
28
- --armoyu-card-bg: rgba(255, 255, 255, 0.75);
29
- --armoyu-card-border: rgba(0, 0, 0, 0.04);
30
-
31
- --armoyu-text: #1e293b;
32
- /* Slate 800 */
33
- --armoyu-text-muted: #64748b;
34
- /* Slate 500 */
35
- --armoyu-panel-width: 90%;
36
- }
37
-
38
- .dark {
39
- --armoyu-bg: #0a0a0e;
40
- --armoyu-fg: #f8fafc;
41
-
42
- --armoyu-header-bg: #0a0a0e;
43
- /* Tamamen Mat Koyu Siyah */
44
- --armoyu-header-border: rgba(255, 255, 255, 0.05);
45
-
46
- --armoyu-drawer-bg: rgba(10, 10, 14, 0.65);
47
- /* Menü Çekmecesi Yüksek Saydamlık */
48
- --armoyu-drawer-border: rgba(255, 255, 255, 0.1);
49
-
50
- --armoyu-card-bg: rgba(10, 10, 14, 0.4);
51
- --armoyu-card-border: rgba(255, 255, 255, 0.05);
52
-
53
- --armoyu-text: #ffffff;
54
- --armoyu-text-muted: #9ca3af;
55
- }
56
-
57
- body {
58
- background-color: var(--armoyu-bg);
59
- background-image:
60
- radial-gradient(at 0% 0%, rgba(59, 130, 246, 0.03) 0, transparent 50%),
61
- radial-gradient(at 50% 0%, rgba(139, 92, 246, 0.03) 0, transparent 50%),
62
- radial-gradient(at 100% 0%, rgba(59, 130, 246, 0.03) 0, transparent 50%);
63
- color: var(--armoyu-fg);
64
- line-height: inherit;
65
- font-family: var(--font-sans);
66
- min-height: 100vh;
67
- overflow-x: hidden;
68
- }
69
-
70
- .dark body {
71
- background-image: none;
72
- /* Dark modda düz siyah/koyu kalsın */
73
- }
74
-
75
- /* Kullanıcının istediği özel açık tema arka plan kuralı */
76
- @media (prefers-color-scheme: light) {
77
- body {
78
- background-color: var(--armoyu-bg);
79
- }
80
- }
81
- }
82
-
83
- @theme {
84
- --color-background: #0a0a0e;
85
- --color-foreground: #ededed;
86
- --color-primary: #3b82f6;
87
- --color-secondary: #1e1e24;
88
- --font-sans: var(--font-inter), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
89
- --animate-fill-bar: fill-bar 5s linear forwards;
90
-
91
- /* TAILWIND TANIMLAMALARI (Tüm proje genelinde class olarak kullanılabilir hale getirir) */
92
- --color-armoyu-bg: var(--armoyu-bg);
93
- --color-armoyu-fg: var(--armoyu-fg);
94
- --color-armoyu-header-bg: var(--armoyu-header-bg);
95
- --color-armoyu-header-border: var(--armoyu-header-border);
96
- --color-armoyu-drawer-bg: var(--armoyu-drawer-bg);
97
- --color-armoyu-drawer-border: var(--armoyu-drawer-border);
98
- --color-armoyu-card-bg: var(--armoyu-card-bg);
99
- --color-armoyu-card-border: var(--armoyu-card-border);
100
- --color-armoyu-text: var(--armoyu-text);
101
- --color-armoyu-text-muted: var(--armoyu-text-muted);
102
- --spacing-armoyu-panel: var(--armoyu-panel-width);
103
- }
104
-
105
- /* Glassmorphism Classes */
106
- .glass-panel {
107
- background: var(--armoyu-card-bg);
108
- backdrop-filter: blur(16px);
109
- -webkit-backdrop-filter: blur(16px);
110
- border: 1px solid var(--armoyu-card-border);
111
- box-shadow: 0 4px 24px rgba(0, 0, 0, 0.03);
112
- }
113
-
114
- /* Koyu Tema Glassmorphism Stili */
115
- .dark .glass-panel {
116
- background: rgba(255, 255, 255, 0.03);
117
- backdrop-filter: blur(10px);
118
- -webkit-backdrop-filter: blur(10px);
119
- border: 1px solid rgba(255, 255, 255, 0.05);
120
- box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
121
- }
122
-
123
- .text-gradient {
124
- background: linear-gradient(to right, #3b82f6, #8b5cf6);
125
- -webkit-background-clip: text;
126
- -webkit-text-fill-color: transparent;
127
- }
128
-
129
- /* Premium Scrollbar Styling */
130
- ::-webkit-scrollbar {
131
- width: 6px;
132
- height: 6px;
133
- }
134
-
135
- ::-webkit-scrollbar-track {
136
- background: transparent;
137
- }
138
-
139
- ::-webkit-scrollbar-thumb {
140
- background: rgba(0, 0, 0, 0.1);
141
- border-radius: 10px;
142
- }
143
-
144
- .dark ::-webkit-scrollbar-thumb {
145
- background: rgba(255, 255, 255, 0.05);
146
- }
147
-
148
- ::-webkit-scrollbar-thumb:hover {
149
- background: rgba(0, 0, 0, 0.2);
150
- }
151
-
152
- .dark ::-webkit-scrollbar-thumb:hover {
153
- background: rgba(255, 255, 255, 0.1);
154
- }
155
-
156
- /* Hide scrollbar utility (Renamed from hide-scrollbar for consistency) */
157
- .no-scrollbar::-webkit-scrollbar {
158
- display: none !important;
159
- }
160
-
161
- .no-scrollbar {
162
- -ms-overflow-style: none !important;
163
- /* IE and Edge */
164
- scrollbar-width: none !important;
165
- /* Firefox */
166
- }
167
-
168
- /* Elegant Thin Scrollbar */
169
- .thin-scrollbar::-webkit-scrollbar {
170
- width: 4px;
171
- }
172
-
173
- .thin-scrollbar::-webkit-scrollbar-thumb {
174
- background: rgba(0, 0, 0, 0.1);
175
- border-radius: 20px;
176
- }
177
-
178
- /* Slider Progress Bar Animation */
179
- @keyframes progressBar {
180
- from {
181
- width: 0%;
182
- }
183
-
184
- to {
185
- width: 100%;
186
- }
187
- }
1
+ @import "tailwindcss";
2
+ @source "./components/**/*.{js,ts,jsx,tsx}";
3
+ @source "./app/**/*.{js,ts,jsx,tsx}";
4
+
5
+ /*
6
+ * TAILWIND V4 DARK MODE STRATEGY FIX
7
+ * Varsayılan olarak Tailwind v4 sistem temasına (@media prefers-color-scheme) bakar.
8
+ * Aşağıdaki kural ile Tailwind'in sadece .dark class'ı varken çalışmasını sağlıyoruz.
9
+ */
10
+ @custom-variant dark (&:where(.dark, .dark *));
11
+
12
+ /*
13
+ * GLOBAL TEMALANDIRMA DEĞİŞKENLERİ
14
+ * Bu yapı sayesinde gelecekte yüzlerce farklı renk/tema (Kırmızı Mod, RGB Modu vb.) tanımlanabilir.
15
+ */
16
+ @layer base {
17
+ :root {
18
+ --armoyu-bg: #f8fafc;
19
+ /* Slate 50 - Daha asil bir açık gri */
20
+ --armoyu-fg: #0f172a;
21
+
22
+ --armoyu-header-bg: rgba(255, 255, 255, 0.85);
23
+ --armoyu-header-border: rgba(0, 0, 0, 0.04);
24
+
25
+ --armoyu-drawer-bg: rgba(255, 255, 255, 0.9);
26
+ --armoyu-drawer-border: rgba(0, 0, 0, 0.04);
27
+
28
+ --armoyu-card-bg: rgba(255, 255, 255, 0.75);
29
+ --armoyu-card-border: rgba(0, 0, 0, 0.04);
30
+
31
+ --armoyu-text: #1e293b;
32
+ /* Slate 800 */
33
+ --armoyu-text-muted: #64748b;
34
+ /* Slate 500 */
35
+ --armoyu-panel-width: 90%;
36
+ }
37
+
38
+ .dark {
39
+ --armoyu-bg: #0a0a0e;
40
+ --armoyu-fg: #f8fafc;
41
+
42
+ --armoyu-header-bg: #0a0a0e;
43
+ /* Tamamen Mat Koyu Siyah */
44
+ --armoyu-header-border: rgba(255, 255, 255, 0.05);
45
+
46
+ --armoyu-drawer-bg: rgba(10, 10, 14, 0.65);
47
+ /* Menü Çekmecesi Yüksek Saydamlık */
48
+ --armoyu-drawer-border: rgba(255, 255, 255, 0.1);
49
+
50
+ --armoyu-card-bg: rgba(10, 10, 14, 0.4);
51
+ --armoyu-card-border: rgba(255, 255, 255, 0.05);
52
+
53
+ --armoyu-text: #ffffff;
54
+ --armoyu-text-muted: #9ca3af;
55
+ }
56
+
57
+ body {
58
+ background-color: var(--armoyu-bg);
59
+ background-image:
60
+ radial-gradient(at 0% 0%, rgba(59, 130, 246, 0.03) 0, transparent 50%),
61
+ radial-gradient(at 50% 0%, rgba(139, 92, 246, 0.03) 0, transparent 50%),
62
+ radial-gradient(at 100% 0%, rgba(59, 130, 246, 0.03) 0, transparent 50%);
63
+ color: var(--armoyu-fg);
64
+ line-height: inherit;
65
+ font-family: var(--font-sans);
66
+ min-height: 100vh;
67
+ overflow-x: hidden;
68
+ }
69
+
70
+ .dark body {
71
+ background-image: none;
72
+ /* Dark modda düz siyah/koyu kalsın */
73
+ }
74
+
75
+ /* Kullanıcının istediği özel açık tema arka plan kuralı */
76
+ @media (prefers-color-scheme: light) {
77
+ body {
78
+ background-color: var(--armoyu-bg);
79
+ }
80
+ }
81
+ }
82
+
83
+ @theme {
84
+ --color-background: #0a0a0e;
85
+ --color-foreground: #ededed;
86
+ --color-primary: #3b82f6;
87
+ --color-secondary: #1e1e24;
88
+ --font-sans: var(--font-inter), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
89
+ --animate-fill-bar: fill-bar 5s linear forwards;
90
+
91
+ /* TAILWIND TANIMLAMALARI (Tüm proje genelinde class olarak kullanılabilir hale getirir) */
92
+ --color-armoyu-bg: var(--armoyu-bg);
93
+ --color-armoyu-fg: var(--armoyu-fg);
94
+ --color-armoyu-header-bg: var(--armoyu-header-bg);
95
+ --color-armoyu-header-border: var(--armoyu-header-border);
96
+ --color-armoyu-drawer-bg: var(--armoyu-drawer-bg);
97
+ --color-armoyu-drawer-border: var(--armoyu-drawer-border);
98
+ --color-armoyu-card-bg: var(--armoyu-card-bg);
99
+ --color-armoyu-card-border: var(--armoyu-card-border);
100
+ --color-armoyu-text: var(--armoyu-text);
101
+ --color-armoyu-text-muted: var(--armoyu-text-muted);
102
+ --spacing-armoyu-panel: var(--armoyu-panel-width);
103
+ }
104
+
105
+ /* Glassmorphism Classes */
106
+ .glass-panel {
107
+ background: var(--armoyu-card-bg);
108
+ backdrop-filter: blur(16px);
109
+ -webkit-backdrop-filter: blur(16px);
110
+ border: 1px solid var(--armoyu-card-border);
111
+ box-shadow: 0 4px 24px rgba(0, 0, 0, 0.03);
112
+ }
113
+
114
+ /* Koyu Tema Glassmorphism Stili */
115
+ .dark .glass-panel {
116
+ background: rgba(255, 255, 255, 0.03);
117
+ backdrop-filter: blur(10px);
118
+ -webkit-backdrop-filter: blur(10px);
119
+ border: 1px solid rgba(255, 255, 255, 0.05);
120
+ box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
121
+ }
122
+
123
+ .text-gradient {
124
+ background: linear-gradient(to right, #3b82f6, #8b5cf6);
125
+ -webkit-background-clip: text;
126
+ -webkit-text-fill-color: transparent;
127
+ }
128
+
129
+ /* Premium Scrollbar Styling */
130
+ ::-webkit-scrollbar {
131
+ width: 6px;
132
+ height: 6px;
133
+ }
134
+
135
+ ::-webkit-scrollbar-track {
136
+ background: transparent;
137
+ }
138
+
139
+ ::-webkit-scrollbar-thumb {
140
+ background: rgba(0, 0, 0, 0.1);
141
+ border-radius: 10px;
142
+ }
143
+
144
+ .dark ::-webkit-scrollbar-thumb {
145
+ background: rgba(255, 255, 255, 0.05);
146
+ }
147
+
148
+ ::-webkit-scrollbar-thumb:hover {
149
+ background: rgba(0, 0, 0, 0.2);
150
+ }
151
+
152
+ .dark ::-webkit-scrollbar-thumb:hover {
153
+ background: rgba(255, 255, 255, 0.1);
154
+ }
155
+
156
+ /* Hide scrollbar utility (Renamed from hide-scrollbar for consistency) */
157
+ .no-scrollbar::-webkit-scrollbar {
158
+ display: none !important;
159
+ }
160
+
161
+ .no-scrollbar {
162
+ -ms-overflow-style: none !important;
163
+ /* IE and Edge */
164
+ scrollbar-width: none !important;
165
+ /* Firefox */
166
+ }
167
+
168
+ /* Elegant Thin Scrollbar */
169
+ .thin-scrollbar::-webkit-scrollbar {
170
+ width: 4px;
171
+ }
172
+
173
+ .thin-scrollbar::-webkit-scrollbar-thumb {
174
+ background: rgba(0, 0, 0, 0.1);
175
+ border-radius: 20px;
176
+ }
177
+
178
+ /* Slider Progress Bar Animation */
179
+ @keyframes progressBar {
180
+ from {
181
+ width: 0%;
182
+ }
183
+
184
+ to {
185
+ width: 100%;
186
+ }
187
+ }
@@ -1,16 +1,16 @@
1
- /**
2
- * Formats large numbers into a shorter string and its unit suffix.
3
- * 14200 -> { value: "14.2", unit: "B" }
4
- * 1200000 -> { value: "1.2", unit: "M" }
5
- */
6
- export function formatStatValue(num: number): { value: string | number; unit: string } {
7
- if (num >= 1000000) {
8
- const val = (num / 1000000).toFixed(1);
9
- return { value: val.endsWith('.0') ? val.slice(0, -2) : val, unit: 'M' };
10
- }
11
- if (num >= 1000) {
12
- const val = (num / 1000).toFixed(1);
13
- return { value: val.endsWith('.0') ? val.slice(0, -2) : val, unit: 'B' };
14
- }
15
- return { value: num, unit: '' };
16
- }
1
+ /**
2
+ * Formats large numbers into a shorter string and its unit suffix.
3
+ * 14200 -> { value: "14.2", unit: "B" }
4
+ * 1200000 -> { value: "1.2", unit: "M" }
5
+ */
6
+ export function formatStatValue(num: number): { value: string | number; unit: string } {
7
+ if (num >= 1000000) {
8
+ const val = (num / 1000000).toFixed(1);
9
+ return { value: val.endsWith('.0') ? val.slice(0, -2) : val, unit: 'M' };
10
+ }
11
+ if (num >= 1000) {
12
+ const val = (num / 1000).toFixed(1);
13
+ return { value: val.endsWith('.0') ? val.slice(0, -2) : val, unit: 'B' };
14
+ }
15
+ return { value: num, unit: '' };
16
+ }
@@ -1,51 +1,51 @@
1
- export interface ODPStatus {
2
- label: 'Tehlikeli' | 'Dengesiz' | 'İyi' | 'Sadık';
3
- color: string;
4
- bgColor: string;
5
- borderColor: string;
6
- icon: string;
7
- }
8
-
9
- /**
10
- * Normalizes and categorizes ODP scores into human-readable branding.
11
- * 0-30: Tehlikeli
12
- * 31-60: Dengesiz
13
- * 61-90: İyi
14
- * 91-100: Sadık
15
- */
16
- export const getODPStatus = (score: number): ODPStatus => {
17
- if (score <= 30) {
18
- return {
19
- label: 'Tehlikeli',
20
- color: 'text-red-500',
21
- bgColor: 'bg-red-500/10',
22
- borderColor: 'border-red-500/20',
23
- icon: 'AlertTriangle'
24
- };
25
- }
26
- if (score <= 60) {
27
- return {
28
- label: 'Dengesiz',
29
- color: 'text-orange-500',
30
- bgColor: 'bg-orange-500/10',
31
- borderColor: 'border-orange-500/20',
32
- icon: 'Zap'
33
- };
34
- }
35
- if (score <= 90) {
36
- return {
37
- label: 'İyi',
38
- color: 'text-emerald-500',
39
- bgColor: 'bg-emerald-500/10',
40
- borderColor: 'border-emerald-500/20',
41
- icon: 'ShieldCheck'
42
- };
43
- }
44
- return {
45
- label: 'Sadık',
46
- color: 'text-purple-500',
47
- bgColor: 'bg-purple-500/10',
48
- borderColor: 'border-purple-500/20',
49
- icon: 'Crown'
50
- };
51
- };
1
+ export interface ODPStatus {
2
+ label: 'Tehlikeli' | 'Dengesiz' | 'İyi' | 'Sadık';
3
+ color: string;
4
+ bgColor: string;
5
+ borderColor: string;
6
+ icon: string;
7
+ }
8
+
9
+ /**
10
+ * Normalizes and categorizes ODP scores into human-readable branding.
11
+ * 0-30: Tehlikeli
12
+ * 31-60: Dengesiz
13
+ * 61-90: İyi
14
+ * 91-100: Sadık
15
+ */
16
+ export const getODPStatus = (score: number): ODPStatus => {
17
+ if (score <= 30) {
18
+ return {
19
+ label: 'Tehlikeli',
20
+ color: 'text-red-500',
21
+ bgColor: 'bg-red-500/10',
22
+ borderColor: 'border-red-500/20',
23
+ icon: 'AlertTriangle'
24
+ };
25
+ }
26
+ if (score <= 60) {
27
+ return {
28
+ label: 'Dengesiz',
29
+ color: 'text-orange-500',
30
+ bgColor: 'bg-orange-500/10',
31
+ borderColor: 'border-orange-500/20',
32
+ icon: 'Zap'
33
+ };
34
+ }
35
+ if (score <= 90) {
36
+ return {
37
+ label: 'İyi',
38
+ color: 'text-emerald-500',
39
+ bgColor: 'bg-emerald-500/10',
40
+ borderColor: 'border-emerald-500/20',
41
+ icon: 'ShieldCheck'
42
+ };
43
+ }
44
+ return {
45
+ label: 'Sadık',
46
+ color: 'text-purple-500',
47
+ bgColor: 'bg-purple-500/10',
48
+ borderColor: 'border-purple-500/20',
49
+ icon: 'Crown'
50
+ };
51
+ };
@@ -1 +1 @@
1
- export * from './stats';
1
+ export * from './stats';