@armoyu/ui 1.0.0 → 1.0.2

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 (182) hide show
  1. package/dist/app/api/proxy/[...path]/route.d.ts +22 -0
  2. package/dist/app/api/proxy/[...path]/route.d.ts.map +1 -0
  3. package/dist/app/api/proxy/[...path]/route.js +89 -0
  4. package/dist/app/api/proxy/[...path]/route.js.map +1 -0
  5. package/dist/app/layout.js +11 -11
  6. package/dist/components/Button.d.ts +7 -7
  7. package/dist/components/Button.js +15 -15
  8. package/dist/components/GenderStatsBar.d.ts +5 -5
  9. package/dist/components/GenderStatsBar.js +7 -7
  10. package/dist/components/RollingNumber.d.ts +6 -6
  11. package/dist/components/RollingNumber.js +23 -23
  12. package/dist/components/Slider.d.ts +10 -10
  13. package/dist/components/Slider.js +35 -35
  14. package/dist/components/StatsGrid.js +13 -13
  15. package/dist/components/ViewModeToggle.d.ts +7 -7
  16. package/dist/components/ViewModeToggle.js +9 -9
  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.js +112 -112
  21. package/dist/components/modules/auth/PostInteractionsModal.js +12 -12
  22. package/dist/components/modules/auth/RepostModal.js +75 -75
  23. package/dist/components/modules/auth/SidebarLeft.js +40 -40
  24. package/dist/components/modules/auth/Stories.js +15 -15
  25. package/dist/components/modules/auth/StoryViewer.js +47 -47
  26. package/dist/components/modules/chat/ChatContainer.js +196 -196
  27. package/dist/components/modules/chat/ChatInput.js +30 -30
  28. package/dist/components/modules/chat/ChatList.js +51 -51
  29. package/dist/components/modules/chat/ChatMessage.d.ts +11 -11
  30. package/dist/components/modules/chat/ChatMessage.js +6 -6
  31. package/dist/components/modules/chat/ChatNotes.js +11 -11
  32. package/dist/components/modules/community/GroupHeader.js +17 -17
  33. package/dist/components/modules/community/GroupMenu.js +16 -16
  34. package/dist/components/modules/community/SchoolCard.js +7 -7
  35. package/dist/components/modules/community/SurveyCard.js +35 -35
  36. package/dist/components/modules/forum/ForumBoard.d.ts +16 -16
  37. package/dist/components/modules/forum/ForumBoard.js +6 -6
  38. package/dist/components/modules/forum/ForumPost.d.ts +13 -13
  39. package/dist/components/modules/forum/ForumPost.js +5 -5
  40. package/dist/components/modules/forum/NewTopicModal.d.ts +7 -7
  41. package/dist/components/modules/forum/NewTopicModal.js +26 -26
  42. package/dist/components/modules/forum/TopicItem.d.ts +15 -15
  43. package/dist/components/modules/forum/TopicItem.js +6 -6
  44. package/dist/components/modules/galleries/GalleryCard.d.ts +9 -9
  45. package/dist/components/modules/galleries/GalleryCard.js +5 -5
  46. package/dist/components/modules/giveaways/GiveawayCard.d.ts +9 -9
  47. package/dist/components/modules/giveaways/GiveawayCard.js +6 -6
  48. package/dist/components/modules/groups/ApplicationModal.d.ts +7 -7
  49. package/dist/components/modules/groups/ApplicationModal.js +27 -27
  50. package/dist/components/modules/groups/GroupCard.d.ts +12 -12
  51. package/dist/components/modules/groups/GroupCard.js +6 -6
  52. package/dist/components/modules/guest/Introduction.js +13 -13
  53. package/dist/components/modules/magaza/BackToStore.js +10 -10
  54. package/dist/components/modules/magaza/StoreHeader.js +8 -8
  55. package/dist/components/modules/news/NewsCard.js +6 -6
  56. package/dist/components/modules/news/NewsComments.js +52 -52
  57. package/dist/components/modules/profile/CloudStorageModal.d.ts +8 -8
  58. package/dist/components/modules/profile/CloudStorageModal.js +31 -31
  59. package/dist/components/modules/profile/EditProfileModal.d.ts +8 -8
  60. package/dist/components/modules/profile/EditProfileModal.js +27 -27
  61. package/dist/components/modules/profile/ProfileContent.js +70 -70
  62. package/dist/components/modules/profile/ProfileHeader.js +19 -19
  63. package/dist/components/modules/profile/ProfileStats.d.ts +1 -1
  64. package/dist/components/modules/profile/ProfileStats.js +14 -14
  65. package/dist/components/modules/profile/TeamSelectorModal.js +16 -16
  66. package/dist/components/modules/stations/StationCard.js +25 -25
  67. package/dist/components/modules/stations/StationQRModal.js +12 -12
  68. package/dist/components/shared/FloatingChatButton.js +20 -20
  69. package/dist/components/shared/Footer.d.ts +1 -1
  70. package/dist/components/shared/Footer.js +9 -9
  71. package/dist/components/shared/Header.js +97 -97
  72. package/dist/components/shared/LoginModal.d.ts.map +1 -1
  73. package/dist/components/shared/LoginModal.js +12 -16
  74. package/dist/components/shared/LoginModal.js.map +1 -1
  75. package/dist/components/shared/MainLayoutWrapper.js +7 -7
  76. package/dist/components/shared/PageWidth.d.ts +5 -5
  77. package/dist/components/shared/PageWidth.js +13 -13
  78. package/dist/components/showcase/SocialTab.d.ts.map +1 -1
  79. package/dist/components/showcase/SocialTab.js +47 -2
  80. package/dist/components/showcase/SocialTab.js.map +1 -1
  81. package/dist/context/AuthContext.d.ts +1 -1
  82. package/dist/context/AuthContext.d.ts.map +1 -1
  83. package/dist/context/AuthContext.js +52 -33
  84. package/dist/context/AuthContext.js.map +1 -1
  85. package/dist/context/CartContext.js +63 -63
  86. package/dist/context/ChatContext.d.ts +12 -12
  87. package/dist/context/ChatContext.js +17 -17
  88. package/dist/context/LayoutContext.d.ts +10 -10
  89. package/dist/context/LayoutContext.js +16 -16
  90. package/dist/context/SocketContext.js +30 -30
  91. package/dist/context/ThemeContext.d.ts +10 -10
  92. package/dist/context/ThemeContext.js +39 -39
  93. package/dist/index.js +80 -80
  94. package/dist/lib/constants/educationData.js +117 -117
  95. package/dist/lib/constants/punishmentData.d.ts +29 -29
  96. package/dist/lib/constants/punishmentData.js +183 -183
  97. package/dist/lib/constants/seedData.js +694 -694
  98. package/dist/lib/constants/stationData.js +166 -166
  99. package/dist/lib/constants/surveyData.js +49 -49
  100. package/dist/lib/constants/teamData.js +65 -65
  101. package/dist/types/stats.d.ts +17 -17
  102. package/dist/types/stats.js +1 -1
  103. package/package.json +47 -46
  104. package/src/globals.css +187 -187
  105. package/next.config.ts +0 -13
  106. package/postcss.config.js +0 -6
  107. package/src/app/layout.tsx +0 -64
  108. package/src/app/page.tsx +0 -101
  109. package/src/components/Button.tsx +0 -41
  110. package/src/components/GenderStatsBar.tsx +0 -66
  111. package/src/components/RollingNumber.tsx +0 -50
  112. package/src/components/Slider.tsx +0 -114
  113. package/src/components/StatsGrid.tsx +0 -35
  114. package/src/components/ViewModeToggle.tsx +0 -39
  115. package/src/components/modules/auth/Dashboard.tsx +0 -649
  116. package/src/components/modules/auth/MediaLightbox.tsx +0 -112
  117. package/src/components/modules/auth/PostCard.tsx +0 -556
  118. package/src/components/modules/auth/PostInteractionsModal.tsx +0 -138
  119. package/src/components/modules/auth/RepostModal.tsx +0 -167
  120. package/src/components/modules/auth/SidebarLeft.tsx +0 -237
  121. package/src/components/modules/auth/Stories.tsx +0 -69
  122. package/src/components/modules/auth/StoryViewer.tsx +0 -146
  123. package/src/components/modules/chat/ChatContainer.tsx +0 -332
  124. package/src/components/modules/chat/ChatInput.tsx +0 -57
  125. package/src/components/modules/chat/ChatList.tsx +0 -179
  126. package/src/components/modules/chat/ChatMessage.tsx +0 -43
  127. package/src/components/modules/chat/ChatNotes.tsx +0 -58
  128. package/src/components/modules/community/GroupHeader.tsx +0 -111
  129. package/src/components/modules/community/GroupMenu.tsx +0 -82
  130. package/src/components/modules/community/SchoolCard.tsx +0 -104
  131. package/src/components/modules/community/SurveyCard.tsx +0 -149
  132. package/src/components/modules/forum/ForumBoard.tsx +0 -78
  133. package/src/components/modules/forum/ForumPost.tsx +0 -71
  134. package/src/components/modules/forum/NewTopicModal.tsx +0 -112
  135. package/src/components/modules/forum/TopicItem.tsx +0 -72
  136. package/src/components/modules/galleries/GalleryCard.tsx +0 -66
  137. package/src/components/modules/giveaways/GiveawayCard.tsx +0 -76
  138. package/src/components/modules/groups/ApplicationModal.tsx +0 -133
  139. package/src/components/modules/groups/GroupCard.tsx +0 -96
  140. package/src/components/modules/guest/Introduction.tsx +0 -60
  141. package/src/components/modules/magaza/BackToStore.tsx +0 -53
  142. package/src/components/modules/magaza/StoreHeader.tsx +0 -74
  143. package/src/components/modules/news/NewsCard.tsx +0 -66
  144. package/src/components/modules/news/NewsComments.tsx +0 -141
  145. package/src/components/modules/profile/CloudStorageModal.tsx +0 -200
  146. package/src/components/modules/profile/EditProfileModal.tsx +0 -191
  147. package/src/components/modules/profile/ProfileContent.tsx +0 -491
  148. package/src/components/modules/profile/ProfileHeader.tsx +0 -128
  149. package/src/components/modules/profile/ProfileStats.tsx +0 -72
  150. package/src/components/modules/profile/TeamSelectorModal.tsx +0 -129
  151. package/src/components/modules/stations/StationCard.tsx +0 -95
  152. package/src/components/modules/stations/StationQRModal.tsx +0 -102
  153. package/src/components/shared/FloatingChatButton.tsx +0 -57
  154. package/src/components/shared/Footer.tsx +0 -77
  155. package/src/components/shared/Header.tsx +0 -799
  156. package/src/components/shared/LoginModal.tsx +0 -208
  157. package/src/components/shared/MainLayoutWrapper.tsx +0 -15
  158. package/src/components/shared/PageWidth.tsx +0 -22
  159. package/src/components/showcase/CommunityTab.tsx +0 -22
  160. package/src/components/showcase/CorporateTab.tsx +0 -38
  161. package/src/components/showcase/GeneralTab.tsx +0 -41
  162. package/src/components/showcase/MessagesTab.tsx +0 -26
  163. package/src/components/showcase/ProfileTab.tsx +0 -20
  164. package/src/components/showcase/ShopTab.tsx +0 -24
  165. package/src/components/showcase/SocialTab.tsx +0 -28
  166. package/src/context/AuthContext.tsx +0 -104
  167. package/src/context/CartContext.tsx +0 -93
  168. package/src/context/ChatContext.tsx +0 -32
  169. package/src/context/LayoutContext.tsx +0 -29
  170. package/src/context/SocketContext.tsx +0 -50
  171. package/src/context/ThemeContext.tsx +0 -52
  172. package/src/index.ts +0 -96
  173. package/src/lib/constants/educationData.ts +0 -124
  174. package/src/lib/constants/punishmentData.ts +0 -201
  175. package/src/lib/constants/seedData.ts +0 -758
  176. package/src/lib/constants/stationData.ts +0 -170
  177. package/src/lib/constants/surveyData.ts +0 -53
  178. package/src/lib/constants/teamData.ts +0 -69
  179. package/src/lib/utils/numberFormat.ts +0 -16
  180. package/src/lib/utils/odpUtils.ts +0 -51
  181. package/src/types/index.ts +0 -1
  182. package/src/types/stats.ts +0 -17
