mirror of
https://github.com/rzmk/learnhouse.git
synced 2025-12-19 04:19:25 +00:00
commit
3b32e72768
11 changed files with 732 additions and 401 deletions
|
|
@ -11,11 +11,16 @@ function Element(props: any) {
|
||||||
{(provided) => (
|
{(provided) => (
|
||||||
<ElementWrapper key={props.element.id} {...provided.draggableProps} {...provided.dragHandleProps} ref={provided.innerRef}>
|
<ElementWrapper key={props.element.id} {...provided.draggableProps} {...provided.dragHandleProps} ref={provided.innerRef}>
|
||||||
<p>{props.element.name} </p>
|
<p>{props.element.name} </p>
|
||||||
<Link href={`/org/${props.orgslug}/course/${props.courseid}/element/${props.element.id.replace("element_", "")}`}>
|
<Link
|
||||||
<a target="_blank" rel="noopener noreferrer"> <EyeOpenIcon/></a>
|
href={`/org/${props.orgslug}/course/${props.courseid}/element/${props.element.id.replace("element_", "")}`}
|
||||||
|
|
||||||
|
rel="noopener noreferrer">
|
||||||
|
<EyeOpenIcon/>
|
||||||
</Link>
|
</Link>
|
||||||
<Link href={`/org/${props.orgslug}/course/${props.courseid}/element/${props.element.id.replace("element_", "")}/edit`}>
|
<Link
|
||||||
<a rel="noopener noreferrer"> <Pencil2Icon/></a>
|
href={`/org/${props.orgslug}/course/${props.courseid}/element/${props.element.id.replace("element_", "")}/edit`}
|
||||||
|
rel="noopener noreferrer">
|
||||||
|
<Pencil2Icon/>
|
||||||
</Link>
|
</Link>
|
||||||
</ElementWrapper>
|
</ElementWrapper>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import { AuthContext } from "../Security/AuthProvider";
|
||||||
import learnhouseIcon from "public/learnhouse_icon.png";
|
import learnhouseIcon from "public/learnhouse_icon.png";
|
||||||
import { ToolbarButtons } from "./Toolbar/ToolbarButtons";
|
import { ToolbarButtons } from "./Toolbar/ToolbarButtons";
|
||||||
import { motion, AnimatePresence } from "framer-motion";
|
import { motion, AnimatePresence } from "framer-motion";
|
||||||
import Image from "next/image";
|
import Image from "next/legacy/image";
|
||||||
import styled from "styled-components";
|
import styled from "styled-components";
|
||||||
import { getBackendUrl } from "../../services/config";
|
import { getBackendUrl } from "../../services/config";
|
||||||
import { SlashIcon } from "@radix-ui/react-icons";
|
import { SlashIcon } from "@radix-ui/react-icons";
|
||||||
|
|
|
||||||
|
|
@ -14,12 +14,12 @@ export const HeaderProfileBox = () => {
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<Link href="/login">
|
<Link href="/login">
|
||||||
<a>Login</a>
|
Login
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<Link href="/signup">
|
<Link href="/signup">
|
||||||
<a>Sign up</a>
|
Sign up
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import { HeaderProfileBox } from "../../Security/HeaderProfileBox";
|
||||||
import learnhouseIcon from "public/learnhouse_icon.png";
|
import learnhouseIcon from "public/learnhouse_icon.png";
|
||||||
import learnhouseLogo from "public/learnhouse_logo.png";
|
import learnhouseLogo from "public/learnhouse_logo.png";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import Image from "next/image";
|
import Image from "next/legacy/image";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
|
|
||||||
export const Menu = () => {
|
export const Menu = () => {
|
||||||
|
|
@ -17,9 +17,9 @@ export const Menu = () => {
|
||||||
<Logo>
|
<Logo>
|
||||||
<Image width={25} height={25} src={learnhouseIcon} alt="" />
|
<Image width={25} height={25} src={learnhouseIcon} alt="" />
|
||||||
<Link href={"/"}>
|
<Link href={"/"}>
|
||||||
<a>
|
|
||||||
<Image width={108} height={28} src={learnhouseLogo} alt="" />
|
<Image width={108} height={28} src={learnhouseLogo} alt="" />
|
||||||
</a>
|
|
||||||
</Link>
|
</Link>
|
||||||
</Logo>
|
</Logo>
|
||||||
<div id="accounts"></div>
|
<div id="accounts"></div>
|
||||||
|
|
@ -33,7 +33,7 @@ export const Menu = () => {
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<Link href={"/org/" + orgslug + "/courses"}>
|
<Link href={"/org/" + orgslug + "/courses"}>
|
||||||
<a>Courses</a>
|
Courses
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>Collections</li>
|
<li>Collections</li>
|
||||||
|
|
|
||||||
961
front/package-lock.json
generated
961
front/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -20,10 +20,10 @@
|
||||||
"avvvatars-react": "^0.4.2",
|
"avvvatars-react": "^0.4.2",
|
||||||
"framer-motion": "^7.3.6",
|
"framer-motion": "^7.3.6",
|
||||||
"lucide-react": "^0.104.1",
|
"lucide-react": "^0.104.1",
|
||||||
"next": "12.3.1",
|
"next": "^13.0.6",
|
||||||
"react": "18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-beautiful-dnd": "^13.1.1",
|
"react-beautiful-dnd": "^13.1.1",
|
||||||
"react-dom": "18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
"styled-components": "^5.3.5",
|
"styled-components": "^5.3.5",
|
||||||
"y-indexeddb": "^9.0.9",
|
"y-indexeddb": "^9.0.9",
|
||||||
"y-webrtc": "^10.2.3",
|
"y-webrtc": "^10.2.3",
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
"@types/styled-components": "^5.1.26",
|
"@types/styled-components": "^5.1.26",
|
||||||
"autoprefixer": "^10.4.12",
|
"autoprefixer": "^10.4.12",
|
||||||
"eslint": "8.23.1",
|
"eslint": "8.23.1",
|
||||||
"eslint-config-next": "12.3.1",
|
"eslint-config-next": "^13.0.6",
|
||||||
"typescript": "4.8.3"
|
"typescript": "4.8.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import type { NextPage } from "next";
|
||||||
import { motion } from "framer-motion";
|
import { motion } from "framer-motion";
|
||||||
import styled from "styled-components";
|
import styled from "styled-components";
|
||||||
import learnhouseBigIcon from "public/learnhouse_bigicon.png";
|
import learnhouseBigIcon from "public/learnhouse_bigicon.png";
|
||||||
import Image from "next/image";
|
import Image from "next/legacy/image";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
|
|
||||||
const Home: NextPage = () => {
|
const Home: NextPage = () => {
|
||||||
|
|
@ -38,15 +38,15 @@ const Home: NextPage = () => {
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Link href={"/organizations"}>
|
<Link href={"/organizations"}>
|
||||||
<a>
|
|
||||||
<OrgsButton>See Organizations</OrgsButton>
|
<OrgsButton>See Organizations</OrgsButton>
|
||||||
</a>
|
|
||||||
</Link>
|
</Link>
|
||||||
<br /><br />
|
<br /><br />
|
||||||
<Link href={"/login"}>
|
<Link href={"/login"}>
|
||||||
<a>
|
|
||||||
<OrgsButton>Login</OrgsButton>
|
<OrgsButton>Login</OrgsButton>
|
||||||
</a>
|
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
|
|
|
||||||
|
|
@ -41,31 +41,30 @@ const CourseIdPage = () => {
|
||||||
<p>Course</p>
|
<p>Course</p>
|
||||||
<h1>
|
<h1>
|
||||||
{courseInfo.course.name}{" "}
|
{courseInfo.course.name}{" "}
|
||||||
<Link href={`/org/${orgslug}/course/${courseid}/edit`}>
|
<Link
|
||||||
<a target="_blank" rel="noopener noreferrer">
|
href={`/org/${orgslug}/course/${courseid}/edit`}
|
||||||
<Pencil2Icon />
|
|
||||||
</a>
|
rel="noopener noreferrer">
|
||||||
|
|
||||||
|
<Pencil2Icon />
|
||||||
|
|
||||||
</Link>{" "}
|
</Link>{" "}
|
||||||
</h1>
|
</h1>
|
||||||
<br />
|
<br />
|
||||||
<ChaptersWrapper>
|
<ChaptersWrapper>
|
||||||
{courseInfo.chapters.map((chapter: any) => {
|
{courseInfo.chapters.map((chapter: any) => {
|
||||||
return (
|
return <>
|
||||||
<>
|
{chapter.elements.map((element: any) => {
|
||||||
{chapter.elements.map((element: any) => {
|
return <>
|
||||||
return (
|
<Link href={`/org/${orgslug}/course/${courseid}/element/${element.id.replace("element_", "")}`}>
|
||||||
<>
|
|
||||||
<Link href={`/org/${orgslug}/course/${courseid}/element/${element.id.replace("element_", "")}`}>
|
<ChapterIndicator />
|
||||||
<a>
|
|
||||||
<ChapterIndicator />
|
</Link>{" "}
|
||||||
</a>
|
</>;
|
||||||
</Link>{" "}
|
})}
|
||||||
</>
|
|
||||||
);
|
</>;
|
||||||
})}
|
|
||||||
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
})}
|
})}
|
||||||
</ChaptersWrapper>
|
</ChaptersWrapper>
|
||||||
|
|
||||||
|
|
@ -82,26 +81,25 @@ const CourseIdPage = () => {
|
||||||
<h2>Course Lessons</h2>
|
<h2>Course Lessons</h2>
|
||||||
|
|
||||||
{courseInfo.chapters.map((chapter: any) => {
|
{courseInfo.chapters.map((chapter: any) => {
|
||||||
return (
|
return <>
|
||||||
<>
|
<h3>Chapter : {chapter.name}</h3>
|
||||||
<h3>Chapter : {chapter.name}</h3>
|
{chapter.elements.map((element: any) => {
|
||||||
{chapter.elements.map((element: any) => {
|
return <>
|
||||||
return (
|
<p>
|
||||||
<>
|
Element {element.name}
|
||||||
<p>
|
<Link
|
||||||
Element {element.name}
|
href={`/org/${orgslug}/course/${courseid}/element/${element.id.replace("element_", "")}`}
|
||||||
<Link href={`/org/${orgslug}/course/${courseid}/element/${element.id.replace("element_", "")}`}>
|
|
||||||
<a target="_blank" rel="noopener noreferrer">
|
rel="noopener noreferrer">
|
||||||
<EyeOpenIcon />
|
|
||||||
</a>
|
<EyeOpenIcon />
|
||||||
</Link>{" "}
|
|
||||||
</p>
|
</Link>{" "}
|
||||||
</>
|
</p>
|
||||||
);
|
</>;
|
||||||
})}
|
})}
|
||||||
|
|
||||||
</>
|
</>;
|
||||||
);
|
|
||||||
})}
|
})}
|
||||||
</CoursePageLayout>
|
</CoursePageLayout>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
|
|
@ -50,9 +50,9 @@ const CoursesIndexPage = () => {
|
||||||
<Title>
|
<Title>
|
||||||
{orgslug} courses :{" "}
|
{orgslug} courses :{" "}
|
||||||
<Link href={"/org/" + orgslug + "/courses/new"}>
|
<Link href={"/org/" + orgslug + "/courses/new"}>
|
||||||
<a>
|
|
||||||
<button>+</button>
|
<button>+</button>
|
||||||
</a>
|
|
||||||
</Link>{" "}
|
</Link>{" "}
|
||||||
</Title>
|
</Title>
|
||||||
|
|
||||||
|
|
@ -64,20 +64,20 @@ const CoursesIndexPage = () => {
|
||||||
{courses.map((course: any) => (
|
{courses.map((course: any) => (
|
||||||
<div key={course.course_id}>
|
<div key={course.course_id}>
|
||||||
<Link href={"/org/" + orgslug + "/course/" + removeCoursePrefix(course.course_id)}>
|
<Link href={"/org/" + orgslug + "/course/" + removeCoursePrefix(course.course_id)}>
|
||||||
<a>
|
|
||||||
<h2>{course.name}</h2>
|
<h2>{course.name}</h2>
|
||||||
<CourseWrapper>
|
<CourseWrapper>
|
||||||
<img src={`${getBackendUrl()}content/uploads/img/${course.thumbnail}`} alt="" />
|
<img src={`${getBackendUrl()}content/uploads/img/${course.thumbnail}`} alt="" />
|
||||||
</CourseWrapper>
|
</CourseWrapper>
|
||||||
</a>
|
|
||||||
</Link>
|
</Link>
|
||||||
<button style={{ backgroundColor: "red", border: "none" }} onClick={() => deleteCourses(course.course_id)}>
|
<button style={{ backgroundColor: "red", border: "none" }} onClick={() => deleteCourses(course.course_id)}>
|
||||||
Delete
|
Delete
|
||||||
</button>
|
</button>
|
||||||
<Link href={"/org/" + orgslug + "/course/" + removeCoursePrefix(course.course_id) + "/edit"}>
|
<Link href={"/org/" + orgslug + "/course/" + removeCoursePrefix(course.course_id) + "/edit"}>
|
||||||
<a>
|
|
||||||
<button>Edit Chapters</button>
|
<button>Edit Chapters</button>
|
||||||
</a>
|
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
|
|
|
||||||
|
|
@ -15,9 +15,9 @@ const OrgHomePage = () => {
|
||||||
<Header></Header>
|
<Header></Header>
|
||||||
<Title>Welcome {orgslug} 👋🏻</Title>
|
<Title>Welcome {orgslug} 👋🏻</Title>
|
||||||
<Link href={orgslug + "/courses"}>
|
<Link href={orgslug + "/courses"}>
|
||||||
<a>
|
|
||||||
<button>See Courses </button>
|
<button>See Courses </button>
|
||||||
</a>
|
|
||||||
</Link>
|
</Link>
|
||||||
</Layout>
|
</Layout>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -30,14 +30,13 @@ const Organizations = () => {
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
||||||
<Layout>
|
<Layout>
|
||||||
<Title>
|
<Title>
|
||||||
Your Organizations{" "}
|
Your Organizations{" "}
|
||||||
<Link href={"/organizations/new"}>
|
<Link href={"/organizations/new"}>
|
||||||
<a>
|
|
||||||
<button>+</button>
|
<button>+</button>
|
||||||
</a>
|
|
||||||
</Link>
|
</Link>
|
||||||
</Title>
|
</Title>
|
||||||
<hr />
|
<hr />
|
||||||
|
|
@ -48,9 +47,9 @@ const Organizations = () => {
|
||||||
{userOrganizations.map((org: any) => (
|
{userOrganizations.map((org: any) => (
|
||||||
<div key={org.org_id}>
|
<div key={org.org_id}>
|
||||||
<Link href={`/org/${org.slug}`}>
|
<Link href={`/org/${org.slug}`}>
|
||||||
<a>
|
|
||||||
<h3>{org.name}</h3>
|
<h3>{org.name}</h3>
|
||||||
</a>
|
|
||||||
</Link>
|
</Link>
|
||||||
<button onClick={() => deleteOrganization(org.org_id)}>
|
<button onClick={() => deleteOrganization(org.org_id)}>
|
||||||
Delete
|
Delete
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue