Skip to content

Commit 41d1676

Browse files
committed
fix: 에픽을 생성한 후 다음 생성하는 에픽의 색상이 변경되도록 수정
1 parent 307cb69 commit 41d1676

File tree

2 files changed

+14
-10
lines changed

2 files changed

+14
-10
lines changed

frontend/src/components/backlog/EpicDropdown.tsx

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
1-
import { ChangeEvent, useEffect, useMemo, useRef, useState } from "react";
1+
import { ChangeEvent, useEffect, useRef, useState } from "react";
22
import { useOutletContext } from "react-router-dom";
33
import { Socket } from "socket.io-client";
44
import { EpicCategoryDTO } from "../../types/DTO/backlogDTO";
55
import CategoryChip from "./CategoryChip";
66
import useEpicEmitEvent from "../../hooks/pages/backlog/useEpicEmitEvent";
77
import { CATEGORY_COLOR } from "../../constants/backlog";
8-
import getRandomNumber from "../../utils/getRandomNumber";
98
import {
10-
BacklogCategoryColor,
119
BacklogSocketData,
1210
BacklogSocketDomain,
1311
BacklogSocketEpicAction,
1412
} from "../../types/common/backlog";
1513
import EpicDropdownOption from "./EpicDropdownOption";
1614
import { LexoRank } from "lexorank";
15+
import getNewColor from "../../utils/getNewColor";
1716

1817
interface EpicDropdownProps {
1918
selectedEpic?: EpicCategoryDTO;
@@ -29,13 +28,10 @@ const EpicDropdown = ({
2928
const { socket }: { socket: Socket } = useOutletContext();
3029
const { emitEpicCreateEvent } = useEpicEmitEvent(socket);
3130
const [value, setValue] = useState("");
31+
const [epicColor, setEpicColor] = useState(
32+
getNewColor(Object.keys(CATEGORY_COLOR))
33+
);
3234
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-
}, []);
3935

4036
const handleInputChange = ({ target }: ChangeEvent<HTMLInputElement>) => {
4137
const { value } = target;
@@ -60,8 +56,9 @@ const EpicDropdown = ({
6056
.toString()
6157
: LexoRank.middle().toString();
6258

63-
setValue("");
6459
emitEpicCreateEvent({ name: value, color: epicColor, rankValue });
60+
setValue("");
61+
setEpicColor(getNewColor(Object.keys(CATEGORY_COLOR)));
6562
}
6663
};
6764

frontend/src/utils/getNewColor.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { BacklogCategoryColor } from "../types/common/backlog";
2+
import getRandomNumber from "./getRandomNumber";
3+
4+
const getNewColor = (colors: string[]) =>
5+
colors[getRandomNumber(0, colors.length - 1)] as BacklogCategoryColor;
6+
7+
export default getNewColor;

0 commit comments

Comments
 (0)