Skip to content

Commit

Permalink
[Feat] 토너먼트수정 커스텀 훅 작성 #1112
Browse files Browse the repository at this point in the history
  • Loading branch information
greatSweetMango committed Nov 29, 2023
1 parent af667fc commit 256baec
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions hooks/tournament/useTournamentEditInfo.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import { useState, useCallback } from 'react';
import { ITournamentEditInfo } from 'types/admin/adminTournamentTypes';

const emptyTournamentEditInfo: ITournamentEditInfo = {
tournamentId: null,
title: '',
contents: '',
type: 'CUSTOM',
startTime: new Date(),
endTime: new Date(),
};

function useTournamentEditInfo() {
const [tournamentEditInfo, setTournamentEditInfo] =
useState<ITournamentEditInfo>(emptyTournamentEditInfo);

// change
const inputChangeHandler = (event: React.ChangeEvent<HTMLInputElement>) => {
const { name, value } = event.target;
if (name === 'startTime' || name === 'endTime')
setTournamentEditInfo((prev) => ({ ...prev, [name]: new Date(value) }));
else setTournamentEditInfo((prev) => ({ ...prev, [name]: value }));
};

const selectChangeHandler = (event: React.ChangeEvent<HTMLSelectElement>) => {
const { name, value } = event.target;
setTournamentEditInfo((prev) => ({ ...prev, [name]: value }));
};

const quillChangeHandler = (value: string) => {
setTournamentEditInfo((prev) => ({ ...prev, contents: value }));
};

const resetHandler = async () => {
try {
setTournamentEditInfo(emptyTournamentEditInfo);
} catch (e) {
alert(e);
}
};
return {
tournamentEditInfo,
setTournamentEditInfo,
inputChangeHandler,
selectChangeHandler,
quillChangeHandler,
resetHandler,
};
}

export default useTournamentEditInfo;

0 comments on commit 256baec

Please sign in to comment.