@learnpack/learnpack 5.0.65 → 5.0.67

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +13 -13
  2. package/lib/commands/serve.js +15 -15
  3. package/{src/creatorDist/assets/index-tt9JBVY0.css → lib/creatorDist/assets/index-t6ma_gVm.css} +118 -20
  4. package/lib/creatorDist/assets/index-tZYXMzIW.js +75067 -0
  5. package/lib/creatorDist/assets/pdf.worker-DSVOJ9H9.js +56037 -0
  6. package/lib/creatorDist/index.html +10 -5
  7. package/lib/creatorDist/logo-192 copy.png +0 -0
  8. package/lib/creatorDist/logo.png +0 -0
  9. package/oclif.manifest.json +1 -1
  10. package/package.json +1 -1
  11. package/src/commands/serve.ts +24 -20
  12. package/src/creator/index.html +8 -3
  13. package/src/creator/package-lock.json +394 -0
  14. package/src/creator/package.json +3 -0
  15. package/src/creator/public/logo-192 copy.png +0 -0
  16. package/src/creator/public/logo.png +0 -0
  17. package/src/creator/src/App.tsx +30 -4
  18. package/src/creator/src/assets/svgs.tsx +138 -0
  19. package/src/creator/src/components/FileUploader.tsx +91 -0
  20. package/src/creator/src/components/LessonItem.tsx +70 -0
  21. package/src/creator/src/components/Loader.tsx +64 -19
  22. package/src/creator/src/components/Login.tsx +6 -12
  23. package/src/creator/src/components/Message.tsx +28 -0
  24. package/src/creator/src/components/RigoLoader.tsx +14 -0
  25. package/src/creator/src/components/StepWizard.tsx +1 -0
  26. package/src/creator/src/components/SyllabusEditor.tsx +111 -261
  27. package/src/creator/src/index.css +64 -0
  28. package/src/creator/src/utils/creatorUtils.ts +136 -0
  29. package/src/creator/src/utils/eventBus.ts +2 -0
  30. package/src/creator/src/utils/lib.ts +6 -0
  31. package/src/creator/src/utils/store.ts +6 -1
  32. package/{lib/creatorDist/assets/index-tt9JBVY0.css → src/creatorDist/assets/index-t6ma_gVm.css} +118 -20
  33. package/src/creatorDist/assets/index-tZYXMzIW.js +75067 -0
  34. package/src/creatorDist/assets/pdf.worker-DSVOJ9H9.js +56037 -0
  35. package/src/creatorDist/index.html +10 -5
  36. package/src/creatorDist/logo-192 copy.png +0 -0
  37. package/src/creatorDist/logo.png +0 -0
  38. package/src/ui/_app/app.css +1 -1
  39. package/src/ui/_app/app.js +299 -299
  40. package/src/ui/app.tar.gz +0 -0
  41. package/lib/creatorDist/assets/index-CrrS9sA3.js +0 -23718
  42. package/src/creator/src/App.css +0 -42
  43. package/src/creatorDist/assets/index-CrrS9sA3.js +0 -23718
@@ -13,6 +13,9 @@
13
13
  "axios": "^1.8.4",
14
14
  "front-matter": "^4.0.2",
15
15
  "js-yaml": "^4.1.0",
16
+ "mammoth": "^1.9.0",
17
+ "mitt": "^3.0.1",
18
+ "pdfjs-dist": "^5.1.91",
16
19
  "react": "^19.0.0",
17
20
  "react-dom": "^19.0.0",
18
21
  "react-hot-toast": "^2.5.2",
@@ -724,6 +727,188 @@
724
727
  "url": "https://github.com/sponsors/nzakas"
725
728
  }
726
729
  },
