1
1
"use client" ;
2
2
3
- import { capitalizeWords , topicsList } from "@/app/(auth)/match/page" ;
4
3
import { Button } from "@/components/ui/button" ;
5
4
import {
6
5
Form ,
@@ -24,27 +23,31 @@ import {
24
23
fetchSingleLeetcodeQuestion ,
25
24
updateSingleLeetcodeQuestion ,
26
25
} from "@/api/leetcode-dashboard" ;
27
-
28
- const QUESTION_SERVICE = process . env . NEXT_PUBLIC_QUESTION_SERVICE ;
26
+ import { capitalizeWords } from "@/utils/string_utils" ;
27
+ import { topicsList } from "@/utils/constants" ;
29
28
30
29
interface EditQuestionDialogProp {
31
- setClose : ( ) => void ;
32
30
questionId : string ;
33
31
}
34
32
35
- const initialValues = {
33
+ interface EditQuestionValues {
34
+ questionTitle : string ;
35
+ questionDifficulty : string ;
36
+ questionTopics : string [ ] ;
37
+ questionDescription : string ;
38
+ }
39
+
40
+ const initialValues : EditQuestionValues = {
36
41
questionTitle : "" ,
37
42
questionDifficulty : "" ,
38
43
questionTopics : [ ] ,
39
44
questionDescription : "" ,
40
45
} ;
41
46
42
- const EditQuestionDialog = ( {
43
- setClose,
44
- questionId,
45
- } : EditQuestionDialogProp ) => {
47
+ const EditQuestionDialog = ( { questionId } : EditQuestionDialogProp ) => {
46
48
const [ isSubmitting , setIsSubmitting ] = useState ( false ) ;
47
- const [ leetcodeData , setLeetcodeData ] = useState ( initialValues ) ;
49
+ const [ leetcodeData , setLeetcodeData ] =
50
+ useState < EditQuestionValues > ( initialValues ) ;
48
51
const formSchema = z . object ( {
49
52
questionTitle : z . string ( ) . min ( 2 , {
50
53
message : "Title must be at least 2 characters." ,
@@ -75,8 +78,6 @@ const EditQuestionDialog = ({
75
78
questionTopics : resp . category . map ( ( x : string ) => capitalizeWords ( x ) ) ,
76
79
questionDescription : resp . description ,
77
80
} ;
78
- console . log ( questionData . questionTopics ) ;
79
- console . log ( typeof questionData . questionTopics ) ;
80
81
setLeetcodeData ( questionData ) ;
81
82
reset ( questionData ) ;
82
83
} ) ;
@@ -92,14 +93,14 @@ const EditQuestionDialog = ({
92
93
complexity : values . questionDifficulty ,
93
94
questionId : questionId ,
94
95
} )
95
- . then ( ( response ) => {
96
+ . then ( ( ) => {
96
97
Swal . fire ( {
97
98
icon : "success" ,
98
99
title : "Question Added" ,
99
100
text : "Question has been modified successfully." ,
100
101
} ) ;
101
102
} )
102
- . catch ( ( error ) => {
103
+ . catch ( ( ) => {
103
104
Swal . fire ( {
104
105
icon : "error" ,
105
106
title : "Question Add Failed" ,
@@ -108,7 +109,6 @@ const EditQuestionDialog = ({
108
109
} )
109
110
. finally ( ( ) => {
110
111
setIsSubmitting ( false ) ;
111
- setClose ( ) ;
112
112
} ) ;
113
113
}
114
114
0 commit comments