l-min-components 1.0.422 → 1.0.428

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "l-min-components",
3
- "version": "1.0.422",
3
+ "version": "1.0.428",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "src/assets",
@@ -22,6 +22,7 @@
22
22
  "l-min-components": "^1.0.220",
23
23
  "moment": "^2.29.4",
24
24
  "prop-types": "^15.8.1",
25
+ "rc-progress": "^3.5.1",
25
26
  "rc-slider": "^10.1.1",
26
27
  "rc-tooltip": "^6.0.1",
27
28
  "react": "^18.2.0",
@@ -24,6 +24,7 @@ import InstructorAccountSwitcher from "../instructorAccountSwitcher";
24
24
  // import SideMenu from "../sideBar/sideMenu";
25
25
  import InstructorRightBar from "../fileRightBar/instructorRightBar";
26
26
  import EnterpriseRightBar from "../fileRightBar/enterpriseRightBar";
27
+ import PersonalRightBar from "../fileRightBar/personalRightBar";
27
28
 
28
29
  const AppMainLayout = () => {
29
30
  const [isOpen, setIsOpen] = useState(true);
@@ -165,8 +166,18 @@ const AppMainLayout = () => {
165
166
  (window.location.pathname.includes("enterprise") &&
166
167
  !window.location.pathname.includes("file-manager") ? (
167
168
  <EnterpriseRightBar />
168
- ) : window.location.pathname.includes("personal") ? (
169
+ ) : window.location.pathname.includes("personal/dashboard") ? (
169
170
  <InstructorRightBar />
171
+ ) : window.location.pathname.includes("personal/addons") ? (
172
+ <InstructorRightBar personal />
173
+ ) : window.location.pathname.includes("personal/courses") ? (
174
+ <InstructorRightBar personal />
175
+ ) : window.location.pathname.includes("personal/library/selectlanguage") ? (
176
+ <InstructorRightBar personal />
177
+ ) : window.location.pathname.includes("personal/library") ? (
178
+ <PersonalRightBar personalLibrary />
179
+ ) : window.location.pathname.includes("personal/reports") ? (
180
+ <PersonalRightBar personalReport />
170
181
  ) : window.location.pathname.includes("instructor") &&
171
182
  !window.location.pathname.includes("manage-teams") &&
172
183
  !window.location.pathname.includes("file-manager") ? (
@@ -176,7 +187,6 @@ const AppMainLayout = () => {
176
187
  ) : (
177
188
  <Banner />
178
189
  ))}
179
-
180
190
  {/* {rightComponent ?? <Banner />} */}
181
191
  </RightLayout>
182
192
  )}
@@ -6,16 +6,22 @@ import Button from "../../button";
6
6
  import UpgradeIcon from "../assets/Feature.png";
7
7
 
8
8
 
