{"version":3,"file":"react/js/main-d870f93f.a871aa360c8714a80dbe.js","mappings":"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","sources":["webpack:///./src/pages/sections/applicationUsers/ApplicationUsersDataGrid.tsx","webpack:///./src/pages/sections/applicationUsers/ApplicationUsers.tsx","webpack:///./src/pages/sections/applicationUsers/account/UserChangePassword.tsx","webpack:///./src/pages/sections/applicationUsers/account/UserConfirmEmail.tsx","webpack:///./src/pages/sections/applicationUsers/account/components/UserProfileAddressForm.tsx","webpack:///./src/pages/sections/applicationUsers/account/components/UserProfileUserInformationForm.tsx","webpack:///./src/pages/sections/applicationUsers/account/UserProfile.tsx","webpack:///./src/pages/sections/applicationUsers/account/components/UserRegisterUserInformationForm.tsx","webpack:///./src/pages/sections/applicationUsers/account/UserRegister.tsx","webpack:///./src/pages/sections/applicationUsers/account/components/UserRequestPasswordResetComponent.tsx","webpack:///./src/pages/sections/applicationUsers/account/components/UserPasswordResetComponent.tsx","webpack:///./src/pages/sections/applicationUsers/account/UserResetPassword.tsx","webpack:///./src/pages/sections/applicationUsers/account/components/FieldTitle.tsx","webpack:///./src/pages/sections/applicationUsers/account/components/PasswordField.tsx","webpack:///./src/pages/sections/applicationUsers/orders/OrderHistoryAllMain.tsx","webpack:///./src/pages/sections/applicationUsers/orders/Utilities.tsx","webpack:///./src/pages/sections/applicationUsers/account/Utilities.tsx","webpack:///./src/pages/sections/applicationUsers/orders/OrderHistoryInvoiceModal.tsx","webpack:///./src/pages/sections/applicationUsers/orders/OrderHistoryList.tsx","webpack:///./src/pages/sections/applicationUsers/orders/OrderHistoryUserMain.tsx"],"sourcesContent":["import React from 'react';\r\nimport\r\n{\r\n DataGrid,\r\n GridRenderCellParams,\r\n} from '@mui/x-data-grid';\r\nimport {Theme, Typography, useTheme} from '@mui/material';\r\n//import { useGetAllUsersQuery } from '../../../stores/api/userOperations/UserOperationsQueries';\r\n\r\nconst UsersDataGrid = () =>\r\n{\r\n const theme: Theme = useTheme();\r\n // const {\r\n // data: users,\r\n // error,\r\n // isLoading,\r\n // } = useGetAllUsersQuery();\r\n\r\n // if (isLoading) {\r\n // return
Hello Sean - Loading...
;\r\n // }\r\n\r\n // if (error) {\r\n // return
Error: {`${error}`}
;\r\n // }\r\n\r\n let userCounter = 0;\r\n\r\n const columns = [\r\n {\r\n field: 'id',\r\n headerName: 'No',\r\n flex: 0.5,\r\n minWidth: 50,\r\n renderCell: (\r\n params: GridRenderCellParams,\r\n ) => (\r\n \r\n {params.value}\r\n \r\n ),\r\n },\r\n {\r\n field: 'firstName',\r\n headerName: 'First name',\r\n flex: 1.5,\r\n minWidth: 100,\r\n renderCell: (\r\n params: GridRenderCellParams,\r\n ) => params.value,\r\n },\r\n {\r\n field: 'lastName',\r\n headerName: 'Last name',\r\n flex: 1.5,\r\n minWidth: 100,\r\n renderCell: (\r\n params: GridRenderCellParams,\r\n ) => params.value,\r\n },\r\n {\r\n field: 'email',\r\n headerName: 'Email',\r\n flex: 2.5,\r\n minWidth: 200,\r\n renderCell: (\r\n params: GridRenderCellParams,\r\n ) => (\r\n \r\n {params.value}\r\n \r\n ),\r\n },\r\n {\r\n field: 'defaultRole',\r\n headerName: 'Role',\r\n flex: 1,\r\n minWidth: 100,\r\n renderCell: (\r\n params: GridRenderCellParams,\r\n ) => (\r\n \r\n {params.value}\r\n \r\n ),\r\n },\r\n {\r\n field: 'isLocked',\r\n headerName: 'Locked',\r\n minWidth: 50,\r\n flex: 0.5,\r\n renderCell: (\r\n params: GridRenderCellParams,\r\n ) => (params.value ? 'Yes' : 'No'), // Custom rendering for locked status\r\n },\r\n ];\r\n\r\n // Define the rows for the DataGrid\r\n // const rows =\r\n // users?.map((user: any) => ({\r\n // id: ++userCounter,\r\n // firstName: user.firstName,\r\n // lastName: user.lastName,\r\n // email: user.email,\r\n // defaultRole: user.defaultRole,\r\n // isLocked: user.isLocked ? 'Yes' : 'No',\r\n // })) || []; \r\n\r\n // return (\r\n //
\r\n // \r\n //
\r\n // );\r\n\r\n return (\r\n \r\n To Be Implemented (again)\r\n \r\n );\r\n};\r\n\r\nexport default UsersDataGrid;\r\n","import * as React from 'react';\r\n\r\nimport {\r\n Box,\r\n Container,\r\n Theme,\r\n Typography,\r\n useTheme,\r\n} from '@mui/material';\r\nimport { LoremIpsum } from 'lorem-ipsum';\r\nimport {\r\n UserRole,\r\n withSecurity,\r\n} from '../../../types/authenticationTypes';\r\nimport ApplicationUsersDataGrid from './ApplicationUsersDataGrid';\r\n\r\nconst ApplicationUsers: React.FC<{}> = ({ }) => {\r\n const theme: Theme = useTheme();\r\n\r\n const contentText = new LoremIpsum({\r\n sentencesPerParagraph: {\r\n max: 12,\r\n min: 8,\r\n },\r\n wordsPerSentence: {\r\n max: 32,\r\n min: 16,\r\n },\r\n });\r\n\r\n const paragraphsBefore: string =\r\n contentText.generateParagraphs(1);\r\n const paragraphsAfter: string =\r\n contentText.generateParagraphs(14);\r\n\r\n const actualParagraphs = (text: string) => {\r\n return text\r\n .split('\\n')\r\n .map((paragraph, index) => {\r\n return (\r\n \r\n { paragraph }\r\n \r\n );\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n Application Users (Secure Area)\r\n \r\n\r\n { actualParagraphs(paragraphsBefore) }\r\n\r\n \r\n \r\n \r\n\r\n { actualParagraphs(paragraphsAfter) }\r\n \r\n );\r\n};\r\n\r\nexport default withSecurity(\r\n ApplicationUsers,\r\n UserRole.PowerUser,\r\n);\r\n","import * as React from 'react';\r\n\r\nimport { Box, Button, Container, Divider, Grid, Stack, Theme, Typography, useTheme } from '@mui/material';\r\nimport StyledPaperComponent from '../../../../components/styled/StyledCardComponents/StyledPaperComponent';\r\n\r\nimport { useAuth } from '../../../../providers/AuthProvider';\r\nimport { IRestApiUpdatePasswordRequestDTO } from '../../../../stores/api/Generated/Entities/RestApiUpdatePasswordRequestDTO';\r\nimport { useEffect, useState } from 'react';\r\nimport { Form, Formik, FormikHelpers, FormikProps } from 'formik';\r\n\r\nimport UserChangePasswordValidator from '../../../../validators/UserChangePasswordValidator';\r\nimport { notNullOrUndefinedOrEmpty } from '../../../../utilities/Utils';\r\nimport { UserRole, withSecurity } from '../../../../types/authenticationTypes';\r\nimport { restApiUserAccount } from '../../../../stores/api/Generated/Endpoints/RestApiUserAccount';\r\nimport FieldLabel from './components/FieldTitle';\r\nimport PasswordField from './components/PasswordField';\r\n\r\n\r\nexport interface IUserAccountProps { }\r\n\r\nconst getInitialValues = (): IRestApiUpdatePasswordRequestDTO => {\r\n return {\r\n confirmPassword: '',\r\n email: '',\r\n newPassword: '',\r\n oldPassword: ''\r\n };\r\n}\r\n\r\nconst UserChangePassword: React.FC = (props: IUserAccountProps) => {\r\n const theme: Theme = useTheme();\r\n\r\n const [updatePasswordTrigger] = restApiUserAccount.hooks.mutations.updatePassword();\r\n\r\n const { user } = useAuth();\r\n\r\n const [isSuccess, setIsSuccess] = useState(false);\r\n\r\n const [resultMessage, setResultMessage] = useState(null);\r\n\r\n const [formData, setFormData] = useState(getInitialValues());\r\n\r\n useEffect(() => {\r\n if (formData.email === user?.email) {\r\n return;\r\n }\r\n if (notNullOrUndefinedOrEmpty(user?.email)) {\r\n setFormData({ ...formData, email: user?.email });\r\n }\r\n }, [user])\r\n\r\n const changePasswordSubmit = async (values: IRestApiUpdatePasswordRequestDTO, actions: FormikHelpers) => {\r\n await updatePasswordTrigger({\r\n updatePasswordRequestDTO: values\r\n })\r\n .unwrap()\r\n .then((response) => {\r\n setIsSuccess(response.success ?? false)\r\n setResultMessage(isSuccess ? \"Successfully changed password.\" : response.message)\r\n })\r\n .catch((error) => {\r\n setIsSuccess(false);\r\n console.error('Failed to update password.', error);\r\n });\r\n };\r\n\r\n const renderFormik = () => {\r\n return (\r\n \r\n { (formik: FormikProps) => {\r\n const { isValid } = formik;\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Change Password\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n );\r\n } }\r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n { (resultMessage ?? null) && (\r\n\r\n \r\n { resultMessage }\r\n \r\n\r\n ) }\r\n\r\n { !isSuccess && (\r\n \r\n { renderFormik() }\r\n \r\n ) }\r\n\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default withSecurity(\r\n UserChangePassword,\r\n UserRole.Guest,\r\n);","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { Box, Container, Stack, Theme, Typography, useTheme } from \"@mui/material\";\r\n\r\nimport StyledPaperComponent from \"../../../../components/styled/StyledCardComponents/StyledPaperComponent\";\r\nimport UserPasswordResetComponent from \"./components/UserPasswordResetComponent\";\r\nimport { restApiUserAccount } from \"../../../../stores/api/Generated/Endpoints/RestApiUserAccount\";\r\nimport useLoadingDialog from \"../../../../hooks/useLoadingDialog\";\r\n\r\n\r\nconst UserConfirmEmail: React.FC<{}> = () => {\r\n const searchParams = new URLSearchParams(window.location.search);\r\n\r\n const token = searchParams.get('token');\r\n const email = searchParams.get('email');\r\n\r\n const theme: Theme = useTheme();\r\n\r\n const [confirmEmailTrigger] = restApiUserAccount.hooks.mutations.confirmEmail();\r\n\r\n const { showWithMessage, hide } = useLoadingDialog();\r\n\r\n const [isSuccess, setIsSuccess] = useState(false);\r\n\r\n const hasRun = useRef(false);\r\n\r\n const resultMessage = () => {\r\n if (!(token && email)) {\r\n return 'Sorry no reset token or email was provided. Please check the link again and contact us if you need help.'\r\n }\r\n\r\n if (isSuccess) {\r\n return 'Thank you, your email has been confirmed.'\r\n } else {\r\n return 'There was a problem confirming your email. Please check the link again and contact us if you need help.'\r\n }\r\n }\r\n\r\n const handleSubmit = async () => {\r\n if (token && email) {\r\n showWithMessage('Confirming email. Please wait.')\r\n\r\n await confirmEmailTrigger({\r\n confirmEmailRequestDTO: {\r\n email: email,\r\n token: token\r\n }\r\n })\r\n .unwrap()\r\n .then((response: any) => {\r\n setIsSuccess(response?.error ? false : true);\r\n })\r\n .catch(() => {\r\n setIsSuccess(false);\r\n })\r\n .finally(() => {\r\n hide();\r\n });\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (!hasRun.current && token !== null && email !== null) {\r\n handleSubmit();\r\n hasRun.current = true;\r\n }\r\n }, [token, email])\r\n\r\n return (\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n { resultMessage() }\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n );\r\n};\r\n\r\nexport default UserConfirmEmail;","import React from 'react';\r\nimport { Grid, MenuItem, TextField } from '@mui/material';\r\nimport { FormikErrors, FormikTouched } from 'formik';\r\n\r\nimport { getNestedValue } from '../../../../../utilities/Utils';\r\nimport { IRestApiUserAddressDTO } from '../../../../../stores/api/Generated/Entities/RestApiUserAddressDTO';\r\nimport { IRestApiApplicationUser } from '../../../../../stores/api/Generated/Entities/RestApiApplicationUser';\r\nimport { useUSState } from '../../../../../providers/USStateProvider';\r\nimport { KeyValuePair } from '../../../../../types/keyValuePair';\r\n\r\ninterface UserProfileAddressFormProps {\r\n name: string;\r\n address?: IRestApiUserAddressDTO;\r\n errors: FormikErrors;\r\n touched: FormikTouched;\r\n setFieldValue: (field: string, value: any) => void;\r\n setFieldTouched: (field: string, isTouched?: boolean, shouldValidate?: boolean) => Promise>;\r\n}\r\n\r\nconst UserProfileAddressForm: React.FC = ({ name, address, errors, touched, setFieldValue, setFieldTouched }) => {\r\n\r\n const { usStates, getStateByAbbreviation } = useUSState();\r\n\r\n const countries: KeyValuePair[] = [{ value: 'US', label: 'United States' }]\r\n\r\n const handleChange = (field: keyof IRestApiUserAddressDTO) => (event: React.ChangeEvent) => {\r\n setFieldValue(`${name}.${field}`, event.target.value);\r\n };\r\n\r\n const handleBlur = (field: keyof IRestApiUserAddressDTO) => (\r\n e: React.FocusEvent\r\n ) => {\r\n setFieldTouched(`${name}.${field}`);\r\n }\r\n\r\n const getFieldError = (fieldName: string): string | undefined => {\r\n const touchedField = getNestedValue(touched, `${name}.${fieldName}`);\r\n const errorField = getNestedValue(errors, `${name}.${fieldName}`);\r\n return touchedField && errorField ? errorField : undefined;\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setFieldValue(`${name}.stateAbbreviation`, event.target.value);\r\n setFieldValue(`${name}.state`, getStateByAbbreviation(event.target.value)?.label);\r\n } }\r\n >\r\n { usStates.map((option) => (\r\n \r\n { option.label }\r\n \r\n )) }\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n { countries.map((option) => (\r\n \r\n { option.label }\r\n \r\n )) }\r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default UserProfileAddressForm;","import React, { useEffect, useState } from 'react';\r\nimport { Grid, Theme, useTheme } from '@mui/material';\r\nimport { FormikProps } from 'formik';\r\n\r\nimport { IRestApiUserInformationDTO } from '../../../../../stores/api/Generated/Entities/RestApiUserInformationDTO';\r\n\r\nimport CheckoutInformationFormSelectField from '../../../cart/checkout/components/CheckoutInformationFormSelectField';\r\nimport CheckoutInformationFormStringField from '../../../cart/checkout/components/CheckoutInformationFormStringField';\r\n\r\n\r\ninterface UserProfileUserInformationFormProps {\r\n formik: FormikProps;\r\n}\r\n\r\nconst UserProfileUserInformationForm: React.FC = (props: UserProfileUserInformationFormProps) => {\r\n const theme: Theme = useTheme();\r\n\r\n const [showOtherTitle, setShowOtherTitle] = useState(false);\r\n\r\n useEffect(() => {\r\n setShowOtherTitle(false);\r\n\r\n if (props.formik.values.title == 'Other') {\r\n setShowOtherTitle(true);\r\n }\r\n\r\n }, [props.formik.values.title]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n { showOtherTitle ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n  \r\n \r\n ) }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default UserProfileUserInformationForm;","import React, { useState } from \"react\";\r\nimport { Box, Button, Container, Grid, Stack, Tab, Tabs, Theme, Typography, useTheme } from \"@mui/material\";\r\nimport { Form, Formik, FormikHelpers, FormikProps } from \"formik\";\r\nimport StyledPaperComponent from \"../../../../components/styled/StyledCardComponents/StyledPaperComponent\";\r\n\r\nimport { useAuth } from \"../../../../providers/AuthProvider\";\r\nimport useLoadingDialog from \"../../../../hooks/useLoadingDialog\";\r\nimport { withSecurity, UserRole } from \"../../../../types/authenticationTypes\";\r\nimport useRestApiInvalidateTags from \"../../../../stores/api/Generated/useRestApiInvalidateTags\";\r\nimport { restApiUserAccount } from \"../../../../stores/api/Generated/Endpoints/RestApiUserAccount\";\r\nimport { restApiUserOperations } from \"../../../../stores/api/Generated/Endpoints/RestApiUserOperations\";\r\nimport { IRestApiApplicationUser } from \"../../../../stores/api/Generated/Entities/RestApiApplicationUser\";\r\nimport { IRestApiUpdateUserProfileRequestDTO } from \"../../../../stores/api/Generated/Entities/RestApiUpdateUserProfileRequestDTO\";\r\n\r\nimport UserProfileAddressForm from \"./components/UserProfileAddressForm\";\r\nimport UserProfileUserInformationForm from \"./components/UserProfileUserInformationForm\";\r\nimport UserProfileValidator from \"../../../../validators/UserProfileValidator\";\r\n\r\nimport CancelIcon from '@mui/icons-material/Cancel';\r\nimport DoneIcon from '@mui/icons-material/Done';\r\nimport { useNavigate } from \"react-router-dom\";\r\n\r\nexport interface IUserProfileProps { }\r\n\r\nconst UserProfile: React.FC = (props: IUserProfileProps) => {\r\n const theme: Theme = useTheme();\r\n\r\n const { user } = useAuth();\r\n\r\n const navigate = useNavigate();\r\n\r\n const { showWithMessage, hide } = useLoadingDialog();\r\n\r\n const [tabIndex, setTabIndex] = useState(0);\r\n\r\n const [isSuccess, setIsSuccess] = useState(false);\r\n\r\n const { invalidateTags } = useRestApiInvalidateTags();\r\n\r\n\r\n const getUserQueryArgs = user ? { userEmail: user.email } : undefined;\r\n\r\n const [updateUserProfileTrigger] = restApiUserAccount.hooks.mutations.updateUserProfile();\r\n\r\n const { data } = getUserQueryArgs ? restApiUserOperations.endpoints.getUser.useQuery(getUserQueryArgs) : { data: null };\r\n\r\n const goBack = () => { navigate(-1); };\r\n\r\n const handleTabChange = (event: React.SyntheticEvent, newValue: number) => {\r\n setTabIndex(newValue);\r\n };\r\n\r\n const handleSubmit = async (values: IRestApiApplicationUser, actions: FormikHelpers) => {\r\n actions.setSubmitting(true);\r\n\r\n showWithMessage('Updating user profile.');\r\n\r\n const updatedData: IRestApiUpdateUserProfileRequestDTO = {\r\n information: {\r\n title: values.title,\r\n titleOther: values.titleOther,\r\n firstName: values.firstName,\r\n middleName: values.middleName,\r\n lastName: values.lastName,\r\n company: values.company,\r\n email: values.email,\r\n phone: values.phone\r\n },\r\n addresses: values.addresses\r\n\r\n }\r\n\r\n await updateUserProfileTrigger({\r\n updateUserProfileRequestDTO: updatedData\r\n }).unwrap()\r\n .then((response: any) => {\r\n setIsSuccess(response?.error ? false : true);\r\n })\r\n .catch(() => {\r\n setIsSuccess(false);\r\n })\r\n .finally(() => {\r\n actions.setSubmitting(false);\r\n invalidateTags('UserOperations');\r\n hide();\r\n });\r\n\r\n }\r\n\r\n if (isSuccess) {\r\n return (\r\n \r\n \r\n \r\n Your Profile has been updated.\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n { data && (\r\n \r\n { (formik: FormikProps) => {\r\n const { isValid, setFieldValue, setFieldTouched, errors, touched } = formik;\r\n\r\n return (\r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { tabIndex === 0 &&\r\n }\r\n { tabIndex === 1 &&\r\n }\r\n { tabIndex === 2 &&\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n } }\r\n \r\n ) }\r\n
\r\n );\r\n}\r\n\r\nexport default withSecurity(\r\n UserProfile,\r\n UserRole.User,\r\n);","import React, { useEffect, useState } from 'react';\r\nimport { Grid, MenuItem, TextField, Theme, useTheme } from '@mui/material';\r\nimport { FormikErrors, FormikProps, FormikTouched } from 'formik';\r\n\r\nimport { IRestApiRegisterUserDTO } from '../../../../../stores/api/Generated/Entities/RestApiRegisterUserDTO';\r\nimport { IRestApiUserInformationDTO } from '../../../../../stores/api/Generated/Entities/RestApiUserInformationDTO';\r\n\r\nimport { getNestedValue } from '../../../../../utilities/Utils';\r\n\r\ninterface UserRegisterUserInformationFormProps {\r\n name: string;\r\n userInformation?: IRestApiUserInformationDTO;\r\n errors: FormikErrors;\r\n touched: FormikTouched;\r\n setFieldValue: (field: string, value: any) => void;\r\n setFieldTouched: (field: string, isTouched?: boolean, shouldValidate?: boolean) => Promise>;\r\n}\r\n\r\nconst UserRegisterUserInformationForm: React.FC = ({ name, userInformation, errors, touched, setFieldValue, setFieldTouched }) => {\r\n const theme: Theme = useTheme();\r\n\r\n const [showOtherTitle, setShowOtherTitle] = useState(false);\r\n\r\n const titles = [\r\n { value: 'None', label: 'None' },\r\n { value: 'Mr', label: 'Mr' },\r\n { value: 'Mrs', label: 'Mrs' },\r\n { value: 'Miss', label: 'Miss' },\r\n { value: 'Ms', label: 'Ms' },\r\n { value: 'Dr', label: 'Dr' },\r\n { value: 'Prof', label: 'Prof' },\r\n { value: 'Rev', label: 'Rev' },\r\n { value: 'Other', label: 'Other' }\r\n ]\r\n\r\n useEffect(() => {\r\n setShowOtherTitle(false);\r\n\r\n if (userInformation?.title == 'Other') {\r\n setShowOtherTitle(true);\r\n }\r\n\r\n }, [userInformation?.title]);\r\n\r\n const handleChange = (field: keyof IRestApiUserInformationDTO) => (event: React.ChangeEvent) => {\r\n setFieldValue(`${name}.${field}`, event.target.value);\r\n };\r\n\r\n const handleBlur = (field: keyof IRestApiUserInformationDTO) => (\r\n e: React.FocusEvent\r\n ) => {\r\n setFieldTouched(`${name}.${field}`);\r\n }\r\n\r\n const getFieldError = (fieldName: string): string | undefined => {\r\n const touchedField = getNestedValue(touched, `${name}.${fieldName}`);\r\n const errorField = getNestedValue(errors, `${name}.${fieldName}`);\r\n return touchedField && errorField ? errorField : undefined;\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n { titles.map((option) => (\r\n \r\n { option.label }\r\n \r\n )) }\r\n \r\n \r\n { showOtherTitle ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n  \r\n \r\n ) }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default UserRegisterUserInformationForm;","import * as React from 'react';\r\nimport { useState } from 'react';\r\n\r\nimport { Container, Button, Grid, Box, Typography, Theme, useTheme } from '@mui/material';\r\nimport { Formik, FormikHelpers, FormikProps, Form } from 'formik';\r\n\r\nimport { IRestApiRegisterUserDTO } from '../../../../stores/api/Generated/Entities/RestApiRegisterUserDTO';\r\nimport { restApiUserAccount } from '../../../../stores/api/Generated/Endpoints/RestApiUserAccount';\r\n\r\nimport StyledPaperComponent from '../../../../components/styled/StyledCardComponents/StyledPaperComponent';\r\nimport useLoadingDialog from '../../../../hooks/useLoadingDialog';\r\nimport PasswordField from './components/PasswordField';\r\nimport UserRegisterValidator from '../../../../validators/UserRegisterValidator';\r\nimport UserRegisterUserInformationForm from './components/UserRegisterUserInformationForm';\r\nimport { useNavigate } from 'react-router-dom';\r\n\r\nimport CancelIcon from '@mui/icons-material/Cancel';\r\nimport DoneIcon from '@mui/icons-material/Done';\r\n\r\nconst UserRegister: React.FC<{}> = ({ }) => {\r\n const theme: Theme = useTheme();\r\n\r\n const navigate = useNavigate();\r\n\r\n const { showWithMessage, hide } = useLoadingDialog();\r\n\r\n const [isSuccess, setIsSuccess] = useState(false);\r\n\r\n const [registerUserTrigger] = restApiUserAccount.hooks.mutations.registerUser();\r\n\r\n const initialValues = {\r\n password: '',\r\n confirmPassword: '',\r\n userInformation: {\r\n title: 'None',\r\n titleOther: '',\r\n firstName: '',\r\n lastName: '',\r\n phone: '',\r\n email: ''\r\n }\r\n }\r\n\r\n const goBack = () => { navigate(-1); };\r\n\r\n const handleSubmit = async (values: IRestApiRegisterUserDTO, actions: FormikHelpers) => {\r\n actions.setSubmitting(true);\r\n\r\n showWithMessage('Registering User.');\r\n\r\n await registerUserTrigger({\r\n registerUserDTO: values\r\n }).unwrap()\r\n .then((response: any) => {\r\n setIsSuccess(response?.error ? false : true);\r\n })\r\n .catch(() => {\r\n setIsSuccess(false);\r\n })\r\n .finally(() => {\r\n actions.setSubmitting(false);\r\n hide();\r\n });\r\n }\r\n\r\n if (isSuccess) {\r\n return (\r\n \r\n \r\n \r\n Your account has been made. Please click the link on the email sent sent to you in order to confirm your account then log in using the credentials you provided.\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n { (formik: FormikProps) => {\r\n const { isValid, setFieldValue, setFieldTouched, errors, touched } = formik;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n }\r\n \r\n\r\n
\r\n\r\n );\r\n}\r\n\r\nexport default UserRegister;\r\n\r\nfunction showWithMessage(arg0: string) {\r\n throw new Error('Function not implemented.');\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Box, Grid, TextField, Button, Typography, Theme, useTheme } from '@mui/material';\r\nimport { Formik, Field, Form } from 'formik';\r\nimport * as Yup from 'yup';\r\n\r\nimport { useAuth } from '../../../../../providers/AuthProvider';\r\nimport { restApiUserAccount } from '../../../../../stores/api/Generated/Endpoints/RestApiUserAccount';\r\nimport FieldLabel from './FieldTitle';\r\n\r\n\r\nconst UserRequestPasswordResetComponent: React.FC = () =>\r\n{\r\n const theme: Theme = useTheme();\r\n\r\n const { user } = useAuth();\r\n\r\n const [ isSuccess, setIsSuccess ] = useState(false);\r\n\r\n const requestResetSchema = Yup.object().shape({\r\n email: Yup.string()\r\n .email('Invalid email address')\r\n .required('Email is required'),\r\n });\r\n\r\n const [ requestPasswordResetTrigger ] = restApiUserAccount.hooks.mutations.requestPasswordReset();\r\n\r\n\r\n const handleSubmit = (values: { email: string }, { setSubmitting }: { setSubmitting: (isSubmitting: boolean) => void }) =>\r\n {\r\n setSubmitting(true);\r\n\r\n requestPasswordResetTrigger({\r\n requestResetPasswordRequestDTO: {\r\n email: values.email\r\n }\r\n })\r\n .unwrap()\r\n .then((response: any) =>\r\n {\r\n setIsSuccess(response?.error ? false : true);\r\n })\r\n .catch((error) =>\r\n {\r\n setIsSuccess(false);\r\n console.error('Failed to update password.', error);\r\n });\r\n\r\n setSubmitting(false);\r\n };\r\n\r\n if (isSuccess)\r\n {\r\n return (\r\n \r\n Your password reset request has been sent, please check your email in a few moments.
\r\n The reset link will be valid for 1 hour.\r\n
\r\n );\r\n }\r\n\r\n return (\r\n\r\n \r\n { ({ errors, touched, isSubmitting, isValid }) => (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Reset Password\r\n \r\n \r\n \r\n
\r\n ) }\r\n \r\n\r\n );\r\n};\r\n\r\nexport default UserRequestPasswordResetComponent;","import React, { useState } from \"react\";\r\nimport { Formik, Form, FormikProps } from \"formik\";\r\nimport { Typography, Button, Grid, Theme, useTheme } from \"@mui/material\";\r\nimport { restApiUserAccount } from \"../../../../../stores/api/Generated/Endpoints/RestApiUserAccount\";\r\nimport UserPasswordResetValidator from \"../../../../../validators/UserPasswordResetValidator\";\r\nimport FieldLabel from \"./FieldTitle\";\r\nimport PasswordField from \"./PasswordField\";\r\nimport useLoadingDialog from \"../../../../../hooks/useLoadingDialog\";\r\n\r\ninterface IUserPasswordResetComponentProps {\r\n token: string;\r\n email: string;\r\n}\r\n\r\ninterface PasswordResetFormValues {\r\n newPassword: string;\r\n confirmPassword: string;\r\n}\r\n\r\nconst UserPasswordResetComponent: React.FC = ({ token, email }) => {\r\n const theme: Theme = useTheme();\r\n\r\n const [resetPasswordTrigger] = restApiUserAccount.hooks.mutations.resetPassword();\r\n\r\n const { showWithMessage, hide } = useLoadingDialog();\r\n\r\n const [isSuccess, setIsSuccess] = useState(false);\r\n\r\n const [isError, setIsError] = useState(false);\r\n\r\n const initialValues = { newPassword: '', confirmPassword: '' };\r\n\r\n const handleSubmit = async (values: { newPassword: string; confirmPassword: string }, { setSubmitting }: { setSubmitting: (isSubmitting: boolean) => void }) => {\r\n setSubmitting(true);\r\n setIsError(false);\r\n\r\n showWithMessage('Updating password, please wait...');\r\n\r\n await resetPasswordTrigger({\r\n resetPasswordRequestDTO: {\r\n email: email,\r\n token: token,\r\n newPassword: values.newPassword\r\n }\r\n })\r\n .unwrap()\r\n .then((response: any) => {\r\n setIsSuccess(response?.error ? false : true);\r\n })\r\n .catch(() => {\r\n setIsSuccess(false);\r\n setIsError(true);\r\n })\r\n .finally(() => {\r\n setSubmitting(false);\r\n hide();\r\n });\r\n };\r\n\r\n if (isSuccess) {\r\n return Your password has been successfully changed. You can now log in with your new password.;\r\n }\r\n\r\n if (isError) {\r\n return There was a problem resetting your password. Please check the link again and if the problem persists please contact us for assistance.;\r\n }\r\n\r\n const renderFormFields = (formik: FormikProps) => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n { formik => {\r\n return renderFormFields(formik);\r\n } }\r\n \r\n );\r\n};\r\n\r\nexport default UserPasswordResetComponent;\r\n","import React from \"react\";\r\nimport { Box, Container, Stack } from \"@mui/material\";\r\n\r\nimport UserRequestPasswordResetComponent from \"./components/UserRequestPasswordResetComponent\";\r\nimport StyledPaperComponent from \"../../../../components/styled/StyledCardComponents/StyledPaperComponent\";\r\nimport UserPasswordResetComponent from \"./components/UserPasswordResetComponent\";\r\n\r\ninterface UserResetPasswordProps { }\r\n\r\nconst UserResetPassword: React.FC = () =>\r\n{\r\n const searchParams = new URLSearchParams(window.location.search);\r\n\r\n const token = searchParams.get('token');\r\n const email = searchParams.get('email');\r\n\r\n return (\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n { token && email ? (\r\n \r\n ) : (\r\n \r\n ) }\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n );\r\n};\r\n\r\nexport default UserResetPassword;","import React from 'react';\r\nimport { Grid, Theme, Typography, useTheme } from '@mui/material';\r\n\r\ninterface FieldLabelProps {\r\n label: string\r\n}\r\n\r\nconst FieldLabel: React.FC = ({ label }) => {\r\n const theme: Theme = useTheme();\r\n\r\n return (\r\n \r\n \r\n { label }\r\n \r\n \r\n );\r\n};\r\n\r\nexport default FieldLabel;","import * as React from 'react';\r\nimport { Theme, useTheme, IconButton, InputAdornment, OutlinedInput, FormHelperText, styled, FormControl, InputLabel } from '@mui/material';\r\nimport { Visibility, VisibilityOff } from '@mui/icons-material';\r\nimport { useField } from 'formik';\r\n\r\nexport interface IPasswordFieldProps {\r\n name: string;\r\n label: string;\r\n}\r\n\r\nconst StyledFormControl = styled(FormControl)(({ theme }) => ({\r\n margin: '4px 0px'\r\n}));\r\n\r\nconst PasswordField: React.FC = ({ name, label }) => {\r\n const theme: Theme = useTheme();\r\n const [field, meta] = useField(name);\r\n const [showPassword, setShowPassword] = React.useState(false);\r\n\r\n const handleClickShowPassword = () => {\r\n setShowPassword(!showPassword);\r\n };\r\n\r\n const handleMouseDownPassword = (event: React.MouseEvent) => {\r\n event.preventDefault();\r\n };\r\n\r\n return (\r\n \r\n \r\n { label }\r\n \r\n \r\n \r\n { showPassword ? : }\r\n \r\n \r\n }\r\n label={ label }\r\n />\r\n \r\n { meta.touched && meta.error ? meta.error : ' ' }\r\n \r\n \r\n );\r\n};\r\n\r\nexport default PasswordField;","import React from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { Box, Container, Grid, Typography, useTheme } from '@mui/material';\r\n\r\n\r\nimport { UserRole, withSecurity } from '../../../../types/authenticationTypes';\r\nimport { restApiOrders } from '../../../../stores/api/Generated/Endpoints/RestApiOrders';\r\nimport { useAuth } from '../../../../providers/AuthProvider';\r\n\r\nimport StyledPaperComponent from '../../../../components/styled/StyledCardComponents/StyledPaperComponent';\r\nimport ProductCategoriesMain from '../../administration/productCategories/ProductCategoriesMain';\r\nimport OrderHistoryList from './OrderHistoryList';\r\n\r\nconst OrderHistoryAllMain: React.FC<{}> = () => {\r\n const theme = useTheme();\r\n const navigate = useNavigate();\r\n const { user, loggedIn } = useAuth();\r\n\r\n const { data: ordersData, error: ordersError, isLoading: ordersLoading } = restApiOrders.hooks.queries.getAll();\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n Monitor customer order histories to ensure accurate record-keeping and efficient order management.\r\n Access comprehensive details for each transaction, including items ordered, payment status, and delivery updates.\r\n Easily manage invoices, track shipments, and assist customers with re-orders and inquiries.\r\n \r\n \r\n\r\n { ordersData && ordersData.length > 0 && (\r\n \r\n ) }\r\n\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default withSecurity(OrderHistoryAllMain, UserRole.User);\r\n","import { RestApiOrderStatus } from \"../../../../stores/api/Generated/Entities/RestApiOrderStatus\";\r\n\r\nexport const formatOrderNumber = (orderNumber: number, orderSuffix?: string): string =>\r\n{\r\n const suffix = orderSuffix ? orderSuffix : '';\r\n\r\n return `ORD:${orderNumber.toString().padStart(10, '0')}${suffix}`;\r\n};\r\n\r\nexport const getStatusDisplayValue = (status: RestApiOrderStatus): string =>\r\n{\r\n const statusDisplayMap: Record = {\r\n Created: \"Order Created\",\r\n AwaitingPayment: \"Awaiting Payment\",\r\n FailedPayment: \"Payment Failed\",\r\n Paid: \"Payment Received\",\r\n Completed: \"Order Completed\",\r\n Cancelled: \"Order Cancelled\"\r\n };\r\n\r\n return statusDisplayMap[ status ];\r\n};\r\n\r\nexport const formatAsCurrency = (amount: number): string =>\r\n{\r\n return new Intl.NumberFormat('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n }).format(amount);\r\n};","import dayjs from \"dayjs\";\r\n\r\nimport { CheckCircle, Error, Info, Warning } from '@mui/icons-material';\r\n\r\nimport { IRestApiUserAddressDTO } from \"../../../../stores/api/Generated/Entities/RestApiUserAddressDTO\";\r\nimport { IRestApiUserAddressesDTO } from \"../../../../stores/api/Generated/Entities/RestApiUserAddressesDTO\";\r\nimport { isNullOrUndefinedOrEmpty } from \"../../../../utilities/Utils\";\r\n\r\nimport UserAddressValidator from \"../../../../validators/UserAddressValidator\";\r\n\r\n\r\nexport const getCurrentAddressFromType = (addresses: IRestApiUserAddressesDTO, targetType: 'Billing' | 'Shipping' | 'Primary'): IRestApiUserAddressDTO | undefined =>\r\n{\r\n switch (targetType)\r\n {\r\n case 'Billing': return addresses?.billing;\r\n case 'Shipping': return addresses?.shipping;\r\n case 'Primary': return addresses?.primary;\r\n }\r\n}\r\n\r\nexport const isAddressValid = (address: IRestApiUserAddressDTO | undefined): boolean =>\r\n{\r\n const { validate } = UserAddressValidator;\r\n\r\n if (isNullOrUndefinedOrEmpty(address?.postalCode))\r\n {\r\n return false;\r\n }\r\n\r\n return validate(address!);\r\n}\r\n\r\nexport const formatDateString = (dateString: string): string =>\r\n{\r\n return dayjs(dateString, 'DD/MM/YYYY HH:mm:ss.SSS [GMT]Z').format('MMMM Do YYYY, hh.mma');\r\n};\r\n\r\nconst getDaySuffix = (day: number): string =>\r\n{\r\n if (day >= 11 && day <= 13)\r\n {\r\n return 'th';\r\n }\r\n switch (day % 10)\r\n {\r\n case 1:\r\n return 'st';\r\n case 2:\r\n return 'nd';\r\n case 3:\r\n return 'rd';\r\n default:\r\n return 'th';\r\n }\r\n};\r\n\r\nexport const formatDateParts = (date: dayjs.Dayjs): string =>\r\n{\r\n const month = date.format('MMMM');\r\n const day = date.date();\r\n const year = date.year();\r\n const hour = date.hour();\r\n const minute = date.minute();\r\n const period = hour < 12 ? 'am' : 'pm';\r\n\r\n let currHour = hour;\r\n\r\n if (hour > 12) { currHour -= 12; }\r\n\r\n if (hour === 0) { currHour = 12; }\r\n\r\n const daySuffix = getDaySuffix(day);\r\n\r\n return `${day}${daySuffix} of ${month} ${year}, at ${currHour}:${minute < 10 ? '0' : ''}${minute}${period}`;\r\n};\r\n\r\nexport const parseDateString = (dateString: string) =>\r\n{\r\n return dayjs(dateString, 'DD/MM/YYYY HH:mm:ss.SSS [GMT]Z');\r\n};\r\n\r\nexport const getPaymentStatusIcon = (status: string) =>\r\n{\r\n switch (status)\r\n {\r\n case 'Created':\r\n case 'AwaitingPayment':\r\n return ;\r\n case 'FailedPayment':\r\n return ;\r\n case 'Paid':\r\n case 'Completed':\r\n return ;\r\n case 'Cancelled':\r\n return ;\r\n default:\r\n return null;\r\n }\r\n};","import * as React from 'react';\r\nimport Iframe from 'react-iframe';\r\nimport { Fragment, useEffect, useRef, useState } from 'react';\r\nimport { Backdrop, CircularProgress, Box, Dialog, DialogTitle, DialogContent, DialogActions, Button, useTheme, Theme, Typography } from '@mui/material';\r\n\r\nimport { IRestApiOrderDTO } from '../../../../stores/api/Generated/Entities/RestApiOrderDTO';\r\nimport { formatOrderNumber } from './Utilities';\r\nimport { isNullOrUndefinedOrEmpty } from '../../../../utilities/Utils';\r\nimport { Padding } from '@mui/icons-material';\r\n\r\nexport interface IOrderHistoryInvoiceModalProps\r\n{\r\n open: boolean;\r\n order: IRestApiOrderDTO;\r\n\r\n onClose: () => void;\r\n}\r\n\r\nconst OrderHistoryInvoiceModal: React.FC = (props: IOrderHistoryInvoiceModalProps) =>\r\n{\r\n const theme: Theme = useTheme();\r\n\r\n const { open, order, onClose } = props;\r\n\r\n const iframeRef = useRef(null);\r\n\r\n const [ loading, setLoading ] = useState(true);\r\n\r\n useEffect(() =>\r\n {\r\n setLoading(true);\r\n return () =>\r\n {\r\n setLoading(false); // Cleanup loading state on close\r\n };\r\n }, [ open ]);\r\n\r\n const handlePrint = () =>\r\n {\r\n if (iframeRef.current?.contentWindow)\r\n {\r\n iframeRef.current.contentWindow.print();\r\n }\r\n };\r\n\r\n if (!order?.id || isNullOrUndefinedOrEmpty(order.id))\r\n {\r\n return ()\r\n }\r\n\r\n const invoiceUrl = `/api/operations/Orders/GetInvoiceForOrder/${order.id}`;\r\n\r\n return (\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n setLoading(false) }\r\n style={ { border: 'none', padding: 0, margin: 0 } } />\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default OrderHistoryInvoiceModal;\r\n","import React, { useRef } from 'react';\r\nimport { useState, useEffect, Fragment } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { SerializedError } from '@reduxjs/toolkit';\r\n\r\nimport dayjs from 'dayjs';\r\n\r\nimport { Typography, useTheme, Box, Paper, Popper, ClickAwayListener } from '@mui/material';\r\nimport { GridColDef, GridRenderCellParams, GridRowId, GridRowModesModel, GridValidRowModel } from '@mui/x-data-grid';\r\n\r\nimport { Guid } from '../../../../utilities/Guid';\r\nimport { IRestApiOrderDTO } from '../../../../stores/api/Generated/Entities/RestApiOrderDTO';\r\nimport { RestApiOperationsGetOrdersGetForUserResponse } from '../../../../stores/api/Generated/Endpoints/RestApiOrders';\r\nimport { UserRole, withSecurity } from '../../../../types/authenticationTypes';\r\nimport { isNullOrUndefinedOrEmpty } from '../../../../utilities/Utils';\r\nimport { formatAsCurrency, formatOrderNumber, getStatusDisplayValue } from './Utilities';\r\nimport { formatDateParts as getFormattedDate, getPaymentStatusIcon, parseDateString } from '../account/Utilities';\r\nimport { BaseQueryErrorType } from '../../../../stores/api/foundation/BaseTypes';\r\n\r\nimport CommonDataGrid from '../../administration/components/CommonDataGrid';\r\nimport OrderHistoryInvoiceModal from './OrderHistoryInvoiceModal';\r\nimport useLoadingDialog from '../../../../hooks/useLoadingDialog';\r\n\r\ninterface IRestApiOrderExtended extends IRestApiOrderDTO, GridValidRowModel {\r\n isNew: boolean;\r\n cacheValue: Guid;\r\n userEmail?: string;\r\n}\r\n\r\nexport interface IOrderHistoryListProps {\r\n orders: RestApiOperationsGetOrdersGetForUserResponse | undefined;\r\n loading: boolean;\r\n error: BaseQueryErrorType | SerializedError | undefined;\r\n\r\n showUserEmail?: boolean;\r\n}\r\n\r\nconst OrderHistoryList: React.FC = (props) => {\r\n const theme = useTheme();\r\n\r\n const { orders, error, loading } = props;\r\n\r\n const { showWithMessage, hide } = useLoadingDialog();\r\n const navigate = useNavigate();\r\n\r\n const [anchorEl, setAnchorEl] = useState(null);\r\n const [popperContent, setPopperContent] = useState(null);\r\n const [popperOpen, setPopperOpen] = useState(false);\r\n\r\n const timeoutRef = useRef(null);\r\n const arrowRef = useRef(null);\r\n\r\n const [currentOrders, setCurrentOrders] = useState([]);\r\n const [rowModesModel, setRowModesModel] = useState({});\r\n const [selectedRows, setSelectedRows] = useState([]);\r\n const [openInvoiceModal, setOpenInvoiceModal] = useState(false);\r\n const [selectedOrder, setSelectedOrder] = useState(null);\r\n\r\n useEffect(() => {\r\n if (orders) {\r\n const extendedOrders: IRestApiOrderExtended[] = orders.map((order: IRestApiOrderDTO) => ({\r\n ...order,\r\n isNew: false,\r\n cacheValue: Guid.NewGuid(),\r\n userEmail: order.userInformation?.email ?? ''\r\n }));\r\n\r\n setCurrentOrders(extendedOrders as IRestApiOrderExtended[]);\r\n }\r\n }, [orders]);\r\n\r\n useEffect(() => {\r\n if (!openInvoiceModal) {\r\n setSelectedOrder(null);\r\n }\r\n }, [openInvoiceModal]);\r\n\r\n useEffect(() => {\r\n if (loading) {\r\n showWithMessage('Loading order history...');\r\n\r\n return;\r\n }\r\n\r\n hide();\r\n\r\n }, [loading]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (timeoutRef.current) {\r\n clearTimeout(timeoutRef.current);\r\n }\r\n };\r\n }, []);\r\n\r\n const handleSelectionChange = (newSelection: GridRowId[]) => {\r\n setSelectedRows(newSelection);\r\n };\r\n\r\n const handleShowInvoiceClick = (order: IRestApiOrderExtended) => {\r\n setSelectedOrder(order);\r\n setOpenInvoiceModal(true);\r\n };\r\n\r\n const handleCloseInvoiceModal = () => {\r\n setOpenInvoiceModal(false);\r\n };\r\n\r\n const handlePopperOpen = (event: React.MouseEvent, params: GridRenderCellParams) => {\r\n if (anchorEl === event.currentTarget) {\r\n // If the Popper is already open for this anchor, close it\r\n setPopperOpen(false);\r\n setAnchorEl(null);\r\n }\r\n else {\r\n // Otherwise, open the Popper\r\n setAnchorEl(event.currentTarget);\r\n setPopperContent(\r\n \r\n \r\n Name: { params.row.userInformation?.lastName }, { params.row.userInformation?.firstName } { params.row.userInformation?.middleName }\r\n \r\n \r\n Email: { params.row.userEmail || 'N/A' }\r\n \r\n \r\n Company: { params.row.userInformation?.company || 'N/A' }\r\n \r\n \r\n );\r\n\r\n setPopperOpen(true);\r\n\r\n // Auto-hide the Popper after 5 seconds if the mouse is not hovering over it\r\n if (timeoutRef.current) {\r\n clearTimeout(timeoutRef.current);\r\n }\r\n timeoutRef.current = setTimeout(() => {\r\n setPopperOpen(false);\r\n }, 5000);\r\n }\r\n };\r\n\r\n const handlePopperClose = () => {\r\n setPopperOpen(false);\r\n setAnchorEl(null);\r\n setPopperContent(null);\r\n };\r\n\r\n const handleMouseEnterPopper = () => {\r\n // Clear the timeout if mouse enters the Popper\r\n if (timeoutRef.current) {\r\n clearTimeout(timeoutRef.current);\r\n }\r\n };\r\n\r\n const handleMouseLeavePopper = () => {\r\n // Set timeout to hide Popper after mouse leaves\r\n timeoutRef.current = setTimeout(() => {\r\n setPopperOpen(false);\r\n }, 5000);\r\n };\r\n\r\n if (error) {\r\n return (
Error: { `${error}` }
);\r\n }\r\n\r\n const columns: GridColDef[] = [\r\n {\r\n field: 'orderNumber',\r\n headerName: 'Code',\r\n editable: false,\r\n type: 'string',\r\n flex: 1,\r\n minWidth: 100,\r\n headerClassName: 'column-header',\r\n renderCell: (params: GridRenderCellParams) => {\r\n return (\r\n \r\n \r\n { formatOrderNumber(params.row.orderNumber!) }\r\n \r\n \r\n );\r\n }\r\n },\r\n {\r\n field: 'orderItems',\r\n headerName: 'Items',\r\n editable: false,\r\n type: 'string',\r\n flex: 1,\r\n minWidth: 100,\r\n headerClassName: 'column-header',\r\n renderCell: (params: GridRenderCellParams) => (\r\n \r\n \r\n { `${params.row.orderItems?.length} item(s)` }\r\n \r\n \r\n ),\r\n },\r\n {\r\n field: 'totalAmount',\r\n headerName: 'Total Amount',\r\n editable: false,\r\n type: 'string',\r\n flex: 1,\r\n minWidth: 100,\r\n headerClassName: 'column-header',\r\n renderCell: (params: GridRenderCellParams) => (\r\n \r\n \r\n { formatAsCurrency(params.row.totalAmount!) }\r\n \r\n \r\n ),\r\n },\r\n {\r\n field: 'createdDate',\r\n headerName: 'Placed On',\r\n editable: false,\r\n flex: 2,\r\n type: 'date',\r\n minWidth: 100,\r\n headerClassName: 'column-header',\r\n valueGetter: (params: GridRenderCellParams) => {\r\n if (params.row && params.row.orderDate) {\r\n const dateStr: string = `${params.row.orderDate}`;\r\n\r\n if (dateStr && !isNullOrUndefinedOrEmpty(dateStr)) {\r\n return parseDateString(dateStr).toDate();\r\n }\r\n }\r\n return new Date();\r\n },\r\n renderCell: (params: GridRenderCellParams) => {\r\n const date = params.value as Date;\r\n const parsedDate = dayjs(date);\r\n const formattedDate = getFormattedDate(parsedDate);\r\n\r\n return (\r\n \r\n \r\n { formattedDate }\r\n \r\n \r\n );\r\n }\r\n },\r\n\r\n {\r\n field: 'status',\r\n headerName: 'Status',\r\n editable: false,\r\n flex: 1,\r\n minWidth: 100,\r\n headerClassName: 'column-header',\r\n renderCell: (params: GridRenderCellParams) => {\r\n return (\r\n \r\n { getPaymentStatusIcon(params.row.status!) }\r\n \r\n { getStatusDisplayValue(params.row.status!) }\r\n \r\n \r\n );\r\n }\r\n },\r\n {\r\n field: 'showInvoice',\r\n headerName: 'Invoices',\r\n editable: false,\r\n flex: 1,\r\n minWidth: 100,\r\n headerClassName: 'column-header',\r\n renderCell: (params: GridRenderCellParams) => {\r\n if (params.row.status === 'Completed' || params.row.status === 'Paid') {\r\n return (\r\n \r\n handleShowInvoiceClick(params.row) }>\r\n Show Invoice\r\n \r\n \r\n )\r\n }\r\n\r\n return null;\r\n },\r\n }\r\n ];\r\n\r\n if (props.showUserEmail) {\r\n columns.splice(1, 0, {\r\n field: 'userEmail',\r\n headerName: 'User Email',\r\n editable: false,\r\n type: 'string',\r\n flex: 1.5,\r\n minWidth: 220,\r\n headerClassName: 'column-header',\r\n renderCell: (params: GridRenderCellParams) => (\r\n \r\n handlePopperOpen(event, params) } >\r\n { params.row.userEmail || 'N/A' }\r\n \r\n \r\n ),\r\n });\r\n }\r\n\r\n if (orders && orders.length > 0) {\r\n const rows: IRestApiOrderExtended[] = [...currentOrders];\r\n\r\n return (\r\n \r\n\r\n \r\n\r\n \r\n\r\n { popperContent && (\r\n \r\n \r\n \r\n \r\n { popperContent }\r\n \r\n \r\n \r\n ) }\r\n\r\n\r\n \r\n );\r\n }\r\n\r\n return ;\r\n};\r\n\r\nexport default withSecurity(OrderHistoryList, UserRole.User);\r\n","import React, { } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { Box, Container, Grid, Typography, useTheme } from '@mui/material';\r\n\r\nimport { UserRole, withSecurity } from '../../../../types/authenticationTypes';\r\nimport { restApiOrders } from '../../../../stores/api/Generated/Endpoints/RestApiOrders';\r\nimport { useAuth } from '../../../../providers/AuthProvider';\r\n\r\nimport StyledPaperComponent from '../../../../components/styled/StyledCardComponents/StyledPaperComponent';\r\nimport OrderHistoryList from './OrderHistoryList';\r\n\r\n\r\nconst OrderHistoryUserMain: React.FC<{}> = () => {\r\n const theme = useTheme();\r\n const navigate = useNavigate();\r\n const { user, loggedIn } = useAuth();\r\n\r\n const { data: ordersData, error: ordersError, isLoading: ordersLoading } = restApiOrders.hooks.queries.getForUser({ userId: user?.id ?? '' });\r\n\r\n\r\n if (!user || !user.id) {\r\n return (\r\n \r\n \r\n Please log in to view your order history.\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n Review your order history to keep track of your past purchases. View detailed records of each transaction,\r\n including items ordered, payment status, and delivery updates.\r\n Access invoices, track shipments, and re-order your favorite products with ease.\r\n \r\n \r\n\r\n { ordersData && ordersData.length > 0 && (\r\n \r\n ) }\r\n\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default withSecurity(OrderHistoryUserMain, UserRole.User);\r\n"],"names":["useTheme","Typography","variant","theme","contentText","sentencesPerParagraph","max","min","wordsPerSentence","paragraphsBefore","generateParagraphs","paragraphsAfter","actualParagraphs","text","split","map","paragraph","index","sx","padding","textAlign","Container","color","palette","secondary","main","Box","ApplicationUsersDataGrid","PowerUser","props","updatePasswordTrigger","hooks","mutations","updatePassword","user","isSuccess","setIsSuccess","useState","resultMessage","setResultMessage","formData","setFormData","confirmPassword","email","newPassword","oldPassword","useEffect","changePasswordSubmit","async","values","actions","updatePasswordRequestDTO","unwrap","then","response","success","message","catch","error","maxWidth","spacing","direction","display","alignItems","effect","effectDuration","headerTitle","headerSize","fillSize","margin","initialValues","enableReinitialize","validationSchema","schema","validateOnMount","onSubmit","formik","isValid","container","label","item","xs","name","flexDirection","width","type","size","fontWeight","borderRadius","disabled","Guest","searchParams","URLSearchParams","window","location","search","token","get","confirmEmailTrigger","confirmEmail","showWithMessage","hide","hasRun","useRef","current","confirmEmailRequestDTO","finally","handleSubmit","address","errors","touched","setFieldValue","setFieldTouched","usStates","getStateByAbbreviation","handleChange","field","event","target","value","handleBlur","e","getFieldError","fieldName","touchedField","errorField","undefined","Grid","TextField","fullWidth","addressLine1","helperText","onChange","onBlur","addressLine2","addressLine3","city","select","stateAbbreviation","option","MenuItem","postalCode","country","SelectProps","readOnly","showOtherTitle","setShowOtherTitle","title","CheckoutInformationFormSelectField","options","CheckoutInformationFormStringField","titleOther","firstName","lastName","phone","navigate","useLoadingDialog","tabIndex","setTabIndex","invalidateTags","useRestApiInvalidateTags","getUserQueryArgs","userEmail","updateUserProfileTrigger","updateUserProfile","data","endpoints","getUser","useQuery","goBack","handleTabChange","newValue","StyledPaperComponent","setSubmitting","updatedData","information","middleName","company","addresses","updateUserProfileRequestDTO","UserProfileValidator","borderBottom","borderColor","marginTop","Tabs","Tab","billing","shipping","primary","Button","onClick","fontSize","marginRight","marginBottom","startIcon","Cancel","Done","isSubmitting","User","userInformation","registerUserTrigger","registerUser","password","registerUserDTO","UserRegisterValidator","PasswordField","requestResetSchema","shape","required","requestPasswordResetTrigger","requestPasswordReset","requestResetPasswordRequestDTO","justifyContent","component","mt","as","id","autoComplete","autoFocus","Boolean","resetPasswordTrigger","resetPassword","isError","setIsError","UserPasswordResetValidator","resetPasswordRequestDTO","renderFormFields","Stack","StyledFormControl","meta","showPassword","setShowPassword","htmlFor","endAdornment","position","onMouseDown","preventDefault","edge","loggedIn","ordersData","ordersError","isLoading","ordersLoading","queries","getAll","flexGrow","align","alignContent","length","showUserEmail","orders","loading","formatOrderNumber","orderNumber","orderSuffix","suffix","toString","padStart","getPaymentStatusIcon","status","Info","verticalAlign","Error","CheckCircle","Warning","open","order","onClose","iframeRef","setLoading","Fragment","invoiceUrl","Dialog","scroll","PaperProps","overflow","DialogContent","Backdrop","top","left","zIndex","CircularProgress","ref","src","height","onLoad","style","border","DialogActions","contentWindow","print","anchorEl","setAnchorEl","popperContent","setPopperContent","popperOpen","setPopperOpen","timeoutRef","arrowRef","currentOrders","setCurrentOrders","rowModesModel","setRowModesModel","selectedRows","setSelectedRows","openInvoiceModal","setOpenInvoiceModal","selectedOrder","setSelectedOrder","extendedOrders","isNew","cacheValue","Guid","NewGuid","clearTimeout","handleSelectionChange","newSelection","handleCloseInvoiceModal","handlePopperClose","handleMouseEnterPopper","handleMouseLeavePopper","setTimeout","columns","headerName","editable","flex","minWidth","headerClassName","renderCell","params","row","orderItems","amount","totalAmount","Intl","NumberFormat","currency","format","valueGetter","orderDate","dateStr","dateString","toDate","Date","date","formattedDate","month","day","year","hour","minute","period","currHour","daySuffix","getDaySuffix","Created","AwaitingPayment","FailedPayment","Paid","Completed","Cancelled","textDecoration","cursor","handleShowInvoiceClick","splice","dark","currentTarget","handlePopperOpen","rows","CommonDataGrid","showSelectionBox","ClickAwayListener","onClickAway","Popper","placement","onMouseEnter","onMouseLeave","bgcolor","transform","Paper","elevation","getForUser","userId"],"sourceRoot":""}