Skip to content

Commit 096bd9a

Browse files
committed
feat: add useTriggerAutoClickTimestamp hook
1 parent 597830a commit 096bd9a

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

src/Shared/Components/Button/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,5 @@
1515
*/
1616

1717
export { default as Button } from './Button.component'
18+
export { default as useTriggerAutoClickTimestamp } from './useTriggerAutoClickTimestamp'
1819
export * from './types'

src/Shared/Components/Button/types.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,8 @@ export type ButtonProps<ComponentType extends ButtonComponentType = ButtonCompon
115115
isOpacityHoverChild?: boolean
116116
/**
117117
* If provided, the button is clicked automatically after the pre-defined time
118+
*
119+
* Use from useTriggerAutoClickTimestamp hook
118120
*/
119121
triggerAutoClickTimestamp?: number | null
120122
} & (
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { useState } from 'react'
2+
import { ButtonProps } from './types'
3+
4+
const useTriggerAutoClickTimestamp = () => {
5+
const [triggerAutoClickTimestamp, setTriggerAutoClickTimestamp] =
6+
useState<ButtonProps['triggerAutoClickTimestamp']>(null)
7+
8+
const setTriggerAutoClickTimestampToNow = () => {
9+
setTriggerAutoClickTimestamp(Date.now())
10+
}
11+
12+
const resetTriggerAutoClickTimestamp = () => {
13+
setTriggerAutoClickTimestamp(null)
14+
}
15+
16+
return {
17+
triggerAutoClickTimestamp,
18+
setTriggerAutoClickTimestampToNow,
19+
resetTriggerAutoClickTimestamp,
20+
}
21+
}
22+
23+
export default useTriggerAutoClickTimestamp

0 commit comments

Comments
 (0)