From 6408e8d65a1014975032ae8a87bad5a402bfdde9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=80=EB=B0=B0?= Date: Mon, 18 Sep 2023 19:21:34 +0900 Subject: [PATCH 1/5] =?UTF-8?q?feat:=20useTimer=20=ED=9B=85=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/lib/common/atom/timer/Timer.tsx | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/packages/design-system/src/lib/common/atom/timer/Timer.tsx b/packages/design-system/src/lib/common/atom/timer/Timer.tsx index aaa29e6..1ac6cdb 100644 --- a/packages/design-system/src/lib/common/atom/timer/Timer.tsx +++ b/packages/design-system/src/lib/common/atom/timer/Timer.tsx @@ -1,20 +1,13 @@ import { Txt, TxtProps } from "../."; -import { useTimer } from "@uoslife/react"; +type Props = { + currentTime: string; +} & Omit; -type Props = Omit; - -const VERIFICATION_TIMER_MIN = 3; -const VERIFICATION_TIMER_SEC = 0; - -export const Timer = ({ ...props }: Props) => { - const { currentTime, isFinish } = useTimer( - VERIFICATION_TIMER_MIN, - VERIFICATION_TIMER_SEC - ); +export const Timer = ({ currentTime, ...props }: Props) => { return ( Date: Mon, 18 Sep 2023 19:24:47 +0900 Subject: [PATCH 2/5] =?UTF-8?q?feat:=20input=20story=EC=97=90=20currentTim?= =?UTF-8?q?e=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design-system/src/lib/common/atom/input/Input.stories.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/design-system/src/lib/common/atom/input/Input.stories.tsx b/packages/design-system/src/lib/common/atom/input/Input.stories.tsx index 423561e..55a79d6 100644 --- a/packages/design-system/src/lib/common/atom/input/Input.stories.tsx +++ b/packages/design-system/src/lib/common/atom/input/Input.stories.tsx @@ -21,6 +21,7 @@ export const Secondary = { Date: Mon, 18 Sep 2023 19:25:12 +0900 Subject: [PATCH 3/5] Publish - @uoslife/design-system@1.0.44 --- packages/design-system/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/design-system/package.json b/packages/design-system/package.json index fe28ba5..7ded457 100644 --- a/packages/design-system/package.json +++ b/packages/design-system/package.json @@ -1,7 +1,7 @@ { "name": "@uoslife/design-system", "private": false, - "version": "1.0.43", + "version": "1.0.44", "type": "module", "packageManager": "pnpm@8.4.0", "main": "dist/@uoslife/design-system.es.js", From 3c62316b0d3d5bcdfe8a4ac32f745ca17b35fbe3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=80=EB=B0=B0?= Date: Tue, 19 Sep 2023 23:44:41 +0900 Subject: [PATCH 4/5] =?UTF-8?q?feat:=20autoStart=20=EC=98=B5=EC=85=98=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/react/src/lib/hooks/useTimer.tsx | 35 ++++++++++++++++++----- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/packages/react/src/lib/hooks/useTimer.tsx b/packages/react/src/lib/hooks/useTimer.tsx index b6f07f7..4684795 100644 --- a/packages/react/src/lib/hooks/useTimer.tsx +++ b/packages/react/src/lib/hooks/useTimer.tsx @@ -1,16 +1,37 @@ -import { useCallback, useEffect, useState } from "react"; +import { useEffect, useState } from "react"; -export const useTimer = (initMin: number, initSec: number) => { +type useTimerProps = { + initMin: number; + initSec: number; + autoStart?: boolean; +}; + +const addZero = (num: number) => { + if (num < 10) return "0" + num.toString(); + else return num.toString(); +}; + +export const useTimer = ({ + initMin, + initSec, + autoStart = true, +}: useTimerProps) => { const [min, setMin] = useState(initMin); const [sec, setSec] = useState(initSec); + const [isStart, setIsStart] = useState(autoStart); const [isFinish, setIsFinish] = useState(false); - const addZero = useCallback((num: number) => { - if (num < 10) return "0" + num.toString(); - else return num.toString(); - }, []); + const startTimer = () => { + setIsStart(true); + }; + + const resetTimer = () => { + setMin(initMin); + setSec(initSec); + }; useEffect(() => { + if (!isStart) return; const countDown = setInterval(() => { if (sec === 0 && min === 0) { setIsFinish(true); @@ -26,5 +47,5 @@ export const useTimer = (initMin: number, initSec: number) => { return () => clearInterval(countDown); }); const currentTime = addZero(min) + ":" + addZero(sec); - return { currentTime, isFinish }; + return { currentTime, isFinish, startTimer, resetTimer }; }; From d32fa1bed8faa5ed70804086d66e395a4f7ac138 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=80=EB=B0=B0?= Date: Tue, 19 Sep 2023 23:47:22 +0900 Subject: [PATCH 5/5] Publish - @uoslife/design-system@1.0.45 - @uoslife/react@1.0.4 --- packages/design-system/package.json | 4 ++-- packages/react/package.json | 2 +- pnpm-lock.yaml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/design-system/package.json b/packages/design-system/package.json index 7ded457..230eefe 100644 --- a/packages/design-system/package.json +++ b/packages/design-system/package.json @@ -1,7 +1,7 @@ { "name": "@uoslife/design-system", "private": false, - "version": "1.0.44", + "version": "1.0.45", "type": "module", "packageManager": "pnpm@8.4.0", "main": "dist/@uoslife/design-system.es.js", @@ -48,7 +48,7 @@ "dependencies": { "@emotion/native": "^11.11.0", "@emotion/react": "^11.11.1", - "@uoslife/react": "^1.0.3", + "@uoslife/react": "^1.0.4", "react": "^18.2.0", "react-dom": "^18.2.0", "react-native": "^0.72.2", diff --git a/packages/react/package.json b/packages/react/package.json index c67d823..6e0018d 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,7 +1,7 @@ { "name": "@uoslife/react", "private": false, - "version": "1.0.3", + "version": "1.0.4", "type": "module", "packageManager": "pnpm@8.4.0", "main": "dist/@uoslife/react.es.js", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ea14fc6..876aeab 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,7 +21,7 @@ importers: specifier: ^11.11.1 version: 11.11.1(@types/react@18.2.17)(react@18.2.0) '@uoslife/react': - specifier: ^1.0.3 + specifier: ^1.0.4 version: link:../react/dist react: specifier: ^18.2.0