chore: fixed conflicts
This commit is contained in:
@@ -1,11 +1,218 @@
|
||||
:root {
|
||||
--text-3-5xl: 24px;
|
||||
--text-3-8xl: 34px;
|
||||
--text-4xl: 36px;
|
||||
--text-3-5xl: 24px;
|
||||
--text-3-8xl: 34px;
|
||||
--text-4xl: 36px;
|
||||
--checkbox-gradient: linear-gradient(180deg, #3d4142 -124.51%, var(--primary) 100%);
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #FFFFFF;
|
||||
.nav-link .course-list-count {
|
||||
border-radius: var(--border-radius-md);
|
||||
padding: 0 0.3rem;
|
||||
font-size: var(--text-sm);
|
||||
border: 1px solid var(--gray-600)
|
||||
}
|
||||
|
||||
.nav-link.active .course-list-count {
|
||||
border: 1px solid var(--primary-color)
|
||||
}
|
||||
|
||||
.page-title {
|
||||
font-size: 1.25rem;
|
||||
font-weight: 600;
|
||||
color: var(--gray-900);
|
||||
line-height: 160%;
|
||||
letter-spacing: 0.005em;
|
||||
}
|
||||
|
||||
.sticky {
|
||||
position: sticky;
|
||||
top: -1px;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
.is-pinned {
|
||||
background: #FFFFFF;
|
||||
padding: 0.5rem 0;
|
||||
border-bottom: 1px solid var(--gray-300);
|
||||
}
|
||||
|
||||
.field-parent {
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
.frappe-control .ql-editor:not(.read-mode) {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.ql-toolbar.ql-snow, .ql-container.ql-snow {
|
||||
border: 1px solid var(--gray-300);
|
||||
}
|
||||
|
||||
.rating .icon {
|
||||
background: var(--gray-200);
|
||||
border-radius: var(--border-radius-md);
|
||||
padding: var(--padding-xs);
|
||||
}
|
||||
|
||||
.rating .star-click {
|
||||
--star-fill: var(--orange-500);
|
||||
background: var(--gray-200);
|
||||
border-radius: var(--border-radius-md);
|
||||
padding: var(--padding-xs);
|
||||
}
|
||||
|
||||
.cta-parent {
|
||||
display: flex;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.all-cta {
|
||||
flex: 1
|
||||
}
|
||||
|
||||
.field-label {
|
||||
color: var(--gray-900);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.field-input {
|
||||
border: 1px solid var(--gray-300);
|
||||
border-radius: var(--border-radius-md);
|
||||
padding: 0.5rem;
|
||||
width: 100%;
|
||||
margin-top: 0.25rem;
|
||||
}
|
||||
|
||||
.field-input:focus-visible {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.field-group {
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
.field-description {
|
||||
font-size: var(--text-md);
|
||||
}
|
||||
|
||||
.invisible-input {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.invisible-input:focus-visible {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.image-preview {
|
||||
width: 280px;
|
||||
height: 178px;
|
||||
border-radius: var(--border-radius-sm);
|
||||
border: 1px solid var(--gray-300);
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
textarea.field-input {
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
.outline-lesson {
|
||||
padding: 0.75rem 0;
|
||||
border-bottom: 1px solid var(--gray-300);
|
||||
}
|
||||
|
||||
.common-card-style .outline-lesson:last-of-type {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.level {
|
||||
justify-content: start;
|
||||
}
|
||||
|
||||
.icon-bg {
|
||||
background: var(--gray-100);
|
||||
padding: 0.5rem;
|
||||
border-radius: var(--border-radius-md);
|
||||
margin: 0 0.5rem;
|
||||
}
|
||||
|
||||
.quiz-modal {
|
||||
min-height: 500px;
|
||||
}
|
||||
|
||||
.ce-block__content {
|
||||
max-width: 100%;
|
||||
padding: 0 0.5rem;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.ce-toolbar__content {
|
||||
position: unset;
|
||||
}
|
||||
|
||||
.lesson-editor {
|
||||
border: 1px solid var(--gray-300);
|
||||
border-radius: var(--border-radius-md);
|
||||
padding-top: 0.5rem;
|
||||
}
|
||||
|
||||
.lesson-parent .breadcrumb {
|
||||
border-bottom: 1px solid var(--gray-300);
|
||||
margin-bottom: 2rem;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
|
||||
.form-width {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.form-width {
|
||||
width: 75%;
|
||||
}
|
||||
}
|
||||
|
||||
.clickable {
|
||||
color: var(--gray-900);
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.clickable:hover {
|
||||
color: var(--gray-900);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.codex-editor path {
|
||||
stroke: var(--gray-800);
|
||||
}
|
||||
|
||||
.drag-handle {
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
.edit-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.btn-default:not(:disabled):not(.disabled).active {
|
||||
color: white;
|
||||
background-color: var(--primary);
|
||||
border: none;
|
||||
}
|
||||
|
||||
.field-label.reqd::after {
|
||||
content: " *";
|
||||
color: var(--red-400);
|
||||
}
|
||||
|
||||
.error-message {
|
||||
color: var(--red-500);
|
||||
font-size: var(--text-sm);
|
||||
}
|
||||
|
||||
.lessons {
|
||||
margin-left: 1.5rem;
|
||||
}
|
||||
|
||||
input[type=checkbox] {
|
||||
@@ -74,7 +281,7 @@ input[type=checkbox] {
|
||||
font-weight: 600;
|
||||
color: var(--gray-900);
|
||||
width: fit-content;
|
||||
box-shadow: var(--shadow-sm);
|
||||
border: 1px solid var(--gray-300);
|
||||
}
|
||||
|
||||
.dark-pills {
|
||||
@@ -87,9 +294,7 @@ input[type=checkbox] {
|
||||
}
|
||||
|
||||
.common-page-style {
|
||||
padding: 2rem 0 5rem;
|
||||
padding-top: 3rem;
|
||||
background-color: var(--bg-color);
|
||||
padding: 1.25rem 0 5rem;
|
||||
font-size: var(--text-base);
|
||||
}
|
||||
|
||||
@@ -98,7 +303,7 @@ input[type=checkbox] {
|
||||
background: #FFFFFF;
|
||||
border-radius: var(--border-radius-md);
|
||||
position: relative;
|
||||
box-shadow: var(--shadow-base);
|
||||
border: 1px solid var(--gray-300)
|
||||
}
|
||||
|
||||
.course-card {
|
||||
@@ -199,9 +404,7 @@ input[type=checkbox] {
|
||||
.cards-parent {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
|
||||
-moz-column-gap: 40px;
|
||||
column-gap: 40px;
|
||||
row-gap: 40px;
|
||||
grid-gap: 2rem;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
@@ -231,12 +434,12 @@ input[type=checkbox] {
|
||||
}
|
||||
|
||||
.button-links {
|
||||
color: var(--gray-900);
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.button-links:hover {
|
||||
text-decoration: none;
|
||||
color: var(--gray-900);
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.icon-background {
|
||||
@@ -290,21 +493,21 @@ input[type=checkbox] {
|
||||
}
|
||||
|
||||
.course-card-wide {
|
||||
width: 50%;
|
||||
font-size: var(--text-base);
|
||||
width: 50%;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
@media (max-width: 1000px) {
|
||||
.course-card-wide {
|
||||
width: 75%;
|
||||
margin: 0 auto;
|
||||
margin: 0 auto 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.course-card-wide {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
margin: 0 0 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -342,15 +545,14 @@ input[type=checkbox] {
|
||||
}
|
||||
|
||||
.wide-button {
|
||||
padding: 0.5rem 6rem;
|
||||
font-weight: 500;
|
||||
width: 100%;
|
||||
padding: 0.3rem 4rem;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.wide-button {
|
||||
padding: 0.5rem 4rem;
|
||||
}
|
||||
.wide-button {
|
||||
padding: 0.3rem 4rem;
|
||||
}
|
||||
}
|
||||
|
||||
.is-secondary {
|
||||
@@ -388,7 +590,7 @@ input[type=checkbox] {
|
||||
|
||||
.course-home-page {
|
||||
background-color: #FFFFFF;
|
||||
padding-top: 4rem;
|
||||
padding-top: 2.5rem;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
@@ -397,12 +599,20 @@ input[type=checkbox] {
|
||||
color: var(--gray-900);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding-bottom: 0.5rem;
|
||||
padding-bottom: 0.25rem;
|
||||
padding-right: 0.5rem;
|
||||
font-size: var(--text-lg);
|
||||
}
|
||||
|
||||
.chapter-title:last-child {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.chapter-description {
|
||||
color: var(--gray-900);
|
||||
font-size: var(--text-sm);
|
||||
margin-left: 2rem;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.course-content-parent .chapter-description {
|
||||
@@ -414,8 +624,7 @@ input[type=checkbox] {
|
||||
}
|
||||
|
||||
.reviews-parent {
|
||||
padding-bottom: 5rem;
|
||||
color: var(--gray-900);
|
||||
color: var(--gray-900);
|
||||
}
|
||||
|
||||
.lesson-info {
|
||||
@@ -426,6 +635,7 @@ input[type=checkbox] {
|
||||
|
||||
.lesson-links {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0.5rem;
|
||||
color: var(--gray-900);
|
||||
font-size: var(--text-base);
|
||||
@@ -438,10 +648,6 @@ input[type=checkbox] {
|
||||
border-radius: var(--border-radius-md);
|
||||
}
|
||||
|
||||
.lessons {
|
||||
margin-left: 1.5rem;
|
||||
}
|
||||
|
||||
.member-card {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@@ -580,7 +786,7 @@ input[type=checkbox] {
|
||||
}
|
||||
|
||||
.course-details-outline {
|
||||
margin-top: 1rem;
|
||||
margin-top: 2.5rem;
|
||||
}
|
||||
|
||||
.lesson-content {
|
||||
@@ -589,7 +795,7 @@ input[type=checkbox] {
|
||||
}
|
||||
|
||||
.lesson-content-card {
|
||||
margin-top: 2rem;
|
||||
margin-top: 1.5rem;
|
||||
}
|
||||
|
||||
.lesson-content-card .alert-dismissible .close {
|
||||
@@ -599,7 +805,7 @@ input[type=checkbox] {
|
||||
.course-content-parent {
|
||||
display: grid;
|
||||
grid-gap: 2rem;
|
||||
grid-template-columns: 2fr minmax(600px, 5fr);
|
||||
grid-template-columns: 1fr 3fr;
|
||||
}
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
@@ -610,25 +816,12 @@ input[type=checkbox] {
|
||||
}
|
||||
|
||||
.course-content-parent .course-home-headings {
|
||||
margin: 0 0 1rem;
|
||||
margin: 0 0 0.5rem;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.lesson-pagination {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-top: 2rem
|
||||
}
|
||||
|
||||
.lesson-pagination-parent {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.lesson-pagination-parent {
|
||||
margin-left: 0px;
|
||||
}
|
||||
margin: 2rem 0;
|
||||
}
|
||||
|
||||
.lesson-video {
|
||||
@@ -640,12 +833,6 @@ input[type=checkbox] {
|
||||
border-radius: var(--border-radius-md);
|
||||
}
|
||||
|
||||
.lesson-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.profile-page {
|
||||
padding-top: 0;
|
||||
}
|
||||
@@ -803,8 +990,8 @@ input[type=checkbox] {
|
||||
}
|
||||
|
||||
.progress-percent {
|
||||
margin: 0.5rem 0;
|
||||
font-size: var(--text-base);
|
||||
margin: 0.5rem 0;
|
||||
font-size: var(--text-sm);
|
||||
}
|
||||
|
||||
pre {
|
||||
@@ -906,12 +1093,12 @@ pre {
|
||||
}
|
||||
|
||||
.empty-state {
|
||||
background: var(--gray-200);
|
||||
border-radius: var(--border-radius-lg);
|
||||
padding: 4rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: 1px solid var(--gray-300);
|
||||
border-radius: var(--border-radius-lg);
|
||||
padding: 4rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.empty-state-text {
|
||||
@@ -946,9 +1133,9 @@ pre {
|
||||
.search-course {
|
||||
background-position: 1rem;
|
||||
text-indent: 1rem;
|
||||
font-size: var(--text-base);
|
||||
padding: 1.5rem;
|
||||
width: 100%;
|
||||
font-size: var(--text-base);
|
||||
padding: 1.5rem;
|
||||
width: 100%;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
@@ -1201,8 +1388,7 @@ pre {
|
||||
}
|
||||
|
||||
.course-head-container {
|
||||
color: var(--gray-900);
|
||||
background-color: var(--gray-50);
|
||||
border-bottom: 1px solid var(--gray-300);
|
||||
}
|
||||
|
||||
.seperator {
|
||||
@@ -1210,16 +1396,16 @@ pre {
|
||||
}
|
||||
|
||||
.course-overlay-card {
|
||||
background-color: white;
|
||||
border-radius: var(--border-radius-lg);
|
||||
box-shadow: var(--shadow-sm);
|
||||
overflow: auto;
|
||||
width: fit-content;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
right: 7%;
|
||||
max-width: 400px;
|
||||
z-index: 4;
|
||||
background-color: white;
|
||||
border-radius: var(--border-radius-lg);
|
||||
border: 1px solid var(--gray-300);
|
||||
overflow: auto;
|
||||
width: fit-content;
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
right: 7%;
|
||||
width: 350px;
|
||||
z-index: 4;
|
||||
}
|
||||
|
||||
@media (max-width: 1000px) {
|
||||
@@ -1339,20 +1525,16 @@ pre {
|
||||
margin: 0 1rem;
|
||||
}
|
||||
|
||||
.avg-rating-stars {
|
||||
background: var(--gray-200);
|
||||
border-radius: 100px;
|
||||
padding: 0.5rem 0.75rem;
|
||||
margin: 1.25rem 0 0.5rem;
|
||||
.course-card-wide .avg-rating-stars {
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
.reviews-parent .progress {
|
||||
width: 200px;
|
||||
color: var(--gray-900);
|
||||
}
|
||||
|
||||
.reviews-parent .progress-bar {
|
||||
background-color: var(--gray-600);
|
||||
background-color: var(--primary-color);
|
||||
}
|
||||
|
||||
.course-home-top-container {
|
||||
@@ -1486,14 +1668,6 @@ li {
|
||||
margin-bottom: 1.25rem;
|
||||
}
|
||||
|
||||
.course-card-wide .avatar .standard-image {
|
||||
border: 1px solid var(--gray-400);
|
||||
}
|
||||
|
||||
.lesson-progress-tick {
|
||||
margin: 0 0.5rem
|
||||
}
|
||||
|
||||
.no-preview {
|
||||
color: var(--gray-600);
|
||||
}
|
||||
@@ -1553,20 +1727,6 @@ li {
|
||||
}
|
||||
}
|
||||
|
||||
[contenteditable="true"] {
|
||||
outline: none;
|
||||
background-color: var(--bg-light-gray);
|
||||
border-radius: var(--border-radius);
|
||||
border: 1px solid var(--gray-300);
|
||||
padding: 0.5rem 0.75rem;
|
||||
color: var(--gray-900);
|
||||
}
|
||||
|
||||
[contenteditable="true"]:empty:before {
|
||||
content: attr(data-placeholder);
|
||||
color: var(--gray-600);
|
||||
}
|
||||
|
||||
.course-image-attachment {
|
||||
margin-top: 0.25rem;
|
||||
background-color: var(--bg-light-gray);
|
||||
@@ -1595,12 +1755,12 @@ li {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.chapter-edit .chapter-title {
|
||||
padding: 0.5rem 0;
|
||||
.chapter-parent:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.course-card-pills[contenteditable="true"] {
|
||||
box-shadow: none;
|
||||
.chapter-edit .chapter-title {
|
||||
padding: 0.5rem 0;
|
||||
}
|
||||
|
||||
.preview {
|
||||
@@ -1613,14 +1773,6 @@ li {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.quiz-card {
|
||||
border: 1px solid var(--dark-border-color);
|
||||
border-radius: var(--border-radius);
|
||||
padding: 1.25rem;
|
||||
margin-top: 1.25rem;
|
||||
font-size: var(--text-base);
|
||||
}
|
||||
|
||||
.option-input {
|
||||
width: 45%;
|
||||
margin-right: 1rem;
|
||||
@@ -1789,6 +1941,10 @@ li {
|
||||
justify-content: flex-end !important;
|
||||
}
|
||||
|
||||
.modal-footer .btn:first-child {
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
|
||||
.modal-header .modal-title {
|
||||
color: var(--gray-900);
|
||||
line-height: 1.5rem;
|
||||
@@ -1802,7 +1958,7 @@ li {
|
||||
}
|
||||
|
||||
.course-description-section {
|
||||
padding-bottom: 4rem;
|
||||
padding-bottom: 2.5rem;
|
||||
}
|
||||
|
||||
input::file-selector-button {
|
||||
@@ -1945,11 +2101,11 @@ select {
|
||||
.result-row {
|
||||
display: block;
|
||||
padding: 1rem;
|
||||
border-top: 1px solid var(--gray-300);
|
||||
font-weight: 500;
|
||||
color: var(--gray-900);
|
||||
font-size: var(--text-base);
|
||||
cursor: pointer;
|
||||
border-top: 1px solid var(--gray-300);
|
||||
font-weight: 500;
|
||||
color: var(--gray-900);
|
||||
font-size: var(--text-base);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.result-row:hover {
|
||||
@@ -2019,8 +2175,8 @@ select {
|
||||
|
||||
.lms-card-parent {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
|
||||
grid-gap: 1.5rem;
|
||||
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
|
||||
grid-gap: 1.5rem;
|
||||
}
|
||||
|
||||
.answer-indicator {
|
||||
@@ -2036,4 +2192,5 @@ select {
|
||||
|
||||
.answer-indicator.failure {
|
||||
background-color: var(--red-50);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
3
lms/public/icons/quiz.svg
Normal file
3
lms/public/icons/quiz.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="icon-quiz" viewBox="0 0 1024 1024" stroke="#1F272E">
|
||||
<path d="M512 0C229.232 0 0 229.232 0 512c0 282.784 229.232 512 512 512 282.784 0 512.017-229.216 512.017-512C1024.017 229.232 794.785 0 512 0zm0 961.008c-247.024 0-448-201.984-448-449.01 0-247.024 200.976-448 448-448s448.017 200.977 448.017 448S759.025 961.009 512 961.009zm-47.056-160.529h80.512v-81.248h-80.512zm46.112-576.944c-46.88 0-85.503 12.64-115.839 37.889-30.336 25.263-45.088 75.855-44.336 117.775l1.184 2.336h73.44c0-25.008 8.336-60.944 25.008-73.84 16.656-12.88 36.848-19.328 60.56-19.328 27.328 0 48.336 7.424 63.073 22.271 14.72 14.848 22.063 36.08 22.063 63.664 0 23.184-5.44 42.976-16.368 59.376-10.96 16.4-29.328 39.841-55.088 70.322-26.576 23.967-42.992 43.231-49.232 57.807-6.256 14.592-9.504 40.768-9.744 78.512h76.96c0-23.68 1.503-41.136 4.496-52.336 2.975-11.184 11.504-23.823 25.568-37.888 30.224-29.152 54.496-57.664 72.88-85.551 18.336-27.857 27.52-58.593 27.52-92.193 0-46.88-14.176-83.408-42.577-109.568-28.416-26.176-68.272-39.248-119.568-39.248z" fill="#1F272E"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -5,9 +5,39 @@
|
||||
<svg id="icon-video-blue" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1 9C1 4.58172 4.58172 1 9 1C11.1217 1 13.1566 1.84286 14.6569 3.34315C16.1571 4.84343 17 6.87827 17 9C17 13.4182 13.4182 17 9 17C4.58172 17 1 13.4182 1 9ZM8.00636 12.0679L11.8766 9.51133C12.0614 9.40191 12.174 9.2084 12.174 9C12.174 8.79161 12.0614 8.59809 11.8766 8.48867L8.00636 5.932C7.79102 5.78453 7.51 5.75869 7.2694 5.86422C7.0288 5.96977 6.86529 6.1906 6.84063 6.44334V11.5567C6.86529 11.8094 7.0288 12.0302 7.2694 12.1358C7.51 12.2413 7.79102 12.2155 8.00636 12.0679Z" fill="#2D95F0"/>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="icon-quiz" viewBox="0 0 1024 1024" stroke="#1F272E">
|
||||
<path d="M512 0C229.232 0 0 229.232 0 512c0 282.784 229.232 512 512 512 282.784 0 512.017-229.216 512.017-512C1024.017 229.232 794.785 0 512 0zm0 961.008c-247.024 0-448-201.984-448-449.01 0-247.024 200.976-448 448-448s448.017 200.977 448.017 448S759.025 961.009 512 961.009zm-47.056-160.529h80.512v-81.248h-80.512zm46.112-576.944c-46.88 0-85.503 12.64-115.839 37.889-30.336 25.263-45.088 75.855-44.336 117.775l1.184 2.336h73.44c0-25.008 8.336-60.944 25.008-73.84 16.656-12.88 36.848-19.328 60.56-19.328 27.328 0 48.336 7.424 63.073 22.271 14.72 14.848 22.063 36.08 22.063 63.664 0 23.184-5.44 42.976-16.368 59.376-10.96 16.4-29.328 39.841-55.088 70.322-26.576 23.967-42.992 43.231-49.232 57.807-6.256 14.592-9.504 40.768-9.744 78.512h76.96c0-23.68 1.503-41.136 4.496-52.336 2.975-11.184 11.504-23.823 25.568-37.888 30.224-29.152 54.496-57.664 72.88-85.551 18.336-27.857 27.52-58.593 27.52-92.193 0-46.88-14.176-83.408-42.577-109.568-28.416-26.176-68.272-39.248-119.568-39.248z" fill="#1F272E"/>
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" id="icon-youtube" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_3613_984)">
|
||||
<mask id="mask0_3613_984" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="16" height="16">
|
||||
<path d="M16 0H0V16H16V0Z" fill="white"/>
|
||||
</mask>
|
||||
<g mask="url(#mask0_3613_984)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.77778 12.1111H13.2222C13.7132 12.1111 14.1111 11.7132 14.1111 11.2222V2.77778C14.1111 2.28686 13.7132 1.88889 13.2222 1.88889H2.77778C2.28686 1.88889 1.88889 2.28686 1.88889 2.77778V11.2222C1.88889 11.7132 2.28686 12.1111 2.77778 12.1111ZM13.2222 13C14.2041 13 15 12.2041 15 11.2222V2.77778C15 1.79594 14.2041 1 13.2222 1H2.77778C1.79594 1 1 1.79594 1 2.77778V11.2222C1 12.2041 1.79594 13 2.77778 13H13.2222ZM5.99989 4.76006C5.99989 4.22072 6.60701 3.90461 7.04886 4.21391L10.328 6.50932C10.7072 6.77472 10.7072 7.33622 10.328 7.60163L7.04887 9.89707C6.60701 10.2063 5.99989 9.89022 5.99989 9.35084V4.76006ZM6.88878 5.18688V8.92409L9.55822 7.05548L6.88878 5.18688ZM5 13.5556C4.75454 13.5556 4.55556 13.7546 4.55556 14C4.55556 14.2454 4.75454 14.4444 5 14.4444H11C11.2454 14.4444 11.4444 14.2454 11.4444 14C11.4444 13.7546 11.2454 13.5556 11 13.5556H5Z" fill="#525252"/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3613_984">
|
||||
<rect width="16" height="16" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
||||
<svg width="16" height="16" id="icon-quiz" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_3613_978)">
|
||||
<mask id="mask0_3613_978" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="16" height="16">
|
||||
<path d="M16 0H0V16H16V0Z" fill="white"/>
|
||||
</mask>
|
||||
<g mask="url(#mask0_3613_978)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.1111 8C14.1111 11.3751 11.3751 14.1111 8 14.1111C4.62492 14.1111 1.88889 11.3751 1.88889 8C1.88889 4.62492 4.62492 1.88889 8 1.88889C11.3751 1.88889 14.1111 4.62492 14.1111 8ZM15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8ZM7.37988 9.72462V9.79298H8.39062V9.72462C8.39062 9.4512 8.41992 9.23307 8.47852 9.07031C8.53711 8.90427 8.62826 8.76269 8.75196 8.64551C8.87891 8.52832 9.04329 8.4095 9.24516 8.28907C9.56089 8.09375 9.80987 7.85775 9.99218 7.58106C10.1745 7.30111 10.2656 6.96093 10.2656 6.56055C10.2656 6.17644 10.1745 5.83952 9.99218 5.5498C9.81316 5.26009 9.56089 5.03386 9.23538 4.87109C8.90987 4.70834 8.52734 4.62695 8.08789 4.62695C7.69401 4.62695 7.33268 4.70345 7.0039 4.85644C6.67513 5.00619 6.41146 5.22916 6.21289 5.52539C6.01432 5.81836 5.90852 6.17644 5.89551 6.59961H6.96972C6.986 6.34896 7.04948 6.14551 7.16016 5.98926C7.27084 5.82975 7.40756 5.71257 7.57031 5.6377C7.73633 5.56283 7.90885 5.52539 8.08789 5.52539C8.28972 5.52539 8.47364 5.56771 8.63964 5.65235C8.80892 5.73698 8.94071 5.8558 9.0352 6.00879C9.1328 6.16179 9.1816 6.34244 9.1816 6.55078C9.1816 6.81771 9.11004 7.0472 8.96676 7.23926C8.82356 7.42806 8.64453 7.58594 8.42969 7.71289C8.21159 7.84961 8.02278 7.98958 7.86328 8.13281C7.70703 8.27278 7.58659 8.46322 7.50196 8.7041C7.42057 8.94169 7.37988 9.28187 7.37988 9.72462ZM7.37988 11.8682C7.51986 12.0016 7.69076 12.0684 7.89258 12.0684C8.09765 12.0684 8.26855 12.0016 8.40527 11.8682C8.54524 11.7315 8.61524 11.5638 8.61524 11.3652C8.61524 11.1634 8.54524 10.9957 8.40527 10.8623C8.26855 10.7256 8.09765 10.6572 7.89258 10.6572C7.69076 10.6572 7.51986 10.7256 7.37988 10.8623C7.24316 10.9957 7.17481 11.1634 7.17481 11.3652C7.17481 11.5638 7.24316 11.7315 7.37988 11.8682Z" fill="#525252"/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_3613_978">
|
||||
<rect width="16" height="16" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
||||
|
||||
<svg id="icon-quiz-blue" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1511_749)">
|
||||
<path d="M512 0C229.232 0 0 229.232 0 512C0 794.784 229.232 1024 512 1024C794.784 1024 1024.02 794.784 1024.02 512C1024.02 229.232 794.785 0 512 0ZM512 961.008C264.976 961.008 64 759.024 64 511.998C64 264.974 264.976 63.998 512 63.998C759.024 63.998 960.017 264.975 960.017 511.998C960.017 759.021 759.025 961.009 512 961.009V961.008ZM464.944 800.479H545.456V719.231H464.944V800.479ZM511.056 223.535C464.176 223.535 425.553 236.175 395.217 261.424C364.881 286.687 350.129 337.279 350.881 379.199L352.065 381.535H425.505C425.505 356.527 433.841 320.591 450.513 307.695C467.169 294.815 487.361 288.367 511.073 288.367C538.401 288.367 559.409 295.791 574.146 310.638C588.866 325.486 596.209 346.718 596.209 374.302C596.209 397.486 590.769 417.278 579.841 433.678C568.881 450.078 550.513 473.519 524.753 504C498.177 527.967 481.761 547.231 475.521 561.807C469.265 576.399 466.017 602.575 465.777 640.319H542.737C542.737 616.639 544.24 599.183 547.233 587.983C550.208 576.799 558.737 564.16 572.801 550.095C603.025 520.943 627.297 492.431 645.681 464.544C664.017 436.687 673.201 405.951 673.201 372.351C673.201 325.471 659.025 288.943 630.624 262.783C602.208 236.607 562.352 223.535 511.056 223.535V223.535Z" fill="#2D95F0" stroke="#2D95F0"/>
|
||||
@@ -74,4 +104,11 @@
|
||||
<circle cx="12" cy="12" r="10"></circle>
|
||||
<polyline points="12 6 12 12 16 14"></polyline>
|
||||
</svg>
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" id="icon-success" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 18.75C14.8325 18.75 18.75 14.8325 18.75 10C18.75 5.16751 14.8325 1.25 10 1.25C5.16751 1.25 1.25 5.16751 1.25 10C1.25 14.8325 5.16751 18.75 10 18.75ZM13.966 7.48104C14.1856 7.21471 14.1477 6.8208 13.8813 6.60122C13.615 6.38164 13.2211 6.41954 13.0015 6.68587L8.68984 11.9155L7.01289 9.74823C6.80165 9.47524 6.40911 9.42517 6.13611 9.6364C5.86311 9.84764 5.81304 10.2402 6.02428 10.5132L8.18004 13.2993C8.29633 13.4495 8.47467 13.5388 8.66468 13.5417C8.85468 13.5447 9.0357 13.461 9.15658 13.3144L13.966 7.48104Z" fill="#171717"/>
|
||||
</svg>
|
||||
<svg width="16" height="16" id="icon-drag" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 3C4 3.82843 4.67157 4.5 5.5 4.5C6.32843 4.5 7 3.82843 7 3C7 2.17157 6.32843 1.5 5.5 1.5C4.67157 1.5 4 2.17157 4 3ZM5.5 9.5C4.67157 9.5 4 8.82843 4 8C4 7.17157 4.67157 6.5 5.5 6.5C6.32843 6.5 7 7.17157 7 8C7 8.82843 6.32843 9.5 5.5 9.5ZM5.5 14.5C4.67157 14.5 4 13.8284 4 13C4 12.1716 4.67157 11.5 5.5 11.5C6.32843 11.5 7 12.1716 7 13C7 13.8284 6.32843 14.5 5.5 14.5ZM9 3C9 3.82843 9.67157 4.5 10.5 4.5C11.3284 4.5 12 3.82843 12 3C12 2.17157 11.3284 1.5 10.5 1.5C9.67157 1.5 9 2.17157 9 3ZM10.5 9.5C9.67157 9.5 9 8.82843 9 8C9 7.17157 9.67157 6.5 10.5 6.5C11.3284 6.5 12 7.17157 12 8C12 8.82843 11.3284 9.5 10.5 9.5ZM10.5 14.5C9.67157 14.5 9 13.8284 9 13C9 12.1716 9.67157 11.5 10.5 11.5C11.3284 11.5 12 12.1716 12 13C12 13.8284 11.3284 14.5 10.5 14.5Z" fill="#171717"/>
|
||||
</svg>
|
||||
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 20 KiB |
7
lms/public/icons/upload.svg
Normal file
7
lms/public/icons/upload.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" id="icon-upload" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8 14.5C11.5899 14.5 14.5 11.5899 14.5 8C14.5 4.41015 11.5899 1.5 8 1.5C4.41015 1.5 1.5 4.41015 1.5 8C1.5 11.5899
|
||||
4.41015 14.5 8 14.5Z" stroke="#505A62" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M8 4.75V11.1351" stroke="#505A62" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M5.29102 7.45833L7.99935 4.75L10.7077 7.45833" stroke="#505A62" stroke-miterlimit="10" stroke-linecap="round"
|
||||
stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 637 B |
10
lms/public/icons/video.svg
Normal file
10
lms/public/icons/video.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg id="icon-youtube" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_779_38008)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.125 13.625H14.875C15.4273 13.625 15.875 13.1773 15.875 12.625V3.125C15.875 2.57272 15.4273 2.125 14.875 2.125H3.125C2.57272 2.125 2.125 2.57272 2.125 3.125V12.625C2.125 13.1773 2.57272 13.625 3.125 13.625ZM14.875 14.625C15.9796 14.625 16.875 13.7296 16.875 12.625V3.125C16.875 2.02043 15.9796 1.125 14.875 1.125H3.125C2.02043 1.125 1.125 2.02043 1.125 3.125V12.625C1.125 13.7296 2.02043 14.625 3.125 14.625H14.875ZM6.74988 5.35507C6.74988 4.74831 7.43289 4.39269 7.92997 4.74065L11.619 7.32298C12.0456 7.62156 12.0456 8.25325 11.619 8.55183L7.92998 11.1342C7.43289 11.4821 6.74988 11.1265 6.74988 10.5197V5.35507ZM7.74988 5.83524V10.0396L10.753 7.93741L7.74988 5.83524ZM5.625 15.25C5.34886 15.25 5.125 15.4739 5.125 15.75C5.125 16.0261 5.34886 16.25 5.625 16.25H12.375C12.6511 16.25 12.875 16.0261 12.875 15.75C12.875 15.4739 12.6511 15.25 12.375 15.25H5.625Z" fill="#171717"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_779_38008">
|
||||
<rect width="18" height="18" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -1,5 +1,6 @@
|
||||
frappe.ready(() => {
|
||||
setup_file_size();
|
||||
pin_header();
|
||||
|
||||
$(".join-batch").click((e) => {
|
||||
join_course(e);
|
||||
@@ -9,14 +10,6 @@ frappe.ready(() => {
|
||||
notify_user(e);
|
||||
});
|
||||
|
||||
$(".btn-chapter").click((e) => {
|
||||
add_chapter(e);
|
||||
});
|
||||
|
||||
$(document).on("click", ".btn-save-chapter", (e) => {
|
||||
save_chapter(e);
|
||||
});
|
||||
|
||||
$(".nav-link").click((e) => {
|
||||
change_hash(e);
|
||||
});
|
||||
@@ -44,43 +37,21 @@ frappe.ready(() => {
|
||||
show_no_preview_dialog(e);
|
||||
});
|
||||
|
||||
$(".lesson-dropzone").each((i, el) => {
|
||||
setSortable(el);
|
||||
});
|
||||
|
||||
$(".chapter-dropzone").each((i, el) => {
|
||||
setSortable(el);
|
||||
});
|
||||
|
||||
$("#create-class").click((e) => {
|
||||
open_class_dialog(e);
|
||||
});
|
||||
});
|
||||
|
||||
const setSortable = (el) => {
|
||||
new Sortable(el, {
|
||||
group: {
|
||||
name: "les",
|
||||
pull: "les",
|
||||
put: "les",
|
||||
},
|
||||
onEnd: (e) => {
|
||||
if ($(e.item).hasClass("lesson-info")) reorder_lesson(e);
|
||||
else reorder_chapter(e);
|
||||
},
|
||||
onMove: (e) => {
|
||||
if (
|
||||
$(e.dragged).hasClass("lesson-info") &&
|
||||
$(e.to).hasClass("chapter-dropzone")
|
||||
)
|
||||
return false;
|
||||
if (
|
||||
$(e.dragged).hasClass("chapter-edit") &&
|
||||
$(e.to).hasClass("lesson-dropzone")
|
||||
)
|
||||
return false;
|
||||
},
|
||||
});
|
||||
const pin_header = () => {
|
||||
const el = document.querySelector(".sticky");
|
||||
if (el) {
|
||||
const observer = new IntersectionObserver(
|
||||
([e]) =>
|
||||
e.target.classList.toggle("is-pinned", e.intersectionRatio < 1),
|
||||
{ threshold: [1] }
|
||||
);
|
||||
observer.observe(el);
|
||||
}
|
||||
};
|
||||
|
||||
const setup_file_size = () => {
|
||||
@@ -162,65 +133,6 @@ const notify_user = (e) => {
|
||||
});
|
||||
};
|
||||
|
||||
const add_chapter = (e) => {
|
||||
if ($(".new-chapter").length) {
|
||||
scroll_to_chapter_container();
|
||||
return;
|
||||
}
|
||||
|
||||
let next_index = $("[data-index]").last().data("index") + 1 || 1;
|
||||
let add_after = $(`.chapter-parent:last`).length
|
||||
? $(`.chapter-dropzone`)
|
||||
: $("#outline-heading");
|
||||
|
||||
$(`<div class="chapter-parent chapter-edit new-chapter">
|
||||
<div contenteditable="true" data-placeholder="${__(
|
||||
"Chapter Name"
|
||||
)}" class="chapter-title-main"></div>
|
||||
<div class="chapter-description small my-2" contenteditable="true"
|
||||
data-placeholder="${__("Short Description")}"></div>
|
||||
<button class="btn btn-sm btn-secondary d-block btn-save-chapter"
|
||||
data-index="${next_index}"> ${__("Save")} </button>
|
||||
</div>`).insertAfter(add_after);
|
||||
|
||||
scroll_to_chapter_container();
|
||||
};
|
||||
|
||||
const scroll_to_chapter_container = () => {
|
||||
$([document.documentElement, document.body]).animate(
|
||||
{
|
||||
scrollTop: $(".new-chapter").offset().top,
|
||||
},
|
||||
1000
|
||||
);
|
||||
$(".new-chapter").find(".chapter-title-main").focus();
|
||||
};
|
||||
|
||||
const save_chapter = (e) => {
|
||||
let target = $(e.currentTarget);
|
||||
let parent = target.closest(".chapter-parent");
|
||||
|
||||
frappe.call({
|
||||
method: "lms.lms.doctype.lms_course.lms_course.save_chapter",
|
||||
args: {
|
||||
course: $("#title").data("course"),
|
||||
title: parent.find(".chapter-title-main").text(),
|
||||
chapter_description: parent.find(".chapter-description").text(),
|
||||
idx: target.data("index"),
|
||||
chapter: parent.data("chapter") ? parent.data("chapter") : "",
|
||||
},
|
||||
callback: (data) => {
|
||||
frappe.show_alert({
|
||||
message: __("Saved"),
|
||||
indicator: "green",
|
||||
});
|
||||
setTimeout(() => {
|
||||
window.location.reload();
|
||||
}, 1000);
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
const generate_graph = (chart_name, element, type = "line") => {
|
||||
let date = frappe.datetime;
|
||||
|
||||
@@ -346,50 +258,6 @@ const show_no_preview_dialog = (e) => {
|
||||
$("#no-preview-modal").modal("show");
|
||||
};
|
||||
|
||||
const reorder_lesson = (e) => {
|
||||
let old_chapter = $(e.from).closest(".chapter-edit").data("chapter");
|
||||
let new_chapter = $(e.to).closest(".chapter-edit").data("chapter");
|
||||
|
||||
if (old_chapter == new_chapter && e.oldIndex == e.newIndex) return;
|
||||
|
||||
frappe.call({
|
||||
method: "lms.lms.doctype.lms_course.lms_course.reorder_lesson",
|
||||
args: {
|
||||
old_chapter: old_chapter,
|
||||
old_lesson_array: $(e.from)
|
||||
.children()
|
||||
.map((i, e) => $(e).data("lesson"))
|
||||
.get(),
|
||||
new_chapter: new_chapter,
|
||||
new_lesson_array: $(e.to)
|
||||
.children()
|
||||
.map((i, e) => $(e).data("lesson"))
|
||||
.get(),
|
||||
},
|
||||
callback: (data) => {
|
||||
window.location.reload();
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
const reorder_chapter = (e) => {
|
||||
if (e.oldIndex == e.newIndex) return;
|
||||
|
||||
frappe.call({
|
||||
method: "lms.lms.doctype.lms_course.lms_course.reorder_chapter",
|
||||
args: {
|
||||
new_index: e.newIndex + 1,
|
||||
chapter_array: $(e.to)
|
||||
.children()
|
||||
.map((i, e) => $(e).data("chapter"))
|
||||
.get(),
|
||||
},
|
||||
callback: (data) => {
|
||||
window.location.reload();
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
const open_class_dialog = (e) => {
|
||||
this.class_dialog = new frappe.ui.Dialog({
|
||||
title: __("New Class"),
|
||||
@@ -415,6 +283,30 @@ const open_class_dialog = (e) => {
|
||||
reqd: 1,
|
||||
default: class_info && class_info.end_date,
|
||||
},
|
||||
{
|
||||
fieldtype: "Column Break",
|
||||
},
|
||||
{
|
||||
fieldtype: "Int",
|
||||
label: __("Seat Count"),
|
||||
fieldname: "seat_count",
|
||||
default: class_info && class_info.seat_count,
|
||||
},
|
||||
{
|
||||
fieldtype: "Time",
|
||||
label: __("Start Time"),
|
||||
fieldname: "start_time",
|
||||
default: class_info && class_info.start_time,
|
||||
},
|
||||
{
|
||||
fieldtype: "Time",
|
||||
label: __("End Time"),
|
||||
fieldname: "end_time",
|
||||
default: class_info && class_info.end_time,
|
||||
},
|
||||
{
|
||||
fieldtype: "Section Break",
|
||||
},
|
||||
{
|
||||
fieldtype: "Small Text",
|
||||
label: __("Description"),
|
||||
@@ -438,6 +330,9 @@ const create_class = (values) => {
|
||||
start_date: values.start_date,
|
||||
end_date: values.end_date,
|
||||
description: values.description,
|
||||
seat_count: values.seat_count,
|
||||
start_time: values.start_time,
|
||||
end_time: values.end_time,
|
||||
name: class_info && class_info.name,
|
||||
},
|
||||
callback: (r) => {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import "./profile.js";
|
||||
import "./common_functions.js";
|
||||
import "../../../../frappe/frappe/public/js/frappe/ui/chart.js";
|
||||
import "../../../../frappe/frappe/public/js/telemetry/index.js";
|
||||
|
||||
Reference in New Issue
Block a user