Timetickets Fixes
This commit is contained in:
@@ -18,7 +18,7 @@ import ErrorDisplay from "../error-display/error-display.component";
|
||||
const mapStateToProps = createStructuredSelector({
|
||||
currentEmployee: selectCurrentEmployee,
|
||||
signingIn: selectSigningIn,
|
||||
signingError: selectSignInError,
|
||||
signinError: selectSignInError,
|
||||
});
|
||||
|
||||
const mapDispatchToProps = (dispatch) => ({
|
||||
@@ -27,7 +27,7 @@ const mapDispatchToProps = (dispatch) => ({
|
||||
});
|
||||
|
||||
export function EmployeeSignIn({
|
||||
signingError,
|
||||
signinError,
|
||||
signingIn,
|
||||
employeeSignInStart,
|
||||
}) {
|
||||
@@ -46,40 +46,45 @@ export function EmployeeSignIn({
|
||||
onSubmit={formSubmit}
|
||||
>
|
||||
{({ handleChange, handleBlur, handleSubmit, values }) => {
|
||||
const signingErrorMsg = signingError ? (<ErrorDisplay errorMessage={signingError} />) : null;
|
||||
return(
|
||||
<View>
|
||||
<TextInput
|
||||
label={t("employeesignin.fields.employeeid")}
|
||||
mode="outlined"
|
||||
autoCapitalize="none"
|
||||
keyboardType="default"
|
||||
onChangeText={handleChange("employeeId")}
|
||||
onBlur={handleBlur("employeeId")}
|
||||
value={values.employeeId}
|
||||
style={[localStyles.input]}
|
||||
/>
|
||||
<TextInput
|
||||
label={t("employeesignin.fields.pin")}
|
||||
mode="outlined"
|
||||
secureTextEntry={true}
|
||||
onChangeText={handleChange("pin")}
|
||||
onBlur={handleBlur("pin")}
|
||||
value={values.pin}
|
||||
style={[localStyles.input]}
|
||||
textContentType={"none"}
|
||||
/>
|
||||
{signingErrorMsg}
|
||||
<Button
|
||||
mode="outlined"
|
||||
loading={signingIn}
|
||||
onPress={handleSubmit}
|
||||
>
|
||||
<Text>{t("employeesignin.actions.employeesignin")}</Text>
|
||||
</Button>
|
||||
</View>
|
||||
)
|
||||
}}
|
||||
return (
|
||||
<View>
|
||||
<TextInput
|
||||
label={t("employeesignin.fields.employeeid")}
|
||||
mode="outlined"
|
||||
autoCapitalize="none"
|
||||
keyboardType="default"
|
||||
autoComplete="off"
|
||||
onChangeText={handleChange("employeeId")}
|
||||
onBlur={handleBlur("employeeId")}
|
||||
value={values.employeeId}
|
||||
textContentType={"none"}
|
||||
style={localStyles.item}
|
||||
/>
|
||||
<TextInput
|
||||
label={t("employeesignin.fields.pin")}
|
||||
mode="outlined"
|
||||
secureTextEntry={true}
|
||||
autoComplete="off"
|
||||
onChangeText={handleChange("pin")}
|
||||
onBlur={handleBlur("pin")}
|
||||
value={values.pin}
|
||||
textContentType={"none"}
|
||||
style={localStyles.item}
|
||||
/>
|
||||
<Button
|
||||
mode="outlined"
|
||||
loading={signingIn}
|
||||
onPress={handleSubmit}
|
||||
style={localStyles.item}
|
||||
>
|
||||
<Text>{t("employeesignin.actions.employeesignin")}</Text>
|
||||
</Button>
|
||||
{signinError ? (
|
||||
<ErrorDisplay errorMessage={signinError} />
|
||||
) : null}
|
||||
</View>
|
||||
);
|
||||
}}
|
||||
</Formik>
|
||||
</View>
|
||||
</View>
|
||||
@@ -91,10 +96,12 @@ const localStyles = StyleSheet.create({
|
||||
display: "flex",
|
||||
flex: 1,
|
||||
},
|
||||
item: {
|
||||
marginTop: 12,
|
||||
marginBottom: 12,
|
||||
},
|
||||
signInContainer: {
|
||||
flex: 1,
|
||||
},
|
||||
input: {
|
||||
margin: 12,
|
||||
},
|
||||
});
|
||||
|
||||
@@ -1,18 +1,20 @@
|
||||
import React, { useEffect, useRef } from "react";
|
||||
import { Ionicons } from "@expo/vector-icons";
|
||||
import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
|
||||
import { NavigationContainer } from "@react-navigation/native";
|
||||
import { createNativeStackNavigator } from "@react-navigation/native-stack";
|
||||
import i18n from "i18next";
|
||||
import moment from "moment";
|
||||
import React, { useEffect, useRef } from "react";
|
||||
import { AppState } from "react-native";
|
||||
import { Button } from "react-native-paper";
|
||||
import { Ionicons } from "@expo/vector-icons";
|
||||
import { NavigationContainer } from "@react-navigation/native";
|
||||
import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
|
||||
import { createNativeStackNavigator } from "@react-navigation/native-stack";
|
||||
|
||||
import { logImEXEvent } from "../../firebase/firebase.analytics";
|
||||
|
||||
import { connect } from "react-redux";
|
||||
import { createStructuredSelector } from "reselect";
|
||||
import { setCameraJob, setCameraJobId } from "../../redux/app/app.actions";
|
||||
import { employeeSignOut } from "../../redux/employee/employee.actions";
|
||||
import { selectCurrentEmployee } from "../../redux/employee/employee.selectors";
|
||||
import {
|
||||
checkUserSession,
|
||||
emailSignInStart,
|
||||
@@ -22,8 +24,6 @@ import {
|
||||
selectBodyshop,
|
||||
selectCurrentUser,
|
||||
} from "../../redux/user/user.selectors";
|
||||
import { employeeSignOut } from "../../redux/employee/employee.actions";
|
||||
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";
|
||||
@@ -32,12 +32,11 @@ import ScreenSettingsComponent from "../screen-settings/screen-settings.componen
|
||||
import ScreenSignIn from "../screen-sign-in/screen-sign-in.component";
|
||||
import ScreenSplash from "../screen-splash/screen-splash.component";
|
||||
|
||||
import SignOutButton from "../Buttons/employee-sign-out-button.component";
|
||||
import EmployeeSignIn from "../screen-employee-sign-in/screen-employee-sign-in.component";
|
||||
import ScreenTimeTicketBrowser from "../screen-time-ticket-browser/screen-time-ticket-browser.component";
|
||||
import SignOutButton from "../Buttons/employee-sign-out-button.component";
|
||||
import AddTimeTicketButton from "../Buttons/create-time-ticket-button.component";
|
||||
import ScreenTimeTicketCreate from "../time-ticket/screen-time-ticket-create.component";
|
||||
import ScreenTimeTicketClockoffComponent from "../time-ticket/screen-time-ticket-clockoff.component";
|
||||
import ScreenTimeTicketCreate from "../time-ticket/screen-time-ticket-create.component";
|
||||
|
||||
const ActiveJobStack = createNativeStackNavigator();
|
||||
const MoreStack = createNativeStackNavigator();
|
||||
@@ -160,6 +159,8 @@ const TimeTicketBrowserStackNavigator = connect(
|
||||
name="TimeTicketBrowser"
|
||||
options={{
|
||||
title: i18n.t("timeticketbrowser.titles.timeticketbrowsertab"),
|
||||
// eslint-disable-next-line react/display-name
|
||||
headerRight: () => <SignOutButton style={{ margin: 8 }} />,
|
||||
}}
|
||||
component={ScreenTimeTicketBrowser}
|
||||
/>
|
||||
|
||||
@@ -21,7 +21,7 @@ export default function ScreenSettingsComponent() {
|
||||
>
|
||||
<Title>
|
||||
{t("settings.labels.version", {
|
||||
number: `${Constants.manifest.version}-${Constants.manifest.extra.expover}`,
|
||||
number: `${Constants.expoConfig.version}-${Constants.expoConfig.extra.expover}`,
|
||||
})}
|
||||
</Title>
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import { Image, StyleSheet, Text, View } from "react-native";
|
||||
import { Button, TextInput, Title } from "react-native-paper";
|
||||
import { connect } from "react-redux";
|
||||
import { createStructuredSelector } from "reselect";
|
||||
import Logo from "../../assets/logo192.png";
|
||||
import Logo from "../../assets/RomeOnlineIcon.png";
|
||||
import { emailSignInStart } from "../../redux/user/user.actions";
|
||||
import {
|
||||
selectCurrentUser,
|
||||
|
||||
@@ -2,7 +2,7 @@ import React from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { ActivityIndicator, Image, StyleSheet, View } from "react-native";
|
||||
import { Title, Subheading, Divider } from "react-native-paper";
|
||||
import Logo from "../../assets/logo192.png";
|
||||
import Logo from "../../assets/RomeOnlineIcon.png";
|
||||
import SignOutButton from "../sign-out-button/sign-out-button.component";
|
||||
|
||||
export default function ScreenSplash({ noAccess }) {
|
||||
|
||||
@@ -1,18 +1,10 @@
|
||||
import React, { useCallback, useState, useRef } from "react";
|
||||
import moment from "moment";
|
||||
import {
|
||||
View,
|
||||
Text,
|
||||
StyleSheet,
|
||||
ScrollView,
|
||||
RefreshControl,
|
||||
FlatList,
|
||||
} from "react-native";
|
||||
import React, { useCallback, useState } from "react";
|
||||
import { FlatList, RefreshControl, StyleSheet, Text, View } from "react-native";
|
||||
import {
|
||||
ActivityIndicator,
|
||||
Button,
|
||||
Card,
|
||||
Headline,
|
||||
Subheading,
|
||||
} from "react-native-paper";
|
||||
import styles from "../styles";
|
||||
@@ -24,37 +16,37 @@ import { createStructuredSelector } from "reselect";
|
||||
import { employeeGetRatesStart } from "../../redux/employee/employee.actions";
|
||||
import {
|
||||
selectCurrentEmployee,
|
||||
selectRates,
|
||||
selectGettingRates,
|
||||
selectSignInError,
|
||||
selectEmployeeFullName,
|
||||
selectGettingRates,
|
||||
selectRates,
|
||||
selectSignInError,
|
||||
} from "../../redux/employee/employee.selectors";
|
||||
import { selectBodyshop } from "../../redux/user/user.selectors";
|
||||
|
||||
import CostCenterSelect from "../Selects/select-cost-center";
|
||||
import ErrorDisplay from "../error-display/error-display.component";
|
||||
import { useMutation, useQuery } from "@apollo/client";
|
||||
import {
|
||||
INSERT_NEW_TIME_TICKET,
|
||||
QUERY_ACTIVE_TIME_TICKETS,
|
||||
} from "../../graphql/timetickets.queries";
|
||||
import {
|
||||
selectCurrentTimeTicketJob,
|
||||
selectCurrentTimeTicketJobId,
|
||||
} from "../../redux/timetickets/timetickets.selectors";
|
||||
import { INSERT_NEW_TIME_TICKET } from "../../graphql/timetickets.queries";
|
||||
import { useMutation, useQuery } from "@apollo/client";
|
||||
import { QUERY_ACTIVE_TIME_TICKETS } from "../../graphql/timetickets.queries";
|
||||
import CostCenterSelect from "../Selects/select-cost-center";
|
||||
import ErrorDisplay from "../error-display/error-display.component";
|
||||
|
||||
// import EmployeeClockedInList from "../time-ticket-lists/employee-clockedin-list.component";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import ClockedinListItem from "../time-ticket-items/clockedin-list-item.component";
|
||||
import SignOutButton from "../Buttons/employee-sign-out-button.component";
|
||||
import AddTimeTicketButton from "../Buttons/create-time-ticket-button.component";
|
||||
|
||||
import KeyboardAvoidingComponent from "../keyboards/KeyboardAvoidingComponent";
|
||||
import JobSearchAndSelectModal from "../Modals/JobSearchAndSelectModal";
|
||||
import { useNavigation } from "@react-navigation/native";
|
||||
import JobSearchAndSelectModal from "../Modals/JobSearchAndSelectModal";
|
||||
import KeyboardAvoidingComponent from "../keyboards/KeyboardAvoidingComponent";
|
||||
|
||||
const mapStateToProps = createStructuredSelector({
|
||||
currentEmployee: selectCurrentEmployee,
|
||||
loaderGettingRates: selectGettingRates,
|
||||
signingError: selectSignInError,
|
||||
signinError: selectSignInError,
|
||||
currentBodyshop: selectBodyshop,
|
||||
currentRatesNCostCenters: selectRates,
|
||||
currentSelectedTimeTicketJobId: selectCurrentTimeTicketJobId,
|
||||
@@ -68,14 +60,9 @@ const mapDispatchToProps = (dispatch) => ({
|
||||
});
|
||||
|
||||
export function ScreenTimeTicketBrowser({
|
||||
loaderGettingRates,
|
||||
currentEmployee,
|
||||
employeeGetRatesStart,
|
||||
signingError,
|
||||
currentBodyshop,
|
||||
currentRatesNCostCenters,
|
||||
currentSelectedTimeTicketJob,
|
||||
currentSelectedTimeTicketJobId,
|
||||
currentEmployeeFullName,
|
||||
}) {
|
||||
const { t } = useTranslation();
|
||||
@@ -198,7 +185,6 @@ export function ScreenTimeTicketBrowser({
|
||||
<Card style={localStyles.localCardStyle}>
|
||||
<Card.Title
|
||||
title={t("timeticketbrowser.labels.loggedinemployee")}
|
||||
right={(props) => <SignOutButton style={{margin:8}}/>}
|
||||
/>
|
||||
<Card.Content>
|
||||
{currentEmployeeFullName && (
|
||||
@@ -226,9 +212,7 @@ export function ScreenTimeTicketBrowser({
|
||||
icon="plus"
|
||||
style={{ margin: 8 }}
|
||||
>
|
||||
<Text >
|
||||
{t("timeticketbrowser.actions.ticket")}
|
||||
</Text>
|
||||
<Text>{t("timeticketbrowser.actions.ticket")}</Text>
|
||||
</Button>
|
||||
{/* <Button
|
||||
mode="outlined"
|
||||
|
||||
Reference in New Issue
Block a user