@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 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/app/layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,gBAAgB,CAAC;AAUxB,eAAO,MAAM,QAAQ,EAAE,QAGtB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,QAAQ,GACT,EAAE,QAAQ,CAAC;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC,2CA0CD"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/app/layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,gBAAgB,CAAC;AAaxB,eAAO,MAAM,QAAQ,EAAE,QAGtB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,QAAQ,GACT,EAAE,QAAQ,CAAC;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC,2CA0CD"}
@@ -7,25 +7,28 @@ import { AuthProvider } from "../context/AuthContext";
7
7
  import { SocketProvider } from "../context/SocketContext";
8
8
  import { CartProvider } from "../context/CartContext";
9
9
  import { ChatProvider } from "../context/ChatContext";
10
- const inter = Inter({ subsets: ['latin'] });
10
+ const inter = Inter({
11
+ subsets: ['latin'],
12
+ variable: '--font-inter',
13
+ });
11
14
  export const metadata = {
12
15
  title: "ARMOYU UI Showcase",
13
16
  description: "Visual component gallery for Armoyu UI Library",
14
17
  };
15
18
  export default function RootLayout({ children, }) {
16
19
  return (_jsxs("html", { lang: "tr", className: "scroll-smooth dark", suppressHydrationWarning: true, children: [_jsx("head", { children: _jsx("script", { dangerouslySetInnerHTML: {
17
- __html: `
18
- (function() {
19
- try {
20
- var theme = localStorage.getItem('armoyu_theme');
21
- if (theme === 'light') {
22
- document.documentElement.classList.remove('dark');
23
- } else {
24
- document.documentElement.classList.add('dark');
25
- }
26
- } catch (e) {}
27
- })();
20
+ __html: `
21
+ (function() {
22
+ try {
23
+ var theme = localStorage.getItem('armoyu_theme');
24
+ if (theme === 'light') {
25
+ document.documentElement.classList.remove('dark');
26
+ } else {
27
+ document.documentElement.classList.add('dark');
28
+ }
29
+ } catch (e) {}
30
+ })();
28
31
  `,
29
- } }) }), _jsx("body", { className: `${inter.className} bg-armoyu-bg text-armoyu-text min-h-screen flex flex-col antialiased relative transition-colors duration-500`, children: _jsx(ThemeProvider, { children: _jsx(AuthProvider, { children: _jsx(SocketProvider, { children: _jsx(LayoutProvider, { children: _jsx(CartProvider, { children: _jsxs(ChatProvider, { children: [_jsxs("div", { className: "fixed inset-0 pointer-events-none z-[-1]", children: [_jsx("div", { className: "absolute top-[-10%] left-[-10%] w-[40%] h-[40%] bg-blue-600/20 blur-[120px] rounded-full" }), _jsx("div", { className: "absolute bottom-[-10%] right-[-10%] w-[40%] h-[40%] bg-purple-600/20 blur-[120px] rounded-full" })] }), children] }) }) }) }) }) }) })] }));
32
+ } }) }), _jsx("body", { className: `${inter.variable} ${inter.className} bg-armoyu-bg text-armoyu-text min-h-screen flex flex-col antialiased relative transition-colors duration-500`, children: _jsx(ThemeProvider, { children: _jsx(AuthProvider, { children: _jsx(SocketProvider, { children: _jsx(LayoutProvider, { children: _jsx(CartProvider, { children: _jsxs(ChatProvider, { children: [_jsxs("div", { className: "fixed inset-0 pointer-events-none z-[-1]", children: [_jsx("div", { className: "absolute top-[-10%] left-[-10%] w-[40%] h-[40%] bg-blue-600/20 blur-[120px] rounded-full" }), _jsx("div", { className: "absolute bottom-[-10%] right-[-10%] w-[40%] h-[40%] bg-purple-600/20 blur-[120px] rounded-full" })] }), children] }) }) }) }) }) }) })] }));
30
33
  }
31
34
  //# sourceMappingURL=layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/app/layout.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAE5C,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EAAE,gDAAgD;CAC9D,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,QAAQ,GAGR;IACA,OAAO,CACL,gBAAM,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,oBAAoB,EAAC,wBAAwB,mBACrE,yBACE,iBACE,uBAAuB,EAAE;wBACvB,MAAM,EAAE;;;;;;;;;;;aAWP;qBACF,GACD,GACG,EACP,eAAM,SAAS,EAAE,GAAG,KAAK,CAAC,SAAS,+GAA+G,YAChJ,KAAC,aAAa,cACZ,KAAC,YAAY,cACX,KAAC,cAAc,cACb,KAAC,cAAc,cACb,KAAC,YAAY,cACX,MAAC,YAAY,eACX,eAAK,SAAS,EAAC,0CAA0C,aACvD,cAAK,SAAS,EAAC,0FAA0F,GAAG,EAC5G,cAAK,SAAS,EAAC,gGAAgG,GAAG,IAC9G,EACL,QAAQ,IACI,GACF,GACA,GACF,GACJ,GACD,GACX,IACF,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/app/layout.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,KAAK,GAAG,KAAK,CAAC;IAClB,OAAO,EAAE,CAAC,OAAO,CAAC;IAClB,QAAQ,EAAE,cAAc;CACzB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EAAE,gDAAgD;CAC9D,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,QAAQ,GAGR;IACA,OAAO,CACL,gBAAM,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,oBAAoB,EAAC,wBAAwB,mBACrE,yBACE,iBACE,uBAAuB,EAAE;wBACvB,MAAM,EAAE;;;;;;;;;;;aAWP;qBACF,GACD,GACG,EACP,eAAM,SAAS,EAAE,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,+GAA+G,YAClK,KAAC,aAAa,cACZ,KAAC,YAAY,cACX,KAAC,cAAc,cACb,KAAC,cAAc,cACb,KAAC,YAAY,cACX,MAAC,YAAY,eACX,eAAK,SAAS,EAAC,0CAA0C,aACvD,cAAK,SAAS,EAAC,0FAA0F,GAAG,EAC5G,cAAK,SAAS,EAAC,gGAAgG,GAAG,IAC9G,EACL,QAAQ,IACI,GACF,GACA,GACF,GACJ,GACD,GACX,IACF,CACR,CAAC;AACJ,CAAC"}
@@ -1,8 +1,8 @@
1
- import * as React from "react";
2
- export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
- variant?: 'primary' | 'secondary' | 'danger' | 'ghost';
4
- isLoading?: boolean;
5
- }
6
- declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
7
- export { Button };
1
+ import * as React from "react";
2
+ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
+ variant?: 'primary' | 'secondary' | 'danger' | 'ghost';
4
+ isLoading?: boolean;
5
+ }
6
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
7
+ export { Button };
8
8
  //# sourceMappingURL=Button.d.ts.map
@@ -1,16 +1,16 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as React from "react";
3
- const Button = React.forwardRef(({ className = '', variant = 'primary', isLoading, children, ...props }, ref) => {
4
- // Core aesthetic premium styling (Glassmorphism & Modern UI)
5
- const baseStyles = "inline-flex items-center justify-center rounded-lg text-sm font-medium transition-all duration-300 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 disabled:pointer-events-none disabled:opacity-50 h-10 px-4 py-2 cursor-pointer";
6
- const variants = {
7
- primary: "bg-blue-600 text-white hover:bg-blue-700 hover:shadow-[0_0_15px_rgba(37,99,235,0.5)] border border-transparent",
8
- secondary: "bg-white/5 text-white hover:bg-white/10 backdrop-blur-md border border-white/10 hover:border-white/20 shadow-[0_4px_30px_rgba(0,0,0,0.1)]",
9
- danger: "bg-red-500/80 text-white hover:bg-red-600 border border-red-500/50 hover:shadow-[0_0_15px_rgba(239,68,68,0.5)]",
10
- ghost: "hover:bg-white/10 hover:text-white text-gray-300"
11
- };
12
- return (_jsxs("button", { ref: ref, className: `${baseStyles} ${variants[variant]} ${className}`, disabled: isLoading || props.disabled, ...props, children: [isLoading ? (_jsxs("span", { className: "mr-2 relative flex h-4 w-4", children: [_jsx("span", { className: "animate-ping absolute inline-flex h-full w-full rounded-full bg-white opacity-75" }), _jsx("span", { className: "relative inline-flex rounded-full h-4 w-4 bg-white/50 border-2 border-white border-t-transparent animate-spin" })] })) : null, children] }));
13
- });
14
- Button.displayName = "Button";
15
- export { Button };
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ const Button = React.forwardRef(({ className = '', variant = 'primary', isLoading, children, ...props }, ref) => {
4
+ // Core aesthetic premium styling (Glassmorphism & Modern UI)
5
+ const baseStyles = "inline-flex items-center justify-center rounded-lg text-sm font-medium transition-all duration-300 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 disabled:pointer-events-none disabled:opacity-50 h-10 px-4 py-2 cursor-pointer";
6
+ const variants = {
7
+ primary: "bg-blue-600 text-white hover:bg-blue-700 hover:shadow-[0_0_15px_rgba(37,99,235,0.5)] border border-transparent",
8
+ secondary: "bg-white/5 text-white hover:bg-white/10 backdrop-blur-md border border-white/10 hover:border-white/20 shadow-[0_4px_30px_rgba(0,0,0,0.1)]",
9
+ danger: "bg-red-500/80 text-white hover:bg-red-600 border border-red-500/50 hover:shadow-[0_0_15px_rgba(239,68,68,0.5)]",
10
+ ghost: "hover:bg-white/10 hover:text-white text-gray-300"
11
+ };
12
+ return (_jsxs("button", { ref: ref, className: `${baseStyles} ${variants[variant]} ${className}`, disabled: isLoading || props.disabled, ...props, children: [isLoading ? (_jsxs("span", { className: "mr-2 relative flex h-4 w-4", children: [_jsx("span", { className: "animate-ping absolute inline-flex h-full w-full rounded-full bg-white opacity-75" }), _jsx("span", { className: "relative inline-flex rounded-full h-4 w-4 bg-white/50 border-2 border-white border-t-transparent animate-spin" })] })) : null, children] }));
13
+ });
14
+ Button.displayName = "Button";
15
+ export { Button };
16
16
  //# sourceMappingURL=Button.js.map
@@ -1,6 +1,6 @@
1
- export interface GenderStatsBarProps {
2
- maleCount: number;
3
- femaleCount: number;
4
- }
5
- export declare function GenderStatsBar({ maleCount, femaleCount }: GenderStatsBarProps): import("react/jsx-runtime").JSX.Element;
1
+ export interface GenderStatsBarProps {
2
+ maleCount: number;
3
+ femaleCount: number;
4
+ }
5
+ export declare function GenderStatsBar({ maleCount, femaleCount }: GenderStatsBarProps): import("react/jsx-runtime").JSX.Element;
6
6
  //# sourceMappingURL=GenderStatsBar.d.ts.map
@@ -1,8 +1,8 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- export function GenderStatsBar({ maleCount = 50, femaleCount = 50 }) {
3
- const total = maleCount + femaleCount;
4
- const malePercentage = total > 0 ? Math.round((maleCount / total) * 100) : 0;
5
- const femalePercentage = total > 0 ? 100 - malePercentage : 0;
6
- return (_jsxs("div", { className: "w-full space-y-3", children: [_jsxs("div", { className: "flex justify-between items-end px-1", children: [_jsxs("div", { className: "flex items-center gap-2 text-blue-400", children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", className: "drop-shadow-[0_0_8px_rgba(59,130,246,0.6)]", children: [_jsx("circle", { cx: "10", cy: "14", r: "5" }), _jsx("line", { x1: "13.5", y1: "10.5", x2: "19", y2: "5" }), _jsx("polyline", { points: "14 5 19 5 19 10" })] }), _jsxs("span", { className: "font-extrabold text-xl tracking-tight", children: [malePercentage, "%"] }), _jsxs("span", { className: "text-gray-400 text-sm hidden sm:inline border-l border-white/10 pl-2 ml-1", children: ["Erkek \u00DCyeler (", maleCount.toLocaleString('tr-TR'), ")"] })] }), _jsxs("div", { className: "flex items-center gap-2 text-pink-400", children: [_jsxs("span", { className: "text-gray-400 text-sm hidden sm:inline border-r border-white/10 pr-2 mr-1 text-right", children: ["Kad\u0131n \u00DCyeler (", femaleCount.toLocaleString('tr-TR'), ")"] }), _jsxs("span", { className: "font-extrabold text-xl tracking-tight", children: [femalePercentage, "%"] }), _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", className: "drop-shadow-[0_0_8px_rgba(236,72,153,0.6)]", children: [_jsx("circle", { cx: "12", cy: "10", r: "5" }), _jsx("line", { x1: "12", y1: "15", x2: "12", y2: "22" }), _jsx("line", { x1: "9", y1: "19", x2: "15", y2: "19" })] })] })] }), _jsxs("div", { className: "w-full h-5 rounded-full bg-white/5 border border-white/10 flex overflow-hidden shadow-inner p-0.5 relative", children: [_jsx("div", { className: "absolute inset-0 bg-gradient-to-r from-blue-500/20 to-pink-500/20 blur-xl" }), _jsx("div", { className: "h-full bg-gradient-to-r from-blue-600 to-blue-400 shadow-[0_0_15px_rgba(59,130,246,0.8)] transition-all duration-[1500ms] cubic-bezier(0.4, 0, 0.2, 1) rounded-full z-10", style: { width: `${malePercentage}%` }, title: `Erkek: ${malePercentage}%` }), _jsx("div", { className: "h-full bg-gradient-to-r from-pink-400 to-pink-600 shadow-[0_0_15px_rgba(236,72,153,0.8)] transition-all duration-[1500ms] cubic-bezier(0.4, 0, 0.2, 1) rounded-full ml-1 z-10", style: { width: `calc(${femalePercentage}% - 4px)` }, title: `Kadın: ${femalePercentage}%` })] })] }));
7
- }
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export function GenderStatsBar({ maleCount = 50, femaleCount = 50 }) {
3
+ const total = maleCount + femaleCount;
4
+ const malePercentage = total > 0 ? Math.round((maleCount / total) * 100) : 0;
5
+ const femalePercentage = total > 0 ? 100 - malePercentage : 0;
6
+ return (_jsxs("div", { className: "w-full space-y-3", children: [_jsxs("div", { className: "flex justify-between items-end px-1", children: [_jsxs("div", { className: "flex items-center gap-2 text-blue-400", children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", className: "drop-shadow-[0_0_8px_rgba(59,130,246,0.6)]", children: [_jsx("circle", { cx: "10", cy: "14", r: "5" }), _jsx("line", { x1: "13.5", y1: "10.5", x2: "19", y2: "5" }), _jsx("polyline", { points: "14 5 19 5 19 10" })] }), _jsxs("span", { className: "font-extrabold text-xl tracking-tight", children: [malePercentage, "%"] }), _jsxs("span", { className: "text-gray-400 text-sm hidden sm:inline border-l border-white/10 pl-2 ml-1", children: ["Erkek \u00DCyeler (", maleCount.toLocaleString('tr-TR'), ")"] })] }), _jsxs("div", { className: "flex items-center gap-2 text-pink-400", children: [_jsxs("span", { className: "text-gray-400 text-sm hidden sm:inline border-r border-white/10 pr-2 mr-1 text-right", children: ["Kad\u0131n \u00DCyeler (", femaleCount.toLocaleString('tr-TR'), ")"] }), _jsxs("span", { className: "font-extrabold text-xl tracking-tight", children: [femalePercentage, "%"] }), _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", className: "drop-shadow-[0_0_8px_rgba(236,72,153,0.6)]", children: [_jsx("circle", { cx: "12", cy: "10", r: "5" }), _jsx("line", { x1: "12", y1: "15", x2: "12", y2: "22" }), _jsx("line", { x1: "9", y1: "19", x2: "15", y2: "19" })] })] })] }), _jsxs("div", { className: "w-full h-5 rounded-full bg-white/5 border border-white/10 flex overflow-hidden shadow-inner p-0.5 relative", children: [_jsx("div", { className: "absolute inset-0 bg-gradient-to-r from-blue-500/20 to-pink-500/20 blur-xl" }), _jsx("div", { className: "h-full bg-gradient-to-r from-blue-600 to-blue-400 shadow-[0_0_15px_rgba(59,130,246,0.8)] transition-all duration-[1500ms] cubic-bezier(0.4, 0, 0.2, 1) rounded-full z-10", style: { width: `${malePercentage}%` }, title: `Erkek: ${malePercentage}%` }), _jsx("div", { className: "h-full bg-gradient-to-r from-pink-400 to-pink-600 shadow-[0_0_15px_rgba(236,72,153,0.8)] transition-all duration-[1500ms] cubic-bezier(0.4, 0, 0.2, 1) rounded-full ml-1 z-10", style: { width: `calc(${femalePercentage}% - 4px)` }, title: `Kadın: ${femalePercentage}%` })] })] }));
7
+ }
8
8
  //# sourceMappingURL=GenderStatsBar.js.map
@@ -6,7 +6,7 @@ export function RollingNumber({ value, className = "" }) {
6
6
  useEffect(() => {
7
7
  setDigits(value.toString().split(''));
8
8
  }, [value]);
9
- return (_jsx("div", { className: `flex items-center overflow-hidden h-[1.2em] leading-[1.2em] ${className}`, children: digits.map((digit, idx) => (_jsx(Digit, { char: digit }, `${idx}-${digit}`))) }));
9
+ return (_jsx("div", { className: `flex items-baseline overflow-hidden h-[1.2em] leading-none ${className}`, children: digits.map((digit, idx) => (_jsx(Digit, { char: digit }, `${idx}-${digit}`))) }));
10
10
  }
11
11
  function Digit({ char }) {
12
12
  const isNumber = !isNaN(parseInt(char));
@@ -17,8 +17,8 @@ function Digit({ char }) {
17
17
  }
18
18
  }, [char, isNumber]);
19
19
  if (!isNumber) {
20
- return _jsx("span", { className: "inline-block transition-all duration-500", children: char });
20
+ return _jsx("span", { className: "inline-block transition-all duration-500 min-w-[0.2em] text-center", children: char });
21
21
  }
22
- return (_jsx("div", { className: "relative w-[0.6em] h-[1.2em] flex flex-col transition-transform duration-500 ease-out", style: { transform: `translateY(-${offset}%)` }, children: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map((n) => (_jsx("span", { className: "h-[1.2em] flex items-center justify-center shrink-0", children: n }, n))) }));
22
+ return (_jsx("div", { className: "relative w-[0.65em] h-[1.2em] flex flex-col transition-transform duration-500 ease-out shrink-0", style: { transform: `translateY(-${offset}%)` }, children: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map((n) => (_jsx("span", { className: "h-[1.2em] flex items-center justify-center shrink-0", children: n }, n))) }));
23
23
  }
24
24
  //# sourceMappingURL=RollingNumber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RollingNumber.js","sourceRoot":"","sources":["../../src/components/RollingNumber.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAOnD,MAAM,UAAU,aAAa,CAAC,EAAE,KAAK,EAAE,SAAS,GAAG,EAAE,EAAsB;IACzE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,cAAK,SAAS,EAAE,+DAA+D,SAAS,EAAE,YACvF,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAC1B,KAAC,KAAK,IAAyB,IAAI,EAAE,KAAK,IAA9B,GAAG,GAAG,IAAI,KAAK,EAAE,CAAiB,CAC/C,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,EAAE,IAAI,EAAoB;IACvC,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ,EAAE,CAAC;YACb,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,eAAM,SAAS,EAAC,0CAA0C,YAAE,IAAI,GAAQ,CAAC;IAClF,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,uFAAuF,EACjG,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,MAAM,IAAI,EAAE,YACjD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACzC,eAAc,SAAS,EAAC,qDAAqD,YAC1E,CAAC,IADO,CAAC,CAEL,CACR,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"RollingNumber.js","sourceRoot":"","sources":["../../src/components/RollingNumber.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAOnD,MAAM,UAAU,aAAa,CAAC,EAAE,KAAK,EAAE,SAAS,GAAG,EAAE,EAAsB;IACzE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,cAAK,SAAS,EAAE,8DAA8D,SAAS,EAAE,YACtF,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAC1B,KAAC,KAAK,IAAyB,IAAI,EAAE,KAAK,IAA9B,GAAG,GAAG,IAAI,KAAK,EAAE,CAAiB,CAC/C,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,EAAE,IAAI,EAAoB;IACvC,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ,EAAE,CAAC;YACb,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,eAAM,SAAS,EAAC,oEAAoE,YAAE,IAAI,GAAQ,CAAC;IAC5G,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,iGAAiG,EAC3G,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,MAAM,IAAI,EAAE,YACjD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACzC,eAAc,SAAS,EAAC,qDAAqD,YAC1E,CAAC,IADO,CAAC,CAEL,CACR,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -1,11 +1,11 @@
1
- import React from 'react';
2
- export interface SlideItem {
3
- wallpaper: string;
4
- content: React.ReactNode;
5
- }
6
- export interface SliderProps {
7
- slides?: SlideItem[];
8
- durationTime?: number;
9
- }
10
- export declare function Slider({ slides, durationTime }: SliderProps): import("react/jsx-runtime").JSX.Element | null;
1
+ import React from 'react';
2
+ export interface SlideItem {
3
+ wallpaper: string;
4
+ content: React.ReactNode;
5
+ }
6
+ export interface SliderProps {
7
+ slides?: SlideItem[];
8
+ durationTime?: number;
9
+ }
10
+ export declare function Slider({ slides, durationTime }: SliderProps): import("react/jsx-runtime").JSX.Element | null;
11
11
  //# sourceMappingURL=Slider.d.ts.map
@@ -1,36 +1,36 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useState, useEffect } from 'react';
4
- const defaultSlides = [
5
- {
6
- wallpaper: 'https://images.unsplash.com/photo-1542751371-adc38448a05e?q=80&w=2070&auto=format&fit=crop',
7
- content: (_jsxs("div", { className: "space-y-4", children: [_jsx("h2", { className: "text-4xl md:text-6xl font-black text-white drop-shadow-lg", children: "E-Spor Turnuvalar\u0131" }), _jsx("p", { className: "text-lg md:text-xl text-gray-200 drop-shadow-md font-medium", children: "Yeteneklerini g\u00F6ster ve devasa \u00F6d\u00FCl havuzundan pay\u0131n\u0131 al." })] }))
8
- },
9
- {
10
- wallpaper: 'https://images.unsplash.com/photo-1511512578047-dfb367046420?q=80&w=2071&auto=format&fit=crop',
11
- content: (_jsxs("div", { className: "space-y-4", children: [_jsx("h2", { className: "text-4xl md:text-6xl font-black text-white drop-shadow-lg", children: "ARMOYU Minecraft" }), _jsx("p", { className: "text-lg md:text-xl text-gray-200 drop-shadow-md font-medium", children: "Geli\u015Fmi\u015F eklentiler ve bitmeyen aksiyon mc.armoyu.com'da." })] }))
12
- },
13
- {
14
- wallpaper: 'https://images.unsplash.com/photo-1552820728-8b83bb6b773f?q=80&w=2070&auto=format&fit=crop',
15
- content: (_jsxs("div", { className: "space-y-4", children: [_jsx("h2", { className: "text-4xl md:text-6xl font-black text-white drop-shadow-lg", children: "B\u00FCy\u00FCk Topluluk" }), _jsx("p", { className: "text-lg md:text-xl text-gray-200 drop-shadow-md font-medium", children: "Binlerce oyuncuyla tan\u0131\u015F, ekibini kur ve rekabete kat\u0131l." })] }))
16
- }
17
- ];
18
- export function Slider({ slides = defaultSlides, durationTime = 5000 }) {
19
- const [currentIndex, setCurrentIndex] = useState(0);
20
- useEffect(() => {
21
- if (!slides || slides.length <= 1)
22
- return;
23
- const timer = setInterval(() => {
24
- setCurrentIndex((prev) => (prev + 1) % slides.length);
25
- }, durationTime);
26
- return () => clearInterval(timer);
27
- }, [slides, durationTime, currentIndex]);
28
- if (!slides || slides.length === 0)
29
- return null;
30
- return (_jsxs("div", { className: "relative w-full h-full min-h-[400px] md:min-h-[500px] rounded-[30px] overflow-hidden group shadow-2xl border border-white/5", children: [slides.map((slide, index) => (_jsxs("div", { className: `absolute inset-0 transition-opacity duration-1000 ease-in-out ${index === currentIndex ? 'opacity-100 z-10' : 'opacity-0 z-0'}`, children: [_jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-[#0a0a0e] via-black/40 to-transparent z-10" }), _jsx("img", { src: slide.wallpaper, alt: `Slide ${index}`, className: "absolute inset-0 w-full h-full object-cover transition-transform duration-[10000ms] ease-linear overflow-hidden", style: {
31
- transform: index === currentIndex ? 'scale(1.05)' : 'scale(1)',
32
- } }), _jsx("div", { className: "absolute inset-0 z-20 flex flex-col justify-end pb-20 px-8 lg:px-16 text-left max-w-7xl mx-auto", children: _jsx("div", { className: `transition-all duration-700 transform ${index === currentIndex ? 'translate-y-0 opacity-100' : 'translate-y-8 opacity-0'}`, children: slide.content }) })] }, index))), _jsx("div", { className: "absolute bottom-6 left-0 right-0 z-20 flex justify-center px-8 lg:px-16 max-w-7xl mx-auto", children: _jsx("div", { className: "flex gap-3 w-full", children: slides.map((_, index) => (_jsxs("div", { className: "h-1 lg:h-1.5 flex-1 bg-white/20 rounded-full overflow-hidden cursor-pointer backdrop-blur-sm transition-all hover:bg-white/40", onClick: () => setCurrentIndex(index), children: [index === currentIndex && (_jsx("div", { className: "h-full bg-blue-500 rounded-full shadow-[0_0_10px_rgba(59,130,246,0.8)]", style: {
33
- animation: `progressBar ${durationTime}ms linear forwards`
34
- } }, `progress-${currentIndex}`)), index < currentIndex && (_jsx("div", { className: "h-full bg-white/60 rounded-full" }))] }, index))) }) })] }));
35
- }
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState, useEffect } from 'react';
4
+ const defaultSlides = [
5
+ {
6
+ wallpaper: 'https://images.unsplash.com/photo-1542751371-adc38448a05e?q=80&w=2070&auto=format&fit=crop',
7
+ content: (_jsxs("div", { className: "space-y-4", children: [_jsx("h2", { className: "text-4xl md:text-6xl font-black text-white drop-shadow-lg", children: "E-Spor Turnuvalar\u0131" }), _jsx("p", { className: "text-lg md:text-xl text-gray-200 drop-shadow-md font-medium", children: "Yeteneklerini g\u00F6ster ve devasa \u00F6d\u00FCl havuzundan pay\u0131n\u0131 al." })] }))
8
+ },
9
+ {
10
+ wallpaper: 'https://images.unsplash.com/photo-1511512578047-dfb367046420?q=80&w=2071&auto=format&fit=crop',
11
+ content: (_jsxs("div", { className: "space-y-4", children: [_jsx("h2", { className: "text-4xl md:text-6xl font-black text-white drop-shadow-lg", children: "ARMOYU Minecraft" }), _jsx("p", { className: "text-lg md:text-xl text-gray-200 drop-shadow-md font-medium", children: "Geli\u015Fmi\u015F eklentiler ve bitmeyen aksiyon mc.armoyu.com'da." })] }))
12
+ },
13
+ {
14
+ wallpaper: 'https://images.unsplash.com/photo-1552820728-8b83bb6b773f?q=80&w=2070&auto=format&fit=crop',
15
+ content: (_jsxs("div", { className: "space-y-4", children: [_jsx("h2", { className: "text-4xl md:text-6xl font-black text-white drop-shadow-lg", children: "B\u00FCy\u00FCk Topluluk" }), _jsx("p", { className: "text-lg md:text-xl text-gray-200 drop-shadow-md font-medium", children: "Binlerce oyuncuyla tan\u0131\u015F, ekibini kur ve rekabete kat\u0131l." })] }))
16
+ }
17
+ ];
18
+ export function Slider({ slides = defaultSlides, durationTime = 5000 }) {
19
+ const [currentIndex, setCurrentIndex] = useState(0);
20
+ useEffect(() => {
21
+ if (!slides || slides.length <= 1)
22
+ return;
23
+ const timer = setInterval(() => {
24
+ setCurrentIndex((prev) => (prev + 1) % slides.length);
25
+ }, durationTime);
26
+ return () => clearInterval(timer);
27
+ }, [slides, durationTime, currentIndex]);
28
+ if (!slides || slides.length === 0)
29
+ return null;
30
+ return (_jsxs("div", { className: "relative w-full h-full min-h-[400px] md:min-h-[500px] rounded-[30px] overflow-hidden group shadow-2xl border border-white/5", children: [slides.map((slide, index) => (_jsxs("div", { className: `absolute inset-0 transition-opacity duration-1000 ease-in-out ${index === currentIndex ? 'opacity-100 z-10' : 'opacity-0 z-0'}`, children: [_jsx("div", { className: "absolute inset-0 bg-gradient-to-t from-[#0a0a0e] via-black/40 to-transparent z-10" }), _jsx("img", { src: slide.wallpaper, alt: `Slide ${index}`, className: "absolute inset-0 w-full h-full object-cover transition-transform duration-[10000ms] ease-linear overflow-hidden", style: {
31
+ transform: index === currentIndex ? 'scale(1.05)' : 'scale(1)',
32
+ } }), _jsx("div", { className: "absolute inset-0 z-20 flex flex-col justify-end pb-20 px-8 lg:px-16 text-left max-w-7xl mx-auto", children: _jsx("div", { className: `transition-all duration-700 transform ${index === currentIndex ? 'translate-y-0 opacity-100' : 'translate-y-8 opacity-0'}`, children: slide.content }) })] }, index))), _jsx("div", { className: "absolute bottom-6 left-0 right-0 z-20 flex justify-center px-8 lg:px-16 max-w-7xl mx-auto", children: _jsx("div", { className: "flex gap-3 w-full", children: slides.map((_, index) => (_jsxs("div", { className: "h-1 lg:h-1.5 flex-1 bg-white/20 rounded-full overflow-hidden cursor-pointer backdrop-blur-sm transition-all hover:bg-white/40", onClick: () => setCurrentIndex(index), children: [index === currentIndex && (_jsx("div", { className: "h-full bg-blue-500 rounded-full shadow-[0_0_10px_rgba(59,130,246,0.8)]", style: {
33
+ animation: `progressBar ${durationTime}ms linear forwards`
34
+ } }, `progress-${currentIndex}`)), index < currentIndex && (_jsx("div", { className: "h-full bg-white/60 rounded-full" }))] }, index))) }) })] }));
35
+ }
36
36
  //# sourceMappingURL=Slider.js.map
@@ -1,6 +1,6 @@
1
- import { GlobalStats } from "@armoyu/core";
2
- export interface StatsGridProps {
3
- stats: GlobalStats;
4
- }
5
- export declare function StatsGrid({ stats }: StatsGridProps): import("react/jsx-runtime").JSX.Element;
1
+ import { GlobalStats } from "@armoyu/core";
2
+ export interface StatsGridProps {
3
+ stats: GlobalStats;
4
+ }
5
+ export declare function StatsGrid({ stats }: StatsGridProps): import("react/jsx-runtime").JSX.Element;
6
6
  //# sourceMappingURL=StatsGrid.d.ts.map
@@ -1,14 +1,14 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- export function StatsGrid({ stats }) {
4
- const statItems = [
5
- { label: 'Toplam Oyuncu', value: stats.totalPlayers.toLocaleString('tr-TR'), icon: '🎮', color: 'text-blue-400' },
6
- { label: 'Aktif Kullanıcı (24s)', value: stats.activeUsers24h.toLocaleString('tr-TR'), icon: '🔥', color: 'text-orange-400' },
7
- { label: 'Açılan Forum', value: stats.totalForums.toLocaleString('tr-TR'), icon: '💬', color: 'text-purple-400' },
8
- { label: 'Oynanan Maç', value: stats.totalMatchesPlayed.toLocaleString('tr-TR'), icon: '⚔️', color: 'text-red-400' },
9
- { label: 'Kurulan Grup', value: stats.totalGuilds.toLocaleString('tr-TR'), icon: '🛡️', color: 'text-yellow-400' },
10
- { label: 'Düzenlenen Anket', value: stats.totalPolls.toLocaleString('tr-TR'), icon: '📊', color: 'text-emerald-400' },
11
- ];
12
- return (_jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4", children: statItems.map((item, idx) => (_jsxs("div", { className: "bg-white/5 p-4 flex items-center gap-4 rounded-2xl border border-white/5 hover:bg-white/10 transition-colors shadow-lg hover:-translate-y-1 duration-300 cursor-default", children: [_jsx("div", { className: "text-3xl bg-[#0a0a0e]/50 p-3 rounded-xl border border-white/10 shadow-inner", children: item.icon }), _jsxs("div", { children: [_jsx("p", { className: "text-gray-400 text-sm font-medium", children: item.label }), _jsx("p", { className: `text-2xl font-black tracking-tight ${item.color}`, children: item.value })] })] }, idx))) }));
13
- }
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ export function StatsGrid({ stats }) {
4
+ const statItems = [
5
+ { label: 'Toplam Oyuncu', value: stats.totalPlayers.toLocaleString('tr-TR'), icon: '🎮', color: 'text-blue-400' },
6
+ { label: 'Aktif Kullanıcı (24s)', value: stats.activeUsers24h.toLocaleString('tr-TR'), icon: '🔥', color: 'text-orange-400' },
7
+ { label: 'Açılan Forum', value: stats.totalForums.toLocaleString('tr-TR'), icon: '💬', color: 'text-purple-400' },
8
+ { label: 'Oynanan Maç', value: stats.totalMatchesPlayed.toLocaleString('tr-TR'), icon: '⚔️', color: 'text-red-400' },
9
+ { label: 'Kurulan Grup', value: stats.totalGuilds.toLocaleString('tr-TR'), icon: '🛡️', color: 'text-yellow-400' },
10
+ { label: 'Düzenlenen Anket', value: stats.totalPolls.toLocaleString('tr-TR'), icon: '📊', color: 'text-emerald-400' },
11
+ ];
12
+ return (_jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4", children: statItems.map((item, idx) => (_jsxs("div", { className: "bg-white/5 p-4 flex items-center gap-4 rounded-2xl border border-white/5 hover:bg-white/10 transition-colors shadow-lg hover:-translate-y-1 duration-300 cursor-default", children: [_jsx("div", { className: "text-3xl bg-[#0a0a0e]/50 p-3 rounded-xl border border-white/10 shadow-inner", children: item.icon }), _jsxs("div", { children: [_jsx("p", { className: "text-gray-400 text-sm font-medium", children: item.label }), _jsx("p", { className: `text-2xl font-black tracking-tight ${item.color}`, children: item.value })] })] }, idx))) }));
13
+ }
14
14
  //# sourceMappingURL=StatsGrid.js.map
@@ -1,8 +1,8 @@
1
- export type ViewMode = 'grid' | 'table';
2
- interface ViewModeToggleProps {
3
- mode: ViewMode;
4
- onChange: (mode: ViewMode) => void;
5
- }
6
- export declare function ViewModeToggle({ mode, onChange }: ViewModeToggleProps): import("react/jsx-runtime").JSX.Element;
7
- export {};
1
+ export type ViewMode = 'grid' | 'table';
2
+ interface ViewModeToggleProps {
3
+ mode: ViewMode;
4
+ onChange: (mode: ViewMode) => void;
5
+ }
6
+ export declare function ViewModeToggle({ mode, onChange }: ViewModeToggleProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
8
  //# sourceMappingURL=ViewModeToggle.d.ts.map
@@ -1,10 +1,10 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- export function ViewModeToggle({ mode, onChange }) {
4
- return (_jsxs("div", { className: "flex bg-black/5 dark:bg-white/5 p-1 rounded-2xl border border-black/5 dark:border-white/5 shadow-inner", children: [_jsx("button", { onClick: () => onChange('grid'), className: `p-2.5 rounded-xl transition-all ${mode === 'grid'
5
- ? 'bg-white dark:bg-blue-600 text-blue-600 dark:text-white shadow-lg'
6
- : 'text-gray-400 hover:text-white hover:bg-black/5 dark:hover:bg-white/5'}`, title: "Izgara G\u00F6r\u00FCn\u00FCm\u00FC", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "3", y: "3", width: "7", height: "7" }), _jsx("rect", { x: "14", y: "3", width: "7", height: "7" }), _jsx("rect", { x: "14", y: "14", width: "7", height: "7" }), _jsx("rect", { x: "3", y: "14", width: "7", height: "7" })] }) }), _jsx("button", { onClick: () => onChange('table'), className: `p-2.5 rounded-xl transition-all ${mode === 'table'
7
- ? 'bg-white dark:bg-blue-600 text-blue-600 dark:text-white shadow-lg'
8
- : 'text-gray-400 hover:text-white hover:bg-black/5 dark:hover:bg-white/5'}`, title: "Tablo G\u00F6r\u00FCn\u00FCm\u00FC", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "8", y1: "6", x2: "21", y2: "6" }), _jsx("line", { x1: "8", y1: "12", x2: "21", y2: "12" }), _jsx("line", { x1: "8", y1: "18", x2: "21", y2: "18" }), _jsx("line", { x1: "3", y1: "6", x2: "3.01", y2: "6" }), _jsx("line", { x1: "3", y1: "12", x2: "3.01", y2: "12" }), _jsx("line", { x1: "3", y1: "18", x2: "3.01", y2: "18" })] }) })] }));
9
- }
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ export function ViewModeToggle({ mode, onChange }) {
4
+ return (_jsxs("div", { className: "flex bg-black/5 dark:bg-white/5 p-1 rounded-2xl border border-black/5 dark:border-white/5 shadow-inner", children: [_jsx("button", { onClick: () => onChange('grid'), className: `p-2.5 rounded-xl transition-all ${mode === 'grid'
5
+ ? 'bg-white dark:bg-blue-600 text-blue-600 dark:text-white shadow-lg'
6
+ : 'text-gray-400 hover:text-white hover:bg-black/5 dark:hover:bg-white/5'}`, title: "Izgara G\u00F6r\u00FCn\u00FCm\u00FC", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "3", y: "3", width: "7", height: "7" }), _jsx("rect", { x: "14", y: "3", width: "7", height: "7" }), _jsx("rect", { x: "14", y: "14", width: "7", height: "7" }), _jsx("rect", { x: "3", y: "14", width: "7", height: "7" })] }) }), _jsx("button", { onClick: () => onChange('table'), className: `p-2.5 rounded-xl transition-all ${mode === 'table'
7
+ ? 'bg-white dark:bg-blue-600 text-blue-600 dark:text-white shadow-lg'
8
+ : 'text-gray-400 hover:text-white hover:bg-black/5 dark:hover:bg-white/5'}`, title: "Tablo G\u00F6r\u00FCn\u00FCm\u00FC", children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "8", y1: "6", x2: "21", y2: "6" }), _jsx("line", { x1: "8", y1: "12", x2: "21", y2: "12" }), _jsx("line", { x1: "8", y1: "18", x2: "21", y2: "18" }), _jsx("line", { x1: "3", y1: "6", x2: "3.01", y2: "6" }), _jsx("line", { x1: "3", y1: "12", x2: "3.01", y2: "12" }), _jsx("line", { x1: "3", y1: "18", x2: "3.01", y2: "18" })] }) })] }));
9
+ }
10
10
  //# sourceMappingURL=ViewModeToggle.js.map
@@ -1,2 +1,2 @@
1
- export declare function Dashboard(): import("react/jsx-runtime").JSX.Element;
1
+ export declare function Dashboard(): import("react/jsx-runtime").JSX.Element;
2
2
  //# sourceMappingURL=Dashboard.d.ts.map