clean this up? add some logging too something in the useCreds hook isn't working

This commit is contained in:
Violet Caulfield
2024-10-16 07:53:02 -05:00
parent 55260cebb5
commit 3af5aa5425
4 changed files with 3 additions and 13 deletions

View File

@@ -14,7 +14,7 @@ export const fetchCredentials : () => Promise<Keychain.SharedWebCredentials> = (
console.debug(`REMOVE THIS::Server name ${server.name}`);
if (_.isEmpty(server.url)) {
console.warn("Server url was empty")
console.warn("Server url was empty");
throw new Error("Unable to retrieve credentials without a server URL");
}
@@ -25,6 +25,7 @@ export const fetchCredentials : () => Promise<Keychain.SharedWebCredentials> = (
throw new Error("Unable to retrieve credentials for server address from keychain");
}
console.log("Successfully retrieved keychain");
resolve(keychain as Keychain.SharedWebCredentials)
});

View File

@@ -17,7 +17,6 @@ export default function ServerAuthentication(): React.JSX.Element {
const clearServer = useMutation({
mutationFn: async () => {
loginContext.loginContextFns.setKeychainFn(undefined);
loginContext.loginContextFns.setServerFn(undefined);
return await AsyncStorage.setItem(AsyncStorageKeys.ServerUrl, "");
}
})

View File

@@ -4,12 +4,10 @@ import { JellifyServer } from "../types/JellifyServer";
type LoginContextFns = {
setKeychainFn: (state: SharedWebCredentials | undefined) => void,
setServerFn: (state: JellifyServer | undefined) => void
}
type LoginContext = {
keychain: SharedWebCredentials | undefined;
server: JellifyServer | undefined,
loginContextFns: LoginContextFns
};
/**
@@ -18,10 +16,8 @@ type LoginContext = {
*/
const loginContextDefaultValue : LoginContext = {
keychain: undefined,
server: undefined,
loginContextFns: {
setKeychainFn: (state: SharedWebCredentials | undefined) => {}, // noop default callback
setServerFn: (state: JellifyServer | undefined) => {}
}
}

View File

@@ -23,22 +23,16 @@ export default function Jellify(): React.JSX.Element {
backgroundColor: isDarkMode ? Colors.darker : Colors.lighter,
};
let jellifyServer = useServer;
let credentials = useCredentials;
const [keychain, setKeychain] : [SharedWebCredentials | undefined, React.Dispatch<React.SetStateAction<SharedWebCredentials | undefined>> ]= useState();
const [server, setServer] = useState(jellifyServer.data)
const loginContextFns = {
setKeychainFn: (state: SharedWebCredentials | undefined) => {
setKeychain(state);
},
setServerFn: (state: JellifyServer | undefined) => {
setServer(state);
}
}
return (
(credentials.isPending) ? (
<SafeAreaView style={jellifyStyles.container}>
@@ -46,7 +40,7 @@ export default function Jellify(): React.JSX.Element {
<ActivityIndicator />
</SafeAreaView>
) : (
<LoginContext.Provider value={{keychain, server, loginContextFns}}>
<LoginContext.Provider value={{keychain, loginContextFns}}>
<NavigationContainer>
<SafeAreaView style={jellifyStyles.container}>
{ (credentials.isSuccess && !_.isUndefined(credentials.data)) ? <Navigation /> : <Login /> }