730
+ "node_modules/@napi-rs/canvas": {
731
+ "version": "0.1.69",
732
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.69.tgz",
733
+ "integrity": "sha512-ydvNeJMRm+l3T14yCoUKqjYQiEdXDq1isznI93LEBGYssXKfSaLNLHOkeM4z9Fnw9Pkt2EKOCAtW9cS4b00Zcg==",
734
+ "license": "MIT",
735
+ "optional": true,
736
+ "engines": {
737
+ "node": ">= 10"
738
+ },
739
+ "optionalDependencies": {
740
+ "@napi-rs/canvas-android-arm64": "0.1.69",
741
+ "@napi-rs/canvas-darwin-arm64": "0.1.69",
742
+ "@napi-rs/canvas-darwin-x64": "0.1.69",
743
+ "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.69",
744
+ "@napi-rs/canvas-linux-arm64-gnu": "0.1.69",
745
+ "@napi-rs/canvas-linux-arm64-musl": "0.1.69",
746
+ "@napi-rs/canvas-linux-riscv64-gnu": "0.1.69",
747
+ "@napi-rs/canvas-linux-x64-gnu": "0.1.69",
748
+ "@napi-rs/canvas-linux-x64-musl": "0.1.69",
749
+ "@napi-rs/canvas-win32-x64-msvc": "0.1.69"
750
+ }
751
+ },
752
+ "node_modules/@napi-rs/canvas-android-arm64": {
753
+ "version": "0.1.69",
754
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.69.tgz",
755
+ "integrity": "sha512-4icWTByY8zPvM9SelfQKf3I6kwXw0aI5drBOVrwfER5kjwXJd78FPSDSZkxDHjvIo9Q86ljl18Yr963ehA4sHQ==",
756
+ "cpu": [
757
+ "arm64"
758
+ ],
759
+ "license": "MIT",
760
+ "optional": true,
761
+ "os": [
762
+ "android"
763
+ ],
764
+ "engines": {
765
+ "node": ">= 10"
766
+ }
767
+ },
768
+ "node_modules/@napi-rs/canvas-darwin-arm64": {
769
+ "version": "0.1.69",
770
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.69.tgz",
771
+ "integrity": "sha512-HOanhhYlHdukA+unjelT4Dg3ta7e820x87/AG2dKUMsUzH19jaeZs9bcYjzEy2vYi/dFWKz7cSv2yaIOudB8Yg==",
772
+ "cpu": [
773
+ "arm64"
774
+ ],
775
+ "license": "MIT",
776
+ "optional": true,
777
+ "os": [
778
+ "darwin"
779
+ ],
780
+ "engines": {
781
+ "node": ">= 10"
782
+ }
783
+ },
784
+ "node_modules/@napi-rs/canvas-darwin-x64": {
785
+ "version": "0.1.69",
786
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.69.tgz",
787
+ "integrity": "sha512-SIp7WfhxAPnSVK9bkFfJp+84rbATCIq9jMUzDwpCLhQ+v+OqtXe4pggX1oeV+62/HK6BT1t18qRmJfyqwJ9f3g==",
788
+ "cpu": [
789
+ "x64"
790
+ ],
791
+ "license": "MIT",
792
+ "optional": true,
793
+ "os": [
794
+ "darwin"
795
+ ],
796
+ "engines": {
797
+ "node": ">= 10"
798
+ }
799
+ },
800
+ "node_modules/@napi-rs/canvas-linux-arm-gnueabihf": {
801
+ "version": "0.1.69",
802
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.69.tgz",
803
+ "integrity": "sha512-Ls+KujCp6TGpkuMVFvrlx+CxtL+casdkrprFjqIuOAnB30Mct6bCEr+I83Tu29s3nNq4EzIGjdmA3fFAZG/Dtw==",
804
+ "cpu": [
805
+ "arm"
806
+ ],
807
+ "license": "MIT",
808
+ "optional": true,
809
+ "os": [
810
+ "linux"
811
+ ],
812
+ "engines": {
813
+ "node": ">= 10"
814
+ }
815
+ },
816
+ "node_modules/@napi-rs/canvas-linux-arm64-gnu": {
817
+ "version": "0.1.69",
818
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.69.tgz",
819
+ "integrity": "sha512-m8VcGmeSBNRbHZBd1srvdM1aq/ScS2y8KqGqmCCEgJlytYK4jdULzAo2K/BPKE1v3xvn8oUPZDLI/NBJbJkEoA==",
820
+ "cpu": [
821
+ "arm64"
822
+ ],
823
+ "license": "MIT",
824
+ "optional": true,
825
+ "os": [
826
+ "linux"
827
+ ],
828
+ "engines": {
829
+ "node": ">= 10"
830
+ }
831
+ },
832
+ "node_modules/@napi-rs/canvas-linux-arm64-musl": {
833
+ "version": "0.1.69",
834
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.69.tgz",
835
+ "integrity": "sha512-a3xjNRIeK2m2ZORGv2moBvv3vbkaFZG1QKMeiEv/BKij+rkztuEhTJGMar+buICFgS0fLgphXXsKNkUSJb7eRQ==",
836
+ "cpu": [
837
+ "arm64"
838
+ ],
839
+ "license": "MIT",
840
+ "optional": true,
841
+ "os": [
842
+ "linux"
843
+ ],
844
+ "engines": {
845
+ "node": ">= 10"
846
+ }
847
+ },
848
+ "node_modules/@napi-rs/canvas-linux-riscv64-gnu": {
849
+ "version": "0.1.69",
850
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.69.tgz",
851
+ "integrity": "sha512-pClUoJF5wdC9AvD0mc15G9JffL1Q85nuH1rLSQPRkGmGmQOtRjw5E9xNbanz7oFUiPbjH7xcAXUjVAcf7tdgPQ==",
852
+ "cpu": [
853
+ "riscv64"
854
+ ],
855
+ "license": "MIT",
856
+ "optional": true,
857
+ "os": [
858
+ "linux"
859
+ ],
860
+ "engines": {
861
+ "node": ">= 10"
862
+ }
863
+ },
864
+ "node_modules/@napi-rs/canvas-linux-x64-gnu": {
865
+ "version": "0.1.69",
866
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.69.tgz",
867
+ "integrity": "sha512-96X3bFAmzemfw84Ts6Jg/omL86uuynvK06MWGR/mp3JYNumY9RXofA14eF/kJIYelbYFWXcwpbcBR71lJ6G/YQ==",
868
+ "cpu": [
869
+ "x64"
870
+ ],
871
+ "license": "MIT",
872
+ "optional": true,
873
+ "os": [
874
+ "linux"
875
+ ],
876
+ "engines": {
877
+ "node": ">= 10"
878
+ }
879
+ },
880
+ "node_modules/@napi-rs/canvas-linux-x64-musl": {
881
+ "version": "0.1.69",
882
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.69.tgz",
883
+ "integrity": "sha512-2QTsEFO72Kwkj53W9hc5y1FAUvdGx0V+pjJB+9oQF6Ys9+y989GyPIl5wZDzeh8nIJW6koZZ1eFa8pD+pA5BFQ==",
884
+ "cpu": [
885
+ "x64"
886
+ ],
887
+ "license": "MIT",
888
+ "optional": true,
889
+ "os": [
890
+ "linux"
891
+ ],
892
+ "engines": {
893
+ "node": ">= 10"
894
+ }
895
+ },
896
+ "node_modules/@napi-rs/canvas-win32-x64-msvc": {
897
+ "version": "0.1.69",
898
+ "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.69.tgz",
899
+ "integrity": "sha512-Q4YA8kVnKarApBVLu7F8icGlIfSll5Glswo5hY6gPS4Is2dCI8+ig9OeDM8RlwYevUIxKq8lZBypN8Q1iLAQ7w==",
900
+ "cpu": [
901
+ "x64"
902
+ ],
903
+ "license": "MIT",
904
+ "optional": true,
905
+ "os": [
906
+ "win32"
907
+ ],
908
+ "engines": {
909
+ "node": ">= 10"
910
+ }
911
+ },
727
912
  "node_modules/@nodelib/fs.scandir": {
728
913
  "version": "2.1.5",
729
914
  "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -1794,6 +1979,15 @@
1794
1979
  "vite": "^4 || ^5 || ^6"
1795
1980
  }
