@academy-sdk/sdk 0.1.1 → 0.2.0
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/bundle.js +70 -0
- package/dist/manifest.json +5 -0
- package/dist/styles.css +3307 -0
- package/package.json +40 -46
- package/src/components/atoms/Avatar.tsx +38 -0
- package/src/components/atoms/Badge.tsx +32 -0
- package/src/components/atoms/Button.tsx +48 -0
- package/src/components/atoms/Card.tsx +33 -0
- package/src/components/atoms/Input.tsx +39 -0
- package/src/components/atoms/ProgressBar.tsx +52 -0
- package/src/components/atoms/Tabs.tsx +47 -0
- package/{dist/components/atoms/index.d.ts → src/components/atoms/index.ts} +0 -1
- package/{dist/components/index.d.ts → src/components/index.ts} +7 -1
- package/src/components/molecules/CourseCard.tsx +215 -0
- package/src/components/molecules/EmptyState.tsx +23 -0
- package/src/components/molecules/LoadingSpinner.tsx +27 -0
- package/src/components/molecules/PageHeader.tsx +22 -0
- package/src/components/molecules/Pagination.tsx +82 -0
- package/src/components/molecules/SearchInput.tsx +35 -0
- package/{dist/components/molecules/index.d.ts → src/components/molecules/index.ts} +0 -1
- package/src/components/organisms/CourseSidebar.tsx +276 -0
- package/src/components/organisms/LearnerNavbar.tsx +129 -0
- package/src/components/organisms/LearnerSidebar.tsx +148 -0
- package/src/components/organisms/LessonBookmarks.tsx +128 -0
- package/src/components/organisms/LessonNotes.tsx +153 -0
- package/{dist/components/organisms/index.d.ts → src/components/organisms/index.ts} +0 -1
- package/src/components/pages/BundleDetailPage.tsx +388 -0
- package/src/components/pages/CatalogBundlesPage.tsx +96 -0
- package/src/components/pages/CatalogCoursesPage.tsx +299 -0
- package/src/components/pages/CourseDetailPage.tsx +582 -0
- package/src/components/pages/CoursePlayerPage.tsx +481 -0
- package/src/components/pages/CreatorProfilePage.tsx +161 -0
- package/src/components/pages/LearnerSettingsPage.tsx +58 -0
- package/src/components/pages/ManualReviewDetailPage.tsx +254 -0
- package/src/components/pages/ManualReviewPage.tsx +228 -0
- package/src/components/pages/MessagesPage.tsx +285 -0
- package/src/components/pages/MyLearningPage.tsx +239 -0
- package/src/components/pages/PaymentCancelPage.tsx +74 -0
- package/src/components/pages/PaymentSuccessPage.tsx +73 -0
- package/{dist/components/pages/index.d.ts → src/components/pages/index.ts} +0 -1
- package/src/components/utils.ts +6 -0
- package/src/contracts/components.contract.ts +89 -0
- package/{dist/contracts/index.d.ts → src/contracts/index.ts} +0 -1
- package/src/contracts/layout.contract.ts +36 -0
- package/src/contracts/pages.contract.ts +275 -0
- package/src/contracts/template.contract.ts +100 -0
- package/src/default-template.tsx +52 -0
- package/{dist/hooks/index.d.ts → src/hooks/index.ts} +15 -1
- package/src/hooks/sdk-context.tsx +152 -0
- package/src/hooks/useAiCoach.ts +27 -0
- package/src/hooks/useBookmarks.ts +35 -0
- package/{dist/hooks/useCourseSearch.d.ts → src/hooks/useCourseSearch.ts} +8 -5
- package/{dist/hooks/useDebounce.d.ts → src/hooks/useDebounce.ts} +8 -2
- package/{dist/hooks/useMyBundles.d.ts → src/hooks/useMyBundles.ts} +8 -6
- package/{dist/hooks/useMyCourses.d.ts → src/hooks/useMyCourses.ts} +8 -6
- package/src/hooks/useNotes.ts +35 -0
- package/src/hooks/useNotifications.ts +16 -0
- package/{dist/hooks/useTheme.d.ts → src/hooks/useTheme.ts} +8 -5
- package/src/hooks/useToast.ts +17 -0
- package/{dist/hooks/useUser.d.ts → src/hooks/useUser.ts} +13 -9
- package/src/index.ts +33 -0
- package/src/layouts/DefaultLayout.tsx +58 -0
- package/src/manifest.json +5 -0
- package/src/styles.css +43 -0
- package/src/types/ai-coach.ts +25 -0
- package/src/types/bookmarks.ts +20 -0
- package/src/types/bundle.ts +119 -0
- package/src/types/common.ts +24 -0
- package/src/types/course.ts +135 -0
- package/src/types/enrollment.ts +35 -0
- package/{dist/types/index.d.ts → src/types/index.ts} +0 -1
- package/src/types/lesson.ts +106 -0
- package/src/types/manual-review.ts +116 -0
- package/src/types/messaging.ts +109 -0
- package/src/types/notification.ts +30 -0
- package/src/types/payment.ts +40 -0
- package/src/types/progress.ts +19 -0
- package/src/types/rating.ts +20 -0
- package/src/types/search.ts +31 -0
- package/src/types/user.ts +16 -0
- package/src/utils/formatters.ts +74 -0
- package/src/utils/index.ts +8 -0
- package/dist/components/atoms/Avatar.d.ts +0 -9
- package/dist/components/atoms/Avatar.d.ts.map +0 -1
- package/dist/components/atoms/Badge.d.ts +0 -10
- package/dist/components/atoms/Badge.d.ts.map +0 -1
- package/dist/components/atoms/Button.d.ts +0 -11
- package/dist/components/atoms/Button.d.ts.map +0 -1
- package/dist/components/atoms/Card.d.ts +0 -11
- package/dist/components/atoms/Card.d.ts.map +0 -1
- package/dist/components/atoms/Input.d.ts +0 -7
- package/dist/components/atoms/Input.d.ts.map +0 -1
- package/dist/components/atoms/ProgressBar.d.ts +0 -11
- package/dist/components/atoms/ProgressBar.d.ts.map +0 -1
- package/dist/components/atoms/Tabs.d.ts +0 -16
- package/dist/components/atoms/Tabs.d.ts.map +0 -1
- package/dist/components/atoms/index.cjs +0 -318
- package/dist/components/atoms/index.d.ts.map +0 -1
- package/dist/components/atoms/index.js +0 -288
- package/dist/components/index.cjs +0 -1275
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/index.js +0 -1245
- package/dist/components/molecules/CourseCard.d.ts +0 -25
- package/dist/components/molecules/CourseCard.d.ts.map +0 -1
- package/dist/components/molecules/EmptyState.d.ts +0 -10
- package/dist/components/molecules/EmptyState.d.ts.map +0 -1
- package/dist/components/molecules/LoadingSpinner.d.ts +0 -7
- package/dist/components/molecules/LoadingSpinner.d.ts.map +0 -1
- package/dist/components/molecules/PageHeader.d.ts +0 -8
- package/dist/components/molecules/PageHeader.d.ts.map +0 -1
- package/dist/components/molecules/Pagination.d.ts +0 -13
- package/dist/components/molecules/Pagination.d.ts.map +0 -1
- package/dist/components/molecules/SearchInput.d.ts +0 -8
- package/dist/components/molecules/SearchInput.d.ts.map +0 -1
- package/dist/components/molecules/index.cjs +0 -334
- package/dist/components/molecules/index.d.ts.map +0 -1
- package/dist/components/molecules/index.js +0 -311
- package/dist/components/organisms/CourseSidebar.d.ts +0 -37
- package/dist/components/organisms/CourseSidebar.d.ts.map +0 -1
- package/dist/components/organisms/LearnerNavbar.d.ts +0 -8
- package/dist/components/organisms/LearnerNavbar.d.ts.map +0 -1
- package/dist/components/organisms/LearnerSidebar.d.ts +0 -16
- package/dist/components/organisms/LearnerSidebar.d.ts.map +0 -1
- package/dist/components/organisms/LessonBookmarks.d.ts +0 -8
- package/dist/components/organisms/LessonBookmarks.d.ts.map +0 -1
- package/dist/components/organisms/LessonNotes.d.ts +0 -8
- package/dist/components/organisms/LessonNotes.d.ts.map +0 -1
- package/dist/components/organisms/index.cjs +0 -855
- package/dist/components/organisms/index.d.ts.map +0 -1
- package/dist/components/organisms/index.js +0 -825
- package/dist/components/pages/BundleDetailPage.d.ts +0 -3
- package/dist/components/pages/BundleDetailPage.d.ts.map +0 -1
- package/dist/components/pages/CatalogBundlesPage.d.ts +0 -3
- package/dist/components/pages/CatalogBundlesPage.d.ts.map +0 -1
- package/dist/components/pages/CatalogCoursesPage.d.ts +0 -3
- package/dist/components/pages/CatalogCoursesPage.d.ts.map +0 -1
- package/dist/components/pages/CourseDetailPage.d.ts +0 -3
- package/dist/components/pages/CourseDetailPage.d.ts.map +0 -1
- package/dist/components/pages/CoursePlayerPage.d.ts +0 -8
- package/dist/components/pages/CoursePlayerPage.d.ts.map +0 -1
- package/dist/components/pages/CreatorProfilePage.d.ts +0 -3
- package/dist/components/pages/CreatorProfilePage.d.ts.map +0 -1
- package/dist/components/pages/LearnerSettingsPage.d.ts +0 -3
- package/dist/components/pages/LearnerSettingsPage.d.ts.map +0 -1
- package/dist/components/pages/ManualReviewDetailPage.d.ts +0 -3
- package/dist/components/pages/ManualReviewDetailPage.d.ts.map +0 -1
- package/dist/components/pages/ManualReviewPage.d.ts +0 -3
- package/dist/components/pages/ManualReviewPage.d.ts.map +0 -1
- package/dist/components/pages/MessagesPage.d.ts +0 -3
- package/dist/components/pages/MessagesPage.d.ts.map +0 -1
- package/dist/components/pages/MyLearningPage.d.ts +0 -3
- package/dist/components/pages/MyLearningPage.d.ts.map +0 -1
- package/dist/components/pages/PaymentCancelPage.d.ts +0 -3
- package/dist/components/pages/PaymentCancelPage.d.ts.map +0 -1
- package/dist/components/pages/PaymentSuccessPage.d.ts +0 -3
- package/dist/components/pages/PaymentSuccessPage.d.ts.map +0 -1
- package/dist/components/pages/index.cjs +0 -3306
- package/dist/components/pages/index.d.ts.map +0 -1
- package/dist/components/pages/index.js +0 -3315
- package/dist/components/utils.d.ts +0 -3
- package/dist/components/utils.d.ts.map +0 -1
- package/dist/contracts/components.contract.d.ts +0 -87
- package/dist/contracts/components.contract.d.ts.map +0 -1
- package/dist/contracts/index.cjs +0 -52
- package/dist/contracts/index.d.ts.map +0 -1
- package/dist/contracts/index.js +0 -29
- package/dist/contracts/layout.contract.d.ts +0 -35
- package/dist/contracts/layout.contract.d.ts.map +0 -1
- package/dist/contracts/pages.contract.d.ts +0 -192
- package/dist/contracts/pages.contract.d.ts.map +0 -1
- package/dist/contracts/template.contract.d.ts +0 -49
- package/dist/contracts/template.contract.d.ts.map +0 -1
- package/dist/hooks/index.cjs +0 -165
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js +0 -142
- package/dist/hooks/sdk-context.d.ts +0 -125
- package/dist/hooks/sdk-context.d.ts.map +0 -1
- package/dist/hooks/useAiCoach.d.ts +0 -32
- package/dist/hooks/useAiCoach.d.ts.map +0 -1
- package/dist/hooks/useBookmarks.d.ts +0 -31
- package/dist/hooks/useBookmarks.d.ts.map +0 -1
- package/dist/hooks/useCourseSearch.d.ts.map +0 -1
- package/dist/hooks/useDebounce.d.ts.map +0 -1
- package/dist/hooks/useMyBundles.d.ts.map +0 -1
- package/dist/hooks/useMyCourses.d.ts.map +0 -1
- package/dist/hooks/useNotes.d.ts +0 -31
- package/dist/hooks/useNotes.d.ts.map +0 -1
- package/dist/hooks/useNotifications.d.ts +0 -19
- package/dist/hooks/useNotifications.d.ts.map +0 -1
- package/dist/hooks/useTheme.d.ts.map +0 -1
- package/dist/hooks/useToast.d.ts +0 -17
- package/dist/hooks/useToast.d.ts.map +0 -1
- package/dist/hooks/useUser.d.ts.map +0 -1
- package/dist/index.cjs +0 -630
- package/dist/index.d.ts +0 -17
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -600
- package/dist/layouts/DefaultLayout.d.ts +0 -9
- package/dist/layouts/DefaultLayout.d.ts.map +0 -1
- package/dist/types/ai-coach.d.ts +0 -22
- package/dist/types/ai-coach.d.ts.map +0 -1
- package/dist/types/bookmarks.d.ts +0 -19
- package/dist/types/bookmarks.d.ts.map +0 -1
- package/dist/types/bundle.d.ts +0 -114
- package/dist/types/bundle.d.ts.map +0 -1
- package/dist/types/common.d.ts +0 -23
- package/dist/types/common.d.ts.map +0 -1
- package/dist/types/course.d.ts +0 -127
- package/dist/types/course.d.ts.map +0 -1
- package/dist/types/enrollment.d.ts +0 -34
- package/dist/types/enrollment.d.ts.map +0 -1
- package/dist/types/index.cjs +0 -18
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -0
- package/dist/types/lesson.d.ts +0 -105
- package/dist/types/lesson.d.ts.map +0 -1
- package/dist/types/manual-review.d.ts +0 -123
- package/dist/types/manual-review.d.ts.map +0 -1
- package/dist/types/messaging.d.ts +0 -101
- package/dist/types/messaging.d.ts.map +0 -1
- package/dist/types/notification.d.ts +0 -28
- package/dist/types/notification.d.ts.map +0 -1
- package/dist/types/payment.d.ts +0 -38
- package/dist/types/payment.d.ts.map +0 -1
- package/dist/types/progress.d.ts +0 -18
- package/dist/types/progress.d.ts.map +0 -1
- package/dist/types/rating.d.ts +0 -20
- package/dist/types/rating.d.ts.map +0 -1
- package/dist/types/search.d.ts +0 -28
- package/dist/types/search.d.ts.map +0 -1
- package/dist/types/user.d.ts +0 -15
- package/dist/types/user.d.ts.map +0 -1
- package/dist/utils/formatters.d.ts +0 -25
- package/dist/utils/formatters.d.ts.map +0 -1
- package/dist/utils/index.cjs +0 -80
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -57
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/components/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Props for a course card component (used in grids/lists)
|
|
3
|
-
*/
|
|
4
|
-
export interface CourseCardProps {
|
|
5
|
-
id: string;
|
|
6
|
-
title: string;
|
|
7
|
-
thumbnail?: string;
|
|
8
|
-
thumbnails?: string[];
|
|
9
|
-
totalLessons: number;
|
|
10
|
-
progress: number;
|
|
11
|
-
status?: 'in-progress' | 'completed';
|
|
12
|
-
isFree: boolean;
|
|
13
|
-
price?: number;
|
|
14
|
-
currency?: string;
|
|
15
|
-
description?: string;
|
|
16
|
-
showPrice?: boolean;
|
|
17
|
-
showProgress?: boolean;
|
|
18
|
-
category?: string;
|
|
19
|
-
duration?: string;
|
|
20
|
-
instructorName?: string;
|
|
21
|
-
instructorAvatar?: string;
|
|
22
|
-
originalPrice?: number;
|
|
23
|
-
isBundle?: boolean;
|
|
24
|
-
onClick?: () => void;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Props for a video player component
|
|
28
|
-
*/
|
|
29
|
-
export interface VideoPlayerProps {
|
|
30
|
-
videoUrl: string;
|
|
31
|
-
provider?: 'YOUTUBE' | 'VIMEO' | 'LOOM' | 'OTHERS';
|
|
32
|
-
startTime?: number;
|
|
33
|
-
onReady?: (player: any) => void;
|
|
34
|
-
onPlay?: () => void;
|
|
35
|
-
onPause?: () => void;
|
|
36
|
-
onEnd?: () => void;
|
|
37
|
-
onStateChange?: (event: any) => void;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Props for pagination component
|
|
41
|
-
*/
|
|
42
|
-
export interface PaginationComponentProps {
|
|
43
|
-
currentPage: number;
|
|
44
|
-
totalPages: number;
|
|
45
|
-
total: number;
|
|
46
|
-
pageSize: number;
|
|
47
|
-
hasNextPage: boolean;
|
|
48
|
-
hasPreviousPage: boolean;
|
|
49
|
-
onPageChange: (page: number) => void;
|
|
50
|
-
maxVisiblePages?: number;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Props for a page header component
|
|
54
|
-
*/
|
|
55
|
-
export interface PageHeaderProps {
|
|
56
|
-
title: string;
|
|
57
|
-
description?: string;
|
|
58
|
-
className?: string;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Props for search results view
|
|
62
|
-
*/
|
|
63
|
-
export interface SearchResultsViewProps {
|
|
64
|
-
results: any;
|
|
65
|
-
isSearching: boolean;
|
|
66
|
-
searchQuery: string;
|
|
67
|
-
onCourseClick: (courseId: string, enrollmentId?: string) => void;
|
|
68
|
-
onLessonClick: (courseId: string, lessonId: string) => void;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Props for the learner sidebar component override
|
|
72
|
-
*/
|
|
73
|
-
export interface LearnerSidebarComponentProps {
|
|
74
|
-
isOpen: boolean;
|
|
75
|
-
isCollapsed: boolean;
|
|
76
|
-
onClose: () => void;
|
|
77
|
-
onToggle: () => void;
|
|
78
|
-
currentPath: string;
|
|
79
|
-
onNavigate: (href: string) => void;
|
|
80
|
-
user: {
|
|
81
|
-
name: string;
|
|
82
|
-
email: string;
|
|
83
|
-
avatar?: string;
|
|
84
|
-
} | null;
|
|
85
|
-
onLogout: () => void;
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=components.contract.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"components.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/components.contract.ts"],"names":[],"mappings":"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"}
|
package/dist/contracts/index.cjs
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/contracts/index.ts
|
|
21
|
-
var contracts_exports = {};
|
|
22
|
-
__export(contracts_exports, {
|
|
23
|
-
validateTemplateManifest: () => validateTemplateManifest
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(contracts_exports);
|
|
26
|
-
|
|
27
|
-
// src/contracts/template.contract.ts
|
|
28
|
-
function validateTemplateManifest(manifest) {
|
|
29
|
-
if (!manifest.name) throw new Error("Template manifest must have a name");
|
|
30
|
-
if (!manifest.version) throw new Error("Template manifest must have a version");
|
|
31
|
-
if (!manifest.LearnerLayout) throw new Error("Template must provide LearnerLayout");
|
|
32
|
-
const requiredPages = [
|
|
33
|
-
"MyLearningPage",
|
|
34
|
-
"CatalogCoursesPage",
|
|
35
|
-
"CatalogBundlesPage",
|
|
36
|
-
"CourseDetailPage",
|
|
37
|
-
"BundleDetailPage",
|
|
38
|
-
"CoursePlayerPage",
|
|
39
|
-
"MessagesPage",
|
|
40
|
-
"ManualReviewPage",
|
|
41
|
-
"ManualReviewDetailPage",
|
|
42
|
-
"LearnerSettingsPage",
|
|
43
|
-
"PaymentSuccessPage",
|
|
44
|
-
"PaymentCancelPage",
|
|
45
|
-
"CreatorProfilePage"
|
|
46
|
-
];
|
|
47
|
-
for (const page of requiredPages) {
|
|
48
|
-
if (!manifest.pages[page]) {
|
|
49
|
-
throw new Error(`Template must provide pages.${page}`);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
|
package/dist/contracts/index.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
// src/contracts/template.contract.ts
|
|
2
|
-
function validateTemplateManifest(manifest) {
|
|
3
|
-
if (!manifest.name) throw new Error("Template manifest must have a name");
|
|
4
|
-
if (!manifest.version) throw new Error("Template manifest must have a version");
|
|
5
|
-
if (!manifest.LearnerLayout) throw new Error("Template must provide LearnerLayout");
|
|
6
|
-
const requiredPages = [
|
|
7
|
-
"MyLearningPage",
|
|
8
|
-
"CatalogCoursesPage",
|
|
9
|
-
"CatalogBundlesPage",
|
|
10
|
-
"CourseDetailPage",
|
|
11
|
-
"BundleDetailPage",
|
|
12
|
-
"CoursePlayerPage",
|
|
13
|
-
"MessagesPage",
|
|
14
|
-
"ManualReviewPage",
|
|
15
|
-
"ManualReviewDetailPage",
|
|
16
|
-
"LearnerSettingsPage",
|
|
17
|
-
"PaymentSuccessPage",
|
|
18
|
-
"PaymentCancelPage",
|
|
19
|
-
"CreatorProfilePage"
|
|
20
|
-
];
|
|
21
|
-
for (const page of requiredPages) {
|
|
22
|
-
if (!manifest.pages[page]) {
|
|
23
|
-
throw new Error(`Template must provide pages.${page}`);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export {
|
|
28
|
-
validateTemplateManifest
|
|
29
|
-
};
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
import type { User, Membership } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* Props for the top-level learner layout wrapper.
|
|
5
|
-
* The template's layout receives these and renders navbar + sidebar + content.
|
|
6
|
-
*/
|
|
7
|
-
export interface LearnerLayoutProps {
|
|
8
|
-
children: ReactNode;
|
|
9
|
-
/** Current authenticated user */
|
|
10
|
-
user: User | null;
|
|
11
|
-
/** User's memberships */
|
|
12
|
-
memberships: Membership[];
|
|
13
|
-
/** Whether sidebar is open (mobile) */
|
|
14
|
-
sidebarOpen: boolean;
|
|
15
|
-
/** Whether sidebar is collapsed (desktop) */
|
|
16
|
-
sidebarCollapsed: boolean;
|
|
17
|
-
/** Toggle sidebar open/close */
|
|
18
|
-
onToggleSidebar: () => void;
|
|
19
|
-
/** Close sidebar (mobile) */
|
|
20
|
-
onCloseSidebar: () => void;
|
|
21
|
-
/** Logout handler */
|
|
22
|
-
onLogout: () => void;
|
|
23
|
-
/** Current pathname for active link highlighting */
|
|
24
|
-
pathname: string;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Navigation item for the sidebar
|
|
28
|
-
*/
|
|
29
|
-
export interface SidebarNavItem {
|
|
30
|
-
label: string;
|
|
31
|
-
href: string;
|
|
32
|
-
icon: string;
|
|
33
|
-
badge?: number;
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=layout.contract.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"layout.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/layout.contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEjD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,iCAAiC;IACjC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,yBAAyB;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,uCAAuC;IACvC,WAAW,EAAE,OAAO,CAAC;IACrB,6CAA6C;IAC7C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gCAAgC;IAChC,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,6BAA6B;IAC7B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
import type { Course, CoursePlayerCourse, Bundle, LearnerBundle, SearchResponse, PaginationMeta, User, LearnerManualReviewSubmission, LearnerManualReviewSummary, LearnerManualReviewPagination, LearnerManualReviewDetailResponse, LearnerManualReviewStatus, AICoachInfo, Rating, RatingSummary, PaymentProvider, Coupon, LessonNote, Bookmark } from '../types';
|
|
2
|
-
export interface MyLearningPageProps {
|
|
3
|
-
user: User | null;
|
|
4
|
-
courses: any[];
|
|
5
|
-
coursesMeta: PaginationMeta | null;
|
|
6
|
-
coursesLoading: boolean;
|
|
7
|
-
coursesPage: number;
|
|
8
|
-
onCoursesPageChange: (page: number) => void;
|
|
9
|
-
bundles: any[];
|
|
10
|
-
bundlesMeta: PaginationMeta | null;
|
|
11
|
-
bundlesLoading: boolean;
|
|
12
|
-
bundlesPage: number;
|
|
13
|
-
onBundlesPageChange: (page: number) => void;
|
|
14
|
-
searchQuery: string;
|
|
15
|
-
onSearchChange: (query: string) => void;
|
|
16
|
-
searchResults: SearchResponse | null;
|
|
17
|
-
isSearching: boolean;
|
|
18
|
-
activeTab: 'courses' | 'bundles';
|
|
19
|
-
onTabChange: (tab: 'courses' | 'bundles') => void;
|
|
20
|
-
statusFilter: string;
|
|
21
|
-
onStatusFilterChange: (status: string) => void;
|
|
22
|
-
onCourseClick: (courseId: string, enrollmentId?: string) => void;
|
|
23
|
-
onBundleClick: (bundleId: string) => void;
|
|
24
|
-
}
|
|
25
|
-
export interface CatalogCoursesPageProps {
|
|
26
|
-
courses: Course[];
|
|
27
|
-
meta: PaginationMeta | null;
|
|
28
|
-
loading: boolean;
|
|
29
|
-
searchQuery: string;
|
|
30
|
-
page: number;
|
|
31
|
-
onSearchChange: (query: string) => void;
|
|
32
|
-
onPageChange: (page: number) => void;
|
|
33
|
-
onCourseClick: (courseId: string) => void;
|
|
34
|
-
}
|
|
35
|
-
export interface CatalogBundlesPageProps {
|
|
36
|
-
bundles: Bundle[];
|
|
37
|
-
meta: PaginationMeta | null;
|
|
38
|
-
loading: boolean;
|
|
39
|
-
searchQuery: string;
|
|
40
|
-
page: number;
|
|
41
|
-
onSearchChange: (query: string) => void;
|
|
42
|
-
onPageChange: (page: number) => void;
|
|
43
|
-
onBundleClick: (bundleId: string) => void;
|
|
44
|
-
}
|
|
45
|
-
export interface CourseDetailPageProps {
|
|
46
|
-
course: any | null;
|
|
47
|
-
isLoading: boolean;
|
|
48
|
-
notFound: boolean;
|
|
49
|
-
isEnrolled: boolean;
|
|
50
|
-
enrollmentId: string | null;
|
|
51
|
-
onEnroll: () => Promise<void>;
|
|
52
|
-
onStartLearning: (enrollmentId: string) => void;
|
|
53
|
-
isProcessingEnrollment: boolean;
|
|
54
|
-
paymentProviders: PaymentProvider[];
|
|
55
|
-
onCheckout: (providerId: string) => Promise<void>;
|
|
56
|
-
isProcessingCheckout: boolean;
|
|
57
|
-
couponCode: string;
|
|
58
|
-
onCouponCodeChange: (code: string) => void;
|
|
59
|
-
onApplyCoupon: () => Promise<void>;
|
|
60
|
-
appliedCoupon: Coupon | null;
|
|
61
|
-
couponError: string | null;
|
|
62
|
-
isApplyingCoupon: boolean;
|
|
63
|
-
discountedPrice: number | undefined;
|
|
64
|
-
activeTab: 'overview' | 'curriculum';
|
|
65
|
-
onTabChange: (tab: 'overview' | 'curriculum') => void;
|
|
66
|
-
relatedCourses: any[];
|
|
67
|
-
isRelatedLoading: boolean;
|
|
68
|
-
onRelatedCourseClick: (courseId: string) => void;
|
|
69
|
-
ratings?: Rating[];
|
|
70
|
-
ratingSummary?: RatingSummary;
|
|
71
|
-
}
|
|
72
|
-
export interface BundleDetailPageProps {
|
|
73
|
-
bundle: LearnerBundle | null;
|
|
74
|
-
isLoading: boolean;
|
|
75
|
-
notFound: boolean;
|
|
76
|
-
isEnrolled: boolean;
|
|
77
|
-
onEnroll: () => Promise<void>;
|
|
78
|
-
isProcessingEnrollment: boolean;
|
|
79
|
-
paymentProviders: PaymentProvider[];
|
|
80
|
-
onCheckout: (providerId: string) => Promise<void>;
|
|
81
|
-
isProcessingCheckout: boolean;
|
|
82
|
-
couponCode: string;
|
|
83
|
-
onCouponCodeChange: (code: string) => void;
|
|
84
|
-
onApplyCoupon: () => Promise<void>;
|
|
85
|
-
appliedCoupon: Coupon | null;
|
|
86
|
-
couponError: string | null;
|
|
87
|
-
onCourseClick: (courseId: string, enrollmentId?: string) => void;
|
|
88
|
-
}
|
|
89
|
-
export interface CoursePlayerPageProps {
|
|
90
|
-
course: CoursePlayerCourse | null;
|
|
91
|
-
actualCourseId: string | null;
|
|
92
|
-
isLoading: boolean;
|
|
93
|
-
courseNotFound: boolean;
|
|
94
|
-
currentLessonId: string;
|
|
95
|
-
currentModuleIndex: number;
|
|
96
|
-
currentLessonIndex: number;
|
|
97
|
-
expandedModules: Set<string>;
|
|
98
|
-
onToggleModule: (moduleId: string) => void;
|
|
99
|
-
onSelectLesson: (lessonId: string) => void;
|
|
100
|
-
completedCount: number;
|
|
101
|
-
totalCount: number;
|
|
102
|
-
isCompleted: boolean;
|
|
103
|
-
currentVideoTime: number;
|
|
104
|
-
isPlaying: boolean;
|
|
105
|
-
onVideoReady: (player: any) => void;
|
|
106
|
-
onVideoPlay: () => void;
|
|
107
|
-
onVideoPause: () => void;
|
|
108
|
-
onVideoEnd: () => void;
|
|
109
|
-
onVideoStateChange: (event: any) => void;
|
|
110
|
-
activeTab: string;
|
|
111
|
-
onTabChange: (tab: string) => void;
|
|
112
|
-
notes: LessonNote[];
|
|
113
|
-
onCreateNote: (text: string, timestamp?: number) => Promise<void>;
|
|
114
|
-
onUpdateNote: (noteId: string, text: string) => Promise<void>;
|
|
115
|
-
onDeleteNote: (noteId: string) => Promise<void>;
|
|
116
|
-
bookmarks: Bookmark[];
|
|
117
|
-
onCreateBookmark: (second: number, label?: string) => Promise<void>;
|
|
118
|
-
onUpdateBookmark: (id: string, label: string) => Promise<void>;
|
|
119
|
-
onDeleteBookmark: (id: string) => Promise<void>;
|
|
120
|
-
aiCoachAvailable: boolean;
|
|
121
|
-
aiCoachInfo: AICoachInfo | null;
|
|
122
|
-
certificateEnabled: boolean;
|
|
123
|
-
onDownloadCertificate: () => Promise<void>;
|
|
124
|
-
showRatingModal: boolean;
|
|
125
|
-
onSubmitRating: (rating: number, review: string) => Promise<void>;
|
|
126
|
-
onCloseRatingModal: () => void;
|
|
127
|
-
slackCommunityEnabled: boolean;
|
|
128
|
-
onJoinSlackChannel: () => Promise<void>;
|
|
129
|
-
isMobileSidebarOpen: boolean;
|
|
130
|
-
onToggleMobileSidebar: () => void;
|
|
131
|
-
getLiveCurrentTime: () => number;
|
|
132
|
-
}
|
|
133
|
-
export interface MessagesPageProps {
|
|
134
|
-
conversations: any[];
|
|
135
|
-
isLoadingConversations: boolean;
|
|
136
|
-
selectedConversation: any | null;
|
|
137
|
-
onSelectConversation: (conv: any) => void;
|
|
138
|
-
messages: any[];
|
|
139
|
-
isLoadingMessages: boolean;
|
|
140
|
-
isLoadingMore: boolean;
|
|
141
|
-
hasMoreMessages: boolean;
|
|
142
|
-
onLoadMoreMessages: () => void;
|
|
143
|
-
onSendMessage: (content: string) => Promise<void>;
|
|
144
|
-
isSending: boolean;
|
|
145
|
-
searchQuery: string;
|
|
146
|
-
onSearchChange: (query: string) => void;
|
|
147
|
-
onDeleteMessage: (messageId: string) => void;
|
|
148
|
-
showNewMessageDialog: boolean;
|
|
149
|
-
onNewMessageDialogChange: (show: boolean) => void;
|
|
150
|
-
onNewMessage: (courseId: string, message: string, conversationId: string, courseName?: string) => void;
|
|
151
|
-
notifications: any[];
|
|
152
|
-
unreadCount: number;
|
|
153
|
-
mobileView: 'list' | 'chat';
|
|
154
|
-
onMobileViewChange: (view: 'list' | 'chat') => void;
|
|
155
|
-
currentUserId: string;
|
|
156
|
-
}
|
|
157
|
-
export interface ManualReviewPageProps {
|
|
158
|
-
submissions: LearnerManualReviewSubmission[];
|
|
159
|
-
summary: LearnerManualReviewSummary;
|
|
160
|
-
pagination: LearnerManualReviewPagination;
|
|
161
|
-
isLoading: boolean;
|
|
162
|
-
filterStatus: LearnerManualReviewStatus | 'ALL';
|
|
163
|
-
onFilterStatusChange: (status: LearnerManualReviewStatus | 'ALL') => void;
|
|
164
|
-
searchQuery: string;
|
|
165
|
-
onSearchChange: (query: string) => void;
|
|
166
|
-
currentPage: number;
|
|
167
|
-
onPageChange: (page: number) => void;
|
|
168
|
-
onSubmissionClick: (submissionId: string) => void;
|
|
169
|
-
}
|
|
170
|
-
export interface ManualReviewDetailPageProps {
|
|
171
|
-
submission: LearnerManualReviewDetailResponse | null;
|
|
172
|
-
isLoading: boolean;
|
|
173
|
-
notFound: boolean;
|
|
174
|
-
onBack: () => void;
|
|
175
|
-
}
|
|
176
|
-
export interface LearnerSettingsPageProps {
|
|
177
|
-
user: User | null;
|
|
178
|
-
}
|
|
179
|
-
export interface PaymentSuccessPageProps {
|
|
180
|
-
onContinueLearning: () => void;
|
|
181
|
-
}
|
|
182
|
-
export interface PaymentCancelPageProps {
|
|
183
|
-
onRetry: () => void;
|
|
184
|
-
onGoBack: () => void;
|
|
185
|
-
}
|
|
186
|
-
export interface CreatorProfilePageProps {
|
|
187
|
-
creator: any | null;
|
|
188
|
-
courses: Course[];
|
|
189
|
-
isLoading: boolean;
|
|
190
|
-
onCourseClick: (courseId: string) => void;
|
|
191
|
-
}
|
|
192
|
-
//# sourceMappingURL=pages.contract.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pages.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/pages.contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import type { ComponentType } from 'react';
|
|
2
|
-
import type { LearnerLayoutProps } from './layout.contract';
|
|
3
|
-
import type { MyLearningPageProps, CatalogCoursesPageProps, CatalogBundlesPageProps, CourseDetailPageProps, BundleDetailPageProps, CoursePlayerPageProps, MessagesPageProps, ManualReviewPageProps, ManualReviewDetailPageProps, LearnerSettingsPageProps, PaymentSuccessPageProps, PaymentCancelPageProps, CreatorProfilePageProps } from './pages.contract';
|
|
4
|
-
import type { CourseCardProps, VideoPlayerProps, PaginationComponentProps, PageHeaderProps, SearchResultsViewProps, LearnerSidebarComponentProps } from './components.contract';
|
|
5
|
-
/**
|
|
6
|
-
* TemplateManifest defines the complete set of components a template must/can provide.
|
|
7
|
-
*
|
|
8
|
-
* Required: LearnerLayout + all page components
|
|
9
|
-
* Optional: component overrides (will fallback to platform defaults if not provided)
|
|
10
|
-
*/
|
|
11
|
-
export interface TemplateManifest {
|
|
12
|
-
/** Unique template name (e.g., "@client/modern-template") */
|
|
13
|
-
name: string;
|
|
14
|
-
/** Template version (semver) */
|
|
15
|
-
version: string;
|
|
16
|
-
/** The root layout component wrapping all learner pages */
|
|
17
|
-
LearnerLayout: ComponentType<LearnerLayoutProps>;
|
|
18
|
-
/** Page components — one per learner route */
|
|
19
|
-
pages: {
|
|
20
|
-
MyLearningPage: ComponentType<Partial<MyLearningPageProps>>;
|
|
21
|
-
CatalogCoursesPage: ComponentType<Partial<CatalogCoursesPageProps>>;
|
|
22
|
-
CatalogBundlesPage: ComponentType<Partial<CatalogBundlesPageProps>>;
|
|
23
|
-
CourseDetailPage: ComponentType<Partial<CourseDetailPageProps>>;
|
|
24
|
-
BundleDetailPage: ComponentType<Partial<BundleDetailPageProps>>;
|
|
25
|
-
CoursePlayerPage: ComponentType<Partial<CoursePlayerPageProps>>;
|
|
26
|
-
MessagesPage: ComponentType<Partial<MessagesPageProps>>;
|
|
27
|
-
ManualReviewPage: ComponentType<Partial<ManualReviewPageProps>>;
|
|
28
|
-
ManualReviewDetailPage: ComponentType<Partial<ManualReviewDetailPageProps>>;
|
|
29
|
-
LearnerSettingsPage: ComponentType<Partial<LearnerSettingsPageProps>>;
|
|
30
|
-
PaymentSuccessPage: ComponentType<Partial<PaymentSuccessPageProps>>;
|
|
31
|
-
PaymentCancelPage: ComponentType<Partial<PaymentCancelPageProps>>;
|
|
32
|
-
CreatorProfilePage: ComponentType<Partial<CreatorProfilePageProps>>;
|
|
33
|
-
};
|
|
34
|
-
/** Optional component overrides — templates can provide custom implementations */
|
|
35
|
-
components?: {
|
|
36
|
-
CourseCard?: ComponentType<CourseCardProps>;
|
|
37
|
-
VideoPlayer?: ComponentType<VideoPlayerProps>;
|
|
38
|
-
Pagination?: ComponentType<PaginationComponentProps>;
|
|
39
|
-
PageHeader?: ComponentType<PageHeaderProps>;
|
|
40
|
-
SearchResultsView?: ComponentType<SearchResultsViewProps>;
|
|
41
|
-
LearnerSidebar?: ComponentType<LearnerSidebarComponentProps>;
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Validates that a template manifest has all required fields.
|
|
46
|
-
* Throws an error if any required page is missing.
|
|
47
|
-
*/
|
|
48
|
-
export declare function validateTemplateManifest(manifest: TemplateManifest): void;
|
|
49
|
-
//# sourceMappingURL=template.contract.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"template.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/template.contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC3B,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAEhB,2DAA2D;IAC3D,aAAa,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAEjD,8CAA8C;IAC9C,KAAK,EAAE;QACL,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC5D,kBAAkB,EAAE,aAAa,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACpE,kBAAkB,EAAE,aAAa,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACpE,gBAAgB,EAAE,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAChE,gBAAgB,EAAE,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAChE,gBAAgB,EAAE,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAChE,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACxD,gBAAgB,EAAE,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAChE,sBAAsB,EAAE,aAAa,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAC5E,mBAAmB,EAAE,aAAa,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACtE,kBAAkB,EAAE,aAAa,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACpE,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAClE,kBAAkB,EAAE,aAAa,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;KACrE,CAAC;IAEF,kFAAkF;IAClF,UAAU,CAAC,EAAE;QACX,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QAC5C,WAAW,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC9C,UAAU,CAAC,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;QACrD,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QAC5C,iBAAiB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;QAC1D,cAAc,CAAC,EAAE,aAAa,CAAC,4BAA4B,CAAC,CAAC;KAC9D,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CA0BzE"}
|
package/dist/hooks/index.cjs
DELETED
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/hooks/index.ts
|
|
21
|
-
var hooks_exports = {};
|
|
22
|
-
__export(hooks_exports, {
|
|
23
|
-
SDKProvider: () => SDKProvider,
|
|
24
|
-
useAiCoachAvailability: () => useAiCoachAvailability,
|
|
25
|
-
useAiCoachChat: () => useAiCoachChat,
|
|
26
|
-
useAiCoachHistory: () => useAiCoachHistory,
|
|
27
|
-
useCourseSearch: () => useCourseSearch,
|
|
28
|
-
useCreateBookmark: () => useCreateBookmark,
|
|
29
|
-
useCreateNote: () => useCreateNote,
|
|
30
|
-
useDebounce: () => useDebounce,
|
|
31
|
-
useDeleteBookmark: () => useDeleteBookmark,
|
|
32
|
-
useDeleteNote: () => useDeleteNote,
|
|
33
|
-
useLessonBookmarks: () => useLessonBookmarks,
|
|
34
|
-
useLessonNotes: () => useLessonNotes,
|
|
35
|
-
useLogout: () => useLogout,
|
|
36
|
-
useMyBundles: () => useMyBundles,
|
|
37
|
-
useMyCourses: () => useMyCourses,
|
|
38
|
-
useNotifications: () => useNotifications,
|
|
39
|
-
useSDK: () => useSDK,
|
|
40
|
-
useTheme: () => useTheme,
|
|
41
|
-
useToast: () => useToast,
|
|
42
|
-
useUpdateBookmark: () => useUpdateBookmark,
|
|
43
|
-
useUpdateNote: () => useUpdateNote,
|
|
44
|
-
useUser: () => useUser
|
|
45
|
-
});
|
|
46
|
-
module.exports = __toCommonJS(hooks_exports);
|
|
47
|
-
|
|
48
|
-
// src/hooks/sdk-context.tsx
|
|
49
|
-
var import_react = require("react");
|
|
50
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
51
|
-
var SDKContext = (0, import_react.createContext)(null);
|
|
52
|
-
function SDKProvider({ implementations, children }) {
|
|
53
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SDKContext.Provider, { value: implementations, children });
|
|
54
|
-
}
|
|
55
|
-
function useSDK() {
|
|
56
|
-
const ctx = (0, import_react.useContext)(SDKContext);
|
|
57
|
-
if (!ctx) {
|
|
58
|
-
throw new Error(
|
|
59
|
-
"useSDK must be used within an SDKProvider. Make sure your learner routes are wrapped with <SDKProvider>."
|
|
60
|
-
);
|
|
61
|
-
}
|
|
62
|
-
return ctx;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// src/hooks/useUser.ts
|
|
66
|
-
function useUser() {
|
|
67
|
-
const sdk = useSDK();
|
|
68
|
-
return sdk.useUser();
|
|
69
|
-
}
|
|
70
|
-
function useLogout() {
|
|
71
|
-
const sdk = useSDK();
|
|
72
|
-
return sdk.useLogout();
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// src/hooks/useMyCourses.ts
|
|
76
|
-
function useMyCourses(status, page, limit) {
|
|
77
|
-
const sdk = useSDK();
|
|
78
|
-
return sdk.useMyCourses(status, page, limit);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
// src/hooks/useMyBundles.ts
|
|
82
|
-
function useMyBundles(status, page, limit, search) {
|
|
83
|
-
const sdk = useSDK();
|
|
84
|
-
return sdk.useMyBundles(status, page, limit, search);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// src/hooks/useCourseSearch.ts
|
|
88
|
-
function useCourseSearch(query) {
|
|
89
|
-
const sdk = useSDK();
|
|
90
|
-
return sdk.useCourseSearch(query);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
// src/hooks/useNotes.ts
|
|
94
|
-
function useLessonNotes(activityId) {
|
|
95
|
-
const sdk = useSDK();
|
|
96
|
-
return sdk.useLessonNotes(activityId);
|
|
97
|
-
}
|
|
98
|
-
function useCreateNote() {
|
|
99
|
-
const sdk = useSDK();
|
|
100
|
-
return sdk.useCreateNote();
|
|
101
|
-
}
|
|
102
|
-
function useUpdateNote() {
|
|
103
|
-
const sdk = useSDK();
|
|
104
|
-
return sdk.useUpdateNote();
|
|
105
|
-
}
|
|
106
|
-
function useDeleteNote() {
|
|
107
|
-
const sdk = useSDK();
|
|
108
|
-
return sdk.useDeleteNote();
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
// src/hooks/useBookmarks.ts
|
|
112
|
-
function useLessonBookmarks(activityId) {
|
|
113
|
-
const sdk = useSDK();
|
|
114
|
-
return sdk.useLessonBookmarks(activityId);
|
|
115
|
-
}
|
|
116
|
-
function useCreateBookmark() {
|
|
117
|
-
const sdk = useSDK();
|
|
118
|
-
return sdk.useCreateBookmark();
|
|
119
|
-
}
|
|
120
|
-
function useUpdateBookmark() {
|
|
121
|
-
const sdk = useSDK();
|
|
122
|
-
return sdk.useUpdateBookmark();
|
|
123
|
-
}
|
|
124
|
-
function useDeleteBookmark() {
|
|
125
|
-
const sdk = useSDK();
|
|
126
|
-
return sdk.useDeleteBookmark();
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
// src/hooks/useAiCoach.ts
|
|
130
|
-
function useAiCoachAvailability(courseId) {
|
|
131
|
-
const sdk = useSDK();
|
|
132
|
-
return sdk.useAiCoachAvailability(courseId);
|
|
133
|
-
}
|
|
134
|
-
function useAiCoachChat(courseId) {
|
|
135
|
-
const sdk = useSDK();
|
|
136
|
-
return sdk.useAiCoachChat(courseId);
|
|
137
|
-
}
|
|
138
|
-
function useAiCoachHistory(courseId, enabled) {
|
|
139
|
-
const sdk = useSDK();
|
|
140
|
-
return sdk.useAiCoachHistory(courseId, enabled);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
// src/hooks/useNotifications.ts
|
|
144
|
-
function useNotifications() {
|
|
145
|
-
const sdk = useSDK();
|
|
146
|
-
return sdk.useNotifications();
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
// src/hooks/useTheme.ts
|
|
150
|
-
function useTheme() {
|
|
151
|
-
const sdk = useSDK();
|
|
152
|
-
return sdk.useTheme();
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
// src/hooks/useDebounce.ts
|
|
156
|
-
function useDebounce(value, delay) {
|
|
157
|
-
const sdk = useSDK();
|
|
158
|
-
return sdk.useDebounce(value, delay);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
// src/hooks/useToast.ts
|
|
162
|
-
function useToast() {
|
|
163
|
-
const sdk = useSDK();
|
|
164
|
-
return sdk.useToast();
|
|
165
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG9E,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAG7G,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|