Front: Typecheck Navigators and hooks

This commit is contained in:
Arthur Jamet
2023-06-08 10:51:29 +01:00
parent 63d4b10ebb
commit 19ded9ca74
6 changed files with 15 additions and 60 deletions
+3 -7
View File
@@ -11,18 +11,14 @@ import {
translate,
Translate,
} from "../../i18n/i18n";
import { RootState, useSelector } from "../../state/Store";
import { useSelector } from "../../state/Store";
import { updateSettings } from "../../state/SettingsSlice";
import ElementList from "../../components/GtkUI/ElementList";
const PreferencesView = () => {
const dispatch = useDispatch();
const language: AvailableLanguages = useSelector(
(state: RootState) => state.language.value
);
const settings = useSelector(
(state: RootState) => state.settings.local
);
const language = useSelector((state) => state.language.value);
const settings = useSelector((state) => state.settings.local);
return (
<Center style={{ flex: 1 }}>
<Heading style={{ textAlign: "center" }}>
+5 -48
View File
@@ -1,4 +1,4 @@
import React from 'react';
import React, { useMemo } from 'react';
import { Center, Button, Text, Heading, Box } from "native-base";
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import { unsetAccessToken } from '../../state/UserSlice';
@@ -16,9 +16,6 @@ import GuestToUserView from './GuestToUserView';
import { useQuery } from 'react-query';
import API from '../../API';
const SettingsStack = createNativeStackNavigator();
const handleChangeEmail = async (newEmail: string): Promise<string> => {
try {
let response = await API.updateUserEmail(newEmail);
@@ -37,43 +34,7 @@ const handleChangePassword = async (oldPassword: string, newPassword: string): P
}
}
const MainView = ({ navigation }) => {
const dispatch = useDispatch();
return (
<Center style={{ flex: 1}}>
<Button variant='ghost' onPress={() => navigation.navigate('Preferences')}>
<Translate translationKey='prefBtn'/>
</Button>
<Button variant='ghost' onPress={() => navigation.navigate('Notifications')}>
<Translate translationKey='notifBtn'/>
</Button>
<Button variant='ghost' onPress={() => navigation.navigate('Privacy')}>
<Translate translationKey='privBtn'/>
</Button>
<Button variant='ghost' onPress={() => navigation.navigate('ChangePassword')}>
<Translate translationKey='changepasswdBtn'/>
</Button>
<Button variant='ghost' onPress={() => navigation.navigate('ChangeEmail')}>
<Translate translationKey='changeemailBtn'/>
</Button>
<Button variant='ghost' onPress={() => navigation.navigate('GoogleAccount')}>
<Translate translationKey='googleacctBtn'/>
</Button>
<Button variant='ghost' onPress={() => dispatch(unsetAccessToken())} >
<Translate translationKey='signOutBtn'/>
</Button>
</Center>
)
}
export const ChangePasswordView = ({ navigation }) => {
export const ChangePasswordView = () => {
return (
<Center style={{ flex: 1}}>
<Heading paddingBottom={'2%'}>{translate('changePassword')}</Heading>
@@ -82,7 +43,7 @@ export const ChangePasswordView = ({ navigation }) => {
)
}
export const ChangeEmailView = ({ navigation }) => {
export const ChangeEmailView = () => {
return (
<Center style={{ flex: 1}}>
<Heading paddingBottom={'2%'}>{translate('changeEmail')}</Heading>
@@ -91,7 +52,7 @@ export const ChangeEmailView = ({ navigation }) => {
)
}
export const GoogleAccountView = ({ navigation }) => {
export const GoogleAccountView = () => {
return (
<Center style={{ flex: 1}}>
<Text>GoogleAccount</Text>
@@ -99,7 +60,7 @@ export const GoogleAccountView = ({ navigation }) => {
)
}
export const PianoSettingsView = ({ navigation }) => {
export const PianoSettingsView = () => {
return (
<Center style={{ flex: 1}}>
<Text>Global settings for the virtual piano</Text>
@@ -113,10 +74,6 @@ const SetttingsNavigator = () => {
const userQuery = useQuery(['user'], () => API.getUserInfo());
const user = useMemo(() => userQuery.data, [userQuery]);
if (userQuery.isError) {
user.isGuest = false;
}
if (userQuery.isLoading) {
return (
<Center style={{ flex: 1}}>