1796
1981
  },
1982
+ "node_modules/@xmldom/xmldom": {
1983
+ "version": "0.8.10",
1984
+ "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz",
1985
+ "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==",
1986
+ "license": "MIT",
1987
+ "engines": {
1988
+ "node": ">=10.0.0"
1989
+ }
1990
+ },
1797
1991
  "node_modules/abort-controller": {
1798
1992
  "version": "3.0.0",
1799
1993
  "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
@@ -1986,6 +2180,12 @@
1986
2180
  "node": "*"
1987
2181
  }
1988
2182
  },
2183
+ "node_modules/bluebird": {
2184
+ "version": "3.4.7",
2185
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
2186
+ "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==",
2187
+ "license": "MIT"
2188
+ },
1989
2189
  "node_modules/brace-expansion": {
1990
2190
  "version": "1.1.11",
1991
2191
  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -2158,6 +2358,12 @@
2158
2358
  "node": ">=18"
2159
2359
  }
2160
2360
  },
2361
+ "node_modules/core-util-is": {
2362
+ "version": "1.0.3",
2363
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
2364
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
2365
+ "license": "MIT"
2366
+ },
2161
2367
  "node_modules/cross-spawn": {
2162
2368
  "version": "7.0.6",
2163
2369
  "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
@@ -2221,6 +2427,21 @@
2221
2427
  "node": ">=8"
2222
2428
  }
