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 +2 -1
- package/src/components/AppMainLayout/index.jsx +12 -2
- package/src/components/fileRightBar/assets/libraryAd.png +0 -0
- package/src/components/fileRightBar/components/ugradeLock.jsx +8 -2
- package/src/components/fileRightBar/instructorRightBar.jsx +18 -5
- package/src/components/fileRightBar/personalRightBar/index.jsx +155 -0
- package/src/components/fileRightBar/personalRightBar/upgrade.jsx +43 -0
- package/src/components/fileRightBar/styles/index.jsx +76 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "l-min-components",
|
|
3
|
-
"version": "1.0.
|
|
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
|
)}
|
|
Binary file
|
|
@@ -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
|
|
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 = (
|
|
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={
|
|
78
|
+
onClick={onClick}
|
|
72
79
|
/>
|
|
80
|
+
}
|
|
73
81
|
</BannerWrapper>
|
|
74
|
-
<RecentAdded>
|
|
82
|
+
<RecentAdded className={personal ? "personal_added" : ""} >
|
|
75
83
|
<div className="top_area">
|
|
76
|
-
|
|
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:
|
|
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;
|