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) => ( {(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>

View file

@ -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>
)} )}

View file

@ -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) => (

View file

@ -70,9 +70,10 @@ 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>
@ -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);

View file

@ -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")

View file

@ -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

View file

@ -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()

View file

@ -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

View file

@ -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