2223
2429
  },
2430
+ "node_modules/dingbat-to-unicode": {
2431
+ "version": "1.0.1",
2432
+ "resolved": "https://registry.npmjs.org/dingbat-to-unicode/-/dingbat-to-unicode-1.0.1.tgz",
2433
+ "integrity": "sha512-98l0sW87ZT58pU4i61wa2OHwxbiYSbuxsCBozaVnYX2iCnr3bLM3fIes1/ej7h1YdOKuKt/MLs706TVnALA65w==",
2434
+ "license": "BSD-2-Clause"
2435
+ },
2436
+ "node_modules/duck": {
2437
+ "version": "0.1.12",
2438
+ "resolved": "https://registry.npmjs.org/duck/-/duck-0.1.12.tgz",
2439
+ "integrity": "sha512-wkctla1O6VfP89gQ+J/yDesM0S7B7XLXjKGzXxMDVFg7uEn706niAtyYovKbyq1oT9YwDcly721/iUWoc8MVRg==",
2440
+ "license": "BSD",
2441
+ "dependencies": {
2442
+ "underscore": "^1.13.1"
2443
+ }
2444
+ },
2224
2445
  "node_modules/dunder-proto": {
2225
2446
  "version": "1.0.1",
2226
2447
  "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
@@ -3138,6 +3359,12 @@
3138
3359
  "node": ">= 4"
3139
3360
  }
3140
3361
  },
3362
+ "node_modules/immediate": {
3363
+ "version": "3.0.6",
3364
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
3365
+ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
3366
+ "license": "MIT"
3367
+ },
3141
3368
  "node_modules/import-fresh": {
3142
3369
  "version": "3.3.1",
3143
3370
  "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
@@ -3216,6 +3443,12 @@
3216
3443
  "url": "https://github.com/sponsors/sindresorhus"
3217
3444
  }
3218
3445
  },
3446
+ "node_modules/isarray": {
3447
+ "version": "1.0.0",
3448
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
3449
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
3450
+ "license": "MIT"
3451
+ },
3219
3452
  "node_modules/isexe": {
3220
3453
  "version": "2.0.0",
3221
3454
  "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -3274,6 +3507,48 @@
3274
3507
  "dev": true,
3275
3508
  "license": "MIT"
3276
3509
  },
3510
+ "node_modules/jszip": {
3511
+ "version": "3.10.1",
3512
+ "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
3513
+ "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
3514
+ "license": "(MIT OR GPL-3.0-or-later)",
3515
+ "dependencies": {
3516
+ "lie": "~3.3.0",
3517
+ "pako": "~1.0.2",
3518
+ "readable-stream": "~2.3.6",
3519
+ "setimmediate": "^1.0.5"
3520
+ }
3521
+ },
3522
+ "node_modules/jszip/node_modules/readable-stream": {
3523
+ "version": "2.3.8",
3524
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
3525
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
3526
+ "license": "MIT",
3527
+ "dependencies": {
3528
+ "core-util-is": "~1.0.0",
3529
+ "inherits": "~2.0.3",
3530
+ "isarray": "~1.0.0",
3531
+ "process-nextick-args": "~2.0.0",
3532
+ "safe-buffer": "~5.1.1",
3533
+ "string_decoder": "~1.1.1",
3534
+ "util-deprecate": "~1.0.1"
3535
+ }
3536
+ },
3537
+ "node_modules/jszip/node_modules/safe-buffer": {
3538
+ "version": "5.1.2",
3539
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
3540
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
3541
+ "license": "MIT"
3542
+ },
3543
+ "node_modules/jszip/node_modules/string_decoder": {
3544
+ "version": "1.1.1",
3545
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
3546
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
3547
+ "license": "MIT",
3548
+ "dependencies": {
3549
+ "safe-buffer": "~5.1.0"
3550
+ }
3551
+ },
3277
3552
  "node_modules/jwa": {
3278
3553
  "version": "2.0.0",
3279
3554
  "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz",
@@ -3319,6 +3594,15 @@
3319
3594
  "node": ">= 0.8.0"
3320
3595
  }
