1
- import { ChangeEvent , useEffect , useMemo , useRef , useState } from "react" ;
1
+ import { ChangeEvent , useEffect , useRef , useState } from "react" ;
2
2
import { useOutletContext } from "react-router-dom" ;
3
3
import { Socket } from "socket.io-client" ;
4
4
import { EpicCategoryDTO } from "../../types/DTO/backlogDTO" ;
5
5
import CategoryChip from "./CategoryChip" ;
6
6
import useEpicEmitEvent from "../../hooks/pages/backlog/useEpicEmitEvent" ;
7
7
import { CATEGORY_COLOR } from "../../constants/backlog" ;
8
- import getRandomNumber from "../../utils/getRandomNumber" ;
9
8
import {
10
- BacklogCategoryColor ,
11
9
BacklogSocketData ,
12
10
BacklogSocketDomain ,
13
11
BacklogSocketEpicAction ,
14
12
} from "../../types/common/backlog" ;
15
13
import EpicDropdownOption from "./EpicDropdownOption" ;
16
14
import { LexoRank } from "lexorank" ;
15
+ import getNewColor from "../../utils/getNewColor" ;
17
16
18
17
interface EpicDropdownProps {
19
18
selectedEpic ?: EpicCategoryDTO ;
@@ -29,13 +28,10 @@ const EpicDropdown = ({
29
28
const { socket } : { socket : Socket } = useOutletContext ( ) ;
30
29
const { emitEpicCreateEvent } = useEpicEmitEvent ( socket ) ;
31
30
const [ value , setValue ] = useState ( "" ) ;
31
+ const [ epicColor , setEpicColor ] = useState (
32
+ getNewColor ( Object . keys ( CATEGORY_COLOR ) )
33
+ ) ;
32
34
const inputElementRef = useRef < HTMLInputElement | null > ( null ) ;
33
- const epicColor = useMemo ( ( ) => {
34
- const colors = Object . keys ( CATEGORY_COLOR ) ;
35
- return colors [
36
- getRandomNumber ( 0 , colors . length - 1 )
37
- ] as BacklogCategoryColor ;
38
- } , [ ] ) ;
39
35
40
36
const handleInputChange = ( { target } : ChangeEvent < HTMLInputElement > ) => {
41
37
const { value } = target ;
@@ -60,8 +56,9 @@ const EpicDropdown = ({
60
56
. toString ( )
61
57
: LexoRank . middle ( ) . toString ( ) ;
62
58
63
- setValue ( "" ) ;
64
59
emitEpicCreateEvent ( { name : value , color : epicColor , rankValue } ) ;
60
+ setValue ( "" ) ;
61
+ setEpicColor ( getNewColor ( Object . keys ( CATEGORY_COLOR ) ) ) ;
65
62
}
66
63
} ;
67
64
0 commit comments