upd: profile
Deskripsi: - profile sudah sesuai dg role user login dan id user login No Issues
This commit is contained in:
@@ -1,15 +1,20 @@
|
||||
import AsyncStorage from '@react-native-async-storage/async-storage';
|
||||
import {router} from "expo-router";
|
||||
import {createContext, MutableRefObject, ReactNode, useCallback, useContext, useEffect, useRef, useState} from 'react';
|
||||
import CryptoES from "crypto-es";
|
||||
|
||||
const AuthContext = createContext<{
|
||||
signIn: (arg0: string) => void;
|
||||
signOut: () => void
|
||||
decryptToken: (arg0: string) => Promise<string>
|
||||
encryptToken: (arg0: string) => Promise<string>
|
||||
token: MutableRefObject<string | null> | null;
|
||||
isLoading: boolean
|
||||
}>({
|
||||
signIn: () => null,
|
||||
signOut: () => null,
|
||||
decryptToken: () => Promise.resolve(''),
|
||||
encryptToken: () => Promise.resolve(''),
|
||||
token: null,
|
||||
isLoading: true
|
||||
});
|
||||
@@ -31,6 +36,18 @@ export default function AuthProvider ({children}:{children: ReactNode}): ReactN
|
||||
})()
|
||||
}, []);
|
||||
|
||||
const decryptToken = (async (token: string) => {
|
||||
var C = require("crypto-js");
|
||||
var Decrypted = C.AES.decrypt(token, "your password");
|
||||
var result = Decrypted.toString(C.enc.Utf8);
|
||||
return result
|
||||
})
|
||||
|
||||
const encryptToken = (async (token: string) => {
|
||||
var result = CryptoES.AES.encrypt(token, "your password").toString();
|
||||
return result
|
||||
})
|
||||
|
||||
const signIn = useCallback(async (token: string) => {
|
||||
await AsyncStorage.setItem('@token', token);
|
||||
tokenRef.current = token;
|
||||
@@ -49,6 +66,8 @@ export default function AuthProvider ({children}:{children: ReactNode}): ReactN
|
||||
signIn,
|
||||
signOut,
|
||||
token: tokenRef,
|
||||
decryptToken,
|
||||
encryptToken,
|
||||
isLoading
|
||||
}}
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user