From 20a1fcb7dd78fe9a02bec53e9f5dac61aabe28ba Mon Sep 17 00:00:00 2001 From: Tudor Stanciu Date: Sun, 12 Feb 2023 01:18:56 +0200 Subject: [PATCH] hooks refactoring --- src/hooks/index.ts | 3 +++ src/{hooks.ts => hooks/useTuitioClient.ts} | 30 ++-------------------- src/hooks/useTuitioToken.ts | 23 +++++++++++++++++ src/hooks/useTuitioUser.ts | 11 ++++++++ 4 files changed, 39 insertions(+), 28 deletions(-) create mode 100644 src/hooks/index.ts rename src/{hooks.ts => hooks/useTuitioClient.ts} (65%) create mode 100644 src/hooks/useTuitioToken.ts create mode 100644 src/hooks/useTuitioUser.ts diff --git a/src/hooks/index.ts b/src/hooks/index.ts new file mode 100644 index 0000000..19c35b9 --- /dev/null +++ b/src/hooks/index.ts @@ -0,0 +1,3 @@ +export * from "./useTuitioClient"; +export * from "./useTuitioToken"; +export * from "./useTuitioUser"; diff --git a/src/hooks.ts b/src/hooks/useTuitioClient.ts similarity index 65% rename from src/hooks.ts rename to src/hooks/useTuitioClient.ts index ffcd574..72760d8 100644 --- a/src/hooks.ts +++ b/src/hooks/useTuitioClient.ts @@ -1,5 +1,5 @@ import { useContext } from "react"; -import { TuitioContext, TuitioDispatchContext } from "./contexts"; +import { TuitioContext, TuitioDispatchContext } from "../contexts"; import { TuitioClient, invalidate } from "@flare/tuitio-client"; import type { TuitioAuthenticationResult } from "@flare/tuitio-client"; @@ -40,30 +40,4 @@ const useTuitioClient = (options: TuitioClientHookOptions) => { return { login, logout }; }; -const useTuitioUser = () => { - const state = useContext(TuitioContext); - const userName = state.userName; - const lastLoginDate = state.token?.validFrom; - return { userName, lastLoginDate }; -}; - -const useTuitioToken = () => { - const state = useContext(TuitioContext); - const token = state.token; - - const validate = (): boolean => { - const token = state.token; - if (!token) { - return false; - } - - const valid = new Date(token.validUntil) >= new Date(); - return valid; - }; - - const valid: boolean = validate(); - - return { token, validate, valid }; -}; - -export { useTuitioClient, useTuitioUser, useTuitioToken }; +export { useTuitioClient }; diff --git a/src/hooks/useTuitioToken.ts b/src/hooks/useTuitioToken.ts new file mode 100644 index 0000000..6625b2c --- /dev/null +++ b/src/hooks/useTuitioToken.ts @@ -0,0 +1,23 @@ +import { useContext } from "react"; +import { TuitioContext } from "../contexts"; + +const useTuitioToken = () => { + const state = useContext(TuitioContext); + const token = state.token; + + const validate = (): boolean => { + const token = state.token; + if (!token) { + return false; + } + + const valid = new Date(token.validUntil) >= new Date(); + return valid; + }; + + const valid: boolean = validate(); + + return { token, validate, valid }; +}; + +export { useTuitioToken }; diff --git a/src/hooks/useTuitioUser.ts b/src/hooks/useTuitioUser.ts new file mode 100644 index 0000000..2c3d92a --- /dev/null +++ b/src/hooks/useTuitioUser.ts @@ -0,0 +1,11 @@ +import { useContext } from "react"; +import { TuitioContext } from "../contexts"; + +const useTuitioUser = () => { + const state = useContext(TuitioContext); + const userName = state.userName; + const lastLoginDate = state.token?.validFrom; + return { userName, lastLoginDate }; +}; + +export { useTuitioUser };