upd: profile

Deskripsi:
- profile sudah sesuai dg role user login dan id user login

No Issues
This commit is contained in:
amel
2025-04-24 14:44:03 +08:00
parent fcad450649
commit 716e021a7a
5 changed files with 46 additions and 22 deletions

View File

@@ -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
}}
>