mirror of
https://github.com/rzmk/learnhouse.git
synced 2025-12-19 04:19:25 +00:00
feat: courses refactor
This commit is contained in:
parent
0572368a32
commit
34e0413ee7
11 changed files with 17 additions and 18 deletions
|
|
@ -23,11 +23,11 @@ function Chapter(props: any) {
|
||||||
{(provided, snapshot) => (
|
{(provided, snapshot) => (
|
||||||
<ChapterWrapper {...provided.dragHandleProps} {...provided.draggableProps} ref={provided.innerRef} isDragging={snapshot.isDragging} key={props.info.list.chapter.id}>
|
<ChapterWrapper {...provided.dragHandleProps} {...provided.draggableProps} ref={provided.innerRef} isDragging={snapshot.isDragging} key={props.info.list.chapter.id}>
|
||||||
<h3>{props.info.list.chapter.name} <button onClick={() => {props.deleteChapter(props.info.list.chapter.id)}}>X</button></h3>
|
<h3>{props.info.list.chapter.name} <button onClick={() => {props.deleteChapter(props.info.list.chapter.id)}}>X</button></h3>
|
||||||
<Droppable droppableId={props.info.list.chapter.id} type="element">
|
<Droppable key={props.info.list.chapter.id} droppableId={props.info.list.chapter.id} type="element">
|
||||||
{(provided) => (
|
{(provided) => (
|
||||||
<ElementsList {...provided.droppableProps} ref={provided.innerRef}>
|
<ElementsList {...provided.droppableProps} ref={provided.innerRef}>
|
||||||
{props.info.list.elements.map((element: any, index: any) => (
|
{props.info.list.elements.map((element: any, index: any) => (
|
||||||
<div key={element.id}> <Element key={element.id} element={element} index={index}></Element></div>
|
<Element key={element.id} element={element} index={index}></Element>
|
||||||
))}
|
))}
|
||||||
{provided.placeholder}
|
{provided.placeholder}
|
||||||
</ElementsList>
|
</ElementsList>
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,9 @@ import styled from "styled-components";
|
||||||
|
|
||||||
function Element(props: any) {
|
function Element(props: any) {
|
||||||
return (
|
return (
|
||||||
<Draggable draggableId={props.element.id} index={props.index}>
|
<Draggable key={props.element.id} draggableId={props.element.id} index={props.index}>
|
||||||
{(provided) => (
|
{(provided) => (
|
||||||
<ElementWrapper {...provided.draggableProps} {...provided.dragHandleProps} ref={provided.innerRef}>
|
<ElementWrapper key={props.element.id} {...provided.draggableProps} {...provided.dragHandleProps} ref={provided.innerRef}>
|
||||||
{props.element.content}
|
{props.element.content}
|
||||||
</ElementWrapper>
|
</ElementWrapper>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
|
|
@ -182,7 +182,7 @@ function CourseEdit() {
|
||||||
{winReady && (
|
{winReady && (
|
||||||
<ChapterlistWrapper>
|
<ChapterlistWrapper>
|
||||||
<DragDropContext onDragEnd={onDragEnd}>
|
<DragDropContext onDragEnd={onDragEnd}>
|
||||||
<Droppable droppableId="chapters" type="chapter">
|
<Droppable key="chapters" droppableId="chapters" type="chapter">
|
||||||
{(provided) => (
|
{(provided) => (
|
||||||
<div key={"chapters"} {...provided.droppableProps} ref={provided.innerRef}>
|
<div key={"chapters"} {...provided.droppableProps} ref={provided.innerRef}>
|
||||||
{getChapters().map((info: any, index: any) => (
|
{getChapters().map((info: any, index: any) => (
|
||||||
|
|
|
||||||
|
|
@ -70,12 +70,13 @@ const CoursesIndexPage = () => {
|
||||||
<img src={`${getBackendUrl()}content/uploads/img/${course.thumbnail}`} alt="" />
|
<img src={`${getBackendUrl()}content/uploads/img/${course.thumbnail}`} alt="" />
|
||||||
</CourseWrapper>
|
</CourseWrapper>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
</Link>
|
</Link>
|
||||||
<button style={{backgroundColor:"red" , border:"none"}} onClick={() => deleteCourses(course.course_id)}>Delete</button>
|
<button style={{ backgroundColor: "red", border: "none" }} onClick={() => deleteCourses(course.course_id)}>
|
||||||
|
Delete
|
||||||
|
</button>
|
||||||
<Link href={"/org/" + orgslug + "/course/" + removeCoursePrefix(course.course_id) + "/edit"}>
|
<Link href={"/org/" + orgslug + "/course/" + removeCoursePrefix(course.course_id) + "/edit"}>
|
||||||
<a>
|
<a>
|
||||||
<button >Edit Chapters</button>
|
<button>Edit Chapters</button>
|
||||||
</a>
|
</a>
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -91,11 +92,9 @@ export default CoursesIndexPage;
|
||||||
const CourseWrapper = styled.div`
|
const CourseWrapper = styled.div`
|
||||||
display: flex;
|
display: flex;
|
||||||
img {
|
img {
|
||||||
|
|
||||||
width: 269px;
|
width: 269px;
|
||||||
height: 151px;
|
height: 151px;
|
||||||
|
|
||||||
|
|
||||||
background: url(), #d9d9d9;
|
background: url(), #d9d9d9;
|
||||||
border: 1px solid rgba(255, 255, 255, 0.19);
|
border: 1px solid rgba(255, 255, 255, 0.19);
|
||||||
box-shadow: 0px 13px 33px -13px rgba(0, 0, 0, 0.42);
|
box-shadow: 0px 13px 33px -13px rgba(0, 0, 0, 0.42);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
from fastapi import APIRouter
|
from fastapi import APIRouter
|
||||||
from src.routers import chapters, collections, courses, users, auth, houses, orgs, roles
|
from src.routers import users, auth, houses, orgs, roles
|
||||||
|
from src.routers.courses import chapters, collections, courses
|
||||||
|
|
||||||
|
|
||||||
global_router = APIRouter(prefix="/api")
|
global_router = APIRouter(prefix="/api")
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
from fastapi import APIRouter, Depends, UploadFile, Form
|
from fastapi import APIRouter, Depends, UploadFile, Form
|
||||||
|
|
||||||
from src.services.chapters import CourseChapter, CourseChapterMetaData, create_coursechapter, delete_coursechapter, get_coursechapter, get_coursechapters, get_coursechapters_meta, update_coursechapter, update_coursechapters_meta
|
from src.services.courses.chapters import CourseChapter, CourseChapterMetaData, create_coursechapter, delete_coursechapter, get_coursechapter, get_coursechapters, get_coursechapters_meta, update_coursechapter, update_coursechapters_meta
|
||||||
from src.services.users import PublicUser
|
from src.services.users import PublicUser
|
||||||
from src.services.auth import get_current_user
|
from src.services.auth import get_current_user
|
||||||
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
from fastapi import APIRouter, Depends
|
from fastapi import APIRouter, Depends
|
||||||
from src.services.auth import get_current_user
|
from src.services.auth import get_current_user
|
||||||
from src.services.users import PublicUser, User
|
from src.services.users import PublicUser, User
|
||||||
from src.services.collections import Collection, create_collection, get_collection, get_collections, update_collection, delete_collection
|
from src.services.courses.collections import Collection, create_collection, get_collection, get_collections, update_collection, delete_collection
|
||||||
|
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
from fastapi import APIRouter, Depends, UploadFile, Form
|
from fastapi import APIRouter, Depends, UploadFile, Form
|
||||||
from src.services.auth import get_current_user
|
from src.services.auth import get_current_user
|
||||||
|
|
||||||
from src.services.courses import Course, create_course, get_course, get_courses, update_course, delete_course, update_course_thumbnail
|
from src.services.courses.courses import Course, create_course, get_course, get_courses, update_course, delete_course, update_course_thumbnail
|
||||||
from src.services.users import PublicUser
|
from src.services.users import PublicUser
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,10 +1,9 @@
|
||||||
from cmath import log
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import json
|
import json
|
||||||
from typing import List
|
from typing import List
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
from src.services.courses import Course, CourseInDB
|
from src.services.courses.courses import Course, CourseInDB
|
||||||
from src.services.database import create_config_collection, check_database, create_database, learnhouseDB, learnhouseDB
|
from src.services.database import create_config_collection, check_database, create_database, learnhouseDB, learnhouseDB
|
||||||
from src.services.security import verify_user_rights_with_roles
|
from src.services.security import verify_user_rights_with_roles
|
||||||
from src.services.users import PublicUser
|
from src.services.users import PublicUser
|
||||||
Loading…
Add table
Add a link
Reference in a new issue