3321
3596
  },
3597
+ "node_modules/lie": {
3598
+ "version": "3.3.0",
3599
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
3600
+ "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
3601
+ "license": "MIT",
3602
+ "dependencies": {
3603
+ "immediate": "~3.0.5"
3604
+ }
3605
+ },
3322
3606
  "node_modules/lightningcss": {
3323
3607
  "version": "1.29.2",
3324
3608
  "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.29.2.tgz",
@@ -3570,6 +3854,50 @@
3570
3854
  "dev": true,
3571
3855
  "license": "MIT"
3572
3856
  },
3857
+ "node_modules/lop": {
3858
+ "version": "0.4.2",
3859
+ "resolved": "https://registry.npmjs.org/lop/-/lop-0.4.2.tgz",
3860
+ "integrity": "sha512-RefILVDQ4DKoRZsJ4Pj22TxE3omDO47yFpkIBoDKzkqPRISs5U1cnAdg/5583YPkWPaLIYHOKRMQSvjFsO26cw==",
3861
+ "license": "BSD-2-Clause",
3862
+ "dependencies": {
3863
+ "duck": "^0.1.12",
3864
+ "option": "~0.2.1",
3865
+ "underscore": "^1.13.1"
3866
+ }
3867
+ },
3868
+ "node_modules/mammoth": {
3869
+ "version": "1.9.0",
3870
+ "resolved": "https://registry.npmjs.org/mammoth/-/mammoth-1.9.0.tgz",
3871
+ "integrity": "sha512-F+0NxzankQV9XSUAuVKvkdQK0GbtGGuqVnND9aVf9VSeUA82LQa29GjLqYU6Eez8LHqSJG3eGiDW3224OKdpZg==",
3872
+ "license": "BSD-2-Clause",
3873
+ "dependencies": {
3874
+ "@xmldom/xmldom": "^0.8.6",
3875
+ "argparse": "~1.0.3",
3876
+ "base64-js": "^1.5.1",
3877
+ "bluebird": "~3.4.0",
3878
+ "dingbat-to-unicode": "^1.0.1",
3879
+ "jszip": "^3.7.1",
3880
+ "lop": "^0.4.2",
3881
+ "path-is-absolute": "^1.0.0",
3882
+ "underscore": "^1.13.1",
3883
+ "xmlbuilder": "^10.0.0"
3884
+ },
3885
+ "bin": {
3886
+ "mammoth": "bin/mammoth"
3887
+ },
3888
+ "engines": {
3889
+ "node": ">=12.0.0"
3890
+ }
3891
+ },
3892
+ "node_modules/mammoth/node_modules/argparse": {
3893
+ "version": "1.0.10",
3894
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
3895
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
3896
+ "license": "MIT",
3897
+ "dependencies": {
3898
+ "sprintf-js": "~1.0.2"
3899
+ }
3900
+ },
3573
3901
  "node_modules/math-intrinsics": {
3574
3902
  "version": "1.1.0",
3575
3903
  "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
@@ -3649,6 +3977,12 @@
3649
3977
  "node": "*"
3650
3978
  }
3651
3979
  },
3980
+ "node_modules/mitt": {
3981
+ "version": "3.0.1",
3982
+ "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
3983
+ "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
3984
+ "license": "MIT"
3985
+ },
3652
3986
  "node_modules/ms": {
3653
3987
  "version": "2.1.3",
3654
3988
  "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -3732,6 +4066,12 @@
3732
4066
  "wrappy": "1"
3733
4067
  }
3734
4068
  },
4069
+ "node_modules/option": {
4070
+ "version": "0.2.4",
4071
+ "resolved": "https://registry.npmjs.org/option/-/option-0.2.4.tgz",
4072
+ "integrity": "sha512-pkEqbDyl8ou5cpq+VsnQbe/WlEy5qS7xPzMS1U55OCG9KPvwFD46zDbxQIj3egJSFc3D+XhYOPUzz49zQAVy7A==",
4073
+ "license": "BSD-2-Clause"
4074
+ },
3735
4075
  "node_modules/optionator": {
3736
4076
  "version": "0.9.4",
3737
4077
  "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
@@ -3781,6 +4121,12 @@
3781
4121
  "url": "https://github.com/sponsors/sindresorhus"
3782
4122
  }
