@@ -14,22 +14,24 @@ import { DesktopDateTimePicker } from '@mui/x-date-pickers/DesktopDateTimePicker
14
14
import RootPage from "../root" ;
15
15
import "./create.css" ; // Import CSS file for additional styling
16
16
import { backend_post } from "../../utils" ;
17
+ import { useParams } from "react-router-dom" ;
17
18
18
19
const CreateLecture = ( ) => {
19
20
// const navigate = useNavigate();
20
21
const [ regStatus , setRegStatus ] = useState ( "" ) ;
22
+ const { id } = useParams ( ) ;
21
23
22
24
const handleResponse = (
23
25
data : any ,
24
26
event : React . FormEvent < HTMLFormElement >
25
27
) => {
26
28
console . log ( data ) ;
27
- if ( ! ( "course_name" in data ) || typeof data [ "course_name" ] !== "string" ) {
28
- setRegStatus ( "failed" ) ;
29
- return ;
30
- } else {
29
+ if ( "ok" in data ) {
31
30
setRegStatus ( "success" ) ;
32
31
}
32
+ else {
33
+ setRegStatus ( "failed" ) ;
34
+ }
33
35
} ;
34
36
35
37
// TODO: Add first and last name validation
@@ -40,18 +42,23 @@ const CreateLecture = () => {
40
42
const start_time = data . get ( "start_time" )
41
43
const end_time = data . get ( "end_time" )
42
44
43
- console . log ( Date . parse ( start_time ) )
44
- console . log ( Date . parse ( end_time ) )
45
+ if ( start_time == null || end_time == null ) return
46
+ if ( start_time == "" || end_time == "" ) return
47
+
48
+ const start_date = new Date ( Date . parse ( start_time . toString ( ) ) )
49
+ const end_date = new Date ( Date . parse ( end_time . toString ( ) ) )
45
50
46
- // backend_post(
47
- // "course/create/",
48
- // JSON.stringify({
49
- // course_name: data.get("course_name"),
50
- // })
51
- // )
52
- // .then((resp) => (resp.json()))
53
- // .then((data) => handleResponse(data, event))
54
- // .catch((error) => console.log(error));
51
+ backend_post (
52
+ "course/lecture/" + id + "/add" ,
53
+ JSON . stringify ( {
54
+ start_time : start_date . toISOString ( ) ,
55
+ end_time : end_date . toISOString ( ) ,
56
+ lecture_type : data . get ( "lecture_type" ) ,
57
+ } )
58
+ )
59
+ . then ( ( resp ) => ( resp . json ( ) ) )
60
+ . then ( ( data ) => handleResponse ( data , event ) )
61
+ . catch ( ( error ) => console . log ( error ) ) ;
55
62
} ;
56
63
57
64
return (
@@ -82,10 +89,12 @@ const CreateLecture = () => {
82
89
< DesktopDateTimePicker
83
90
label = "Start time"
84
91
name = "start_time"
92
+ slotProps = { { textField : { required : true , } , } }
85
93
/>
86
94
< DesktopDateTimePicker
87
95
label = "End time"
88
96
name = "end_time"
97
+ slotProps = { { textField : { required : true , } , } }
89
98
/>
90
99
</ LocalizationProvider >
91
100
< Select
0 commit comments