From 32adb5df860c0fd33950eab02fa0c9332313e900 Mon Sep 17 00:00:00 2001 From: karthikeya-io Date: Mon, 31 Oct 2022 02:22:31 +0530 Subject: [PATCH 01/21] mid --- README.md | 76 +--- db.json | 77 ++++ public/index.html | 1 + src/components/Admin.jsx | 35 ++ src/components/AdminCourses.jsx | 34 ++ src/components/Card.jsx | 73 ++-- src/components/CoursePage.jsx | 3 +- src/components/CourseUploadform.jsx | 62 ++- src/components/Courseinfo.js | 270 +++++++------ src/components/Courses.jsx | 27 +- src/components/CoursesTable.jsx | 37 ++ src/components/Nav.jsx | 4 +- src/components/PlayListVideo.jsx | 60 +++ .../{Signupform.js => Signupform.jsx} | 80 +++- src/components/StudentProfile.jsx | 78 ++++ src/components/Table.jsx | 41 ++ src/components/UpdateStudentProfile.jsx | 54 +++ src/css/Admin.module.css | 82 ++++ src/css/Card.module.css | 227 +++++------ src/css/Courseinfo.css | 277 ++++++------- src/css/Courses.css | 3 - src/css/Courses.module.css | 12 + src/css/PlayListVideo.module.css | 369 ++++++++++++++++++ src/css/StudentProfile.module.css | 201 ++++++++++ src/css/UpdateStudentProfile.module.css | 149 +++++++ src/images/pexels-pixabay-276452.jpg | Bin 0 -> 166529 bytes src/index.js | 22 +- 27 files changed, 1802 insertions(+), 552 deletions(-) create mode 100644 db.json create mode 100644 src/components/Admin.jsx create mode 100644 src/components/AdminCourses.jsx create mode 100644 src/components/CoursesTable.jsx create mode 100644 src/components/PlayListVideo.jsx rename src/components/{Signupform.js => Signupform.jsx} (53%) create mode 100644 src/components/StudentProfile.jsx create mode 100644 src/components/Table.jsx create mode 100644 src/components/UpdateStudentProfile.jsx create mode 100644 src/css/Admin.module.css delete mode 100644 src/css/Courses.css create mode 100644 src/css/Courses.module.css create mode 100644 src/css/PlayListVideo.module.css create mode 100644 src/css/StudentProfile.module.css create mode 100644 src/css/UpdateStudentProfile.module.css create mode 100644 src/images/pexels-pixabay-276452.jpg diff --git a/README.md b/README.md index 58beeac..f811516 100644 --- a/README.md +++ b/README.md @@ -1,70 +1,10 @@ -# Getting Started with Create React App +Group-id: 29 +Title: Online Learning Platform (udemy) -This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). +Group Members: +Karthikeya Bethu, S20200010090 +Kukutla Gnana Sanjay, S20200010106 +Devineni Sri Sivani, S20200010057 +Samyak Bansal, S20200010186 +Mohammed Aasim, S20200010130 -## Available Scripts - -In the project directory, you can run: - -### `npm start` - -Runs the app in the development mode.\ -Open [http://localhost:3000](http://localhost:3000) to view it in your browser. - -The page will reload when you make changes.\ -You may also see any lint errors in the console. - -### `npm test` - -Launches the test runner in the interactive watch mode.\ -See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. - -### `npm run build` - -Builds the app for production to the `build` folder.\ -It correctly bundles React in production mode and optimizes the build for the best performance. - -The build is minified and the filenames include the hashes.\ -Your app is ready to be deployed! - -See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. - -### `npm run eject` - -**Note: this is a one-way operation. Once you `eject`, you can't go back!** - -If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. - -Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own. - -You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it. - -## Learn More - -You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). - -To learn React, check out the [React documentation](https://reactjs.org/). - -### Code Splitting - -This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) - -### Analyzing the Bundle Size - -This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) - -### Making a Progressive Web App - -This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) - -### Advanced Configuration - -This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) - -### Deployment - -This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) - -### `npm run build` fails to minify - -This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) diff --git a/db.json b/db.json new file mode 100644 index 0000000..2ec515c --- /dev/null +++ b/db.json @@ -0,0 +1,77 @@ +{ + "users": [ + { + "fname": "Karthikeya", + "email": "karthikeya.b20@iiits.in", + "phnumber": "9999999999", + "password": "11111", + "cnfpassword": "11111", + "gender": "male", + "lname": "Bethu", + "id": 1 + }, + { + "fname": "Sanjay", + "lname": "Gnana", + "email": "test@iiits.in", + "phnumber": "9999999999", + "password": "12345", + "cnfpassword": "12345", + "gender": "male", + "id": 2 + }, + { + "fname": "Karthikeya", + "email": "karthikeya.b20@iiits.in", + "phnumber": "9999999999", + "password": "1111", + "cnfpassword": "1111", + "gender": "male", + "id": 3 + }, + { + "role": "student", + "fname": "testf", + "lname": "testl", + "email": "test@iiits.in", + "phnumber": "9999999999", + "password": "1111", + "cnfpassword": "1111", + "gender": "female", + "id": 4 + } + ], + "courses": [ + { + "title": "Information Retrieval", + "price": "2999", + "categorydb": "engineering", + "desc": "The course helps you build search engines, so you can build your own search engine for you application. In this course you will build indexing, evaluation of IR systems", + "id": 1 + }, + { + "title": "Fundamentals of Full Stack", + "price": "999", + "categorydb": "engineering", + "desc": "Introduction to web development. You will learn html, css both frontend and backend javascript, nosql databases like mongodb @just 999 :)", + "id": 2 + }, + { + "title": "Could Computing ", + "price": "1499", + "categorydb": "engineering", + "desc": "Introduction to virtualization, containerization, bigdata and cloud computing", + "id": 3 + }, + { + "title": "Object Oriented programming", + "price": "3999", + "categorydb": "engineering", + "desc": "Object Oriented programming, In this course you will learn object oriented principles using java. ", + "id": 4 + } + ], + "profile": { + "name": "typicode" + } +} \ No newline at end of file diff --git a/public/index.html b/public/index.html index b5e919a..de55259 100644 --- a/public/index.html +++ b/public/index.html @@ -4,6 +4,7 @@ + diff --git a/src/components/Admin.jsx b/src/components/Admin.jsx new file mode 100644 index 0000000..4403939 --- /dev/null +++ b/src/components/Admin.jsx @@ -0,0 +1,35 @@ +import React, { useEffect, useState } from 'react' +import Table from './Table' +import classes from "../css/Admin.module.css" + + +const Admin = () => { + const { body, column, left, right, section } = classes + + const [users, setUsers] = useState([]) + + useEffect(() => { + fetch('http://localhost:4000/users') + .then((response) => response.json()) + .then((data) => { + setUsers(data) + }); + }, []) + + return ( + <> + +
+
+
Users
+
Courses
+
+
+
+
+
+ + ) +} + +export default Admin \ No newline at end of file diff --git a/src/components/AdminCourses.jsx b/src/components/AdminCourses.jsx new file mode 100644 index 0000000..59ac23b --- /dev/null +++ b/src/components/AdminCourses.jsx @@ -0,0 +1,34 @@ +import React, { useEffect, useState } from 'react' +import classes from "../css/Admin.module.css" +import CoursesTable from './CoursesTable' + +const Admin = () => { + const { body, column, left, right, section } = classes + + const [courses, setCourses] = useState([]) + + useEffect(() => { + fetch('http://localhost:4000/courses') + .then((response) => response.json()) + .then((data) => { + setCourses(data) + }); + }, []) + + return ( + <> + +
+
+
Users
+
Courses
+
+
+ +
+
+ + ) +} + +export default Admin \ No newline at end of file diff --git a/src/components/Card.jsx b/src/components/Card.jsx index 50d7fed..0c5f36b 100644 --- a/src/components/Card.jsx +++ b/src/components/Card.jsx @@ -1,54 +1,45 @@ import React from 'react' -import Image from '../images/loginimg2.jpg' +import Image from '../images/pexels-pixabay-276452.jpg' import classes from '../css/Card.module.css' -const Card = () => { +const Card = (props) => { + + const {title, price, categorydb, desc, id} = props + let fdesc = desc.substr(0, 150) + return ( <> -
-
-
-
-
Description
-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cumque consequatur corporis vitae nobis, ut veniam earum expedita eaque at placeat perferendis unde voluptates explicabo rerum distinctio quis, illo, porro et?

-
- - - - - - - - - - -
-
-
$1800.00
-
$1500.00
-
+
+
+
{title}
+
+ + + + +
-
- +
+

{fdesc}

+
-
-
-
- -
-
-
SONY
-
SONY ALPHA A7 KIT
-
FREE SHIPPING
-
- -
-
-
+
+
    +
  • Flexible
  • +
  • Life time access
  • +
  • Taught by professionals
  • +
  • Doubt assistance
  • +
  • @just ₹{price}
  • +
-
) } diff --git a/src/components/CoursePage.jsx b/src/components/CoursePage.jsx index 043906d..a7ae3b3 100644 --- a/src/components/CoursePage.jsx +++ b/src/components/CoursePage.jsx @@ -1,6 +1,5 @@ import React from 'react' -import { useParams, useNavigate, Link } from 'react-router-dom' -import Nav from './Nav'; +import { useParams } from 'react-router-dom' import '../css/CoursePage.css' diff --git a/src/components/CourseUploadform.jsx b/src/components/CourseUploadform.jsx index 7b73ca5..82d5ef3 100644 --- a/src/components/CourseUploadform.jsx +++ b/src/components/CourseUploadform.jsx @@ -1,8 +1,56 @@ -import React from 'react' +import React, { useState } from 'react' import classes from '../css/CourseUploadform.module.css' import Img1 from '../images/pexels-thisisengineering-3862130.jpg' + const CourseUploadform = () => { + + const [formDetails, setFormDetails] = useState({}) + const changeHandler = (event) => { + let name = event.target.name; + setFormDetails((prev) => { + return ( + { + ...prev, + [name]: event.target.value + } + ) + }) + } + + + async function postData(url = '', data = {}) { + // Default options are marked with * + const response = await fetch(url, { + method: 'POST', // *GET, POST, PUT, DELETE, etc. + mode: 'cors', // no-cors, *cors, same-origin + cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached + credentials: 'same-origin', // include, *same-origin, omit + headers: { + 'Content-Type': 'application/json' + // 'Content-Type': 'application/x-www-form-urlencoded', + }, + redirect: 'follow', // manual, *follow, error + referrerPolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url + body: JSON.stringify(data) // body data type must match "Content-Type" header + }); + return response.json(); // parses JSON response into native JavaScript objects + } + + + const submitHandler = (event) => { + event.preventDefault(); + alert(JSON.stringify(formDetails)) + console.log(formDetails); + postData('http://localhost:4000/courses', formDetails) + .then((data) => { + console.log(data); // JSON data parsed by `data.json()` call + }); + setFormDetails({}); + } + + + return ( <>
@@ -14,15 +62,15 @@ const CourseUploadform = () => {
Create a new Course
- +
- +
- @@ -32,13 +80,13 @@ const CourseUploadform = () => {
-
-
- +
diff --git a/src/components/Courseinfo.js b/src/components/Courseinfo.js index 65e167e..781327c 100644 --- a/src/components/Courseinfo.js +++ b/src/components/Courseinfo.js @@ -5,171 +5,169 @@ import '../css/Courseinfo.css' import img from '../images/img.PNG' const Courseinfo = () => { - const styleobj={ - height: "200px", - } - const sty={ - height: "60px", - } + const styleobj = { + height: "200px", + } + const sty = { + height: "60px", + } return ( <>
-
-

Programming with Python : HandsOn - Introduction for Beginners

-
Uploaded/Last updated on: Dec 7, 2017
-
Image
-

Some text..

-

Star Rating

- - - - - - {/* +
+

Programming with Python : HandsOn + Introduction for Beginners

+
Uploaded/Last updated on: Dec 7, 2017
+ {/*
Image
*/} +

Some text..

+

Star Rating

+ + + + + + {/* */} -
-
- WHAT YOU WILL LEARN -
-
- {/*
*/} -
-
-
Special title treatment
-

With supporting text below as a natural lead-in to additional content.

+
+ WHAT YOU WILL LEARN +
+
+ {/*
*/} +
+
+
+
Special title treatment
+

With supporting text below as a natural lead-in to additional content.

+
+
+
+ {/*
*/} +
+
+
+
Special title treatment
+

With supporting text below as a natural lead-in to additional content.

+
+
+
+ {/*
*/} +
+
+
+
Special title treatment
+

With supporting text below as a natural lead-in to additional content.

+
+
+
+
+ {/*
*/} +
+
+
Special title treatment
+

With supporting text below as a natural lead-in to additional content.

+
+
+
-
- {/*
*/} -
-
-
-
Special title treatment
-

With supporting text below as a natural lead-in to additional content.

+ +
+ {/*
*/} + {/*
+
About the course
+
+
Overview
+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Earum doloremque quasi et nemo vel totam. Tempore, ipsam. Repellat tempore blanditiis nihil possimus fugiat aliquam aliquid iure quaerat incidunt reprehenderit quis illum nam saepe, ab laboriosam hic sit quibusdam, magni eveniet? Fugit necessitatibus cum laboriosam delectus maxime aperiam id, perferendis placeat ipsam exercitationem a dolor dolorum magni ipsa aspernatur pariatur fugiat tenetur modi vitae. Reiciendis, ducimus pariatur ipsum ex repudiandae repellat neque nulla rem iste debitis ea consequatur voluptatum nemo possimus cumque ullam, totam, quos veniam quam esse sequi! Quibusdam vero inventore consequuntur autem natus saepe necessitatibus porro nostrum atque quam.

+
+

About the course

+

Lorem ipsum dolor, sit amet consectetur adipisicing elit. Culpa nam, iusto itaque reiciendis voluptatem ab, error at quaerat accusamus perferendis similique nisi magni dignissimos dicta asperiores est dolores earum? Unde ea assumenda, ducimus, sapiente, nulla laudantium quam exercitationem soluta voluptatem tenetur possimus aut modi doloremque natus blanditiis iusto! Nesciunt, est?

*/} + {/*
*/}
-
- {/*
*/} -
+ +
+
Syllabus
-
Special title treatment
-

With supporting text below as a natural lead-in to additional content.

+
Module 0
+

+
    +
  1. lesson 0
  2. +
  3. lesson 1
  4. +
  5. lesson 2
  6. +
+

+
Module 1
+

+
    +
  1. lesson 0
  2. +
  3. lesson 1
  4. +
  5. lesson 2
  6. +
+

-
- {/*
*/} -
+ +
+ {/*
*/} +
+
About the Insturctor
-
Special title treatment
-

With supporting text below as a natural lead-in to additional content.

+
Overview
+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Earum doloremque quasi et nemo vel totam. Tempore, ipsam. Repellat tempore blanditiis nihil possimus fugiat aliquam aliquid iure quaerat incidunt reprehenderit quis illum nam saepe, ab laboriosam hic sit quibusdam, magni eveniet? Fugit necessitatibus cum laboriosam delectus maxime aperiam id, perferendis placeat ipsam exercitationem a dolor dolorum magni ipsa aspernatur pariatur fugiat tenetur modi vitae. Reiciendis, ducimus pariatur ipsum ex repudiandae repellat neque nulla rem iste debitis ea consequatur voluptatum nemo possimus cumque ullam, totam, quos veniam quam esse sequi! Quibusdam vero inventore consequuntur autem natus saepe necessitatibus porro nostrum atque quam.

+

About the course

+

Lorem ipsum dolor, sit amet consectetur adipisicing elit. Culpa nam, iusto itaque reiciendis voluptatem ab, error at quaerat accusamus perferendis similique nisi magni dignissimos dicta asperiores est dolores earum? Unde ea assumenda, ducimus, sapiente, nulla laudantium quam exercitationem soluta voluptatem tenetur possimus aut modi doloremque natus blanditiis iusto! Nesciunt, est?

-
-
- -
- {/*
*/} -
-
About the course
-
-
Overview
-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Earum doloremque quasi et nemo vel totam. Tempore, ipsam. Repellat tempore blanditiis nihil possimus fugiat aliquam aliquid iure quaerat incidunt reprehenderit quis illum nam saepe, ab laboriosam hic sit quibusdam, magni eveniet? Fugit necessitatibus cum laboriosam delectus maxime aperiam id, perferendis placeat ipsam exercitationem a dolor dolorum magni ipsa aspernatur pariatur fugiat tenetur modi vitae. Reiciendis, ducimus pariatur ipsum ex repudiandae repellat neque nulla rem iste debitis ea consequatur voluptatum nemo possimus cumque ullam, totam, quos veniam quam esse sequi! Quibusdam vero inventore consequuntur autem natus saepe necessitatibus porro nostrum atque quam.

-
-
-

About the course

-

Lorem ipsum dolor, sit amet consectetur adipisicing elit. Culpa nam, iusto itaque reiciendis voluptatem ab, error at quaerat accusamus perferendis similique nisi magni dignissimos dicta asperiores est dolores earum? Unde ea assumenda, ducimus, sapiente, nulla laudantium quam exercitationem soluta voluptatem tenetur possimus aut modi doloremque natus blanditiis iusto! Nesciunt, est?

- {/*
*/} -
- -
-
-
Syllabus
-
-
Module 0
-

-
    -
  1. lesson 0
  2. -
  3. lesson 1
  4. -
  5. lesson 2
  6. -
-

-
Module 1
-

-
    -
  1. lesson 0
  2. -
  3. lesson 1
  4. -
  5. lesson 2
  6. -
-

-
-
-

About the course

-

Lorem ipsum dolor, sit amet consectetur adipisicing elit. Culpa nam, iusto itaque reiciendis voluptatem ab, error at quaerat accusamus perferendis similique nisi magni dignissimos dicta asperiores est dolores earum? Unde ea assumenda, ducimus, sapiente, nulla laudantium quam exercitationem soluta voluptatem tenetur possimus aut modi doloremque natus blanditiis iusto! Nesciunt, est?

-
- -
- {/*
*/} -
-
About the Insturctor
-
-
Overview
-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Earum doloremque quasi et nemo vel totam. Tempore, ipsam. Repellat tempore blanditiis nihil possimus fugiat aliquam aliquid iure quaerat incidunt reprehenderit quis illum nam saepe, ab laboriosam hic sit quibusdam, magni eveniet? Fugit necessitatibus cum laboriosam delectus maxime aperiam id, perferendis placeat ipsam exercitationem a dolor dolorum magni ipsa aspernatur pariatur fugiat tenetur modi vitae. Reiciendis, ducimus pariatur ipsum ex repudiandae repellat neque nulla rem iste debitis ea consequatur voluptatum nemo possimus cumque ullam, totam, quos veniam quam esse sequi! Quibusdam vero inventore consequuntur autem natus saepe necessitatibus porro nostrum atque quam.

-
-
-

About the course

-

Lorem ipsum dolor, sit amet consectetur adipisicing elit. Culpa nam, iusto itaque reiciendis voluptatem ab, error at quaerat accusamus perferendis similique nisi magni dignissimos dicta asperiores est dolores earum? Unde ea assumenda, ducimus, sapiente, nulla laudantium quam exercitationem soluta voluptatem tenetur possimus aut modi doloremque natus blanditiis iusto! Nesciunt, est?

-
- - -

Sunt in culpa qui officia deserunt mollit anim id est laborum consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.

-

-

TITLE HEADING

-
Title description, Sep 2, 2017
-
Image
-

Some text..

-

Sunt in culpa qui officia deserunt mollit anim id est laborum consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.

-
-
-

Unlimited access at

-
Rs 999/-
-
-
- + + + {/*

Sunt in culpa qui officia deserunt mollit anim id est laborum consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.

+

+

TITLE HEADING

+
Title description, Sep 2, 2017
+
Image
+

Some text..

+

Sunt in culpa qui officia deserunt mollit anim id est laborum consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.

*/}
-
-
This course includes:
-
    +
    +

    Unlimited access at

    +
    Rs 999/-
    +
    +
    + +
    +
    +
    This course includes:
    +
    • Sharable certificate
    • 100% online course
    • Flexible Schedule
    • Appoximately 4 months to complete
    • -
    -
    - {/*
    +
+
+ {/*
*/} -
-
-

Course is offered by:

-
Harvard University
-
-

Some text about me in culpa qui officia deserunt mollit anim..

-

More Text

-

Lorem ipsum dolor sit ame.

-
Image


-
Image


-
Image
-
-
+
+
+

Course is offered by:

+
Harvard University
+
+ {/*

Some text about me in culpa qui officia deserunt mollit anim..

*/} + {/*

More Text

+

Lorem ipsum dolor sit ame.

+
Image


+
Image


+
Image
*/} +
+
diff --git a/src/components/Courses.jsx b/src/components/Courses.jsx index afb7d8f..827565e 100644 --- a/src/components/Courses.jsx +++ b/src/components/Courses.jsx @@ -1,11 +1,30 @@ -import React from 'react' -import '../css/Courses.css' -import Nav from './Nav' +import React, { useEffect, useState } from 'react' +import Card from './Card' +import classes from '../css/Courses.module.css' + const Courses = () => { + const [courses, setCourses] = useState([]) + useEffect(() => { + fetch('http://localhost:4000/courses') + .then((response) => response.json()) + .then((data) => { + setCourses(data) + }); + }, []) + console.log(courses); return ( <> -
Courses
+
+
+ {courses.map(course => { + return ( + + ) + })} + +
+
) } diff --git a/src/components/CoursesTable.jsx b/src/components/CoursesTable.jsx new file mode 100644 index 0000000..c5890af --- /dev/null +++ b/src/components/CoursesTable.jsx @@ -0,0 +1,37 @@ +import React from 'react' + +const CoursesTable = ({courses}) => { + + console.log(courses); + return ( + <> + + + + + + + + + + + + {courses.map(course => { + return ( + + + + + + + + ) + })} + + +
IDtitledesccategorydbprice
{course.id}{course.title}{course.desc}{course.categorydb}{course.price}
+ + ) +} + +export default CoursesTable \ No newline at end of file diff --git a/src/components/Nav.jsx b/src/components/Nav.jsx index 443ede2..e952031 100644 --- a/src/components/Nav.jsx +++ b/src/components/Nav.jsx @@ -35,9 +35,7 @@ const Nav = () => {
  • Contact
  • -
  • - CourseInfo -
  • +
    diff --git a/src/components/PlayListVideo.jsx b/src/components/PlayListVideo.jsx new file mode 100644 index 0000000..235ee8e --- /dev/null +++ b/src/components/PlayListVideo.jsx @@ -0,0 +1,60 @@ +import React from 'react'; +import classes from "../css/PlayListVideo.module.css" +import Image from "../images/coursesinfo.jpeg" + +const PlayListVideo = ()=>{ + return( + <> +
    + +
    +
    +
    + +
    +

    complete HTML tutorial (part 01)

    +
    + +
    +

    john deo

    + developer +
    +
    +
    + view playlist + +
    +

    + Lorem ipsum dolor, sit amet consectetur adipisicing elit. Itaque labore ratione, hic exercitationem mollitia obcaecati culpa dolor placeat provident porro. + Lorem, ipsum dolor sit amet consectetur adipisicing elit. Aliquid iure autem non fugit sint. A, sequi rerum architecto dolor fugiat illo, iure velit nihil laboriosam cupiditate voluptatum facere cumque nemo! +

    +
    +
    +
    + + ) +} + +export default PlayListVideo \ No newline at end of file diff --git a/src/components/Signupform.js b/src/components/Signupform.jsx similarity index 53% rename from src/components/Signupform.js rename to src/components/Signupform.jsx index 04154ae..ff39d31 100644 --- a/src/components/Signupform.js +++ b/src/components/Signupform.jsx @@ -1,10 +1,9 @@ import React, { useState } from 'react' -import Nav from './Nav' import '../css/Signupform.css' const Signupform = () => { - const [formDetails, setFormDetails] = useState({}) + const [formDetails, setFormDetails] = useState({"role": "student"}) const changeHandler = (event) => { let name = event.target.name; setFormDetails((prev) => { @@ -17,10 +16,67 @@ const Signupform = () => { }) } + const formValidation = () => { + formDetails.phnumber = formDetails.phnumber.trim() + if(formDetails.lname ) { + formDetails.lname = formDetails.lname.trim() + } + + if (formDetails.fname && formDetails.email && formDetails.gender && formDetails.password && formDetails.cnfpassword) { + formDetails.fname = formDetails.fname.trim() + formDetails.email = formDetails.email.trim() + if (formDetails.fname.length < 3) { + alert("First name must of size atleast size 3") + return false; + } + if (!isNaN(formDetails.fname.charAt(0))) { + alert("name must not start with number") + return false; + } + if(formDetails.cnfpassword != formDetails.password) { + alert("password mush match confirm password") + return false + } + + return true; + } else { + console.log('hello'); + return false; + } + } + + + async function postData(url = '', data = {}) { + // Default options are marked with * + const response = await fetch(url, { + method: 'POST', // *GET, POST, PUT, DELETE, etc. + mode: 'cors', // no-cors, *cors, same-origin + cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached + credentials: 'same-origin', // include, *same-origin, omit + headers: { + 'Content-Type': 'application/json' + // 'Content-Type': 'application/x-www-form-urlencoded', + }, + redirect: 'follow', // manual, *follow, error + referrerPolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url + body: JSON.stringify(data) // body data type must match "Content-Type" header + }); + return response.json(); // parses JSON response into native JavaScript objects + } + + const submitHandler = (event) => { event.preventDefault(); + if (!formValidation()) { + return false; + } + alert(JSON.stringify(formDetails)) console.log(formDetails); - setFormDetails({}); + postData('http://localhost:4000/users', formDetails) + .then((data) => { + console.log(data); // JSON data parsed by `data.json()` call + }); + setFormDetails({"role": "student"}); } return ( @@ -33,33 +89,33 @@ const Signupform = () => {
    First Name - +
    Last name - +
    Email - +
    Phone Number - +
    Password - +
    Confirm Password - +
    - - - + + + Gender
    @@ -44,4 +48,14 @@ const Card = (props) => { ) } -export default Card \ No newline at end of file +const mapStateToProps = state => { + console.log(state); + return { + userDetails: state.learnpedia + } + } + + + const mapDispatchToProps = dispatch => ({}) + + export default connect(mapStateToProps, mapDispatchToProps)(Card) \ No newline at end of file diff --git a/src/components/Courses.jsx b/src/components/Courses.jsx index 827565e..690b9e4 100644 --- a/src/components/Courses.jsx +++ b/src/components/Courses.jsx @@ -1,11 +1,11 @@ import React, { useEffect, useState } from 'react' import Card from './Card' import classes from '../css/Courses.module.css' +import { connect } from 'react-redux' - -const Courses = () => { +const Courses = ({userDetails}) => { const [courses, setCourses] = useState([]) - useEffect(() => { + useEffect( () => { fetch('http://localhost:4000/courses') .then((response) => response.json()) .then((data) => { @@ -29,4 +29,14 @@ const Courses = () => { ) } -export default Courses \ No newline at end of file +const mapStateToProps = state => { + console.log(state); + return { + userDetails: state.learnpedia +} +} + + +const mapDispatchToProps = dispatch => ({}) + +export default connect(mapStateToProps, mapDispatchToProps)(Courses) \ No newline at end of file diff --git a/src/components/Loginform.jsx b/src/components/Loginform.jsx index 8110900..8f7f2ef 100644 --- a/src/components/Loginform.jsx +++ b/src/components/Loginform.jsx @@ -1,4 +1,4 @@ -import React,{useState} from 'react' +import React, { useState } from 'react' import Image from '../images/loginimg2.jpg' import '../css/Loginform.css' @@ -7,9 +7,9 @@ import { signIn } from '../action/learnpedia' import { useNavigate } from 'react-router-dom' -const Loginform = ({signIn}) => { +const Loginform = ({ signIn }) => { let navigate = useNavigate() - const [formDetails, setFormDetails] = useState({email:"", password:""}) + const [formDetails, setFormDetails] = useState({ email: "", password: "" }) const changeHandler = (event) => { let name = event.target.name; @@ -23,54 +23,66 @@ const Loginform = ({signIn}) => { }) } - const submitHandler = (event) => { + const submitHandler = async (event) => { event.preventDefault(); - if(formDetails.email.length <= 0 || formDetails.password.length <= 0) { + if (formDetails.email.length <= 0 || formDetails.password.length <= 0) { alert("enter email and password") return } - console.log(formDetails); - signIn(formDetails) - setFormDetails({email:"", password:""}); - navigate('/shome') + const userData = await fetch(`http://localhost:4000/users/?email=${formDetails.email}&password=${formDetails.password}`) + .then((response) => response.json()) + .then((data) => { + console.log(data); + return data + }); + + console.log(userData); + if (userData.length > 0) { + signIn(userData[0]) + setFormDetails({ email: "", password: "" }); + navigate('/shome') + } else { + alert('no user found with these credentials check email and password') + } + } return ( -
    -
    -
    -
    - - ) } @@ -78,7 +90,7 @@ const mapStateToProps = state => { console.log(state); return { userDetails: state.userDetails -} + } } const mapDispatchToProps = dispatch => ({ diff --git a/src/components/StudentHome.jsx b/src/components/StudentHome.jsx index ae69843..27f3abf 100644 --- a/src/components/StudentHome.jsx +++ b/src/components/StudentHome.jsx @@ -1,15 +1,24 @@ import React from 'react' import { connect } from 'react-redux' +import classes from '../css/StudentHome.module.css' - -const StudentHome = ({userDetails}) => { - console.log(typeof(userDetails)); +const StudentHome = ({ userDetails }) => { + console.log(userDetails); return (
    -

    Student home

    - {userDetails ?

    {userDetails.email}

    :

    } - + {userDetails ?
    +
    +

    Hi {userDetails.fname},

    +

    Welcome to Learnpedia!

    +
    +
    + Continue Learning + +
    +
    +
    :
    } +
    ) } @@ -18,7 +27,7 @@ const mapStateToProps = state => { console.log(state); return { userDetails: state.learnpedia -} + } } diff --git a/src/css/Card.module.css b/src/css/Card.module.css index 175291e..6b4cf03 100644 --- a/src/css/Card.module.css +++ b/src/css/Card.module.css @@ -97,4 +97,7 @@ ul li { .left:hover ul { margin-left: 0px; +} +.link { + text-decoration: none; } \ No newline at end of file diff --git a/src/css/StudentHome.module.css b/src/css/StudentHome.module.css new file mode 100644 index 0000000..72528cc --- /dev/null +++ b/src/css/StudentHome.module.css @@ -0,0 +1,100 @@ +.welcome { + color: #fff; + width: 100%; + height: 100px; + margin-top: 72px; + background-color: #010718; + background: rgb(238, 174, 202); + background: radial-gradient(circle, rgba(238, 174, 202, 1) 0%, rgba(148, 187, 233, 1) 100%); + padding: 10px; + +} + +.typewriter h1 { + float: left; + font-family: monospace; + overflow: hidden; + /* Ensures the content is not revealed until the animation */ + border-right: .15em solid orange; + /* The typwriter cursor */ + white-space: nowrap; + /* Keeps the content on a single line */ + margin: 0 auto; + /* Gives that scrolling effect as the typing happens */ + letter-spacing: .15em; + /* Adjust as needed */ + animation: + typing 3.5s steps(30, end), + blink-caret .5s step-end infinite; +} + +/* The typing effect */ +@keyframes typing { + from { + width: 0 + } + + to { + width: 27% + } +} + +/* The typewriter cursor effect */ +@keyframes blink-caret { + + from, + to { + border-color: transparent + } + + 50% { + border-color: orange + } +} + +.continueLearning { + width: 100%; + height: 200px; + background-color: #afbbdc; + margin-top: 10px; + padding: 10px; +} + +.left { + float: left; + +} + +.right { + padding: 10px; + float: right; +} + +.right .btnShome { + font-size:larger; + background: rgb(238, 174, 202); +} + +.right .btnShome:hover { + background: rgb(238, 174, 202); + background: radial-gradient(circle, rgba(238, 174, 202, 1) 0%, rgba(148, 187, 233, 1) 100%); + +} + +.btnShome { + width: auto; + padding: 10px; + height: 50px; + color: #fff; + border-radius: 20px; + background-color: var(--nav-color); + border-width: 0; + margin: 5px 10px 5px 0; +} + +.recentCourse { + margin: 45px 0px 0px 25px; + height: 100px; + width: 80%; + background-color: white; +} \ No newline at end of file From cdcfbca76655aece16dcad9f42f25e6c17ee2464 Mon Sep 17 00:00:00 2001 From: karthikeya-io Date: Thu, 8 Dec 2022 10:34:46 +0530 Subject: [PATCH 06/21] endevaluation --- db.json | 37 +- package-lock.json | 1608 ++++++++++++++++++++++++- package.json | 2 + src/components/Admin.jsx | 6 +- src/components/AdminCourses.jsx | 5 +- src/components/Card.jsx | 6 +- src/components/Courses.jsx | 2 +- src/components/Help.jsx | 195 +-- src/components/Home.jsx | 10 +- src/components/InstructorHome.jsx | 67 ++ src/components/LessonUpload.jsx | 123 ++ src/components/Loginform.jsx | 9 +- src/components/Nav.jsx | 2 +- src/components/PlayListVideo.jsx | 60 +- src/components/Signupform.jsx | 20 + src/components/StudentHome.jsx | 48 +- src/components/StudentProfile.jsx | 138 ++- src/css/Card.module.css | 4 +- src/css/Help.module.css | 12 +- src/css/{Home.css => Home.module.css} | 6 +- src/css/InstructorHome.css | 73 ++ src/css/PlayListVideo.module.css | 705 +++++------ src/css/Signupform.css | 6 +- src/css/StudentHome.module.css | 44 +- src/css/StudentProfile.module.css | 472 +++++--- src/{ => images}/R.png | Bin src/images/vid-7.mp4 | Bin 0 -> 6065530 bytes src/index.js | 9 +- 28 files changed, 2904 insertions(+), 765 deletions(-) create mode 100644 src/components/InstructorHome.jsx create mode 100644 src/components/LessonUpload.jsx rename src/css/{Home.css => Home.module.css} (92%) create mode 100644 src/css/InstructorHome.css rename src/{ => images}/R.png (100%) create mode 100644 src/images/vid-7.mp4 diff --git a/db.json b/db.json index 136e264..dfc5429 100644 --- a/db.json +++ b/db.json @@ -1,6 +1,7 @@ { "users": [ { + "role": "admin", "fname": "Karthikeya", "email": "karthikeya.b20@iiits.in", "phnumber": "9999999999", @@ -11,6 +12,7 @@ "id": 1 }, { + "role": "student", "fname": "Sanjay", "lname": "Gnana", "email": "test@iiits.in", @@ -21,15 +23,37 @@ "id": 2 }, { - "role": "student", + "role": "teacher", "fname": "testf", "lname": "testl", "email": "test1@iiits.in", "phnumber": "9999999999", - "password": "1111", - "cnfpassword": "1111", + "password": "11111", + "cnfpassword": "11111", "gender": "female", "id": 3 + }, + { + "role": "student", + "fname": "test", + "lname": "test", + "email": "test@iiits.in", + "phnumber": "9999999999", + "password": "11111", + "cnfpassword": "11111", + "gender": "female", + "id": 4 + }, + { + "role": "student", + "fname": "test3", + "lname": "Bethu", + "email": "tests@iiits.in", + "phnumber": "9999999999", + "password": "11111", + "cnfpassword": "11111", + "gender": "male", + "id": 5 } ], "courses": [ @@ -60,13 +84,6 @@ "categorydb": "engineering", "desc": "Object Oriented programming, In this course you will learn object oriented principles using java. ", "id": 4 - }, - { - "title": "fdfd", - "price": "999", - "categorydb": "engineering", - "desc": "This course teaches you react", - "id": 5 } ], "profile": { diff --git a/package-lock.json b/package-lock.json index 223256e..f18a2bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,11 +11,13 @@ "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", + "antd": "^5.0.4", "bootstrap": "^5.2.2", "json": "^11.0.0", "react": "^18.2.0", "react-bootstrap": "^2.5.0", "react-dom": "^18.2.0", + "react-dropzone": "^14.2.3", "react-redux": "^8.0.5", "react-router-dom": "^6.4.2", "react-scripts": "5.0.1", @@ -40,6 +42,71 @@ "node": ">=6.0.0" } }, + "node_modules/@ant-design/colors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-6.0.0.tgz", + "integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==", + "dependencies": { + "@ctrl/tinycolor": "^3.4.0" + } + }, + "node_modules/@ant-design/cssinjs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.1.0.tgz", + "integrity": "sha512-9kfWCnlcWZLMc184HL7zGUU3odKo/5HBMNxDxhSds2DoIzi/ojmmOU1A1butWVDSPcAbLyNQ85vxUI8mkkHrlA==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "@emotion/hash": "^0.8.0", + "@emotion/unitless": "^0.7.5", + "classnames": "^2.3.1", + "csstype": "^3.0.10", + "rc-util": "^5.24.2", + "stylis": "^4.0.13" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-4.8.0.tgz", + "integrity": "sha512-T89P2jG2vM7OJ0IfGx2+9FC5sQjtTzRSz+mCHTXkFn/ELZc2YpfStmYHmqzq2Jx55J0F7+O6i5/ZKFSVNWCKNg==", + "dependencies": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons-svg": "^4.2.1", + "@babel/runtime": "^7.11.2", + "classnames": "^2.2.6", + "rc-util": "^5.9.4" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons-svg": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz", + "integrity": "sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw==" + }, + "node_modules/@ant-design/react-slick": { + "version": "0.29.2", + "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-0.29.2.tgz", + "integrity": "sha512-kgjtKmkGHa19FW21lHnAfyyH9AAoh35pBdcJ53rHmQ3O+cfFHGHnUbj/HFrRNJ5vIts09FKJVAD8RpaC+RaWfA==", + "dependencies": { + "@babel/runtime": "^7.10.4", + "classnames": "^2.2.5", + "json2mq": "^0.2.0", + "lodash": "^4.17.21", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", @@ -1797,11 +1864,11 @@ } }, "node_modules/@babel/runtime": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", - "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz", + "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==", "dependencies": { - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.13.11" }, "engines": { "node": ">=6.9.0" @@ -2141,6 +2208,24 @@ "postcss-selector-parser": "^6.0.10" } }, + "node_modules/@ctrl/tinycolor": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.5.0.tgz", + "integrity": "sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + }, + "node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, "node_modules/@eslint/eslintrc": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", @@ -3103,6 +3188,53 @@ "url": "https://opencollective.com/popperjs" } }, + "node_modules/@rc-component/mini-decimal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.0.1.tgz", + "integrity": "sha512-9N8nRk0oKj1qJzANKl+n9eNSMUGsZtjwNuDCiZ/KA+dt1fE3zq5x2XxclRcAbOIXnZcJ53ozP2Pa60gyELXagA==", + "dependencies": { + "@babel/runtime": "^7.18.0" + }, + "engines": { + "node": ">=8.x" + } + }, + "node_modules/@rc-component/portal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.0.3.tgz", + "integrity": "sha512-rG9j7OMiI9eLFLF6G0B4OcfLac9W8Z7Vjeizbjt/A6R+zzw7vhHbJ4GIkrDpUqXDvFdEEzdxfICpb8/noLwG+w==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/tour": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.0.2.tgz", + "integrity": "sha512-yFTUjqQdlG+S7k9yVM+QwxsW6t/kaJ850EUihbTTGPCv65hJwm+c5TO0uO5qhc/Ro+YhE6nwdfu4Wt5EDJcNFw==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "@rc-component/portal": "^1.0.0-9", + "classnames": "^2.3.2", + "rc-trigger": "^5.3.4", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, "node_modules/@react-aria/ssr": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.3.0.tgz", @@ -4851,6 +4983,67 @@ "node": ">=4" } }, + "node_modules/antd": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/antd/-/antd-5.0.4.tgz", + "integrity": "sha512-SbMmMTpenY8OfNABJl9/xEGhLP+2mQBbFxelT8ySFb7BR6KwsaVbz6BJOaBWmHBwNq86gXQWJtouQ9Znb6p0RA==", + "dependencies": { + "@ant-design/colors": "^6.0.0", + "@ant-design/cssinjs": "^1.0.0", + "@ant-design/icons": "^4.7.0", + "@ant-design/react-slick": "~0.29.1", + "@babel/runtime": "^7.18.3", + "@ctrl/tinycolor": "^3.4.0", + "@rc-component/tour": "~1.0.1-2", + "classnames": "^2.2.6", + "copy-to-clipboard": "^3.2.0", + "dayjs": "^1.11.1", + "lodash": "^4.17.21", + "rc-cascader": "~3.7.0", + "rc-checkbox": "~2.3.0", + "rc-collapse": "~3.4.2", + "rc-dialog": "~9.0.2", + "rc-drawer": "~6.0.0", + "rc-dropdown": "~4.0.0", + "rc-field-form": "~1.27.0", + "rc-image": "~5.12.0", + "rc-input": "~0.1.4", + "rc-input-number": "~7.4.0", + "rc-mentions": "~1.13.1", + "rc-menu": "~9.8.0", + "rc-motion": "^2.6.1", + "rc-notification": "~5.0.0-alpha.9", + "rc-pagination": "~3.2.0", + "rc-picker": "~3.1.1", + "rc-progress": "~3.4.1", + "rc-rate": "~2.9.0", + "rc-resize-observer": "^1.2.0", + "rc-segmented": "~2.1.0", + "rc-select": "~14.1.13", + "rc-slider": "~10.0.0", + "rc-steps": "~6.0.0-alpha.2", + "rc-switch": "~4.0.0", + "rc-table": "~7.26.0", + "rc-tabs": "~12.4.1", + "rc-textarea": "~0.4.5", + "rc-tooltip": "~5.2.0", + "rc-tree": "~5.7.0", + "rc-tree-select": "~5.5.4", + "rc-trigger": "^5.2.10", + "rc-upload": "~4.3.0", + "rc-util": "^5.25.2", + "scroll-into-view-if-needed": "^2.2.25", + "shallowequal": "^1.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ant-design" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, "node_modules/anymatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", @@ -4911,6 +5104,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" + }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -4986,6 +5184,11 @@ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -4999,6 +5202,14 @@ "node": ">= 4.0.0" } }, + "node_modules/attr-accept": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz", + "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==", + "engines": { + "node": ">=4" + } + }, "node_modules/autoprefixer": { "version": "10.4.12", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz", @@ -5875,6 +6086,11 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, + "node_modules/compute-scroll-into-view": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", + "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -5952,6 +6168,14 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, "node_modules/core-js": { "version": "3.25.5", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", @@ -6432,6 +6656,11 @@ "node": ">=10" } }, + "node_modules/dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -6662,6 +6891,11 @@ "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz", "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==" }, + "node_modules/dom-align": { + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.4.tgz", + "integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==" + }, "node_modules/dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", @@ -7951,6 +8185,17 @@ "webpack": "^4.0.0 || ^5.0.0" } }, + "node_modules/file-selector": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz", + "integrity": "sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/filelist": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", @@ -11486,6 +11731,14 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" }, + "node_modules/json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "dependencies": { + "string-convert": "^0.2.0" + } + }, "node_modules/json5": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", @@ -13996,15 +14249,621 @@ "node": ">= 0.8" } }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rc-align": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.12.tgz", + "integrity": "sha512-3DuwSJp8iC/dgHzwreOQl52soj40LchlfUHtgACOUtwGuoFIOVh6n/sCpfqCU8kO5+iz6qR0YKvjgB8iPdE3aQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "dom-align": "^1.7.0", + "lodash": "^4.17.21", + "rc-util": "^5.3.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-cascader": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.7.0.tgz", + "integrity": "sha512-SFtGpwmYN7RaWEAGTS4Rkc62ZV/qmQGg/tajr/7mfIkleuu8ro9Hlk6J+aA0x1YS4zlaZBtTcSaXM01QMiEV/A==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "array-tree-filter": "^2.1.0", + "classnames": "^2.3.1", + "rc-select": "~14.1.0", + "rc-tree": "~5.7.0", + "rc-util": "^5.6.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-checkbox": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.3.2.tgz", + "integrity": "sha512-afVi1FYiGv1U0JlpNH/UaEXdh6WUJjcWokj/nUN2TgG80bfG+MDdbfHKlLcNNba94mbjy2/SXJ1HDgrOkXGAjg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-collapse": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.4.2.tgz", + "integrity": "sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.3.4", + "rc-util": "^5.2.1", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dialog": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.0.2.tgz", + "integrity": "sha512-s3U+24xWUuB6Bn2Lk/Qt6rufy+uT+QvWkiFhNBcO9APLxcFFczWamaq7x9h8SCuhfc1nHcW4y8NbMsnAjNnWyg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.0.0-8", + "classnames": "^2.2.6", + "rc-motion": "^2.3.0", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-drawer": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-6.0.1.tgz", + "integrity": "sha512-ibWXGf8I+KRPXE03X4s0/xXzQI37YWXUV+oPy+R29GKxkjr98UTMgwvoQDKlZTm5AiaRuVFqhTKm0kNHqJh+TQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.0.0-6", + "classnames": "^2.2.6", + "rc-motion": "^2.6.1", + "rc-util": "^5.21.2" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dropdown": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.0.1.tgz", + "integrity": "sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.6", + "rc-trigger": "^5.3.1", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.11.0", + "react-dom": ">=16.11.0" + } + }, + "node_modules/rc-field-form": { + "version": "1.27.3", + "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.27.3.tgz", + "integrity": "sha512-HGqxHnmGQgkPApEcikV4qTg3BLPC82uB/cwBDftDt1pYaqitJfSl5TFTTUMKVEJVT5RqJ2Zi68ME1HmIMX2HAw==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "async-validator": "^4.1.0", + "rc-util": "^5.8.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-image": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-5.12.1.tgz", + "integrity": "sha512-FMldR/ODwQmlFlhjR4c6hsOHmnn4s9CxmW7PR/9XCYE1XHlGJ5OkSWOtJruoaLjVwt2tQYDRnLANf/mKZ9ReUg==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/portal": "^1.0.2", + "classnames": "^2.2.6", + "rc-dialog": "~9.0.0", + "rc-util": "^5.0.6" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-input": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-0.1.4.tgz", + "integrity": "sha512-FqDdNz+fV2dKNgfXzcSLKvC+jEs1709t7nD+WdfjrdSaOcefpgc7BUJYadc3usaING+b7ediMTfKxuJBsEFbXA==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.18.1" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-input-number": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-7.4.0.tgz", + "integrity": "sha512-r/Oub/sPYbzqLNUOHnnc9sbCu78a81KX+RCbRwmpvB4W6nptUySbdWS5KHV4Hak5CAE1LAd+wWm5JjvZizG1FA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/mini-decimal": "^1.0.1", + "classnames": "^2.2.5", + "rc-util": "^5.23.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-mentions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.13.1.tgz", + "integrity": "sha512-FCkaWw6JQygtOz0+Vxz/M/NWqrWHB9LwqlY2RtcuFqWJNFK9njijOOzTSsBGANliGufVUzx/xuPHmZPBV0+Hgw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-menu": "~9.8.0", + "rc-textarea": "^0.4.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.22.5" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-menu": { + "version": "9.8.1", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.8.1.tgz", + "integrity": "sha512-179weouypfjWJSRvvoo/vPy+StojsMzK2XC5jRNhL1ryt/N/8wAFESte8K6jZJkNp9DHDLFTe+dCGmikKpiFuA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.2.8", + "rc-trigger": "^5.1.2", + "rc-util": "^5.12.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-motion": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.6.2.tgz", + "integrity": "sha512-4w1FaX3dtV749P8GwfS4fYnFG4Rb9pxvCYPc/b2fw1cmlHJWNNgOFIz7ysiD+eOrzJSvnLJWlNQQncpNMXwwpg==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-notification": { + "version": "5.0.0-alpha.9", + "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-5.0.0-alpha.9.tgz", + "integrity": "sha512-QPvq8VHe2M0SE5DHJf7ADWlvfWKnTsj5FVxcu39gdjX98kKmi+BHY1eTPAQkkdGqd6ZXv6xXHl8qKHyWhQcFPA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.6.0", + "rc-util": "^5.20.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-overflow": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.2.8.tgz", + "integrity": "sha512-QJ0UItckWPQ37ZL1dMEBAdY1dhfTXFL9k6oTTcyydVwoUNMnMqCGqnRNA98axSr/OeDKqR6DVFyi8eA5RQI/uQ==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.19.2" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-pagination": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.2.0.tgz", + "integrity": "sha512-5tIXjB670WwwcAJzAqp2J+cOBS9W3cH/WU1EiYwXljuZ4vtZXKlY2Idq8FZrnYBz8KhN3vwPo9CoV/SJS6SL1w==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-picker": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-3.1.2.tgz", + "integrity": "sha512-PHf4E91JANMBVjovqhRcZw0fDZYWlDW9APhMD8VxBSs2QeKbnf+vE5BdA3YmHq227woSptbkm9rfhR4dgSn4+g==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-trigger": "^5.0.4", + "rc-util": "^5.4.0", + "shallowequal": "^1.1.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "date-fns": ">= 2.x", + "dayjs": ">= 1.x", + "moment": ">= 2.x", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + }, + "peerDependenciesMeta": { + "date-fns": { + "optional": true + }, + "dayjs": { + "optional": true + }, + "moment": { + "optional": true + } + } + }, + "node_modules/rc-progress": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.4.1.tgz", + "integrity": "sha512-eAFDHXlk8aWpoXl0llrenPMt9qKHQXphxcVsnKs0FHC6eCSk1ebJtyaVjJUzKe0233ogiLDeEFK1Uihz3s67hw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-rate": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.9.2.tgz", + "integrity": "sha512-SaiZFyN8pe0Fgphv8t3+kidlej+cq/EALkAJAc3A0w0XcPaH2L1aggM8bhe1u6GAGuQNAoFvTLjw4qLPGRKV5g==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-resize-observer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.2.0.tgz", + "integrity": "sha512-6W+UzT3PyDM0wVCEHfoW3qTHPTvbdSgiA43buiy8PzmeMnfgnDeb9NjdimMXMl3/TcrvvWl5RRVdp+NqcR47pQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-util": "^5.15.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-segmented": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.1.0.tgz", + "integrity": "sha512-hUlonro+pYoZcwrH6Vm56B2ftLfQh046hrwif/VwLIw1j3zGt52p5mREBwmeVzXnSwgnagpOpfafspzs1asjGw==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-motion": "^2.4.4", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-select": { + "version": "14.1.16", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.1.16.tgz", + "integrity": "sha512-71XLHleuZmufpdV2vis5oituRkhg2WNvLpVMJBGWRar6WGAVOHXaY9DR5HvwWry3EGTn19BqnL6Xbybje6f8YA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-overflow": "^1.0.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.2.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-slider": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.0.1.tgz", + "integrity": "sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.18.1", + "shallowequal": "^1.1.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-steps": { + "version": "6.0.0-alpha.2", + "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-6.0.0-alpha.2.tgz", + "integrity": "sha512-d/GPx7ATlPbtFeOVt5FB19W11OBCmRd7lLknt4aSoCI6ukwJqpEhWu2INN4pDOQqN04y3PDsWl1q9hnw+ZC5AA==", + "dependencies": { + "@babel/runtime": "^7.16.7", + "classnames": "^2.2.3", + "rc-util": "^5.16.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-switch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-4.0.0.tgz", + "integrity": "sha512-IfrYC99vN0gKaTyjQdqYuADU0eH00SAFHg3jOp8HrmUpJruhV1SohJzrCbPqPraZeX/6X/QKkdLfkdnUub05WA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-util": "^5.0.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-table": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.26.0.tgz", + "integrity": "sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.22.5", + "shallowequal": "^1.1.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tabs": { + "version": "12.4.2", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-12.4.2.tgz", + "integrity": "sha512-FFlGwuTjQUznWzJtyhmHc6KAp5lRQFxKUv9Aj1UtsOYe2e7WGmuzcrd+/LQchuPe0VjhaZPdGkmFGcqGqNO6ow==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.0.0", + "rc-menu": "~9.8.0", + "rc-motion": "^2.6.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.16.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-textarea": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-0.4.7.tgz", + "integrity": "sha512-IQPd1CDI3mnMlkFyzt2O4gQ2lxUsnBAeJEoZGJnkkXgORNqyM9qovdrCj9NzcRfpHgLdzaEbU3AmobNFGUznwQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.24.4", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tooltip": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-5.2.2.tgz", + "integrity": "sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "classnames": "^2.3.1", + "rc-trigger": "^5.0.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tree": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.7.2.tgz", + "integrity": "sha512-nmnL6qLnfwVckO5zoqKL2I9UhwDqzyCtjITQCkwhimyz1zfuFkG5ZPIXpzD/Guzso94qQA/QrMsvzic5W6QDjg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.4.8" + }, + "engines": { + "node": ">=10.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-tree-select": { + "version": "5.5.5", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.5.5.tgz", + "integrity": "sha512-k2av7jF6tW9bIO4mQhaVdV4kJ1c54oxV3/hHVU+oD251Gb5JN+m1RbJFTMf1o0rAFqkvto33rxMdpafaGKQRJw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-select": "~14.1.0", + "rc-tree": "~5.7.0", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-trigger": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-5.3.4.tgz", + "integrity": "sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.6", + "rc-align": "^4.0.0", + "rc-motion": "^2.0.0", + "rc-util": "^5.19.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-upload": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.3.4.tgz", + "integrity": "sha512-uVbtHFGNjHG/RyAfm9fluXB6pvArAGyAx8z7XzXXyorEgVIWj6mOlriuDm0XowDHYz4ycNK0nE0oP3cbFnzxiQ==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.5", + "rc-util": "^5.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util": { + "version": "5.25.2", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.25.2.tgz", + "integrity": "sha512-OyCO675K/rh4zG3e+LYaHw54WQFEYGV9ibkGawQxqCvf0G0PzUrLQjgZ6SfoHORdbEKN7eQMFn3hHQyA/P8Y5Q==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/rc-virtual-list": { + "version": "3.4.11", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.4.11.tgz", + "integrity": "sha512-BvUUH60kkeTBPigN5F89HtGaA5jSP4y2aM6cJ4dk9Y42I9yY+h6i08wF6UKeDcxdfOU8j3I5HxkSS/xA77J3wA==", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "@babel/runtime": "^7.20.0", + "classnames": "^2.2.6", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.15.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, "node_modules/react": { @@ -14192,6 +15051,22 @@ "react": "^18.2.0" } }, + "node_modules/react-dropzone": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz", + "integrity": "sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==", + "dependencies": { + "attr-accept": "^2.2.2", + "file-selector": "^0.6.0", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "react": ">= 16.8 || 18.0.0" + } + }, "node_modules/react-error-overlay": { "version": "6.0.11", "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", @@ -14466,9 +15341,9 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "node_modules/regenerator-transform": { "version": "0.15.0", @@ -14591,6 +15466,11 @@ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, "node_modules/resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", @@ -14917,6 +15797,14 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/scroll-into-view-if-needed": { + "version": "2.2.31", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", + "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==", + "dependencies": { + "compute-scroll-into-view": "^1.0.20" + } + }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -15085,6 +15973,11 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -15311,6 +16204,11 @@ } ] }, + "node_modules/string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" + }, "node_modules/string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -15490,6 +16388,11 @@ "postcss": "^8.2.15" } }, + "node_modules/stylis": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", + "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -15843,6 +16746,11 @@ "node": ">=8.0" } }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, "node_modules/toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", @@ -17165,6 +18073,57 @@ "@jridgewell/trace-mapping": "^0.3.9" } }, + "@ant-design/colors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-6.0.0.tgz", + "integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==", + "requires": { + "@ctrl/tinycolor": "^3.4.0" + } + }, + "@ant-design/cssinjs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.1.0.tgz", + "integrity": "sha512-9kfWCnlcWZLMc184HL7zGUU3odKo/5HBMNxDxhSds2DoIzi/ojmmOU1A1butWVDSPcAbLyNQ85vxUI8mkkHrlA==", + "requires": { + "@babel/runtime": "^7.11.1", + "@emotion/hash": "^0.8.0", + "@emotion/unitless": "^0.7.5", + "classnames": "^2.3.1", + "csstype": "^3.0.10", + "rc-util": "^5.24.2", + "stylis": "^4.0.13" + } + }, + "@ant-design/icons": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-4.8.0.tgz", + "integrity": "sha512-T89P2jG2vM7OJ0IfGx2+9FC5sQjtTzRSz+mCHTXkFn/ELZc2YpfStmYHmqzq2Jx55J0F7+O6i5/ZKFSVNWCKNg==", + "requires": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons-svg": "^4.2.1", + "@babel/runtime": "^7.11.2", + "classnames": "^2.2.6", + "rc-util": "^5.9.4" + } + }, + "@ant-design/icons-svg": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz", + "integrity": "sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw==" + }, + "@ant-design/react-slick": { + "version": "0.29.2", + "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-0.29.2.tgz", + "integrity": "sha512-kgjtKmkGHa19FW21lHnAfyyH9AAoh35pBdcJ53rHmQ3O+cfFHGHnUbj/HFrRNJ5vIts09FKJVAD8RpaC+RaWfA==", + "requires": { + "@babel/runtime": "^7.10.4", + "classnames": "^2.2.5", + "json2mq": "^0.2.0", + "lodash": "^4.17.21", + "resize-observer-polyfill": "^1.5.1" + } + }, "@babel/code-frame": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", @@ -18337,11 +19296,11 @@ } }, "@babel/runtime": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", - "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz", + "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==", "requires": { - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.13.11" } }, "@babel/runtime-corejs3": { @@ -18521,6 +19480,21 @@ "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", "requires": {} }, + "@ctrl/tinycolor": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.5.0.tgz", + "integrity": "sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg==" + }, + "@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + }, + "@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, "@eslint/eslintrc": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", @@ -19214,6 +20188,36 @@ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" }, + "@rc-component/mini-decimal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.0.1.tgz", + "integrity": "sha512-9N8nRk0oKj1qJzANKl+n9eNSMUGsZtjwNuDCiZ/KA+dt1fE3zq5x2XxclRcAbOIXnZcJ53ozP2Pa60gyELXagA==", + "requires": { + "@babel/runtime": "^7.18.0" + } + }, + "@rc-component/portal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.0.3.tgz", + "integrity": "sha512-rG9j7OMiI9eLFLF6G0B4OcfLac9W8Z7Vjeizbjt/A6R+zzw7vhHbJ4GIkrDpUqXDvFdEEzdxfICpb8/noLwG+w==", + "requires": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + } + }, + "@rc-component/tour": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.0.2.tgz", + "integrity": "sha512-yFTUjqQdlG+S7k9yVM+QwxsW6t/kaJ850EUihbTTGPCv65hJwm+c5TO0uO5qhc/Ro+YhE6nwdfu4Wt5EDJcNFw==", + "requires": { + "@babel/runtime": "^7.18.0", + "@rc-component/portal": "^1.0.0-9", + "classnames": "^2.3.2", + "rc-trigger": "^5.3.4", + "rc-util": "^5.24.4" + } + }, "@react-aria/ssr": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.3.0.tgz", @@ -20533,6 +21537,59 @@ "color-convert": "^1.9.0" } }, + "antd": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/antd/-/antd-5.0.4.tgz", + "integrity": "sha512-SbMmMTpenY8OfNABJl9/xEGhLP+2mQBbFxelT8ySFb7BR6KwsaVbz6BJOaBWmHBwNq86gXQWJtouQ9Znb6p0RA==", + "requires": { + "@ant-design/colors": "^6.0.0", + "@ant-design/cssinjs": "^1.0.0", + "@ant-design/icons": "^4.7.0", + "@ant-design/react-slick": "~0.29.1", + "@babel/runtime": "^7.18.3", + "@ctrl/tinycolor": "^3.4.0", + "@rc-component/tour": "~1.0.1-2", + "classnames": "^2.2.6", + "copy-to-clipboard": "^3.2.0", + "dayjs": "^1.11.1", + "lodash": "^4.17.21", + "rc-cascader": "~3.7.0", + "rc-checkbox": "~2.3.0", + "rc-collapse": "~3.4.2", + "rc-dialog": "~9.0.2", + "rc-drawer": "~6.0.0", + "rc-dropdown": "~4.0.0", + "rc-field-form": "~1.27.0", + "rc-image": "~5.12.0", + "rc-input": "~0.1.4", + "rc-input-number": "~7.4.0", + "rc-mentions": "~1.13.1", + "rc-menu": "~9.8.0", + "rc-motion": "^2.6.1", + "rc-notification": "~5.0.0-alpha.9", + "rc-pagination": "~3.2.0", + "rc-picker": "~3.1.1", + "rc-progress": "~3.4.1", + "rc-rate": "~2.9.0", + "rc-resize-observer": "^1.2.0", + "rc-segmented": "~2.1.0", + "rc-select": "~14.1.13", + "rc-slider": "~10.0.0", + "rc-steps": "~6.0.0-alpha.2", + "rc-switch": "~4.0.0", + "rc-table": "~7.26.0", + "rc-tabs": "~12.4.1", + "rc-textarea": "~0.4.5", + "rc-tooltip": "~5.2.0", + "rc-tree": "~5.7.0", + "rc-tree-select": "~5.5.4", + "rc-trigger": "^5.2.10", + "rc-upload": "~4.3.0", + "rc-util": "^5.25.2", + "scroll-into-view-if-needed": "^2.2.25", + "shallowequal": "^1.1.0" + } + }, "anymatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", @@ -20581,6 +21638,11 @@ "is-string": "^1.0.7" } }, + "array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" + }, "array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -20635,6 +21697,11 @@ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, + "async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -20645,6 +21712,11 @@ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" }, + "attr-accept": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz", + "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==" + }, "autoprefixer": { "version": "10.4.12", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz", @@ -21301,6 +22373,11 @@ } } }, + "compute-scroll-into-view": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", + "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -21354,6 +22431,14 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, + "copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "requires": { + "toggle-selection": "^1.0.6" + } + }, "core-js": { "version": "3.25.5", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", @@ -21676,6 +22761,11 @@ "whatwg-url": "^8.0.0" } }, + "dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" + }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -21844,6 +22934,11 @@ "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz", "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==" }, + "dom-align": { + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.4.tgz", + "integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==" + }, "dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", @@ -22791,6 +23886,14 @@ "schema-utils": "^3.0.0" } }, + "file-selector": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz", + "integrity": "sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==", + "requires": { + "tslib": "^2.4.0" + } + }, "filelist": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", @@ -25333,6 +26436,14 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" }, + "json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "requires": { + "string-convert": "^0.2.0" + } + }, "json5": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", @@ -26972,6 +28083,420 @@ } } }, + "rc-align": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.12.tgz", + "integrity": "sha512-3DuwSJp8iC/dgHzwreOQl52soj40LchlfUHtgACOUtwGuoFIOVh6n/sCpfqCU8kO5+iz6qR0YKvjgB8iPdE3aQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "dom-align": "^1.7.0", + "lodash": "^4.17.21", + "rc-util": "^5.3.0", + "resize-observer-polyfill": "^1.5.1" + } + }, + "rc-cascader": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.7.0.tgz", + "integrity": "sha512-SFtGpwmYN7RaWEAGTS4Rkc62ZV/qmQGg/tajr/7mfIkleuu8ro9Hlk6J+aA0x1YS4zlaZBtTcSaXM01QMiEV/A==", + "requires": { + "@babel/runtime": "^7.12.5", + "array-tree-filter": "^2.1.0", + "classnames": "^2.3.1", + "rc-select": "~14.1.0", + "rc-tree": "~5.7.0", + "rc-util": "^5.6.1" + } + }, + "rc-checkbox": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.3.2.tgz", + "integrity": "sha512-afVi1FYiGv1U0JlpNH/UaEXdh6WUJjcWokj/nUN2TgG80bfG+MDdbfHKlLcNNba94mbjy2/SXJ1HDgrOkXGAjg==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1" + } + }, + "rc-collapse": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.4.2.tgz", + "integrity": "sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.3.4", + "rc-util": "^5.2.1", + "shallowequal": "^1.1.0" + } + }, + "rc-dialog": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.0.2.tgz", + "integrity": "sha512-s3U+24xWUuB6Bn2Lk/Qt6rufy+uT+QvWkiFhNBcO9APLxcFFczWamaq7x9h8SCuhfc1nHcW4y8NbMsnAjNnWyg==", + "requires": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.0.0-8", + "classnames": "^2.2.6", + "rc-motion": "^2.3.0", + "rc-util": "^5.21.0" + } + }, + "rc-drawer": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-6.0.1.tgz", + "integrity": "sha512-ibWXGf8I+KRPXE03X4s0/xXzQI37YWXUV+oPy+R29GKxkjr98UTMgwvoQDKlZTm5AiaRuVFqhTKm0kNHqJh+TQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.0.0-6", + "classnames": "^2.2.6", + "rc-motion": "^2.6.1", + "rc-util": "^5.21.2" + } + }, + "rc-dropdown": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.0.1.tgz", + "integrity": "sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==", + "requires": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.6", + "rc-trigger": "^5.3.1", + "rc-util": "^5.17.0" + } + }, + "rc-field-form": { + "version": "1.27.3", + "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.27.3.tgz", + "integrity": "sha512-HGqxHnmGQgkPApEcikV4qTg3BLPC82uB/cwBDftDt1pYaqitJfSl5TFTTUMKVEJVT5RqJ2Zi68ME1HmIMX2HAw==", + "requires": { + "@babel/runtime": "^7.18.0", + "async-validator": "^4.1.0", + "rc-util": "^5.8.0" + } + }, + "rc-image": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-5.12.1.tgz", + "integrity": "sha512-FMldR/ODwQmlFlhjR4c6hsOHmnn4s9CxmW7PR/9XCYE1XHlGJ5OkSWOtJruoaLjVwt2tQYDRnLANf/mKZ9ReUg==", + "requires": { + "@babel/runtime": "^7.11.2", + "@rc-component/portal": "^1.0.2", + "classnames": "^2.2.6", + "rc-dialog": "~9.0.0", + "rc-util": "^5.0.6" + } + }, + "rc-input": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-0.1.4.tgz", + "integrity": "sha512-FqDdNz+fV2dKNgfXzcSLKvC+jEs1709t7nD+WdfjrdSaOcefpgc7BUJYadc3usaING+b7ediMTfKxuJBsEFbXA==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.18.1" + } + }, + "rc-input-number": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-7.4.0.tgz", + "integrity": "sha512-r/Oub/sPYbzqLNUOHnnc9sbCu78a81KX+RCbRwmpvB4W6nptUySbdWS5KHV4Hak5CAE1LAd+wWm5JjvZizG1FA==", + "requires": { + "@babel/runtime": "^7.10.1", + "@rc-component/mini-decimal": "^1.0.1", + "classnames": "^2.2.5", + "rc-util": "^5.23.0" + } + }, + "rc-mentions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.13.1.tgz", + "integrity": "sha512-FCkaWw6JQygtOz0+Vxz/M/NWqrWHB9LwqlY2RtcuFqWJNFK9njijOOzTSsBGANliGufVUzx/xuPHmZPBV0+Hgw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-menu": "~9.8.0", + "rc-textarea": "^0.4.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.22.5" + } + }, + "rc-menu": { + "version": "9.8.1", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.8.1.tgz", + "integrity": "sha512-179weouypfjWJSRvvoo/vPy+StojsMzK2XC5jRNhL1ryt/N/8wAFESte8K6jZJkNp9DHDLFTe+dCGmikKpiFuA==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.2.8", + "rc-trigger": "^5.1.2", + "rc-util": "^5.12.0", + "shallowequal": "^1.1.0" + } + }, + "rc-motion": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.6.2.tgz", + "integrity": "sha512-4w1FaX3dtV749P8GwfS4fYnFG4Rb9pxvCYPc/b2fw1cmlHJWNNgOFIz7ysiD+eOrzJSvnLJWlNQQncpNMXwwpg==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.21.0" + } + }, + "rc-notification": { + "version": "5.0.0-alpha.9", + "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-5.0.0-alpha.9.tgz", + "integrity": "sha512-QPvq8VHe2M0SE5DHJf7ADWlvfWKnTsj5FVxcu39gdjX98kKmi+BHY1eTPAQkkdGqd6ZXv6xXHl8qKHyWhQcFPA==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.6.0", + "rc-util": "^5.20.1" + } + }, + "rc-overflow": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.2.8.tgz", + "integrity": "sha512-QJ0UItckWPQ37ZL1dMEBAdY1dhfTXFL9k6oTTcyydVwoUNMnMqCGqnRNA98axSr/OeDKqR6DVFyi8eA5RQI/uQ==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.19.2" + } + }, + "rc-pagination": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.2.0.tgz", + "integrity": "sha512-5tIXjB670WwwcAJzAqp2J+cOBS9W3cH/WU1EiYwXljuZ4vtZXKlY2Idq8FZrnYBz8KhN3vwPo9CoV/SJS6SL1w==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1" + } + }, + "rc-picker": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-3.1.2.tgz", + "integrity": "sha512-PHf4E91JANMBVjovqhRcZw0fDZYWlDW9APhMD8VxBSs2QeKbnf+vE5BdA3YmHq227woSptbkm9rfhR4dgSn4+g==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-trigger": "^5.0.4", + "rc-util": "^5.4.0", + "shallowequal": "^1.1.0" + } + }, + "rc-progress": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.4.1.tgz", + "integrity": "sha512-eAFDHXlk8aWpoXl0llrenPMt9qKHQXphxcVsnKs0FHC6eCSk1ebJtyaVjJUzKe0233ogiLDeEFK1Uihz3s67hw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-util": "^5.16.1" + } + }, + "rc-rate": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.9.2.tgz", + "integrity": "sha512-SaiZFyN8pe0Fgphv8t3+kidlej+cq/EALkAJAc3A0w0XcPaH2L1aggM8bhe1u6GAGuQNAoFvTLjw4qLPGRKV5g==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" + } + }, + "rc-resize-observer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.2.0.tgz", + "integrity": "sha512-6W+UzT3PyDM0wVCEHfoW3qTHPTvbdSgiA43buiy8PzmeMnfgnDeb9NjdimMXMl3/TcrvvWl5RRVdp+NqcR47pQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-util": "^5.15.0", + "resize-observer-polyfill": "^1.5.1" + } + }, + "rc-segmented": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.1.0.tgz", + "integrity": "sha512-hUlonro+pYoZcwrH6Vm56B2ftLfQh046hrwif/VwLIw1j3zGt52p5mREBwmeVzXnSwgnagpOpfafspzs1asjGw==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-motion": "^2.4.4", + "rc-util": "^5.17.0" + } + }, + "rc-select": { + "version": "14.1.16", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.1.16.tgz", + "integrity": "sha512-71XLHleuZmufpdV2vis5oituRkhg2WNvLpVMJBGWRar6WGAVOHXaY9DR5HvwWry3EGTn19BqnL6Xbybje6f8YA==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-overflow": "^1.0.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.2.0" + } + }, + "rc-slider": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.0.1.tgz", + "integrity": "sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.18.1", + "shallowequal": "^1.1.0" + } + }, + "rc-steps": { + "version": "6.0.0-alpha.2", + "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-6.0.0-alpha.2.tgz", + "integrity": "sha512-d/GPx7ATlPbtFeOVt5FB19W11OBCmRd7lLknt4aSoCI6ukwJqpEhWu2INN4pDOQqN04y3PDsWl1q9hnw+ZC5AA==", + "requires": { + "@babel/runtime": "^7.16.7", + "classnames": "^2.2.3", + "rc-util": "^5.16.1" + } + }, + "rc-switch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-4.0.0.tgz", + "integrity": "sha512-IfrYC99vN0gKaTyjQdqYuADU0eH00SAFHg3jOp8HrmUpJruhV1SohJzrCbPqPraZeX/6X/QKkdLfkdnUub05WA==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-util": "^5.0.1" + } + }, + "rc-table": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.26.0.tgz", + "integrity": "sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.22.5", + "shallowequal": "^1.1.0" + } + }, + "rc-tabs": { + "version": "12.4.2", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-12.4.2.tgz", + "integrity": "sha512-FFlGwuTjQUznWzJtyhmHc6KAp5lRQFxKUv9Aj1UtsOYe2e7WGmuzcrd+/LQchuPe0VjhaZPdGkmFGcqGqNO6ow==", + "requires": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.0.0", + "rc-menu": "~9.8.0", + "rc-motion": "^2.6.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.16.0" + } + }, + "rc-textarea": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-0.4.7.tgz", + "integrity": "sha512-IQPd1CDI3mnMlkFyzt2O4gQ2lxUsnBAeJEoZGJnkkXgORNqyM9qovdrCj9NzcRfpHgLdzaEbU3AmobNFGUznwQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.24.4", + "shallowequal": "^1.1.0" + } + }, + "rc-tooltip": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-5.2.2.tgz", + "integrity": "sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==", + "requires": { + "@babel/runtime": "^7.11.2", + "classnames": "^2.3.1", + "rc-trigger": "^5.0.0" + } + }, + "rc-tree": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.7.2.tgz", + "integrity": "sha512-nmnL6qLnfwVckO5zoqKL2I9UhwDqzyCtjITQCkwhimyz1zfuFkG5ZPIXpzD/Guzso94qQA/QrMsvzic5W6QDjg==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.4.8" + } + }, + "rc-tree-select": { + "version": "5.5.5", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.5.5.tgz", + "integrity": "sha512-k2av7jF6tW9bIO4mQhaVdV4kJ1c54oxV3/hHVU+oD251Gb5JN+m1RbJFTMf1o0rAFqkvto33rxMdpafaGKQRJw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-select": "~14.1.0", + "rc-tree": "~5.7.0", + "rc-util": "^5.16.1" + } + }, + "rc-trigger": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-5.3.4.tgz", + "integrity": "sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==", + "requires": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.6", + "rc-align": "^4.0.0", + "rc-motion": "^2.0.0", + "rc-util": "^5.19.2" + } + }, + "rc-upload": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.3.4.tgz", + "integrity": "sha512-uVbtHFGNjHG/RyAfm9fluXB6pvArAGyAx8z7XzXXyorEgVIWj6mOlriuDm0XowDHYz4ycNK0nE0oP3cbFnzxiQ==", + "requires": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.5", + "rc-util": "^5.2.0" + } + }, + "rc-util": { + "version": "5.25.2", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.25.2.tgz", + "integrity": "sha512-OyCO675K/rh4zG3e+LYaHw54WQFEYGV9ibkGawQxqCvf0G0PzUrLQjgZ6SfoHORdbEKN7eQMFn3hHQyA/P8Y5Q==", + "requires": { + "@babel/runtime": "^7.18.3", + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "rc-virtual-list": { + "version": "3.4.11", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.4.11.tgz", + "integrity": "sha512-BvUUH60kkeTBPigN5F89HtGaA5jSP4y2aM6cJ4dk9Y42I9yY+h6i08wF6UKeDcxdfOU8j3I5HxkSS/xA77J3wA==", + "requires": { + "@babel/runtime": "^7.20.0", + "classnames": "^2.2.6", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.15.0" + } + }, "react": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", @@ -27107,6 +28632,16 @@ "scheduler": "^0.23.0" } }, + "react-dropzone": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz", + "integrity": "sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==", + "requires": { + "attr-accept": "^2.2.2", + "file-selector": "^0.6.0", + "prop-types": "^15.8.1" + } + }, "react-error-overlay": { "version": "6.0.11", "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", @@ -27305,9 +28840,9 @@ } }, "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "regenerator-transform": { "version": "0.15.0", @@ -27402,6 +28937,11 @@ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, "resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", @@ -27606,6 +29146,14 @@ "ajv-keywords": "^3.5.2" } }, + "scroll-into-view-if-needed": { + "version": "2.2.31", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", + "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==", + "requires": { + "compute-scroll-into-view": "^1.0.20" + } + }, "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -27753,6 +29301,11 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -27927,6 +29480,11 @@ } } }, + "string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" + }, "string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -28054,6 +29612,11 @@ "postcss-selector-parser": "^6.0.4" } }, + "stylis": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", + "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -28318,6 +29881,11 @@ "is-number": "^7.0.0" } }, + "toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, "toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", diff --git a/package.json b/package.json index 69eee8b..e9228f3 100644 --- a/package.json +++ b/package.json @@ -6,11 +6,13 @@ "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", + "antd": "^5.0.4", "bootstrap": "^5.2.2", "json": "^11.0.0", "react": "^18.2.0", "react-bootstrap": "^2.5.0", "react-dom": "^18.2.0", + "react-dropzone": "^14.2.3", "react-redux": "^8.0.5", "react-router-dom": "^6.4.2", "react-scripts": "5.0.1", diff --git a/src/components/Admin.jsx b/src/components/Admin.jsx index 4403939..a97aa4f 100644 --- a/src/components/Admin.jsx +++ b/src/components/Admin.jsx @@ -1,6 +1,7 @@ import React, { useEffect, useState } from 'react' import Table from './Table' import classes from "../css/Admin.module.css" +import { Link } from 'react-router-dom' const Admin = () => { @@ -21,8 +22,9 @@ const Admin = () => {
    -
    Users
    -
    Courses
    +
    Users
    +
    Courses
    +
    diff --git a/src/components/AdminCourses.jsx b/src/components/AdminCourses.jsx index 59ac23b..10071a8 100644 --- a/src/components/AdminCourses.jsx +++ b/src/components/AdminCourses.jsx @@ -1,6 +1,7 @@ import React, { useEffect, useState } from 'react' import classes from "../css/Admin.module.css" import CoursesTable from './CoursesTable' +import { Link } from 'react-router-dom' const Admin = () => { const { body, column, left, right, section } = classes @@ -20,8 +21,8 @@ const Admin = () => {
    -
    Users
    -
    Courses
    +
    Users
    +
    Courses
    diff --git a/src/components/Card.jsx b/src/components/Card.jsx index a48d9a3..3b8b0a5 100644 --- a/src/components/Card.jsx +++ b/src/components/Card.jsx @@ -5,7 +5,7 @@ import { connect } from 'react-redux' import { Link } from 'react-router-dom' -const Card = (props, {userDetails}) => { +const Card = (props, userDetails) => { const {title, price, categorydb, desc, id} = props let fdesc = desc.substr(0, 150) @@ -25,8 +25,8 @@ const Card = (props, {userDetails}) => {

    {fdesc}

    - diff --git a/src/components/Courses.jsx b/src/components/Courses.jsx index 690b9e4..0f2bf20 100644 --- a/src/components/Courses.jsx +++ b/src/components/Courses.jsx @@ -19,7 +19,7 @@ const Courses = ({userDetails}) => {
    {courses.map(course => { return ( - + ) })} diff --git a/src/components/Help.jsx b/src/components/Help.jsx index db18b2f..16c3ea5 100644 --- a/src/components/Help.jsx +++ b/src/components/Help.jsx @@ -1,93 +1,99 @@ import { useEffect } from "react"; -import {useState} from "react"; +import { useState } from "react"; import classes from "../css/Help.module.css"; -//import Rer from '../R.png' -const Rer= require('../R.png') - - -const Help=(props)=>{ - - const [vr, setvr] = useState(false); - return ( - <> -
    { + + const [vr, setvr] = useState(true); + const [vr1, setvr1] = useState(true); + const [vr2, setvr2] = useState(true); + const [vr3, setvr3] = useState(true); + const [vr4, setvr4] = useState(true); + + + return ( + <> +
    - {/* <%- include('./partials/nav.ejs') %> */} - -

    FAQs

    - -
    -

    - Decide what interests you. List the fields of study that interest you, and - come up with a list of courses you would consider studying based on these - interests. Add the topics that you were most interested in. Check online - about the courses you are interested in and find out about the career - prospects and the other information. Check out the course content. To - avoid making mistakes, make sure you review the course outline of the - course(s) you want to apply for. Have a look at the subjects you must - undertake and the types of learning, assignments and examination tasks - involved. -

    -
    - - -
    -

    Yes, You will.

    -
    - - -
    -

    - No you dont get the refund back. But you need not worry about it because - the course which we provide on our website will definetly worth it. -

    -
    - - -
    -

    yes!

    -
    - - -
    -

    UPIs, debit card, credit card, net banking.

    -
    - -
    -
    -
    -
    - - -
    - -
    - - {/* */} -
    - -
    -
    - - -) } + {/*
    + +
    */} +
    + + + ) +} export default Help; diff --git a/src/components/Home.jsx b/src/components/Home.jsx index c1c98d5..ea5bcb2 100644 --- a/src/components/Home.jsx +++ b/src/components/Home.jsx @@ -1,19 +1,19 @@ import React from 'react' import BackImg from "../images/vid.mp4" -import "../css/Home.css" +import classes from "../css/Home.module.css" const Home = () => { return ( <>
    -
    diff --git a/src/components/InstructorHome.jsx b/src/components/InstructorHome.jsx new file mode 100644 index 0000000..7fc0c88 --- /dev/null +++ b/src/components/InstructorHome.jsx @@ -0,0 +1,67 @@ +import React from "react"; +import Nav from "./Nav"; +import '../css/InstructorHome.css'; +import { Link } from "react-router-dom"; + +const InstructorHome = () => { + return ( + <> +
    + + +
    +
    +

    Recently Uploaded

    +
    +
    + +
    +
    Course | IIIT Sri City
    +
    +
    Fundamentals of Fullstack development
    +

    + With supporting text below as a natural lead-in to additional + content. +

    + + view course + +
    +
    + + + +
    +
    + + + + +
    +
    + +
    +
    + + + +
    +
    +
    + + ); +}; + +export default InstructorHome; diff --git a/src/components/LessonUpload.jsx b/src/components/LessonUpload.jsx new file mode 100644 index 0000000..0164bd6 --- /dev/null +++ b/src/components/LessonUpload.jsx @@ -0,0 +1,123 @@ +import React, { useState } from 'react' +import { useEffect } from 'react' +import classes from '../css/CourseUploadform.module.css' +import Img1 from '../images/pexels-thisisengineering-3862130.jpg' + + +const CourseUploadform = () => { + + const [formDetails, setFormDetails] = useState({}) + const changeHandler = (event) => { + let name = event.target.name; + setFormDetails((prev) => { + return ( + { + ...prev, + [name]: event.target.value + } + ) + }) + } + + + const [courses, setCourses] = useState([]) + useEffect(() => { + fetch('http://localhost:4000/courses') + .then((response) => response.json()) + .then((data) => { + setCourses(data) + }); + }, []) + + async function postData(url = '', data = {}) { + // Default options are marked with * + const response = await fetch(url, { + method: 'POST', // *GET, POST, PUT, DELETE, etc. + mode: 'cors', // no-cors, *cors, same-origin + cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached + credentials: 'same-origin', // include, *same-origin, omit + headers: { + 'Content-Type': 'application/json' + // 'Content-Type': 'application/x-www-form-urlencoded', + }, + redirect: 'follow', // manual, *follow, error + referrerPolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url + body: JSON.stringify(data) // body data type must match "Content-Type" header + }); + return response.json(); // parses JSON response into native JavaScript objects + } + + + const submitHandler = (event) => { + event.preventDefault(); + // alert(JSON.stringify(formDetails)) + // console.log(formDetails); + // postData('http://localhost:4000/courses', formDetails) + // .then((data) => { + // console.log(data); // JSON data parsed by `data.json()` call + // }); + // setFormDetails({}); + } + + + + + + return ( + <> +
    +
    +
    +
    + +
    +
    +
    Upload a lesson
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    + +
    + + +
    +
    + + +
    +
    + +
    +
    +
    +
    +
    + + ) +} + +export default CourseUploadform \ No newline at end of file diff --git a/src/components/Loginform.jsx b/src/components/Loginform.jsx index 8f7f2ef..fb565d0 100644 --- a/src/components/Loginform.jsx +++ b/src/components/Loginform.jsx @@ -40,7 +40,14 @@ const Loginform = ({ signIn }) => { if (userData.length > 0) { signIn(userData[0]) setFormDetails({ email: "", password: "" }); - navigate('/shome') + if (userData[0].role == 'student') { + navigate('/shome') + } else if(userData[0].role == 'teacher') { + navigate('/educator') + }else if(userData[0].role == 'admin') { + navigate('/admin') + } + } else { alert('no user found with these credentials check email and password') } diff --git a/src/components/Nav.jsx b/src/components/Nav.jsx index 8229c85..e1cc5cf 100644 --- a/src/components/Nav.jsx +++ b/src/components/Nav.jsx @@ -35,7 +35,7 @@ const Nav = ({ userDetails, signOut }) => {