3783
4123
  },
4124
+ "node_modules/pako": {
4125
+ "version": "1.0.11",
4126
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
4127
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
4128
+ "license": "(MIT AND Zlib)"
4129
+ },
3784
4130
  "node_modules/parent-module": {
3785
4131
  "version": "1.0.1",
3786
4132
  "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -3804,6 +4150,15 @@
3804
4150
  "node": ">=8"
3805
4151
  }
3806
4152
  },
4153
+ "node_modules/path-is-absolute": {
4154
+ "version": "1.0.1",
4155
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
4156
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
4157
+ "license": "MIT",
4158
+ "engines": {
4159
+ "node": ">=0.10.0"
4160
+ }
4161
+ },
3807
4162
  "node_modules/path-key": {
3808
4163
  "version": "3.1.1",
3809
4164
  "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
@@ -3814,6 +4169,18 @@
3814
4169
  "node": ">=8"
3815
4170
  }
3816
4171
  },
4172
+ "node_modules/pdfjs-dist": {
4173
+ "version": "5.1.91",
4174
+ "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.1.91.tgz",
4175
+ "integrity": "sha512-qSIADdagooJB4wWCBnrBJjRvASevmxL0BwafvOuKJG5uTQdYoFBrhrRYnucKNiSc9qS6JIk0hC5y1yktFljXkA==",
4176
+ "license": "Apache-2.0",
4177
+ "engines": {
4178
+ "node": ">=20"
4179
+ },
4180
+ "optionalDependencies": {
4181
+ "@napi-rs/canvas": "^0.1.67"
4182
+ }
4183
+ },
3817
4184
  "node_modules/picocolors": {
3818
4185
  "version": "1.1.1",
3819
4186
  "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
@@ -3887,6 +4254,12 @@
3887
4254
  "node": ">= 0.8.0"
3888
4255
  }
3889
4256
  },
4257
+ "node_modules/process-nextick-args": {
4258
+ "version": "2.0.1",
4259
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
4260
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
4261
+ "license": "MIT"
4262
+ },
3890
4263
  "node_modules/proxy-from-env": {
3891
4264
  "version": "1.1.0",
3892
4265
  "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
@@ -4152,6 +4525,12 @@
4152
4525
  "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==",
4153
4526
  "license": "MIT"
4154
4527
  },
4528
+ "node_modules/setimmediate": {
4529
+ "version": "1.0.5",
4530
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
4531
+ "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
4532
+ "license": "MIT"
4533
+ },
4155
4534
  "node_modules/shebang-command": {
4156
4535
  "version": "2.0.0",
4157
4536
  "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -4433,6 +4812,12 @@
4433
4812
  "typescript": ">=4.8.4 <5.9.0"
4434
4813
  }
4435
4814
  },
4815
+ "node_modules/underscore": {
4816
+ "version": "1.13.7",
4817
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz",
4818
+ "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==",
4819
+ "license": "MIT"
4820
+ },
4436
4821
  "node_modules/undici-types": {
4437
4822
  "version": "6.21.0",
4438
4823
  "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
@@ -4614,6 +4999,15 @@
4614
4999
  "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
4615
5000
  "license": "ISC"
4616
5001
  },
