32 lines
626 B
TypeScript
32 lines
626 B
TypeScript
import { useCallback } from 'react'
|
|
import NProgress from 'nprogress'
|
|
|
|
/**
|
|
* Hook pour contrôler manuellement la barre de progression NProgress
|
|
* Utile pour les actions asynchrones comme les soumissions de formulaires,
|
|
* les requêtes API, etc.
|
|
*/
|
|
export function useProgress() {
|
|
const start = useCallback(() => {
|
|
NProgress.start()
|
|
}, [])
|
|
|
|
const done = useCallback(() => {
|
|
NProgress.done()
|
|
}, [])
|
|
|
|
const set = useCallback((progress: number) => {
|
|
NProgress.set(progress)
|
|
}, [])
|
|
|
|
const inc = useCallback(() => {
|
|
NProgress.inc()
|
|
}, [])
|
|
|
|
return {
|
|
start,
|
|
done,
|
|
set,
|
|
inc
|
|
}
|
|
}
|