9
- const UpgradeComponent = () => {
9
+ const UpgradeComponent = ({personal}) => {
10
10
 
11
11
  return (
12
12
 
13
13
  <Upgrade>
14
14
  <div className="container">
15
15
  <img src={UpgradeIcon} alt="upgrad lock" />
16
+ {personal ?
16
17
  <p>
17
- Upgrade to <span>ENTERPRISE</span> for more features.
18
+ Upgrade to PRO for more features.
18
19
  </p>
20
+ :
21
+ <p>
22
+ Upgrade to <span>ENTERPRISE</span> for more features.
23
+ </p>
24
+ }
19
25
  <Button
20
26
  type="primary"
21
27
  text="Upgrade"
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ import React, { useState } from "react";
2
2
  import {
3
3
  BannerWrapper,
4
4
  InstructorContainer,
@@ -31,13 +31,19 @@ import SliderIcon from "./assets/slider";
31
31
  *
32
32
  */
33
33
 
34
- const InstructorRightBar = (props) => {
34
+ const InstructorRightBar = ({personal, onClick}) => {
35
+ // const [account, setAccount] = useState("instructor")
35
36
 
36
37
  return (
37
38
  <InstructorContainer>
38
39
  <BannerWrapper>
39
40
  <div className="head_instructor">
41
+ {personal ?
42
+ <h3 className="personal_head">Recommended</h3>
43
+ :
40
44
  <h3>Learn a new language today</h3>
45
+ }
46
+
41
47
  </div>
42
48
  <NewLanguage>
43
49
  <div className="top_section">
@@ -56,6 +62,7 @@ const InstructorRightBar = (props) => {
56
62
  </div>
57
63
  </NewLanguage>
58
64
  <SliderIcon />
65
+ {!personal &&
59
66
  <Button
60
67
  type="primary"
61
68
  text="Create Personal Account"
@@ -68,12 +75,14 @@ const InstructorRightBar = (props) => {
68
75
  height: "40px",
69
76
  boxShadow: "0px 10px 20px 0px rgba(254, 191, 16, 0.25)",
70
77
  }}
71
- onClick={props.onClick}
78
+ onClick={onClick}
72
79
  />
80
+ }
73
81
  </BannerWrapper>
74
- <RecentAdded>
82
+ <RecentAdded className={personal ? "personal_added" : ""} >
75
83
  <div className="top_area">
76
- <h5>Recently added</h5>
84
+ {personal ? <h5>Friends</h5> :
85
+ <h5>Recently added</h5> }
77
86
  <p>See all</p>
78
87
  </div>
79
88
  <div className="users_list">
@@ -92,7 +101,11 @@ const InstructorRightBar = (props) => {
92
101
  </div>
93
102
 
94
103
  </RecentAdded>
104
+ {personal ?
105
+ <UpgradeComponent personal />
106
+ :
95
107
  <UpgradeComponent />
108
+ }
96
109
 
97
110
  </InstructorContainer>
98
111
  );
@@ -0,0 +1,155 @@
1
+ import React from "react";
2
+ import {
3
+ BannerWrapper,
4
+ InstructorContainer,
5
+ NewLanguage,
6
+ RecentAdded,
7
+ Container,
8
+ Upgrade,
9
+ Users,
10
+ UploadProgressContainer
11
+ } from "../styles";
12
+ import Button from "../../button";
13
+ import CircularProgressBar from "../components/progressBar";
14
+ import UpgradeIcon from "../assets/Feature.png";
15
+ import { UploadProgress } from "../assets/uploadProgressIcon";
16
+ import ProgressBar from "../../progressBar";
17
+ import UpgradeComponent from "../components/ugradeLock";
18
+ import LessonIcon from "../assets/lession";
19
+ import LessonFlag from "../assets/lessonflag";
20
+ import Ellipse from "../assets/Ellipse.png";
21
+ import Ellipse2 from "../assets/Ellipse2.png";
22
+ import Ellipse3 from "../assets/Ellipse3.png";
23
+ import Ellipse4 from "../assets/Ellipse4.png";
24
+ import SliderIcon from "../assets/slider";
25
+ import { Line } from "rc-progress";
26
+ import LibraryAdImage from "../assets/libraryAd.png"
27
+
28
+ /**
29
+ * @param {{
30
+ * CourseClick: function,
31
+ * UpgradeClick: function,
32
+ * }} props - properties of graph Component
33
+ *
34
+ */
35
+
36
+ const PersonalRightBar = ({UpgradeClick, CourseClick, personalReport, personalLibrary }) => {
37
+
38
+ return (
39
+ <InstructorContainer>
40
+ {!personalReport &&
41
+ <BannerWrapper>
42
+ <div className="head_instructor head_enterprise">
43
+ <h3>Recommended</h3>
44
+ </div>
45
+ <NewLanguage>
46
+ <div className="top_section">
47
+ <div className="lession_cont">
48
+ <LessonIcon />
49
+ <p> 9 lessions</p>
50
+ </div>
51
+ <div className="flag_cont">
52
+ <LessonFlag />
53
+
54
+ </div>
55
+ </div>
56
+
57
+ <div className="buttom_section">
58
+ <p>French for Beginners</p>
59
+ </div>
60
+ </NewLanguage>
61
+ <SliderIcon />
62
+ </BannerWrapper>
63
+ }
64
+ {!personalReport &&
65
+ <RecentAdded>
66
+ <div className="top_area">
67
+ <h5>Friends</h5>
68
+ <p>See all</p>
69
+ </div>
70
+ <div className="users_list">
71
+ <div className="user">
72
+ <img src={Ellipse} alt="user" />
73
+ </div>
74
+ <div className="user">
75
+ <img src={Ellipse2} alt="user" />
76
+ </div>
77
+ <div className="user">
78
+ <img src={Ellipse3} alt="user" />
79
+ </div>
80
+ <div className="user">
81
+ <img src={Ellipse4} alt="user" />
82
+ </div>
83
+ </div>
84
+
85
+ </RecentAdded>
86
+ }
87
+ {!personalLibrary &&
88
+ <RecentAdded className={personalReport ? "courses personal_courses" : "courses"} >
89
+ <div className="top_area">
90
+ <h5>In Progress</h5>
91
+ <p>See all</p>
92
+ </div>
93
+ <div className="course_list">
94
+ <div className="course">
95
+ <NewLanguage className="courses_personal">
96
+ <h3>French for Beginners</h3>
97
+ <div className="line">
98
+ <Line
99
+ percent={54}
100
+ strokeWidth={8}
101
+ trailWidth={8}
102
+ strokeColor="#FECF4C"
103
+ />
104
+ <span> {54}%</span>
105
+ </div>
106
+
107
+ </NewLanguage>
108
+ <NewLanguage className="courses_personal">
109
+ <h3>French for Beginners</h3>
110
+ <div className="line">
111
+ <Line
112
+ percent={54}
113
+ strokeWidth={8}
114
+ trailWidth={8}
115
+ strokeColor="#FECF4C"
116
+ />
117
+ <span> {54}%</span>
118
+ </div>
119
+
120
+ </NewLanguage>
121
+ <NewLanguage className="courses_personal">
122
+ <h3>French for Beginners</h3>
123
+ <div className="line">
124
+ <Line
125
+ percent={54}
126
+ strokeWidth={8}
127
+ trailWidth={8}
128
+ strokeColor="#FECF4C"
129
+ />
130
+ <span> {54}%</span>
131
+ </div>
132
+
133
+ </NewLanguage>
134
+ </div>
135
+
136
+ </div>
137
+
138
+ </RecentAdded>
139
+ }
140
+ {personalReport &&
141
+ <UpgradeComponent personal />
142
+ }
143
+
144
+ {personalLibrary &&
145
+ <div className="library_img">
146
+ <img src={LibraryAdImage} alt="ad image" />
147
+ </div>
148
+
149
+ }
150
+
151
+ </InstructorContainer>
152
+ );
153
+ };
154
+
155
+ export default PersonalRightBar;
@@ -0,0 +1,43 @@
1
+ import React from "react";
2
+ import {
3
+ Upgrade,
4
+ } from "../styles";
5
+ import Button from "../../button";
6
+ import UpgradeIcon from "../assets/Feature.png";
7
+ import EnterpriseUpgrade from "../assets/enterpriseUpgrade.png"
8
+
9
+
10
+ const UpgradeComponent = ({UpgradeClick}) => {
11
+
12
+ return (
13
+
14
+ <Upgrade>
15
+ <div className="container">
16
+ <img src={EnterpriseUpgrade} alt="upgrad box" />
17
+ <div className="upgrade_text">
18
+ <p>You are running out of slot?</p>
19
+ </div>
20
+ <p className="reminder">
21
+ 45 slots remaining out of 50 slots for bronze package
22
+ </p>
23
+ <Button
24
+ type="primary"
25
+ text="Upgrade"
26
+ styles={{
27
+ marginTop: "12px",
28
+ fontSize: "16px",
29
+ width: "171px",
30
+ height: "38.641px",
31
+ gap: "8px",
32
+ padding: "15.457px 30.913px",
33
+ }}
34
+ onClick={UpgradeClick}
35
+ />
36
+
37
+ </div>
38
+
39
+ </Upgrade>
40
+ );
41
+ };
42
+
43
+ export default UpgradeComponent;
@@ -15,6 +15,11 @@ export const InstructorContainer = styled.div`
15
15
  padding: 10px 0px;
16
16
  border-radius: 30px;
17
17
 
18
+ .library_img{
19
+ padding: 10px;
20
+ margin-top: 20px;
21
+ }
22
+
18
23
  `;
19
24
 
20
25
  export const Container = styled.div`
@@ -64,6 +69,10 @@ export const BannerWrapper = styled.div`
64
69
  font-weight: 700;
65
70
  line-height: 15.457px; /* 111.111% */
66
71
  letter-spacing: 0.278px;
72
+
73
+ &.personal_head{
74
+ text-align: left;
75
+ }
67
76
  }
68
77
  }
69
78
 
@@ -391,13 +400,14 @@ export const NewLanguage = styled.div`
391
400
  background-repeat: no-repeat;
392
401
  margin-top: 10px;
393
402
  width: 100%;
394
- height: 126.743px;
403
+ height: 100%;
395
404
  display: flex;
396
405
  flex-direction: column;
397
406
  justify-content: start;
398
407
  gap: 60px;
399
408
  padding: 10px;
400
409
  margin-bottom: 10px;
410
+ border-radius: 18.548px;
401
411
 
402
412
  .top_section{
403
413
  display: flex;
@@ -420,6 +430,7 @@ export const NewLanguage = styled.div`
420
430
  font-weight: 700;
421
431
  line-height: 17.002px; /* 157.143% */
422
432
  letter-spacing: 0.216px;
433
+
423
434
  }
424
435
 
425
436
  svg{
@@ -451,6 +462,47 @@ export const NewLanguage = styled.div`
451
462
  letter-spacing: 0.278px;
452
463
  }
453
464
  }
465
+
466
+ &.courses_personal{
467
+ display: flex;
468
+ flex-direction: column;
469
+ justify-content: center;
470
+ gap: 10px;
471
+ padding: 10px 10px;
472
+ border-radius: 20px;
473
+ /* height: 140px; */
474
+ /* width: 90%; */
475
+
476
+ h3{
477
+ color: var(--white, #FFF);
478
+ font-family: Nunito;
479
+ font-size: 20.313px;
480
+ font-style: normal;
481
+ font-weight: 700;
482
+ line-height: 16.313px; /* 100% */
483
+ letter-spacing: 0.326px;
484
+ text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
485
+ }
486
+ .line{
487
+ display: flex;
488
+ align-items: center;
489
+ width: 90%;
490
+
491
+ span{
492
+ color: var(--neutral-80, #fff);
493
+ text-align: center;
494
+ font-family: Nunito;
495
+ font-size: 13px;
496
+ font-style: normal;
497
+ font-weight: 700;
498
+ line-height: 24px; /* 150% */
499
+ letter-spacing: 0.32px;
500
+ margin-left: 10px;
501
+ }
502
+
503
+
504
+ }
505
+ }
454
506
  `
455
507
 
456
508
  export const RecentAdded = styled.div`
@@ -458,6 +510,17 @@ display: flex;
458
510
  flex-direction: column;
459
511
  padding: 10px 20px;
460
512
  margin-top: -30px;
513
+
514
+ &.personal_added{
515
+ margin-bottom: 30px;
516
+ }
517
+ &.courses{
518
+ margin-top: 30px;
519
+ }
520
+ &.personal_courses{
521
+ margin-top: 5px;
522
+ margin-bottom: 20px;
523
+ }
461
524
  .top_area{
462
525
  display: flex;
463
526
  justify-content: space-between;
@@ -472,6 +535,7 @@ margin-top: -30px;
472
535
  font-weight: 700;
473
536
  line-height: 15.457px; /* 111.111% */
474
537
  letter-spacing: 0.278px;
538
+ /* cursor: pointer; */
475
539
  }
476
540
 
477
541
  p{
@@ -482,6 +546,7 @@ margin-top: -30px;
482
546
  font-weight: 700;
483
547
  line-height: 15.457px; /* 128.804% */
484
548
  letter-spacing: 0.24px;
549
+ cursor: pointer;
485
550
  }
486
551
  }
487
552
  .users_list {
@@ -489,6 +554,16 @@ margin-top: -30px;
489
554
  gap: 12px;
490
555
  }
491
556
 
557
+ .course_list{
558
+ display: grid;
559
+ justify-content: center;
560
+ align-items: center;
561
+
562
+ .course{
563
+
564
+ }
565
+ }
566
+
492
567
  .user {
493
568
  position: relative; /* Make the parent container relative */
494
569
  width: 40px;