@@ -1 +1 @@
1
- {"version":3,"file":"SocialTab.js","sourceRoot":"","sources":["../../../src/components/showcase/SocialTab.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,eAAe,EACf,OAAO,EACP,QAAQ,EACR,QAAQ,EACT,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,SAAS;IACvB,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEzC,OAAO,CACL,eAAK,SAAS,EAAC,YAAY,aACxB,aAAI,SAAS,EAAC,yFAAyF,qCAAqB,EAC5H,eAAK,SAAS,EAAC,wCAAwC,aACpD,gBAAO,SAAS,EAAC,eAAe,YAC7B,KAAC,eAAe,KAAG,GACd,EACR,eAAK,SAAS,EAAC,yBAAyB,aACrC,KAAC,OAAO,KAAG,EACX,cAAK,SAAS,EAAC,uCAAuC,YAClD,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAC,QAAQ,OAAmB,IAAI,IAAjB,IAAI,CAAC,EAAE,CAAc,CAAC,GAC3D,IACH,IACH,IACH,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"SocialTab.js","sourceRoot":"","sources":["../../../src/components/showcase/SocialTab.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { User, Session } from '@armoyu/core';
3
3
  interface AuthContextType {
4
4
  user: User | null;
5
5
  session: Session | null;
6
- login: (userData: User) => void;
6
+ login: (username: string, password: string) => Promise<void>;
7
7
  logout: () => void;
8
8
  isLoading: boolean;
9
9
  isLoginModalOpen: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"AuthContext.d.ts","sourceRoot":"","sources":["../../src/context/AuthContext.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI7C,UAAU,eAAe;IACvB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,UAAU,EAAE,CAAC,WAAW,EAAE,IAAI,KAAK,IAAI,CAAC;IACxC,aAAa,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AAID,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAyEvE;AAED,wBAAgB,OAAO,oBAMtB"}
1
+ {"version":3,"file":"AuthContext.d.ts","sourceRoot":"","sources":["../../src/context/AuthContext.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAU,MAAM,cAAc,CAAC;AAErD,UAAU,eAAe;IACvB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,UAAU,EAAE,CAAC,WAAW,EAAE,IAAI,KAAK,IAAI,CAAC;IACxC,aAAa,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AAID,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CA+FvE;AAED,wBAAgB,OAAO,oBAMtB"}
@@ -1,8 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { createContext, useContext, useState, useEffect } from 'react';
4
- import { Session } from '@armoyu/core';
5
- import { userList, MOCK_SESSION } from '../lib/constants/seedData';
4
+ import { Session, armoyu } from '@armoyu/core';
6
5
  const AuthContext = createContext(undefined);
7
6
  export function AuthProvider({ children }) {
8
7
  const [user, setUser] = useState(null);
@@ -10,49 +9,56 @@ export function AuthProvider({ children }) {
10
9
  const [isLoading, setIsLoading] = useState(true);
11
10
  const [isLoginModalOpen, setIsLoginModalOpen] = useState(false);
12
11
  useEffect(() => {
13
- // Check local storage for persistent login
14
- const savedUserStr = localStorage.getItem('armoyu_user');
15
- if (savedUserStr) {
16
- try {
17
- const savedData = JSON.parse(savedUserStr);
18
- const username = savedData.username;
19
- // Find user in seedData to maintain all object references
20
- const foundUser = userList.find((u) => u.username === username);
21
- if (foundUser) {
22
- setUser(foundUser);
23
- // If it's Berkay, use the mock session with notifications
24
- if (username === 'berkaytikenoglu') {
25
- setSession(MOCK_SESSION);
12
+ async function restoreSession() {
13
+ // Check local storage for persistent token
14
+ const token = localStorage.getItem('armoyu_token');
15
+ if (token) {
16
+ try {
17
+ // Set token in core API client
18
+ armoyu.setToken(token);
19
+ // Request current user profile from real API
20
+ const me = await armoyu.auth.me();
21
+ if (me) {
22
+ setUser(me);
23
+ setSession(new Session({ user: me, token }));
24
+ console.log('[AuthContext] Session restored for:', me.username);
26
25
  }
27
26
  else {
28
- setSession(new Session({ user: foundUser, token: 'mock-token' }));
27
+ // Token might be expired or invalid
28
+ localStorage.removeItem('armoyu_token');
29
+ armoyu.setToken(null);
29
30
  }
30
31
  }
32
+ catch (e) {
33
+ console.error('[AuthContext] Failed to restore session:', e);
34
+ localStorage.removeItem('armoyu_token');
35
+ armoyu.setToken(null);
36
+ }
31
37
  }
32
- catch (e) {
33
- console.error('Failed to restore session', e);
34
- localStorage.removeItem('armoyu_user');
35
- }
38
+ setIsLoading(false);
36
39
  }
37
- // Explicitly set loading to false AFTER the check
38
- setIsLoading(false);
40
+ restoreSession();
39
41
  }, []);
40
- const login = (userData) => {
41
- setUser(userData);
42
- // Handle session initialization
43
- if (userData.username === 'berkaytikenoglu') {
44
- setSession(MOCK_SESSION);
42
+ const login = async (username, password) => {
43
+ try {
44
+ // Real API login via core library
45
+ const { user: loggedInUser, session: newSession } = await armoyu.auth.login(username, password);
46
+ setUser(loggedInUser);
47
+ setSession(newSession);
48
+ // Token is automatically stored in localStorage by armoyu.auth.login()
49
+ // but we ensure it matches our expectations
50
+ console.log('[AuthContext] Login successful for:', loggedInUser.username);
51
+ setIsLoginModalOpen(false);
45
52
  }
46
- else {
47
- setSession(new Session({ user: userData, token: 'mock-token' }));
53
+ catch (error) {
54
+ console.error('[AuthContext] Login failed:', error);
55
+ throw error; // Let the component handle the error UI
48
56
  }
49
- localStorage.setItem('armoyu_user', JSON.stringify({ username: userData.username }));
50
- setIsLoginModalOpen(false); // Close modal on success
51
57
  };
52
58
  const logout = () => {
59
+ armoyu.auth.logout(); // Clears internal state and localStorage
53
60
  setUser(null);
54
61
  setSession(null);
55
- localStorage.removeItem('armoyu_user');
56
62
  };
57
63
  const updateUser = (updatedUser) => {
58
64
  setUser(updatedUser);
@@ -62,8 +68,21 @@ export function AuthProvider({ children }) {
62
68
  };
63
69
  const updateSession = (updatedSession) => {
64
70
  setSession(updatedSession);
71
+ if (updatedSession.token) {
72
+ armoyu.setToken(updatedSession.token);
73
+ }
65
74
  };
66
- return (_jsx(AuthContext.Provider, { value: { user, session, login, logout, isLoading, isLoginModalOpen, setIsLoginModalOpen, updateUser, updateSession }, children: children }));
75
+ return (_jsx(AuthContext.Provider, { value: {
76
+ user,
77
+ session,
78
+ login,
79
+ logout,
80
+ isLoading,
81
+ isLoginModalOpen,
82
+ setIsLoginModalOpen,
83
+ updateUser,
84
+ updateSession
85
+ }, children: children }));
67
86
  }
68
87
  export function useAuth() {
69
88
  const context = useContext(AuthContext);
@@ -1 +1 @@
1
- {"version":3,"file":"AuthContext.js","sourceRoot":"","sources":["../../src/context/AuthContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthContext.js","sourceRoot":"","sources":["../../src/context/AuthContext.tsx"],"names":[],"mappings":"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"}
@@ -1,64 +1,64 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { createContext, useContext, useState, useEffect } from 'react';
4
- import { CartItem } from '@armoyu/core';
5
- const CartContext = createContext(undefined);
6
- export function CartProvider({ children }) {
7
- const [cart, setCart] = useState([]);
8
- // Load cart from localStorage on mount
9
- useEffect(() => {
10
- const savedCart = localStorage.getItem('armoyu_cart');
11
- if (savedCart) {
12
- try {
13
- const parsed = JSON.parse(savedCart);
14
- setCart(parsed.map((i) => CartItem.fromJSON(i)));
15
- }
16
- catch (e) {
17
- console.error('Failed to parse cart', e);
18
- }
19
- }
20
- }, []);
21
- // Save cart to localStorage on change
22
- useEffect(() => {
23
- localStorage.setItem('armoyu_cart', JSON.stringify(cart));
24
- }, [cart]);
25
- const addToCart = (product, quantity = 1) => {
26
- setCart(prev => {
27
- const existing = prev.find(item => item.product.id === product.id);
28
- if (existing) {
29
- return prev.map(item => item.product.id === product.id
30
- ? new CartItem({ ...item, quantity: item.quantity + quantity })
31
- : item);
32
- }
33
- return [...prev, new CartItem({ product, quantity })];
34
- });
35
- };
36
- const removeFromCart = (productId) => {
37
- setCart(prev => prev.filter(item => item.product.id !== productId));
38
- };
39
- const updateQuantity = (productId, quantity) => {
40
- setCart(prev => prev.map(item => item.product.id === productId
41
- ? new CartItem({ ...item, quantity: Math.max(1, quantity) })
42
- : item));
43
- };
44
- const clearCart = () => setCart([]);
45
- const totalItems = cart.reduce((acc, item) => acc + item.quantity, 0);
46
- const totalPrice = cart.reduce((acc, item) => acc + item.getTotalPrice(), 0);
47
- return (_jsx(CartContext.Provider, { value: {
48
- cart,
49
- addToCart,
50
- removeFromCart,
51
- updateQuantity,
52
- clearCart,
53
- totalItems,
54
- totalPrice
55
- }, children: children }));
56
- }
57
- export function useCart() {
58
- const context = useContext(CartContext);
59
- if (context === undefined) {
60
- throw new Error('useCart must be used within a CartProvider');
61
- }
62
- return context;
63
- }
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext, useState, useEffect } from 'react';
4
+ import { CartItem } from '@armoyu/core';
5
+ const CartContext = createContext(undefined);
6
+ export function CartProvider({ children }) {
7
+ const [cart, setCart] = useState([]);
8
+ // Load cart from localStorage on mount
9
+ useEffect(() => {
10
+ const savedCart = localStorage.getItem('armoyu_cart');
11
+ if (savedCart) {
12
+ try {
13
+ const parsed = JSON.parse(savedCart);
14
+ setCart(parsed.map((i) => CartItem.fromJSON(i)));
15
+ }
16
+ catch (e) {
17
+ console.error('Failed to parse cart', e);
18
+ }
19
+ }
20
+ }, []);
21
+ // Save cart to localStorage on change
22
+ useEffect(() => {
23
+ localStorage.setItem('armoyu_cart', JSON.stringify(cart));
24
+ }, [cart]);
25
+ const addToCart = (product, quantity = 1) => {
26
+ setCart(prev => {
27
+ const existing = prev.find(item => item.product.id === product.id);
28
+ if (existing) {
29
+ return prev.map(item => item.product.id === product.id
30
+ ? new CartItem({ ...item, quantity: item.quantity + quantity })
31
+ : item);
32
+ }
33
+ return [...prev, new CartItem({ product, quantity })];
34
+ });
35
+ };
36
+ const removeFromCart = (productId) => {
37
+ setCart(prev => prev.filter(item => item.product.id !== productId));
38
+ };
39
+ const updateQuantity = (productId, quantity) => {
40
+ setCart(prev => prev.map(item => item.product.id === productId
41
+ ? new CartItem({ ...item, quantity: Math.max(1, quantity) })
42
+ : item));
43
+ };
44
+ const clearCart = () => setCart([]);
45
+ const totalItems = cart.reduce((acc, item) => acc + item.quantity, 0);
46
+ const totalPrice = cart.reduce((acc, item) => acc + item.getTotalPrice(), 0);
47
+ return (_jsx(CartContext.Provider, { value: {
48
+ cart,
49
+ addToCart,
50
+ removeFromCart,
51
+ updateQuantity,
52
+ clearCart,
53
+ totalItems,
54
+ totalPrice
55
+ }, children: children }));
56
+ }
57
+ export function useCart() {
58
+ const context = useContext(CartContext);
59
+ if (context === undefined) {
60
+ throw new Error('useCart must be used within a CartProvider');
61
+ }
62
+ return context;
63
+ }
64
64
  //# sourceMappingURL=CartContext.js.map
@@ -1,13 +1,13 @@
1
- import React from 'react';
2
- interface ChatContextType {
3
- isChatOpen: boolean;
4
- toggleChat: () => void;
5
- openChat: () => void;
6
- closeChat: () => void;
7
- }
8
- export declare function ChatProvider({ children }: {
9
- children: React.ReactNode;
10
- }): import("react/jsx-runtime").JSX.Element;
11
- export declare function useChat(): ChatContextType;
12
- export {};
1
+ import React from 'react';
2
+ interface ChatContextType {
3
+ isChatOpen: boolean;
4
+ toggleChat: () => void;
5
+ openChat: () => void;
6
+ closeChat: () => void;
7
+ }
8
+ export declare function ChatProvider({ children }: {
9
+ children: React.ReactNode;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ export declare function useChat(): ChatContextType;
12
+ export {};
13
13
  //# sourceMappingURL=ChatContext.d.ts.map
@@ -1,18 +1,18 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { createContext, useContext, useState } from 'react';
4
- const ChatContext = createContext(undefined);
5
- export function ChatProvider({ children }) {
6
- const [isChatOpen, setIsChatOpen] = useState(false);
7
- const toggleChat = () => setIsChatOpen(!isChatOpen);
8
- const openChat = () => setIsChatOpen(true);
9
- const closeChat = () => setIsChatOpen(false);
10
- return (_jsx(ChatContext.Provider, { value: { isChatOpen, toggleChat, openChat, closeChat }, children: children }));
11
- }
12
- export function useChat() {
13
- const context = useContext(ChatContext);
14
- if (!context)
15
- throw new Error('useChat must be used within ChatProvider');
16
- return context;
17
- }
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext, useState } from 'react';
4
+ const ChatContext = createContext(undefined);
5
+ export function ChatProvider({ children }) {
6
+ const [isChatOpen, setIsChatOpen] = useState(false);
7
+ const toggleChat = () => setIsChatOpen(!isChatOpen);
8
+ const openChat = () => setIsChatOpen(true);
9
+ const closeChat = () => setIsChatOpen(false);
10
+ return (_jsx(ChatContext.Provider, { value: { isChatOpen, toggleChat, openChat, closeChat }, children: children }));
11
+ }
12
+ export function useChat() {
13
+ const context = useContext(ChatContext);
14
+ if (!context)
15
+ throw new Error('useChat must be used within ChatProvider');
16
+ return context;
17
+ }
18
18
  //# sourceMappingURL=ChatContext.js.map
@@ -1,11 +1,11 @@
1
- import { ReactNode } from 'react';
2
- type LayoutContextType = {
3
- pageWidth: string;
4
- setPageWidth: (width: string) => void;
5
- };
6
- export declare function LayoutProvider({ children }: {
7
- children: ReactNode;
8
- }): import("react/jsx-runtime").JSX.Element;
9
- export declare function useLayout(): LayoutContextType;
10
- export {};
1
+ import { ReactNode } from 'react';
2
+ type LayoutContextType = {
3
+ pageWidth: string;
4
+ setPageWidth: (width: string) => void;
5
+ };
6
+ export declare function LayoutProvider({ children }: {
7
+ children: ReactNode;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ export declare function useLayout(): LayoutContextType;
10
+ export {};
11
11
  //# sourceMappingURL=LayoutContext.d.ts.map
@@ -1,17 +1,17 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { createContext, useContext, useState } from 'react';
4
- const LayoutContext = createContext(undefined);
5
- export function LayoutProvider({ children }) {
6
- // Varsayılan masaüstü değeri %80 olarak ayarlanmıştır.
7
- const [pageWidth, setPageWidth] = useState('max-w-[80%]');
8
- return (_jsx(LayoutContext.Provider, { value: { pageWidth, setPageWidth }, children: children }));
9
- }
10
- export function useLayout() {
11
- const context = useContext(LayoutContext);
12
- if (!context) {
13
- throw new Error('useLayout must be used within a LayoutProvider');
14
- }
15
- return context;
16
- }
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext, useState } from 'react';
4
+ const LayoutContext = createContext(undefined);
5
+ export function LayoutProvider({ children }) {
6
+ // Varsayılan masaüstü değeri %80 olarak ayarlanmıştır.
7
+ const [pageWidth, setPageWidth] = useState('max-w-[80%]');
8
+ return (_jsx(LayoutContext.Provider, { value: { pageWidth, setPageWidth }, children: children }));
9
+ }
10
+ export function useLayout() {
11
+ const context = useContext(LayoutContext);
12
+ if (!context) {
13
+ throw new Error('useLayout must be used within a LayoutProvider');
14
+ }
15
+ return context;
16
+ }
17
17
  //# sourceMappingURL=LayoutContext.js.map
@@ -1,31 +1,31 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { createContext, useContext, useState, useEffect } from 'react';
4
- import { socketService } from '@armoyu/core';
5
- const SocketContext = createContext(undefined);
6
- export function SocketProvider({ children }) {
7
- const [isConnected, setIsConnected] = useState(socketService.isConnected);
8
- useEffect(() => {
9
- const handleConnect = () => setIsConnected(true);
10
- const handleDisconnect = () => setIsConnected(false);
11
- const offConnect = socketService.on('connect', handleConnect);
12
- const offDisconnect = socketService.on('disconnect', handleDisconnect);
13
- return () => {
14
- offConnect();
15
- offDisconnect();
16
- };
17
- }, []);
18
- return (_jsx(SocketContext.Provider, { value: {
19
- isConnected,
20
- emit: socketService.emit.bind(socketService),
21
- on: socketService.on.bind(socketService)
22
- }, children: children }));
23
- }
24
- export function useSocket() {
25
- const context = useContext(SocketContext);
26
- if (context === undefined) {
27
- throw new Error('useSocket must be used within a SocketProvider');
28
- }
29
- return context;
30
- }
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext, useState, useEffect } from 'react';
4
+ import { socketService } from '@armoyu/core';
5
+ const SocketContext = createContext(undefined);
6
+ export function SocketProvider({ children }) {
7
+ const [isConnected, setIsConnected] = useState(socketService.isConnected);
8
+ useEffect(() => {
9
+ const handleConnect = () => setIsConnected(true);
10
+ const handleDisconnect = () => setIsConnected(false);
11
+ const offConnect = socketService.on('connect', handleConnect);
12
+ const offDisconnect = socketService.on('disconnect', handleDisconnect);
13
+ return () => {
14
+ offConnect();
15
+ offDisconnect();
16
+ };
17
+ }, []);
18
+ return (_jsx(SocketContext.Provider, { value: {
19
+ isConnected,
20
+ emit: socketService.emit.bind(socketService),
21
+ on: socketService.on.bind(socketService)
22
+ }, children: children }));
23
+ }
24
+ export function useSocket() {
25
+ const context = useContext(SocketContext);
26
+ if (context === undefined) {
27
+ throw new Error('useSocket must be used within a SocketProvider');
28
+ }
29
+ return context;
30
+ }
31
31
  //# sourceMappingURL=SocketContext.js.map
@@ -1,11 +1,11 @@
1
- import React from 'react';
2
- interface ThemeContextType {
3
- theme: 'dark' | 'light';
4
- toggleTheme: () => void;
5
- }
6
- export declare function ThemeProvider({ children }: {
7
- children: React.ReactNode;
8
- }): import("react/jsx-runtime").JSX.Element;
9
- export declare function useTheme(): ThemeContextType;
10
- export {};
1
+ import React from 'react';
2
+ interface ThemeContextType {
3
+ theme: 'dark' | 'light';
4
+ toggleTheme: () => void;
5
+ }
6
+ export declare function ThemeProvider({ children }: {
7
+ children: React.ReactNode;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ export declare function useTheme(): ThemeContextType;
10
+ export {};
11
11
  //# sourceMappingURL=ThemeContext.d.ts.map
@@ -1,40 +1,40 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { createContext, useContext, useState, useEffect } from 'react';
4
- const ThemeContext = createContext(undefined);
5
- export function ThemeProvider({ children }) {
6
- const [theme, setTheme] = useState('dark');
7
- // Tarayıcı hafızasını okuyarak temayı yükleme (Local Storage)
8
- useEffect(() => {
9
- const savedTheme = localStorage.getItem('armoyu_theme');
10
- if (savedTheme === 'light') {
11
- setTheme('light');
12
- document.documentElement.classList.remove('dark');
13
- }
14
- else {
15
- setTheme('dark');
16
- document.documentElement.classList.add('dark');
17
- // İlk girişte varsayılan olarak depolanır
18
- localStorage.setItem('armoyu_theme', 'dark');
19
- }
20
- }, []);
21
- const toggleTheme = () => {
22
- const newTheme = theme === 'dark' ? 'light' : 'dark';
23
- setTheme(newTheme);
24
- localStorage.setItem('armoyu_theme', newTheme);
25
- if (newTheme === 'dark') {
26
- document.documentElement.classList.add('dark');
27
- }
28
- else {
29
- document.documentElement.classList.remove('dark');
30
- }
31
- };
32
- return (_jsx(ThemeContext.Provider, { value: { theme, toggleTheme }, children: children }));
33
- }
34
- export function useTheme() {
35
- const context = useContext(ThemeContext);
36
- if (!context)
37
- throw new Error('useTheme hooks must be used inside ThemeProvider!');
38
- return context;
39
- }
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext, useState, useEffect } from 'react';
4
+ const ThemeContext = createContext(undefined);
5
+ export function ThemeProvider({ children }) {
6
+ const [theme, setTheme] = useState('dark');
7
+ // Tarayıcı hafızasını okuyarak temayı yükleme (Local Storage)
8
+ useEffect(() => {
9
+ const savedTheme = localStorage.getItem('armoyu_theme');
10
+ if (savedTheme === 'light') {
11
+ setTheme('light');
12
+ document.documentElement.classList.remove('dark');
13
+ }
14
+ else {
15
+ setTheme('dark');
16
+ document.documentElement.classList.add('dark');
17
+ // İlk girişte varsayılan olarak depolanır
18
+ localStorage.setItem('armoyu_theme', 'dark');
19
+ }
20
+ }, []);
21
+ const toggleTheme = () => {
22
+ const newTheme = theme === 'dark' ? 'light' : 'dark';
23
+ setTheme(newTheme);
24
+ localStorage.setItem('armoyu_theme', newTheme);
25
+ if (newTheme === 'dark') {
26
+ document.documentElement.classList.add('dark');
27
+ }
28
+ else {
29
+ document.documentElement.classList.remove('dark');
30
+ }
31
+ };
32
+ return (_jsx(ThemeContext.Provider, { value: { theme, toggleTheme }, children: children }));
33
+ }
34
+ export function useTheme() {
35
+ const context = useContext(ThemeContext);
36
+ if (!context)
37
+ throw new Error('useTheme hooks must be used inside ThemeProvider!');
38
+ return context;
39
+ }
40
40
  //# sourceMappingURL=ThemeContext.js.map