mirror of
https://github.com/Jellify-Music/App.git
synced 2026-02-28 06:38:39 -06:00
clean this up? add some logging too something in the useCreds hook isn't working
This commit is contained in:
@@ -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)
|
||||
});
|
||||
|
||||
|
||||
@@ -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, "");
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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) => {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 /> }
|
||||
|
||||
Reference in New Issue
Block a user