feat: courses refactor

This commit is contained in:
swve 2022-11-05 18:24:54 +01:00
parent 0572368a32
commit 34e0413ee7
11 changed files with 17 additions and 18 deletions

View file

@ -23,11 +23,11 @@ function Chapter(props: any) {
{(provided, snapshot) => (
<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>
<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) => (
<ElementsList {...provided.droppableProps} ref={provided.innerRef}>
{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}
</ElementsList>

View file

@ -4,9 +4,9 @@ import styled from "styled-components";
function Element(props: any) {
return (
<Draggable draggableId={props.element.id} index={props.index}>
<Draggable key={props.element.id} draggableId={props.element.id} index={props.index}>
{(provided) => (
<ElementWrapper {...provided.draggableProps} {...provided.dragHandleProps} ref={provided.innerRef}>
<ElementWrapper key={props.element.id} {...provided.draggableProps} {...provided.dragHandleProps} ref={provided.innerRef}>
{props.element.content}
</ElementWrapper>
)}

View file

@ -182,7 +182,7 @@ function CourseEdit() {
{winReady && (
<ChapterlistWrapper>
<DragDropContext onDragEnd={onDragEnd}>
<Droppable droppableId="chapters" type="chapter">
<Droppable key="chapters" droppableId="chapters" type="chapter">
{(provided) => (
<div key={"chapters"} {...provided.droppableProps} ref={provided.innerRef}>
{getChapters().map((info: any, index: any) => (

View file

@ -67,15 +67,16 @@ const CoursesIndexPage = () => {
<a>
<h2>{course.name}</h2>
<CourseWrapper>
<img src={`${getBackendUrl()}content/uploads/img/${course.thumbnail}`} alt="" />
</CourseWrapper>
<img src={`${getBackendUrl()}content/uploads/img/${course.thumbnail}`} alt="" />
</CourseWrapper>
</a>
</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"}>
<a>
<button >Edit Chapters</button>
<button>Edit Chapters</button>
</a>
</Link>
</div>
@ -91,10 +92,8 @@ export default CoursesIndexPage;
const CourseWrapper = styled.div`
display: flex;
img {
width: 269px;
height: 151px;
background: url(), #d9d9d9;
border: 1px solid rgba(255, 255, 255, 0.19);

View file

@ -1,5 +1,6 @@
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")

View file

@ -1,6 +1,6 @@
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.auth import get_current_user

View file

@ -1,7 +1,7 @@
from fastapi import APIRouter, Depends
from src.services.auth import get_current_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()

View file

@ -1,7 +1,7 @@
from fastapi import APIRouter, Depends, UploadFile, Form
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

View file

@ -1,10 +1,9 @@
from cmath import log
from datetime import datetime
import json
from typing import List
from uuid import uuid4
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.security import verify_user_rights_with_roles
from src.services.users import PublicUser