5002
+ "node_modules/xmlbuilder": {
5003
+ "version": "10.1.1",
5004
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-10.1.1.tgz",
5005
+ "integrity": "sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg==",
5006
+ "license": "MIT",
5007
+ "engines": {
5008
+ "node": ">=4.0"
5009
+ }
5010
+ },
4617
5011
  "node_modules/yocto-queue": {
4618
5012
  "version": "0.1.0",
4619
5013
  "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
@@ -15,6 +15,9 @@
15
15
  "axios": "^1.8.4",
16
16
  "front-matter": "^4.0.2",
17
17
  "js-yaml": "^4.1.0",
18
+ "mammoth": "^1.9.0",
19
+ "mitt": "^3.0.1",
20
+ "pdfjs-dist": "^5.1.91",
18
21
  "react": "^19.0.0",
19
22
  "react-dom": "^19.0.0",
20
23
  "react-hot-toast": "^2.5.2",
Binary file
@@ -4,11 +4,11 @@ import SelectableCard from "./components/SelectableCard"
4
4
  import Loader from "./components/Loader"
5
5
  import { SVGS } from "./assets/svgs"
6
6
  import { useNavigate } from "react-router"
7
- import Login from "./components/Login"
7
+ import Login, { loginWithToken } from "./components/Login"
8
8
  import { useShallow } from "zustand/react/shallow"
9
9
  import useStore from "./utils/store"
10
10
  import { interactiveCreation } from "./utils/rigo"
11
- import { parseLesson } from "./utils/lib"
11
+ import { checkParams, parseLesson } from "./utils/lib"
12
12
 
13
13
  // import SyllabusEditor from "./components/SyllabusEditor"
14
14
 
@@ -19,12 +19,13 @@ const exampleContentIndex = `-Introduction to AI: Explain what is AI and its app
19
19
  function App() {
20
20
  const navigate = useNavigate()
21
21
 
22
- const { auth, formState, setFormState, setSyllabus } = useStore(
22
+ const { auth, formState, setFormState, setSyllabus, setAuth } = useStore(
23
23
  useShallow((state) => ({
24
24
  auth: state.auth,
25
25
  formState: state.formState,
26
26
  setFormState: state.setFormState,
27
27
  setSyllabus: state.setSyllabus,
28
+ setAuth: state.setAuth,
28
29
  }))
29
30
  )
30
31
 
@@ -32,6 +33,7 @@ function App() {
32
33
  const [steps, setSteps] = useState<Array<Step>>([
33
34
  {
34
35
  title: "Provide a description for your tutorial",
36
+ slug: "description",
35
37
  content: (
36
38
  <textarea
37
39
  placeholder="Describe your tutorial"
@@ -49,6 +51,7 @@ function App() {
49
51
  {
50
52
  title:
51
53
  "First you need to login with 4Geeks.com to use AI Generation tool for creators. ",
54
+ slug: "login",
52
55
  content: (
53
56
  <Login
54
57
  onFinish={() => {
@@ -61,6 +64,7 @@ function App() {
61
64
  },
62
65
  {
63
66
  title: "What is the estimated duration for this tutorial?",
67
+ slug: "duration",
64
68
  content: (
65
69
  <div className="flex flex-row gap-4">
66
70
  <SelectableCard
@@ -101,6 +105,7 @@ function App() {
101
105
  },
102
106
  {
103
107
  title: "What is the target audience for this tutorial?",
108
+ slug: "target-audience",
104
109
  content: (
105
110
  <div className="flex flex-row gap-4">
106
111
  <textarea
@@ -119,6 +124,7 @@ function App() {
119
124
  },
120
125
  {
121
126
  title: "Do you have a content index for this tutorial?",
127
+ slug: "content-index",
122
128
  content: (
123
129
  <div className="flex flex-row gap-4 justify-center">
124
130
  <SelectableCard
@@ -133,6 +139,7 @@ function App() {
133
139
  {
134
140
  title:
135
141
  "Write or paste your content index below, each topic should be defined on a new line, here is an example:",
142
+ slug: "content-index",
136
143
  content: (
137
144
  <textarea
138
145
  placeholder="Provide a content index for this tutorial"
@@ -177,6 +184,25 @@ function App() {
177
184
  }
178
185
  }, [formState])
179
186
 
187
+ useEffect(() => {
188
+ verifyToken()
189
+ }, [])
190
+
191
+ const verifyToken = async () => {
192
+ const { token } = checkParams()
193
+ if (token) {
194
+ const user = await loginWithToken(token)
195
+ console.log(user, "user at the beginning")
196
+ setAuth({
197
+ bcToken: token,
198
+ userId: user.id,
199
+ rigoToken: user.rigobot.key,
200
+ })
201
+
202
+ setSteps(steps.filter((step) => step.slug !== "login"))
203
+ }
204
+ }
205
+
180
206
  const handleCreateTutorial = async () => {
181
207
  const res = await interactiveCreation(auth.rigoToken, {
182
208
  courseInfo: JSON.stringify(formState),
@@ -209,7 +235,7 @@ function App() {
209
235
  {formState.isCompleted ? (
210
236
  <Loader
211
237
  text="Learnpack is setting up your tutorial. It may take a moment..."
212
- icon={SVGS.aiStars}
238
+ icon={SVGS.rigoSoftBlue}
213
239
  />
214
240
  ) : (
215
241
  <StepWizard initialStep={formState.currentStep} steps={steps} />