@armoyu/ui 1.1.31 → 1.1.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/api/proxy/[...path]/route.d.ts +23 -0
- package/dist/app/api/proxy/[...path]/route.d.ts.map +1 -0
- package/dist/app/api/proxy/[...path]/route.js +127 -0
- package/dist/app/api/proxy/[...path]/route.js.map +1 -0
- package/dist/app/not-found.js +7 -0
- package/dist/app/not-found.js.map +1 -0
- package/dist/components/modules/auth/widgets/AuthJoinCard.js +1 -1
- package/dist/components/modules/auth/widgets/AuthJoinCard.js.map +1 -1
- package/dist/components/modules/auth/widgets/LoginWidget.d.ts.map +1 -1
- package/dist/components/modules/auth/widgets/LoginWidget.js +2 -2
- package/dist/components/modules/auth/widgets/LoginWidget.js.map +1 -1
- package/dist/components/modules/auth/widgets/RegisterWidget.js +2 -2
- package/dist/components/modules/auth/widgets/RegisterWidget.js.map +1 -1
- package/dist/components/modules/chat/widgets/ChatNotes.js +15 -0
- package/dist/components/modules/chat/widgets/ChatNotes.js.map +1 -0
- package/dist/components/modules/events/index.js +7 -0
- package/dist/components/modules/events/index.js.map +1 -0
- package/dist/components/modules/management/ManagementLayout.d.ts +1 -1
- package/dist/components/modules/management/ManagementLayout.js +13 -0
- package/dist/components/modules/management/ManagementLayout.js.map +1 -0
- package/dist/components/modules/management/ManagementMobileToggle.d.ts +6 -0
- package/dist/components/modules/management/ManagementMobileToggle.d.ts.map +1 -0
- package/dist/components/modules/management/ManagementMobileToggle.js +6 -0
- package/dist/components/modules/management/ManagementMobileToggle.js.map +1 -0
- package/dist/components/modules/news/NewsLayout.d.ts +7 -0
- package/dist/components/modules/news/NewsLayout.d.ts.map +1 -0
- package/dist/components/modules/news/NewsLayout.js +7 -0
- package/dist/components/modules/news/NewsLayout.js.map +1 -0
- package/dist/components/modules/news/index.js +6 -0
- package/dist/components/modules/news/index.js.map +1 -0
- package/dist/components/modules/news/widgets/NewsDetailInteraction.d.ts +7 -0
- package/dist/components/modules/news/widgets/NewsDetailInteraction.d.ts.map +1 -0
- package/dist/components/modules/news/widgets/NewsDetailInteraction.js +8 -0
- package/dist/components/modules/news/widgets/NewsDetailInteraction.js.map +1 -0
- package/dist/components/modules/posts/widgets/reels/ReelsContainer.js +24 -0
- package/dist/components/modules/posts/widgets/reels/ReelsContainer.js.map +1 -0
- package/dist/components/modules/profile/tabs/TaggedPostsTab.js +9 -0
- package/dist/components/modules/profile/tabs/TaggedPostsTab.js.map +1 -0
- package/dist/components/modules/profile/widgets/ProfileSidebar.js +11 -0
- package/dist/components/modules/profile/widgets/ProfileSidebar.js.map +1 -0
- package/dist/components/modules/profile/widgets/SoulmateSelectorModal.js +16 -0
- package/dist/components/modules/profile/widgets/SoulmateSelectorModal.js.map +1 -0
- package/dist/components/modules/shop/StoreLayout.d.ts +8 -0
- package/dist/components/modules/shop/StoreLayout.d.ts.map +1 -0
- package/dist/components/modules/shop/StoreLayout.js +6 -0
- package/dist/components/modules/shop/StoreLayout.js.map +1 -0
- package/dist/components/modules/social/widgets/SocialSidebar.js +9 -0
- package/dist/components/modules/social/widgets/SocialSidebar.js.map +1 -0
- package/dist/components/shared/ArmoyuPlayer.d.ts +18 -0
- package/dist/components/shared/ArmoyuPlayer.d.ts.map +1 -0
- package/dist/components/shared/ArmoyuPlayer.js +69 -0
- package/dist/components/shared/ArmoyuPlayer.js.map +1 -0
- package/dist/components/shared/Header.js +1 -1
- package/dist/components/shared/Header.js.map +1 -1
- package/dist/components/shared/Icons.d.ts +8 -0
- package/dist/components/shared/Icons.d.ts.map +1 -0
- package/dist/components/shared/Icons.js +5 -0
- package/dist/components/shared/Icons.js.map +1 -0
- package/dist/components/shared/LoginModal.d.ts.map +1 -1
- package/dist/components/shared/LoginModal.js +1 -1
- package/dist/components/shared/LoginModal.js.map +1 -1
- package/dist/components/shared/RegisterModal.js +9 -0
- package/dist/components/shared/RegisterModal.js.map +1 -0
- package/dist/components/showcase/ProfileTab.js +73 -0
- package/dist/components/showcase/ProfileTab.js.map +1 -0
- package/dist/hooks/useDebounce.d.ts +2 -0
- package/dist/hooks/useDebounce.d.ts.map +1 -0
- package/dist/hooks/useDebounce.js +14 -0
- package/dist/hooks/useDebounce.js.map +1 -0
- package/dist/index.d.ts +20 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -22
- package/dist/index.js.map +1 -1
- package/dist/lib/ArmoyuUI.js +25 -0
- package/dist/lib/ArmoyuUI.js.map +1 -0
- package/dist/lib/constants/config.d.ts +9 -0
- package/dist/lib/constants/config.d.ts.map +1 -0
- package/dist/lib/constants/config.js +15 -0
- package/dist/lib/constants/config.js.map +1 -0
- package/dist/models/auth/RankedUser.d.ts +20 -0
- package/dist/models/auth/RankedUser.d.ts.map +1 -0
- package/dist/models/auth/RankedUser.js +36 -0
- package/dist/models/auth/RankedUser.js.map +1 -0
- package/dist/models/auth/Role.d.ts +16 -0
- package/dist/models/auth/Role.d.ts.map +1 -0
- package/dist/models/auth/Role.js +33 -0
- package/dist/models/auth/Role.js.map +1 -0
- package/dist/models/auth/Session.js +50 -0
- package/dist/models/auth/Session.js.map +1 -0
- package/dist/models/auth/StaffApplication.d.ts +20 -0
- package/dist/models/auth/StaffApplication.d.ts.map +1 -0
- package/dist/models/auth/StaffApplication.js +36 -0
- package/dist/models/auth/StaffApplication.js.map +1 -0
- package/dist/models/auth/TeamMember.d.ts +19 -0
- package/dist/models/auth/TeamMember.d.ts.map +1 -0
- package/dist/models/auth/TeamMember.js +34 -0
- package/dist/models/auth/TeamMember.js.map +1 -0
- package/dist/models/auth/UserBadge.d.ts +18 -0
- package/dist/models/auth/UserBadge.d.ts.map +1 -0
- package/dist/models/auth/UserBadge.js +33 -0
- package/dist/models/auth/UserBadge.js.map +1 -0
- package/dist/models/community/Classroom.js +45 -0
- package/dist/models/community/Classroom.js.map +1 -0
- package/dist/models/community/Faculty.js +41 -0
- package/dist/models/community/Faculty.js.map +1 -0
- package/dist/models/community/Forum.d.ts +26 -0
- package/dist/models/community/Forum.d.ts.map +1 -0
- package/dist/models/community/Forum.js +36 -0
- package/dist/models/community/Forum.js.map +1 -0
- package/dist/models/community/Giveaway.d.ts +22 -0
- package/dist/models/community/Giveaway.d.ts.map +1 -0
- package/dist/models/community/Giveaway.js +38 -0
- package/dist/models/community/Giveaway.js.map +1 -0
- package/dist/models/community/Group.js +115 -0
- package/dist/models/community/Group.js.map +1 -0
- package/dist/models/community/School.js +68 -0
- package/dist/models/community/School.js.map +1 -0
- package/dist/models/community/SchoolTeam.js +41 -0
- package/dist/models/community/SchoolTeam.js.map +1 -0
- package/dist/models/community/Station.js +165 -0
- package/dist/models/community/Station.js.map +1 -0
- package/dist/models/community/Survey.js +56 -0
- package/dist/models/community/Survey.js.map +1 -0
- package/dist/models/community/SurveyAnswer.d.ts +15 -0
- package/dist/models/community/SurveyAnswer.d.ts.map +1 -0
- package/dist/models/community/SurveyAnswer.js +26 -0
- package/dist/models/community/SurveyAnswer.js.map +1 -0
- package/dist/models/community/Workplace.d.ts +18 -0
- package/dist/models/community/Workplace.d.ts.map +1 -0
- package/dist/models/community/Workplace.js +32 -0
- package/dist/models/community/Workplace.js.map +1 -0
- package/dist/models/content/Game.d.ts +20 -0
- package/dist/models/content/Game.d.ts.map +1 -0
- package/dist/models/content/Game.js +40 -0
- package/dist/models/content/Game.js.map +1 -0
- package/dist/models/content/Media.d.ts +17 -0
- package/dist/models/content/Media.d.ts.map +1 -0
- package/dist/models/content/Media.js +30 -0
- package/dist/models/content/Media.js.map +1 -0
- package/dist/models/content/Mod.js +37 -0
- package/dist/models/content/Mod.js.map +1 -0
- package/dist/models/content/News.js +86 -0
- package/dist/models/content/News.js.map +1 -0
- package/dist/models/content/PlatformStation.d.ts +18 -0
- package/dist/models/content/PlatformStation.d.ts.map +1 -0
- package/dist/models/content/PlatformStation.js +32 -0
- package/dist/models/content/PlatformStation.js.map +1 -0
- package/dist/models/content/PlatformTeam.d.ts +14 -0
- package/dist/models/content/PlatformTeam.d.ts.map +1 -0
- package/dist/models/content/PlatformTeam.js +24 -0
- package/dist/models/content/PlatformTeam.js.map +1 -0
- package/dist/models/content/Project.js +43 -0
- package/dist/models/content/Project.js.map +1 -0
- package/dist/models/content/ProjectScore.d.ts +14 -0
- package/dist/models/content/ProjectScore.d.ts.map +1 -0
- package/dist/models/content/ProjectScore.js +24 -0
- package/dist/models/content/ProjectScore.js.map +1 -0
- package/dist/models/content/StationEquipment.d.ts +16 -0
- package/dist/models/content/StationEquipment.d.ts.map +1 -0
- package/dist/models/content/StationEquipment.js +28 -0
- package/dist/models/content/StationEquipment.js.map +1 -0
- package/dist/models/core/Country.d.ts +15 -0
- package/dist/models/core/Country.d.ts.map +1 -0
- package/dist/models/core/Country.js +26 -0
- package/dist/models/core/Country.js.map +1 -0
- package/dist/models/core/Province.d.ts +15 -0
- package/dist/models/core/Province.d.ts.map +1 -0
- package/dist/models/core/Province.js +26 -0
- package/dist/models/core/Province.js.map +1 -0
- package/dist/models/core/Rule.d.ts +16 -0
- package/dist/models/core/Rule.d.ts.map +1 -0
- package/dist/models/core/Rule.js +28 -0
- package/dist/models/core/Rule.js.map +1 -0
- package/dist/models/index.js +72 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/shop/CartItem.d.ts +20 -0
- package/dist/models/shop/CartItem.d.ts.map +1 -0
- package/dist/models/shop/CartItem.js +36 -0
- package/dist/models/shop/CartItem.js.map +1 -0
- package/dist/models/shop/Invoice.d.ts +18 -0
- package/dist/models/shop/Invoice.d.ts.map +1 -0
- package/dist/models/shop/Invoice.js +32 -0
- package/dist/models/shop/Invoice.js.map +1 -0
- package/dist/models/shop/Order.d.ts +23 -0
- package/dist/models/shop/Order.d.ts.map +1 -0
- package/dist/models/shop/Order.js +48 -0
- package/dist/models/shop/Order.js.map +1 -0
- package/dist/models/shop/Product.d.ts +26 -0
- package/dist/models/shop/Product.d.ts.map +1 -0
- package/dist/models/shop/Product.js +67 -0
- package/dist/models/shop/Product.js.map +1 -0
- package/dist/models/social/chat/Chat.js +80 -0
- package/dist/models/social/chat/Chat.js.map +1 -0
- package/dist/models/social/chat/Message.js +58 -0
- package/dist/models/social/chat/Message.js.map +1 -0
- package/dist/models/social/chat/Note.d.ts +16 -0
- package/dist/models/social/chat/Note.d.ts.map +1 -0
- package/dist/models/social/chat/Note.js +28 -0
- package/dist/models/social/chat/Note.js.map +1 -0
- package/dist/models/social/feed/Comment.js +46 -0
- package/dist/models/social/feed/Comment.js.map +1 -0
- package/dist/models/social/feed/Story.d.ts +31 -0
- package/dist/models/social/feed/Story.d.ts.map +1 -0
- package/dist/models/social/feed/Story.js +63 -0
- package/dist/models/social/feed/Story.js.map +1 -0
- package/dist/models/social/feed/StoryAuthor.d.ts +13 -0
- package/dist/models/social/feed/StoryAuthor.d.ts.map +1 -0
- package/dist/models/social/feed/StoryAuthor.js +25 -0
- package/dist/models/social/feed/StoryAuthor.js.map +1 -0
- package/dist/models/social/gaming/Game.d.ts +26 -0
- package/dist/models/social/gaming/Game.d.ts.map +1 -0
- package/dist/models/social/gaming/Game.js +45 -0
- package/dist/models/social/gaming/Game.js.map +1 -0
- package/dist/models/social/meta/AuthEnums.d.ts +18 -0
- package/dist/models/social/meta/AuthEnums.d.ts.map +1 -0
- package/dist/models/social/meta/AuthEnums.js +20 -0
- package/dist/models/social/meta/AuthEnums.js.map +1 -0
- package/dist/models/social/meta/MediaEnums.d.ts +20 -0
- package/dist/models/social/meta/MediaEnums.d.ts.map +1 -0
- package/dist/models/social/meta/MediaEnums.js +22 -0
- package/dist/models/social/meta/MediaEnums.js.map +1 -0
- package/dist/models/social/notification/Notification.d.ts +23 -0
- package/dist/models/social/notification/Notification.d.ts.map +1 -0
- package/dist/models/social/notification/Notification.js +64 -0
- package/dist/models/social/notification/Notification.js.map +1 -0
- package/dist/models/social/notification/NotificationEnums.d.ts +54 -0
- package/dist/models/social/notification/NotificationEnums.d.ts.map +1 -0
- package/dist/models/social/notification/NotificationEnums.js +59 -0
- package/dist/models/social/notification/NotificationEnums.js.map +1 -0
- package/dist/models/social/notification/NotificationSender.d.ts +16 -0
- package/dist/models/social/notification/NotificationSender.d.ts.map +1 -0
- package/dist/models/social/notification/NotificationSender.js +28 -0
- package/dist/models/social/notification/NotificationSender.js.map +1 -0
- package/dist/models/social/poll/Poll.d.ts +19 -0
- package/dist/models/social/poll/Poll.d.ts.map +1 -0
- package/dist/models/social/poll/Poll.js +33 -0
- package/dist/models/social/poll/Poll.js.map +1 -0
- package/dist/models/social/poll/PollOption.d.ts +15 -0
- package/dist/models/social/poll/PollOption.d.ts.map +1 -0
- package/dist/models/social/poll/PollOption.js +26 -0
- package/dist/models/social/poll/PollOption.js.map +1 -0
- package/dist/models/social/search/SearchEnums.d.ts +22 -0
- package/dist/models/social/search/SearchEnums.d.ts.map +1 -0
- package/dist/models/social/search/SearchEnums.js +24 -0
- package/dist/models/social/search/SearchEnums.js.map +1 -0
- package/dist/models/social/search/SearchResult.d.ts +21 -0
- package/dist/models/social/search/SearchResult.d.ts.map +1 -0
- package/dist/models/social/search/SearchResult.js +72 -0
- package/dist/models/social/search/SearchResult.js.map +1 -0
- package/dist/models/social/stats/Leaderboard.js +50 -0
- package/dist/models/social/stats/Leaderboard.js.map +1 -0
- package/dist/models/social/support/SupportTicket.d.ts +18 -0
- package/dist/models/social/support/SupportTicket.d.ts.map +1 -0
- package/dist/models/social/support/SupportTicket.js +32 -0
- package/dist/models/social/support/SupportTicket.js.map +1 -0
- package/dist/models/social/user/BlockedUser.js +25 -0
- package/dist/models/social/user/BlockedUser.js.map +1 -0
- package/dist/models/store/StoreItem.d.ts +18 -0
- package/dist/models/store/StoreItem.d.ts.map +1 -0
- package/dist/models/store/StoreItem.js +32 -0
- package/dist/models/store/StoreItem.js.map +1 -0
- package/dist/types/navigation.d.ts +6 -0
- package/dist/types/navigation.d.ts.map +1 -0
- package/dist/types/navigation.js +2 -0
- package/dist/types/navigation.js.map +1 -0
- package/dist/types/socket.d.ts +6 -0
- package/dist/types/socket.d.ts.map +1 -0
- package/dist/types/socket.js +2 -0
- package/dist/types/socket.js.map +1 -0
- package/dist/utils/text/MentionUtils.js +23 -0
- package/dist/utils/text/MentionUtils.js.map +1 -0
- package/package.json +1 -1
- package/src/globals.css +1 -1
- package/dist/app/education/[slug]/page.d.ts +0 -2
- package/dist/app/education/[slug]/page.d.ts.map +0 -1
- package/dist/app/education/[slug]/page.js +0 -7
- package/dist/app/education/[slug]/page.js.map +0 -1
- package/dist/app/events/[eventId]/page.d.ts +0 -2
- package/dist/app/events/[eventId]/page.d.ts.map +0 -1
- package/dist/app/events/[eventId]/page.js +0 -12
- package/dist/app/events/[eventId]/page.js.map +0 -1
- package/dist/app/events/page.d.ts +0 -2
- package/dist/app/events/page.d.ts.map +0 -1
- package/dist/app/events/page.js +0 -32
- package/dist/app/events/page.js.map +0 -1
- package/dist/app/groups/[groupId]/page.d.ts +0 -2
- package/dist/app/groups/[groupId]/page.d.ts.map +0 -1
- package/dist/app/groups/[groupId]/page.js +0 -10
- package/dist/app/groups/[groupId]/page.js.map +0 -1
- package/dist/components/modules/management/widgets/ManagementCharts.d.ts +0 -15
- package/dist/components/modules/management/widgets/ManagementCharts.d.ts.map +0 -1
- package/dist/components/modules/management/widgets/ManagementCharts.js +0 -10
- package/dist/components/modules/management/widgets/ManagementCharts.js.map +0 -1
- package/dist/components/modules/management/widgets/ManagementDashboard.d.ts +0 -36
- package/dist/components/modules/management/widgets/ManagementDashboard.d.ts.map +0 -1
- package/dist/components/modules/management/widgets/ManagementDashboard.js +0 -20
- package/dist/components/modules/management/widgets/ManagementDashboard.js.map +0 -1
- package/dist/components/modules/management/widgets/MemberManagement.d.ts +0 -16
- package/dist/components/modules/management/widgets/MemberManagement.d.ts.map +0 -1
- package/dist/components/modules/management/widgets/MemberManagement.js +0 -25
- package/dist/components/modules/management/widgets/MemberManagement.js.map +0 -1
- package/dist/components/modules/management/widgets/SystemSettings.d.ts +0 -2
- package/dist/components/modules/management/widgets/SystemSettings.d.ts.map +0 -1
- package/dist/components/modules/management/widgets/SystemSettings.js +0 -7
- package/dist/components/modules/management/widgets/SystemSettings.js.map +0 -1
- package/dist/components/modules/profile/tabs/AboutTab.d.ts +0 -10
- package/dist/components/modules/profile/tabs/AboutTab.d.ts.map +0 -1
- package/dist/components/modules/profile/tabs/AboutTab.js +0 -9
- package/dist/components/modules/profile/tabs/AboutTab.js.map +0 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { CartItem } from './CartItem';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a Shop Order in the UI.
|
|
4
|
+
*/
|
|
5
|
+
export class Order {
|
|
6
|
+
id;
|
|
7
|
+
items;
|
|
8
|
+
total;
|
|
9
|
+
status;
|
|
10
|
+
createdAt;
|
|
11
|
+
paymentMethod;
|
|
12
|
+
constructor(data) {
|
|
13
|
+
this.id = data.id || '';
|
|
14
|
+
this.items = data.items || [];
|
|
15
|
+
this.total = data.total || 0;
|
|
16
|
+
this.status = data.status || 'pending';
|
|
17
|
+
this.createdAt = data.createdAt || Date.now();
|
|
18
|
+
this.paymentMethod = data.paymentMethod || 'credit_card';
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Instantiates an Order object from an API response.
|
|
22
|
+
*/
|
|
23
|
+
static fromAPI(json) {
|
|
24
|
+
if (!json)
|
|
25
|
+
return new Order({});
|
|
26
|
+
return new Order({
|
|
27
|
+
id: String(json.id || ''),
|
|
28
|
+
items: Array.isArray(json.items) ? json.items.map((i) => CartItem.fromAPI(i)) : [],
|
|
29
|
+
total: Number(json.total || json.total_amount || 0),
|
|
30
|
+
status: (json.status || 'pending'),
|
|
31
|
+
createdAt: Number(json.createdAt || json.created_at || Date.now()),
|
|
32
|
+
paymentMethod: (json.paymentMethod || json.payment_method || 'credit_card')
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Returns a user-friendly status name in Turkish.
|
|
37
|
+
*/
|
|
38
|
+
getStatusLabel() {
|
|
39
|
+
switch (this.status) {
|
|
40
|
+
case 'pending': return 'Hazırlanıyor';
|
|
41
|
+
case 'completed': return 'Tamamlandı';
|
|
42
|
+
case 'shipped': return 'Kargoya Verildi';
|
|
43
|
+
case 'canceled': return 'İptal Edildi';
|
|
44
|
+
default: return this.status;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=Order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Order.js","sourceRoot":"","sources":["../../../src/models/shop/Order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC;;GAEG;AACH,MAAM,OAAO,KAAK;IAChB,EAAE,CAAS;IACX,KAAK,CAAa;IAClB,KAAK,CAAS;IACd,MAAM,CAAc;IACpB,SAAS,CAAS;IAClB,aAAa,CAA2C;IAExD,YAAY,IAAoB;QAC9B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,IAAyB;QACtC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;QAChC,OAAO,IAAI,KAAK,CAAC;YACf,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;YACzB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACvF,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;YACnD,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAgB;YACjD,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAClE,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,IAAI,aAAa,CAA6C;SACxH,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,SAAS,CAAC,CAAC,OAAO,cAAc,CAAC;YACtC,KAAK,WAAW,CAAC,CAAC,OAAO,YAAY,CAAC;YACtC,KAAK,SAAS,CAAC,CAAC,OAAO,iBAAiB,CAAC;YACzC,KAAK,UAAU,CAAC,CAAC,OAAO,cAAc,CAAC;YACvC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC;QAC9B,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a Product in the UI.
|
|
3
|
+
*/
|
|
4
|
+
export declare class Product {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
description: string;
|
|
8
|
+
price: number;
|
|
9
|
+
discountPrice?: number;
|
|
10
|
+
image: string;
|
|
11
|
+
category: string;
|
|
12
|
+
stock: number;
|
|
13
|
+
tags?: string[];
|
|
14
|
+
isFeatured: boolean;
|
|
15
|
+
badge?: string;
|
|
16
|
+
constructor(data: Partial<Product>);
|
|
17
|
+
/**
|
|
18
|
+
* Helper to get the display price (discounted if available)
|
|
19
|
+
*/
|
|
20
|
+
getDisplayPrice(): number;
|
|
21
|
+
/**
|
|
22
|
+
* Instantiates a Product object from an API response.
|
|
23
|
+
*/
|
|
24
|
+
static fromAPI(json: Record<string, any>): Product;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=Product.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Product.d.ts","sourceRoot":"","sources":["../../../src/models/shop/Product.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,OAAO;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,OAAO,CAAS;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEH,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;IAclC;;OAEG;IACH,eAAe,IAAI,MAAM;IAMzB;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO;CA0BnD"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a Product in the UI.
|
|
3
|
+
*/
|
|
4
|
+
export class Product {
|
|
5
|
+
id;
|
|
6
|
+
name;
|
|
7
|
+
description;
|
|
8
|
+
price;
|
|
9
|
+
discountPrice;
|
|
10
|
+
image;
|
|
11
|
+
category;
|
|
12
|
+
stock;
|
|
13
|
+
tags;
|
|
14
|
+
isFeatured = false;
|
|
15
|
+
badge;
|
|
16
|
+
constructor(data) {
|
|
17
|
+
this.id = data.id || '';
|
|
18
|
+
this.name = data.name || '';
|
|
19
|
+
this.description = data.description || '';
|
|
20
|
+
this.price = data.price || 0;
|
|
21
|
+
this.discountPrice = data.discountPrice;
|
|
22
|
+
this.image = data.image || '';
|
|
23
|
+
this.category = data.category || '';
|
|
24
|
+
this.stock = data.stock || 0;
|
|
25
|
+
this.tags = data.tags || [];
|
|
26
|
+
this.isFeatured = data.isFeatured || false;
|
|
27
|
+
this.badge = data.badge;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Helper to get the display price (discounted if available)
|
|
31
|
+
*/
|
|
32
|
+
getDisplayPrice() {
|
|
33
|
+
return this.discountPrice && this.discountPrice < this.price
|
|
34
|
+
? this.discountPrice
|
|
35
|
+
: this.price;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Instantiates a Product object from an API response.
|
|
39
|
+
*/
|
|
40
|
+
static fromAPI(json) {
|
|
41
|
+
if (!json)
|
|
42
|
+
return new Product({});
|
|
43
|
+
const parsePrice = (p) => {
|
|
44
|
+
if (typeof p === 'number')
|
|
45
|
+
return p;
|
|
46
|
+
if (typeof p === 'string') {
|
|
47
|
+
const cleaned = p.replace(/[₺,]/g, '').replace(' ', '');
|
|
48
|
+
return parseFloat(cleaned) || 0;
|
|
49
|
+
}
|
|
50
|
+
return 0;
|
|
51
|
+
};
|
|
52
|
+
return new Product({
|
|
53
|
+
id: String(json.id || ''),
|
|
54
|
+
name: json.name || json.product_name || '',
|
|
55
|
+
description: json.description || json.desc || '',
|
|
56
|
+
price: parsePrice(json.price),
|
|
57
|
+
discountPrice: json.discountPrice !== undefined ? parsePrice(json.discountPrice) : undefined,
|
|
58
|
+
image: json.image || json.img_url || '',
|
|
59
|
+
category: json.category || 'Genel',
|
|
60
|
+
stock: json.stock || 0,
|
|
61
|
+
tags: json.tags || [],
|
|
62
|
+
isFeatured: json.isFeatured || json.is_featured || false,
|
|
63
|
+
badge: json.badge
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=Product.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Product.js","sourceRoot":"","sources":["../../../src/models/shop/Product.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { User } from '../../auth/User';
|
|
2
|
+
import { ChatMessage } from './Message';
|
|
3
|
+
/**
|
|
4
|
+
* Represents a Chat conversation or summary in the UI.
|
|
5
|
+
*/
|
|
6
|
+
export class Chat {
|
|
7
|
+
id = '';
|
|
8
|
+
participants = [];
|
|
9
|
+
name = '';
|
|
10
|
+
avatar = '';
|
|
11
|
+
lastMessage = null;
|
|
12
|
+
time = '';
|
|
13
|
+
unreadCount = 0;
|
|
14
|
+
isOnline = false;
|
|
15
|
+
lastSeen = '';
|
|
16
|
+
updatedAt = 0;
|
|
17
|
+
isGroup = false;
|
|
18
|
+
isFavorite = false;
|
|
19
|
+
messages = [];
|
|
20
|
+
constructor(data) {
|
|
21
|
+
Object.assign(this, data);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Instantiates a Chat object from an API response.
|
|
25
|
+
*/
|
|
26
|
+
static fromAPI(json) {
|
|
27
|
+
if (!json)
|
|
28
|
+
return new Chat({});
|
|
29
|
+
const resolveKey = (keys) => {
|
|
30
|
+
// Find all matching keys
|
|
31
|
+
const matchingKeys = Object.keys(json).filter(k => keys.includes(k.toLowerCase()));
|
|
32
|
+
// Return the first one that has a non-empty value
|
|
33
|
+
for (const k of matchingKeys) {
|
|
34
|
+
const val = json[k];
|
|
35
|
+
if (val !== undefined && val !== null && val !== '')
|
|
36
|
+
return val;
|
|
37
|
+
}
|
|
38
|
+
return undefined;
|
|
39
|
+
};
|
|
40
|
+
const id = resolveKey(['kulladi', 'username', 'oyuncukullaniciadi', 'id', 'id_user', 'user_id', 'oyuncubakid', 'oyuncuid', 'arkadasid', 'id_arkadas', 'groupid', 'grupid', 'sohbetid', 'kullid']);
|
|
41
|
+
const name = resolveKey(['oyuncu_adsoyad', 'adisoyadi', 'adi_soyadi', 'displayname', 'user_displayname', 'oyuncuad', 'grupad', 'name', 'title', 'ad', 'username', 'kulladi']);
|
|
42
|
+
let avatarRaw = resolveKey(['avatar', 'chatimage', 'image', 'oyuncu_avatar', 'oyuncuminnakavatar', 'player_avatar', 'arkadasfoto', 'oyuncufoto', 'oyuncuresim', 'profil_fotosu', 'logo', 'foto', 'resim', 'grup_minnakavatar', 'avatar_url']);
|
|
43
|
+
if (!avatarRaw) {
|
|
44
|
+
const heuristicKey = Object.keys(json).find(k => {
|
|
45
|
+
const lowerK = k.toLowerCase();
|
|
46
|
+
return lowerK.includes('avatar') || lowerK.includes('foto') || lowerK.includes('resim') || lowerK.includes('image');
|
|
47
|
+
});
|
|
48
|
+
if (heuristicKey)
|
|
49
|
+
avatarRaw = json[heuristicKey];
|
|
50
|
+
}
|
|
51
|
+
const nestedObj = json.oyuncu || json.arkadas || json.owner || json.user;
|
|
52
|
+
if (!avatarRaw && nestedObj && typeof nestedObj === 'object') {
|
|
53
|
+
const nestedUser = User.fromAPI(nestedObj);
|
|
54
|
+
if (nestedUser.avatar)
|
|
55
|
+
avatarRaw = nestedUser.avatar;
|
|
56
|
+
}
|
|
57
|
+
const lastMsgRaw = resolveKey(['lastmessage', 'last_message', 'sonmesaj', 'son_mesaj']);
|
|
58
|
+
const time = resolveKey(['time', 'zaman', 'tarih', 'last_message_time', 'guncelletarih', 'songorusme', 'songiris']);
|
|
59
|
+
const unread = resolveKey(['unreadcount', 'unread_count', 'okunmamissayi', 'okunmamis_sayi', 'bildirim_sayi', 'bildirim']);
|
|
60
|
+
const onlineRaw = resolveKey(['isonline', 'is_online', 'oyuncu_online', 'durum']);
|
|
61
|
+
const lastSeen = resolveKey(['lastseen', 'last_seen', 'songorulme', 'son_gorulme']);
|
|
62
|
+
const isGroupRaw = resolveKey(['isgroup', 'is_group', 'is_clube', 'groupid', 'grupid']);
|
|
63
|
+
return new Chat({
|
|
64
|
+
id: String(id || ''),
|
|
65
|
+
participants: Array.isArray(json.participants) ? json.participants.map((p) => User.fromAPI(p)) : [],
|
|
66
|
+
name: name || '',
|
|
67
|
+
avatar: typeof avatarRaw === 'string' ? avatarRaw : (avatarRaw?.media_URL || avatarRaw?.media_minURL || avatarRaw?.media_bigURL || avatarRaw?.fotourl || avatarRaw?.url || ''),
|
|
68
|
+
lastMessage: lastMsgRaw ? ChatMessage.fromAPI(lastMsgRaw) : null,
|
|
69
|
+
time: time || '',
|
|
70
|
+
unreadCount: Number(unread || 0),
|
|
71
|
+
isOnline: onlineRaw === 1 || onlineRaw === true,
|
|
72
|
+
lastSeen: lastSeen || '',
|
|
73
|
+
updatedAt: json.updatedAt || json.updated_at || Date.now(),
|
|
74
|
+
isGroup: !!isGroupRaw,
|
|
75
|
+
isFavorite: !!json.isFavorite || !!json.is_favorite,
|
|
76
|
+
messages: Array.isArray(json.messages) ? json.messages.map((m) => ChatMessage.fromAPI(m)) : (Array.isArray(json.liste) ? json.liste.map((m) => ChatMessage.fromAPI(m)) : []),
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=Chat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chat.js","sourceRoot":"","sources":["../../../../src/models/social/chat/Chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { User } from '../../auth/User';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a single message in a Chat in the UI.
|
|
4
|
+
*/
|
|
5
|
+
export class ChatMessage {
|
|
6
|
+
id = '';
|
|
7
|
+
sender = null;
|
|
8
|
+
content = '';
|
|
9
|
+
timestamp = '';
|
|
10
|
+
isSystem = false;
|
|
11
|
+
isSelf = false;
|
|
12
|
+
constructor(data) {
|
|
13
|
+
Object.assign(this, data);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Instantiates a ChatMessage object from an API response.
|
|
17
|
+
*/
|
|
18
|
+
static fromAPI(json) {
|
|
19
|
+
if (!json)
|
|
20
|
+
return new ChatMessage({});
|
|
21
|
+
const resolveKey = (keys) => {
|
|
22
|
+
// Find all matching keys
|
|
23
|
+
const matchingKeys = Object.keys(json).filter(k => keys.includes(k.toLowerCase()));
|
|
24
|
+
// Return the first one that has a non-empty value
|
|
25
|
+
for (const k of matchingKeys) {
|
|
26
|
+
const val = json[k];
|
|
27
|
+
if (val !== undefined && val !== null && val !== '')
|
|
28
|
+
return val;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const id = resolveKey(['id', 'sohbetid', 'mesajid', 'id_sohbet', 'id_mesaj']);
|
|
32
|
+
const senderRaw = resolveKey(['sender', 'authorname', 'sender_name', 'gonderen_ad', 'oyuncu_ad', 'gonderen', 'adsoyad', 'kulladi', 'adisoyadi']);
|
|
33
|
+
const content = resolveKey(['content', 'text', 'icerik', 'mesaj', 'text_message', 'message', 'mesajicerik']);
|
|
34
|
+
const timestamp = resolveKey(['timelabel', 'timestamp', 'time', 'zaman', 'tarih', 'sent_at', 'paylasimzaman']);
|
|
35
|
+
const isSystemRaw = resolveKey(['issystem', 'is_system', 'system_message', 'sistem']);
|
|
36
|
+
const side = resolveKey(['side']);
|
|
37
|
+
let sender = null;
|
|
38
|
+
if (json.sender && typeof json.sender === 'object') {
|
|
39
|
+
sender = User.fromAPI(json.sender);
|
|
40
|
+
}
|
|
41
|
+
else if (senderRaw) {
|
|
42
|
+
sender = User.fromAPI({
|
|
43
|
+
displayname: String(senderRaw),
|
|
44
|
+
username: String(resolveKey(['kulladi', 'username', 'oyuncukullaniciadi']) || senderRaw),
|
|
45
|
+
avatar: resolveKey(['authoravatar', 'avatar', 'chatimage', 'image', 'oyuncu_avatar', 'oyuncuminnakavatar', 'player_avatar', 'arkadasfoto', 'oyuncufoto', 'foto'])
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return new ChatMessage({
|
|
49
|
+
id: String(id || Math.random().toString(36).substring(2, 9)),
|
|
50
|
+
sender: sender,
|
|
51
|
+
content: String(content || ''),
|
|
52
|
+
timestamp: String(timestamp || ''),
|
|
53
|
+
isSystem: isSystemRaw === 1 || isSystemRaw === true || false,
|
|
54
|
+
isSelf: side === 'ben'
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=Message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../../src/models/social/chat/Message.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a personal note or status (Instagram style) in the UI.
|
|
3
|
+
*/
|
|
4
|
+
export declare class Note {
|
|
5
|
+
id: string;
|
|
6
|
+
username: string;
|
|
7
|
+
content: string;
|
|
8
|
+
avatar: string;
|
|
9
|
+
createdAt: string;
|
|
10
|
+
constructor(data: Partial<Note>);
|
|
11
|
+
/**
|
|
12
|
+
* Instantiates a Note object from an API response.
|
|
13
|
+
*/
|
|
14
|
+
static fromAPI(json: Record<string, any>): Note;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=Note.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Note.d.ts","sourceRoot":"","sources":["../../../../src/models/social/chat/Note.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,IAAI;IACf,EAAE,EAAE,MAAM,CAAM;IAChB,QAAQ,EAAE,MAAM,CAAM;IACtB,OAAO,EAAE,MAAM,CAAM;IACrB,MAAM,EAAE,MAAM,CAAM;IACpB,SAAS,EAAE,MAAM,CAAM;gBAEX,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IAI/B;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;CAWhD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a personal note or status (Instagram style) in the UI.
|
|
3
|
+
*/
|
|
4
|
+
export class Note {
|
|
5
|
+
id = '';
|
|
6
|
+
username = '';
|
|
7
|
+
content = '';
|
|
8
|
+
avatar = '';
|
|
9
|
+
createdAt = '';
|
|
10
|
+
constructor(data) {
|
|
11
|
+
Object.assign(this, data);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Instantiates a Note object from an API response.
|
|
15
|
+
*/
|
|
16
|
+
static fromAPI(json) {
|
|
17
|
+
if (!json)
|
|
18
|
+
return new Note({});
|
|
19
|
+
return new Note({
|
|
20
|
+
id: json.id || '',
|
|
21
|
+
username: json.username || json.kulladi || '',
|
|
22
|
+
content: json.content || json.icerik || json.text || '',
|
|
23
|
+
avatar: json.avatar || json.oyuncuminnakavatar || '',
|
|
24
|
+
createdAt: json.createdAt || json.created_at || json.zaman || ''
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=Note.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Note.js","sourceRoot":"","sources":["../../../../src/models/social/chat/Note.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,IAAI;IACf,EAAE,GAAW,EAAE,CAAC;IAChB,QAAQ,GAAW,EAAE,CAAC;IACtB,OAAO,GAAW,EAAE,CAAC;IACrB,MAAM,GAAW,EAAE,CAAC;IACpB,SAAS,GAAW,EAAE,CAAC;IAEvB,YAAY,IAAmB;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,IAAyB;QACtC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;QAE/B,OAAO,IAAI,IAAI,CAAC;YACd,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE;YAC7C,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;YACvD,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,kBAAkB,IAAI,EAAE;YACpD,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;SACjE,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { User } from '../../auth/User';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a Comment on a Post.
|
|
4
|
+
*/
|
|
5
|
+
export class Comment {
|
|
6
|
+
id = '';
|
|
7
|
+
author = null;
|
|
8
|
+
content = '';
|
|
9
|
+
timestamp = '';
|
|
10
|
+
// Compatibility aliases for UI
|
|
11
|
+
date = '';
|
|
12
|
+
createdAt = '';
|
|
13
|
+
likeCount = 0;
|
|
14
|
+
isLiked = false;
|
|
15
|
+
replies = [];
|
|
16
|
+
constructor(data) {
|
|
17
|
+
Object.assign(this, data);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Instantiates a Comment object from an API response.
|
|
21
|
+
*/
|
|
22
|
+
static fromAPI(json) {
|
|
23
|
+
if (!json)
|
|
24
|
+
return new Comment({});
|
|
25
|
+
return new Comment({
|
|
26
|
+
id: String(json.id || json.yorumid || json.yorum_id || json.paylasimyorumid || json.yorumID || Math.random().toString(36).substr(2, 9)),
|
|
27
|
+
author: (json.author || json.oyuncu || json.authorDisplayName || json.yorumcuadsoyad || json.adsoyad || json.yazar_adsoyad)
|
|
28
|
+
? User.fromAPI(json.author || json.oyuncu || {
|
|
29
|
+
id: json.authorId || json.oyuncuID || json.oyuncuid || json.yorumcuid || json.yazar_id || 0,
|
|
30
|
+
displayName: json.authorDisplayName || json.yorumcuadsoyad || json.paylasimyorum_yapan_adsoyad || json.adsoyad || json.yazar_adsoyad || json.oyuncu_adsoyad || json.displayName || json.displayname,
|
|
31
|
+
avatar: json.authorAvatar || json.authorSmallAvatar || json.yorumcuavatar || json.yorumcuufakavatar || json.paylasimyorum_yapan_avatar || json.yazar_avatar || json.oyuncu_avatar || json.avatar,
|
|
32
|
+
username: json.authorUsername || json.yorumcukullaniciad || json.paylasimyorum_yapan_kullaniciadi || json.kullaniciadi || json.yazar_kullaniciad || json.username || json.kullaniciad
|
|
33
|
+
})
|
|
34
|
+
: null,
|
|
35
|
+
content: json.content || json.icerik || json.comment || json.text || json.yorumcuicerik || json.paylasimyorum_icerik || '',
|
|
36
|
+
timestamp: json.timestamp || json.tarih || json.created_at || json.zaman || json.yorumcuzaman || json.paylasimyorum_zaman || '',
|
|
37
|
+
date: json.timestamp || json.tarih || json.created_at || json.zaman || json.yorumcuzaman || json.paylasimyorum_zaman || '',
|
|
38
|
+
createdAt: json.timestamp || json.tarih || json.created_at || json.zaman || json.yorumcuzaman || json.paylasimyorum_zaman || '',
|
|
39
|
+
likeCount: Number(json.likeCount || json.begeni_sayi || json.begenisay || 0),
|
|
40
|
+
isLiked: json.isLiked === true || json.begendi === 1 || json.benbegendim === 1 || false,
|
|
41
|
+
replies: Array.isArray(json.replies) ? json.replies.map((r) => Comment.fromAPI(r)) :
|
|
42
|
+
(Array.isArray(json.yanitlar) ? json.yanitlar.map((r) => Comment.fromAPI(r)) : [])
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=Comment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Comment.js","sourceRoot":"","sources":["../../../../src/models/social/feed/Comment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC;;GAEG;AACH,MAAM,OAAO,OAAO;IAClB,EAAE,GAAW,EAAE,CAAC;IAChB,MAAM,GAAgB,IAAI,CAAC;IAC3B,OAAO,GAAW,EAAE,CAAC;IACrB,SAAS,GAAW,EAAE,CAAC;IACvB,+BAA+B;IAC/B,IAAI,GAAW,EAAE,CAAC;IAClB,SAAS,GAAW,EAAE,CAAC;IAEvB,SAAS,GAAW,CAAC,CAAC;IACtB,OAAO,GAAY,KAAK,CAAC;IACzB,OAAO,GAAc,EAAE,CAAC;IAExB,YAAY,IAAsB;QAChC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,IAAS;QACtB,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;QAElC,OAAO,IAAI,OAAO,CAAC;YACjB,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACvI,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC;gBACzH,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI;oBACzC,EAAE,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC;oBAC3F,WAAW,EAAE,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,2BAA2B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;oBACnM,MAAM,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM;oBAChM,QAAQ,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,gCAAgC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW;iBACtL,CAAC;gBACJ,CAAC,CAAC,IAAI;YACR,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,IAAI,EAAE;YAC1H,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,mBAAmB,IAAI,EAAE;YAC/H,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,mBAAmB,IAAI,EAAE;YAC1H,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,mBAAmB,IAAI,EAAE;YAC/H,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;YAC5E,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,KAAK;YACvF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChF,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACjG,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { StoryAuthor } from './StoryAuthor';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a Social Story in the UI.
|
|
4
|
+
* A Story can have multiple media items from the same author.
|
|
5
|
+
*/
|
|
6
|
+
export declare class Story {
|
|
7
|
+
id: string;
|
|
8
|
+
author: StoryAuthor | null;
|
|
9
|
+
media: string;
|
|
10
|
+
/** All media items for this story group (multiple stories from same author) */
|
|
11
|
+
items: {
|
|
12
|
+
id: string;
|
|
13
|
+
media: string;
|
|
14
|
+
type: 'image' | 'video' | 'audio';
|
|
15
|
+
timestamp: string;
|
|
16
|
+
isRead: boolean;
|
|
17
|
+
isLiked?: boolean;
|
|
18
|
+
likeCount?: number;
|
|
19
|
+
viewCount?: number;
|
|
20
|
+
}[];
|
|
21
|
+
timestamp: string;
|
|
22
|
+
isViewed: boolean;
|
|
23
|
+
isRead: boolean;
|
|
24
|
+
constructor(data: Partial<Story>);
|
|
25
|
+
/**
|
|
26
|
+
* Instantiates a Story object from a Core StoryResponse.
|
|
27
|
+
* Maps the nested items array into a flat Story with all media.
|
|
28
|
+
*/
|
|
29
|
+
static fromAPI(json: Record<string, any>): Story;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=Story.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Story.d.ts","sourceRoot":"","sources":["../../../../src/models/social/feed/Story.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;GAGG;AACH,qBAAa,KAAK;IAChB,EAAE,EAAE,MAAM,CAAM;IAChB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAQ;IAClC,KAAK,EAAE,MAAM,CAAM;IACnB,+EAA+E;IAC/E,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;QAClC,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,EAAE,CAAM;IACT,SAAS,EAAE,MAAM,CAAM;IACvB,QAAQ,EAAE,OAAO,CAAS;IAC1B,MAAM,EAAE,OAAO,CAAS;gBAEZ,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC;IAIhC;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK;CA4CjD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { StoryAuthor } from './StoryAuthor';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a Social Story in the UI.
|
|
4
|
+
* A Story can have multiple media items from the same author.
|
|
5
|
+
*/
|
|
6
|
+
export class Story {
|
|
7
|
+
id = '';
|
|
8
|
+
author = null;
|
|
9
|
+
media = '';
|
|
10
|
+
/** All media items for this story group (multiple stories from same author) */
|
|
11
|
+
items = [];
|
|
12
|
+
timestamp = '';
|
|
13
|
+
isViewed = false;
|
|
14
|
+
isRead = false;
|
|
15
|
+
constructor(data) {
|
|
16
|
+
Object.assign(this, data);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Instantiates a Story object from a Core StoryResponse.
|
|
20
|
+
* Maps the nested items array into a flat Story with all media.
|
|
21
|
+
*/
|
|
22
|
+
static fromAPI(json) {
|
|
23
|
+
if (!json)
|
|
24
|
+
return new Story({});
|
|
25
|
+
const isReadStatus = json.isRead === true || json.isSeen === true || false;
|
|
26
|
+
// Core StoryResponse: { authorId, authorName, authorUsername, authorAvatar, items: [...] }
|
|
27
|
+
const coreItems = Array.isArray(json.items) ? json.items : [];
|
|
28
|
+
// Her item'ı basit bir yapıya dönüştür
|
|
29
|
+
const storyItems = coreItems.map((item) => {
|
|
30
|
+
// Detect type
|
|
31
|
+
let type = 'image';
|
|
32
|
+
const url = item.mediaUrl || '';
|
|
33
|
+
const ext = url.split('.').pop()?.toLowerCase();
|
|
34
|
+
if (['mp4', 'webm', 'ogg', 'mov'].includes(ext || '')) {
|
|
35
|
+
type = 'video';
|
|
36
|
+
}
|
|
37
|
+
else if (['mp3', 'wav', 'mpeg'].includes(ext || '')) {
|
|
38
|
+
type = 'audio';
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
id: String(item.id || 0),
|
|
42
|
+
media: url,
|
|
43
|
+
type,
|
|
44
|
+
timestamp: item.createdAt || '',
|
|
45
|
+
isRead: item.isSeen === true || item.isMe === true || false,
|
|
46
|
+
isLiked: item.isLiked === true || false,
|
|
47
|
+
likeCount: item.likeCount || 0,
|
|
48
|
+
viewCount: item.viewCount || 0
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
const firstItem = coreItems.length > 0 ? coreItems[0] : null;
|
|
52
|
+
return new Story({
|
|
53
|
+
id: String(firstItem?.id || json.id || ''),
|
|
54
|
+
author: StoryAuthor.fromAPI(json),
|
|
55
|
+
media: firstItem?.mediaUrl || '',
|
|
56
|
+
items: storyItems,
|
|
57
|
+
timestamp: firstItem?.createdAt || '',
|
|
58
|
+
isViewed: isReadStatus,
|
|
59
|
+
isRead: isReadStatus
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=Story.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Story.js","sourceRoot":"","sources":["../../../../src/models/social/feed/Story.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal user model specifically for Story displays.
|
|
3
|
+
*/
|
|
4
|
+
export declare class StoryAuthor {
|
|
5
|
+
id: number;
|
|
6
|
+
username: string;
|
|
7
|
+
displayName: string;
|
|
8
|
+
avatar: string;
|
|
9
|
+
isMe: boolean;
|
|
10
|
+
constructor(data: Partial<StoryAuthor>);
|
|
11
|
+
static fromAPI(json: Record<string, any>): StoryAuthor;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=StoryAuthor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoryAuthor.d.ts","sourceRoot":"","sources":["../../../../src/models/social/feed/StoryAuthor.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,WAAW;IACtB,EAAE,EAAE,MAAM,CAAK;IACf,QAAQ,EAAE,MAAM,CAAM;IACtB,WAAW,EAAE,MAAM,CAAM;IACzB,MAAM,EAAE,MAAM,CAAM;IACpB,IAAI,EAAE,OAAO,CAAS;gBAEV,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;IAItC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,WAAW;CAWvD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal user model specifically for Story displays.
|
|
3
|
+
*/
|
|
4
|
+
export class StoryAuthor {
|
|
5
|
+
id = 0;
|
|
6
|
+
username = '';
|
|
7
|
+
displayName = '';
|
|
8
|
+
avatar = '';
|
|
9
|
+
isMe = false;
|
|
10
|
+
constructor(data) {
|
|
11
|
+
Object.assign(this, data);
|
|
12
|
+
}
|
|
13
|
+
static fromAPI(json) {
|
|
14
|
+
if (!json)
|
|
15
|
+
return new StoryAuthor({});
|
|
16
|
+
return new StoryAuthor({
|
|
17
|
+
id: Number(json.authorId || json.ownerId || json.oyuncu_ID || 0),
|
|
18
|
+
username: json.authorUsername || json.oyuncuadi || json.kullaniciadi || json.username || '',
|
|
19
|
+
displayName: json.authorName || json.oyuncuadi || json.adsoyad || json.displayname || json.username || '',
|
|
20
|
+
avatar: json.authorAvatar || json.oyuncuavatar || json.avatar || json.oyuncu_avatar || '',
|
|
21
|
+
isMe: json.isMe === true || json.hikayeben === 1 || false
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=StoryAuthor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoryAuthor.js","sourceRoot":"","sources":["../../../../src/models/social/feed/StoryAuthor.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,WAAW;IACtB,EAAE,GAAW,CAAC,CAAC;IACf,QAAQ,GAAW,EAAE,CAAC;IACtB,WAAW,GAAW,EAAE,CAAC;IACzB,MAAM,GAAW,EAAE,CAAC;IACpB,IAAI,GAAY,KAAK,CAAC;IAEtB,YAAY,IAA0B;QACpC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAyB;QACtC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;QAEtC,OAAO,IAAI,WAAW,CAAC;YACrB,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;YAChE,QAAQ,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YAC3F,WAAW,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACzG,MAAM,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE;YACzF,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,KAAK;SAC1D,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a Game in the ARMOYU platform in the UI.
|
|
3
|
+
*/
|
|
4
|
+
export declare class Game {
|
|
5
|
+
id: string;
|
|
6
|
+
title: string;
|
|
7
|
+
shortName: string;
|
|
8
|
+
logo: string;
|
|
9
|
+
banner: string;
|
|
10
|
+
description: string;
|
|
11
|
+
rating: number;
|
|
12
|
+
category: string;
|
|
13
|
+
role: string;
|
|
14
|
+
clan: {
|
|
15
|
+
name: string;
|
|
16
|
+
shortName: string;
|
|
17
|
+
role: string;
|
|
18
|
+
color: string;
|
|
19
|
+
} | null;
|
|
20
|
+
constructor(data: Partial<Game>);
|
|
21
|
+
/**
|
|
22
|
+
* Instantiates a Game object from an API response.
|
|
23
|
+
*/
|
|
24
|
+
static fromAPI(json: Record<string, any>): Game;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=Game.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Game.d.ts","sourceRoot":"","sources":["../../../../src/models/social/gaming/Game.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,IAAI;IACf,EAAE,EAAE,MAAM,CAAM;IAChB,KAAK,EAAE,MAAM,CAAM;IACnB,SAAS,EAAE,MAAM,CAAM;IACvB,IAAI,EAAE,MAAM,CAAM;IAClB,MAAM,EAAE,MAAM,CAAM;IACpB,WAAW,EAAE,MAAM,CAAM;IACzB,MAAM,EAAE,MAAM,CAAK;IACnB,QAAQ,EAAE,MAAM,CAAM;IACtB,IAAI,EAAE,MAAM,CAAM;IAClB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,IAAI,CAAQ;gBAEJ,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IAI/B;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;CAwBhD"}
|