Added login and logout

This commit is contained in:
jfrye122
2023-04-20 22:38:22 -04:00
parent b7b6877478
commit f3384d4e36
11 changed files with 133 additions and 37 deletions

View File

@@ -19,6 +19,9 @@ import {
selectBodyshop,
selectCurrentUser,
} from "../../redux/user/user.selectors";
import { selectCurrentEmployee } from "../../redux/employee/employee.selectors";
import ScreenJobDetail from "../screen-job-detail/screen-job-detail.component";
import ScreenJobList from "../screen-job-list/screen-job-list.component";
import ScreenMediaBrowser from "../screen-media-browser/screen-media-browser.component";
@@ -28,6 +31,9 @@ import ScreenSplash from "../screen-splash/screen-splash.component";
//TODO Inprogress JF add import for screens for time ticket browser here
import EmployeeSignIn from "../screen-employee-sign-in/screen-employee-sign-in.component";
import ScreenApTimeTicketList from "../screen-ap-time-ticket-list/screen-ap-time-ticket-list.component";
import SignOutButton from "../Buttons/employee-sign-out-button.component";
import AddTimeTicketButton from "../Buttons/create-time-ticket-button.component";
const ActiveJobStack = createNativeStackNavigator();
const MoreStack = createNativeStackNavigator();
@@ -51,6 +57,10 @@ const mapDispatchToProps = (dispatch) => ({
setCameraJob: (job) => dispatch(setCameraJob(job)),
});
const mapStateToProps2 = createStructuredSelector({
currentEmployee: selectCurrentEmployee,
});
const JobsTabNavigator = connect(
mapStateToProps,
mapDispatchToProps
@@ -111,22 +121,44 @@ const MoreStackNavigator = () => (
);
//ADDED JF TimeTicketBrowserStackNavigator for navigating the stack
const TimeTicketBrowserStackNavigator = () => (
<TimeTicketBrowserStack.Navigator initialRouteName="TimeTicketBrowser">
<TimeTicketBrowserStack.Screen
name="EmployeeSignIn"
options={() => ({
title: i18n.t("employeesignin.titles.signin"),
})}
component={EmployeeSignIn}
/>
{/* <TimeTicketBrowserStack.Screen
name="TimeTicketBrowser"
options={{ title: i18n.t("timeticketbrowser.titles.timeticketbrowsertab") }}
component={ScreenMediaBrowser}
/> */}
</TimeTicketBrowserStack.Navigator>
);
const TimeTicketBrowserStackNavigator = connect(
mapStateToProps2,
mapDispatchToProps
)(({ currentEmployee }) => {
return (
<TimeTicketBrowserStack.Navigator>
{currentEmployee === null ? (
<TimeTicketBrowserStack.Screen
name="EmployeeSignIn"
options={() => ({ title: i18n.t("employeesignin.titles.signin") })}
component={EmployeeSignIn}
/>
) : currentEmployee.authorized ? (
<TimeTicketBrowserStack.Screen
name="TimeTicketBrowser"
options={{
title: i18n.t("timeticketbrowser.titles.timeticketbrowsertab"),
headerRight: () => (
<>
<AddTimeTicketButton />
<SignOutButton />
</>
),
}}
component={ScreenApTimeTicketList}
/>
) : (
<TimeTicketBrowserStack.Screen
name="EmployeeSignIn"
options={() => ({
title: i18n.t("employeesignin.titles.signin"),
})}
component={EmployeeSignIn}
/>
)}
</TimeTicketBrowserStack.Navigator>
);
});
const BottomTabsNavigator = () => (
<BottomTabs.Navigator
@@ -140,7 +172,8 @@ const BottomTabsNavigator = () => (
iconName = "ios-settings";
} else if (route.name === "MediaBrowserTab") {
iconName = "ios-camera";
} else if (route.name === "TimeTicketBrowserTab") {//ADDED JF check for route.name for TimeTicketBrowserTab. Also icon ios-stopwatch-outline
} else if (route.name === "TimeTicketBrowserTab") {
//ADDED JF check for route.name for TimeTicketBrowserTab. Also icon ios-stopwatch-outline
iconName = "ios-stopwatch-outline";
} else {
//iconName = "customerservice";
@@ -181,7 +214,7 @@ const BottomTabsNavigator = () => (
/>
</BottomTabs.Navigator>
);
//ADDED JF BottomTabs.Screen named TimeTicketBrowserTab
//ADDED JF BottomTabs.Screen named TimeTicketBrowserTab
export function ScreenMainComponent({
checkUserSession,