partial: first codemod
This commit is contained in:
parent
58f53d92a8
commit
86e3401cc8
30 changed files with 335 additions and 323 deletions
|
|
@ -6,8 +6,9 @@ import {
|
|||
StylesProvider,
|
||||
jssPreset,
|
||||
MuiThemeProvider,
|
||||
makeStyles
|
||||
} from '@mui/material/styles'
|
||||
StyledEngineProvider,
|
||||
makeStyles,
|
||||
} from '@mui/material/styles';
|
||||
import { create } from 'jss'
|
||||
import extendJss from 'jss-plugin-extend'
|
||||
import React, { useContext, useState } from 'react'
|
||||
|
|
@ -153,15 +154,17 @@ const App = () => {
|
|||
<Router>
|
||||
<ApolloProvider>
|
||||
<StylesProvider jss={jss}>
|
||||
<MuiThemeProvider theme={theme}>
|
||||
<CssBaseline />
|
||||
<Main />
|
||||
</MuiThemeProvider>
|
||||
<StyledEngineProvider injectFirst>
|
||||
<MuiThemeProvider theme={theme}>
|
||||
<CssBaseline />
|
||||
<Main />
|
||||
</MuiThemeProvider>
|
||||
</StyledEngineProvider>
|
||||
</StylesProvider>
|
||||
</ApolloProvider>
|
||||
</Router>
|
||||
</AppContext.Provider>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
export default App
|
||||
|
|
|
|||
|
|
@ -86,7 +86,8 @@ const BooleanPropertiesTable = memo(
|
|||
) : (
|
||||
<IconButton
|
||||
className={classes.transparentButton}
|
||||
onClick={() => setEditing(true)}>
|
||||
onClick={() => setEditing(true)}
|
||||
size="large">
|
||||
{disabled ? <EditIconDisabled /> : <EditIcon />}
|
||||
</IconButton>
|
||||
)}
|
||||
|
|
@ -121,11 +122,11 @@ const BooleanPropertiesTable = memo(
|
|||
</TableBody>
|
||||
</Table>
|
||||
</Form>
|
||||
)
|
||||
);
|
||||
}}
|
||||
</Formik>
|
||||
</div>
|
||||
)
|
||||
);
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -77,7 +77,8 @@ const ActionCol = ({ disabled, editing }) => {
|
|||
<IconButton
|
||||
disabled={disableEdit}
|
||||
className={classes.editButton}
|
||||
onClick={() => onEdit && onEdit(values.id)}>
|
||||
onClick={() => onEdit && onEdit(values.id)}
|
||||
size="large">
|
||||
{disableEdit ? <DisabledEditIcon /> : <EditIcon />}
|
||||
</IconButton>
|
||||
</Td>
|
||||
|
|
@ -88,7 +89,8 @@ const ActionCol = ({ disabled, editing }) => {
|
|||
disabled={disabled}
|
||||
onClick={() => {
|
||||
setDeleteDialog(true)
|
||||
}}>
|
||||
}}
|
||||
size="large">
|
||||
{disabled ? <DisabledDeleteIcon /> : <DeleteIcon />}
|
||||
</IconButton>
|
||||
<DeleteDialog
|
||||
|
|
@ -114,7 +116,7 @@ const ActionCol = ({ disabled, editing }) => {
|
|||
</Td>
|
||||
)}
|
||||
</>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
const ECol = ({ editing, focus, config, extraPaddingRight, extraPadding }) => {
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ const Autocomplete = ({
|
|||
<Box
|
||||
width={18}
|
||||
height={18}
|
||||
borderRadius={6}
|
||||
borderRadius="6px"
|
||||
bgcolor={warningColors[props.warning]}
|
||||
/>
|
||||
)
|
||||
|
|
@ -134,7 +134,7 @@ const Autocomplete = ({
|
|||
)
|
||||
}}
|
||||
/>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
export default Autocomplete
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ const SingleRowTable = ({
|
|||
<THead>
|
||||
<Th className={classes.head}>
|
||||
{title}
|
||||
<IconButton onClick={onEdit} className={classes.button}>
|
||||
<IconButton onClick={onEdit} className={classes.button} size="large">
|
||||
<EditIcon />
|
||||
</IconButton>
|
||||
</Th>
|
||||
|
|
@ -62,7 +62,7 @@ const SingleRowTable = ({
|
|||
</TBody>
|
||||
</Table>
|
||||
</>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
export default SingleRowTable
|
||||
|
|
|
|||
|
|
@ -252,7 +252,7 @@ const AddMachine = memo(({ close, onPaired }) => {
|
|||
<div className={classes.wrapper}>
|
||||
<div className={classes.headerDiv}>
|
||||
<Title>Add Machine</Title>
|
||||
<IconButton disableRipple={true} onClick={close}>
|
||||
<IconButton disableRipple={true} onClick={close} size="large">
|
||||
<SvgIcon color="error">
|
||||
<CloseIcon />
|
||||
</SvgIcon>
|
||||
|
|
@ -279,7 +279,7 @@ const AddMachine = memo(({ close, onPaired }) => {
|
|||
</DialogContent>
|
||||
</Dialog>
|
||||
</div>
|
||||
)
|
||||
);
|
||||
})
|
||||
|
||||
export default AddMachine
|
||||
|
|
|
|||
|
|
@ -15,13 +15,13 @@ const Login = () => {
|
|||
spacing={0}
|
||||
direction="column"
|
||||
alignItems="center"
|
||||
justify="center"
|
||||
justifyContent="center"
|
||||
className={classes.welcomeBackground}>
|
||||
<Grid>
|
||||
<LoginCard />
|
||||
</Grid>
|
||||
</Grid>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
export default Login
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ const Register = () => {
|
|||
spacing={0}
|
||||
direction="column"
|
||||
alignItems="center"
|
||||
justify="center"
|
||||
justifyContent="center"
|
||||
className={classes.welcomeBackground}>
|
||||
<Grid>
|
||||
<div>
|
||||
|
|
@ -214,7 +214,7 @@ const Register = () => {
|
|||
</div>
|
||||
</Grid>
|
||||
</Grid>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
export default Register
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ const Reset2FA = () => {
|
|||
spacing={0}
|
||||
direction="column"
|
||||
alignItems="center"
|
||||
justify="center"
|
||||
justifyContent="center"
|
||||
className={classes.welcomeBackground}>
|
||||
<Grid>
|
||||
<div>
|
||||
|
|
@ -205,7 +205,7 @@ const Reset2FA = () => {
|
|||
</div>
|
||||
</Grid>
|
||||
</Grid>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
export default Reset2FA
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ const ResetPassword = () => {
|
|||
spacing={0}
|
||||
direction="column"
|
||||
alignItems="center"
|
||||
justify="center"
|
||||
justifyContent="center"
|
||||
className={classes.welcomeBackground}>
|
||||
<Grid>
|
||||
<div>
|
||||
|
|
@ -164,7 +164,7 @@ const ResetPassword = () => {
|
|||
</div>
|
||||
</Grid>
|
||||
</Grid>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
export default ResetPassword
|
||||
|
|
|
|||
|
|
@ -64,7 +64,8 @@ const BlacklistAdvanced = ({
|
|||
view: it => (
|
||||
<IconButton
|
||||
className={classes.deleteButton}
|
||||
onClick={() => setSelectedMessage(it)}>
|
||||
onClick={() => setSelectedMessage(it)}
|
||||
size="large">
|
||||
<EditIcon />
|
||||
</IconButton>
|
||||
)
|
||||
|
|
@ -81,7 +82,8 @@ const BlacklistAdvanced = ({
|
|||
disabled={
|
||||
!R.isNil(R.path(['allowToggle'], it)) &&
|
||||
!R.path(['allowToggle'], it)
|
||||
}>
|
||||
}
|
||||
size="large">
|
||||
{R.path(['allowToggle'], it) ? (
|
||||
<DeleteIcon />
|
||||
) : (
|
||||
|
|
|
|||
|
|
@ -49,7 +49,8 @@ const BlacklistTable = ({
|
|||
onClick={() => {
|
||||
setDeleteDialog(true)
|
||||
setToBeDeleted(it)
|
||||
}}>
|
||||
}}
|
||||
size="large">
|
||||
<DeleteIcon />
|
||||
</IconButton>
|
||||
)
|
||||
|
|
|
|||
|
|
@ -317,7 +317,7 @@ const ManualDataEntry = ({ selectedValues, customInfoRequirementOptions }) => {
|
|||
fullWidth
|
||||
label={`Available requests`}
|
||||
className={classes.picker}
|
||||
getOptionSelected={R.eqProps('code')}
|
||||
isOptionEqualToValue={R.eqProps('code')}
|
||||
labelProp={'display'}
|
||||
options={customInfoRequirementOptions}
|
||||
onChange={(evt, it) => {}}
|
||||
|
|
@ -343,7 +343,7 @@ const ManualDataEntry = ({ selectedValues, customInfoRequirementOptions }) => {
|
|||
}></Upload>
|
||||
)}
|
||||
</>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
const customElements = {
|
||||
|
|
|
|||
|
|
@ -144,7 +144,8 @@ const IndividualDiscounts = () => {
|
|||
onClick={() => {
|
||||
setDeleteDialog(true)
|
||||
setToBeDeleted({ variables: { discountId: t.id } })
|
||||
}}>
|
||||
}}
|
||||
size="large">
|
||||
<DeleteIcon />
|
||||
</IconButton>
|
||||
)
|
||||
|
|
|
|||
|
|
@ -120,7 +120,8 @@ const PromoCodes = () => {
|
|||
onClick={() => {
|
||||
setDeleteDialog(true)
|
||||
setToBeDeleted({ variables: { codeId: t.id } })
|
||||
}}>
|
||||
}}
|
||||
size="large">
|
||||
<DeleteIcon />
|
||||
</IconButton>
|
||||
)
|
||||
|
|
|
|||
|
|
@ -200,158 +200,155 @@ const CashCassettes = () => {
|
|||
/>
|
||||
)
|
||||
|
||||
return (
|
||||
!dataLoading && (
|
||||
<>
|
||||
<TitleSection
|
||||
title="Cash boxes & cassettes"
|
||||
buttons={[
|
||||
{
|
||||
text: 'Cash box history',
|
||||
icon: HistoryIcon,
|
||||
inverseIcon: ReverseHistoryIcon,
|
||||
toggle: setShowHistory
|
||||
},
|
||||
{
|
||||
component: showHistory ? (
|
||||
<LogsDowloaderPopover
|
||||
className={classes.downloadLogsButton}
|
||||
title="Download logs"
|
||||
name="cashboxHistory"
|
||||
query={GET_BATCHES_CSV}
|
||||
getLogs={logs => R.path(['cashboxBatchesCsv'])(logs)}
|
||||
timezone={timezone}
|
||||
args={{ timezone }}
|
||||
/>
|
||||
) : (
|
||||
<></>
|
||||
)
|
||||
}
|
||||
]}
|
||||
iconClassName={classes.listViewButton}
|
||||
className={classes.tableWidth}
|
||||
appendix={
|
||||
<HelpTooltip width={220}>
|
||||
<P>
|
||||
For details on configuring cash boxes and cassettes, please read
|
||||
the relevant knowledgebase article:
|
||||
return (!dataLoading && (<>
|
||||
<TitleSection
|
||||
title="Cash boxes & cassettes"
|
||||
buttons={[
|
||||
{
|
||||
text: 'Cash box history',
|
||||
icon: HistoryIcon,
|
||||
inverseIcon: ReverseHistoryIcon,
|
||||
toggle: setShowHistory
|
||||
},
|
||||
{
|
||||
component: showHistory ? (
|
||||
<LogsDowloaderPopover
|
||||
className={classes.downloadLogsButton}
|
||||
title="Download logs"
|
||||
name="cashboxHistory"
|
||||
query={GET_BATCHES_CSV}
|
||||
getLogs={logs => R.path(['cashboxBatchesCsv'])(logs)}
|
||||
timezone={timezone}
|
||||
args={{ timezone }}
|
||||
/>
|
||||
) : (
|
||||
<></>
|
||||
)
|
||||
}
|
||||
]}
|
||||
iconClassName={classes.listViewButton}
|
||||
className={classes.tableWidth}
|
||||
appendix={
|
||||
<HelpTooltip width={220}>
|
||||
<P>
|
||||
For details on configuring cash boxes and cassettes, please read
|
||||
the relevant knowledgebase article:
|
||||
</P>
|
||||
<SupportLinkButton
|
||||
link="https://support.lamassu.is/hc/en-us/articles/4420839641229-Cash-Boxes-Cassettess"
|
||||
label="Cash Boxes & Cassettes"
|
||||
bottomSpace="1"
|
||||
/>
|
||||
</HelpTooltip>
|
||||
}>
|
||||
{!showHistory && (
|
||||
<Box alignItems="center" justifyContent="flex-end">
|
||||
<Label1 className={classes.cashboxReset}>Cash box resets</Label1>
|
||||
<Box
|
||||
display="flex"
|
||||
alignItems="center"
|
||||
justifyContent="end"
|
||||
mr="-4px">
|
||||
{cashboxReset && (
|
||||
<P className={classes.selection}>
|
||||
{onlyFirstToUpper(cashboxReset)}
|
||||
</P>
|
||||
<SupportLinkButton
|
||||
link="https://support.lamassu.is/hc/en-us/articles/4420839641229-Cash-Boxes-Cassettess"
|
||||
label="Cash Boxes & Cassettes"
|
||||
bottomSpace="1"
|
||||
/>
|
||||
</HelpTooltip>
|
||||
}>
|
||||
{!showHistory && (
|
||||
<Box alignItems="center" justifyContent="flex-end">
|
||||
<Label1 className={classes.cashboxReset}>Cash box resets</Label1>
|
||||
<Box
|
||||
display="flex"
|
||||
alignItems="center"
|
||||
justifyContent="end"
|
||||
mr="-4px">
|
||||
{cashboxReset && (
|
||||
<P className={classes.selection}>
|
||||
{onlyFirstToUpper(cashboxReset)}
|
||||
</P>
|
||||
)}
|
||||
<IconButton
|
||||
onClick={() => setEditingSchema(true)}
|
||||
className={classes.button}>
|
||||
<EditIcon />
|
||||
</IconButton>
|
||||
</Box>
|
||||
</Box>
|
||||
)}
|
||||
</TitleSection>
|
||||
{!showHistory && (
|
||||
<>
|
||||
<DataTable
|
||||
loading={dataLoading}
|
||||
elements={elements}
|
||||
data={machines}
|
||||
Details={InnerCashUnitDetails}
|
||||
emptyText="No machines so far"
|
||||
expandable
|
||||
tableClassName={classes.dataTable}
|
||||
/>
|
||||
|
||||
{data && R.isEmpty(machines) && (
|
||||
<EmptyTable message="No machines so far" />
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{showHistory && (
|
||||
<CashboxHistory
|
||||
machines={R.concat(machines, unpairedMachines)}
|
||||
currency={fiatCurrency}
|
||||
timezone={timezone}
|
||||
/>
|
||||
)}
|
||||
<CashCassettesFooter
|
||||
currencyCode={fiatCurrency}
|
||||
machines={machines}
|
||||
config={config}
|
||||
bills={R.path(['bills'])(data)}
|
||||
deviceIds={deviceIds}
|
||||
<IconButton
|
||||
onClick={() => setEditingSchema(true)}
|
||||
className={classes.button}
|
||||
size="large">
|
||||
<EditIcon />
|
||||
</IconButton>
|
||||
</Box>
|
||||
</Box>
|
||||
)}
|
||||
</TitleSection>
|
||||
{!showHistory && (
|
||||
<>
|
||||
<DataTable
|
||||
loading={dataLoading}
|
||||
elements={elements}
|
||||
data={machines}
|
||||
Details={InnerCashUnitDetails}
|
||||
emptyText="No machines so far"
|
||||
expandable
|
||||
tableClassName={classes.dataTable}
|
||||
/>
|
||||
{wizard && (
|
||||
<Wizard
|
||||
machine={R.find(R.propEq('id', machineId), machines)}
|
||||
cashoutSettings={getCashoutSettings(machineId)}
|
||||
onClose={() => {
|
||||
setWizard(false)
|
||||
}}
|
||||
error={error?.message}
|
||||
save={onSave}
|
||||
locale={locale}
|
||||
/>
|
||||
)}
|
||||
{editingSchema && (
|
||||
<Modal
|
||||
title={'Cash box resets'}
|
||||
width={478}
|
||||
handleClose={() => setEditingSchema(null)}
|
||||
open={true}>
|
||||
<P className={classes.descriptions}>
|
||||
We can automatically assume you emptied a bill validator's cash
|
||||
box when the machine detects that it has been removed.
|
||||
</P>
|
||||
<RadioGroup
|
||||
name="set-automatic-reset"
|
||||
value={selectedRadio ?? cashboxReset}
|
||||
options={[radioButtonOptions[0]]}
|
||||
onChange={handleRadioButtons}
|
||||
className={classes.radioButtons}
|
||||
/>
|
||||
<P className={classes.descriptions}>
|
||||
Assume the cash box is emptied whenever it's removed, creating a
|
||||
new batch on the history screen and setting its current balance to
|
||||
zero.
|
||||
</P>
|
||||
<RadioGroup
|
||||
name="set-manual-reset"
|
||||
value={selectedRadio ?? cashboxReset}
|
||||
options={[radioButtonOptions[1]]}
|
||||
onChange={handleRadioButtons}
|
||||
className={classes.radioButtons}
|
||||
/>
|
||||
<P className={classes.descriptions}>
|
||||
Cash boxes won't be assumed emptied when removed, nor their counts
|
||||
modified. Instead, to update the count and create a new batch,
|
||||
you'll click the 'Edit' button on this panel.
|
||||
</P>
|
||||
<DialogActions className={classes.actions}>
|
||||
<Button onClick={() => saveCashboxOption(selectedRadio)}>
|
||||
Confirm
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</Modal>
|
||||
|
||||
{data && R.isEmpty(machines) && (
|
||||
<EmptyTable message="No machines so far" />
|
||||
)}
|
||||
</>
|
||||
)
|
||||
)
|
||||
)}
|
||||
{showHistory && (
|
||||
<CashboxHistory
|
||||
machines={R.concat(machines, unpairedMachines)}
|
||||
currency={fiatCurrency}
|
||||
timezone={timezone}
|
||||
/>
|
||||
)}
|
||||
<CashCassettesFooter
|
||||
currencyCode={fiatCurrency}
|
||||
machines={machines}
|
||||
config={config}
|
||||
bills={R.path(['bills'])(data)}
|
||||
deviceIds={deviceIds}
|
||||
/>
|
||||
{wizard && (
|
||||
<Wizard
|
||||
machine={R.find(R.propEq('id', machineId), machines)}
|
||||
cashoutSettings={getCashoutSettings(machineId)}
|
||||
onClose={() => {
|
||||
setWizard(false)
|
||||
}}
|
||||
error={error?.message}
|
||||
save={onSave}
|
||||
locale={locale}
|
||||
/>
|
||||
)}
|
||||
{editingSchema && (
|
||||
<Modal
|
||||
title={'Cash box resets'}
|
||||
width={478}
|
||||
handleClose={() => setEditingSchema(null)}
|
||||
open={true}>
|
||||
<P className={classes.descriptions}>
|
||||
We can automatically assume you emptied a bill validator's cash
|
||||
box when the machine detects that it has been removed.
|
||||
</P>
|
||||
<RadioGroup
|
||||
name="set-automatic-reset"
|
||||
value={selectedRadio ?? cashboxReset}
|
||||
options={[radioButtonOptions[0]]}
|
||||
onChange={handleRadioButtons}
|
||||
className={classes.radioButtons}
|
||||
/>
|
||||
<P className={classes.descriptions}>
|
||||
Assume the cash box is emptied whenever it's removed, creating a
|
||||
new batch on the history screen and setting its current balance to
|
||||
zero.
|
||||
</P>
|
||||
<RadioGroup
|
||||
name="set-manual-reset"
|
||||
value={selectedRadio ?? cashboxReset}
|
||||
options={[radioButtonOptions[1]]}
|
||||
onChange={handleRadioButtons}
|
||||
className={classes.radioButtons}
|
||||
/>
|
||||
<P className={classes.descriptions}>
|
||||
Cash boxes won't be assumed emptied when removed, nor their counts
|
||||
modified. Instead, to update the count and create a new batch,
|
||||
you'll click the 'Edit' button on this panel.
|
||||
</P>
|
||||
<DialogActions className={classes.actions}>
|
||||
<Button onClick={() => saveCashboxOption(selectedRadio)}>
|
||||
Confirm
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</Modal>
|
||||
)}
|
||||
</>));
|
||||
}
|
||||
|
||||
export default CashCassettes
|
||||
|
|
|
|||
|
|
@ -132,10 +132,11 @@ const getElements = (
|
|||
onClick={() => {
|
||||
!R.isNil(setMachineId) && setMachineId(m.id ?? m.deviceId)
|
||||
setWizard(true)
|
||||
}}>
|
||||
}}
|
||||
size="large">
|
||||
<EditIcon />
|
||||
</IconButton>
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -20,7 +20,8 @@ const Header = ({ title, editing, disabled, setEditing }) => {
|
|||
<IconButton
|
||||
onClick={() => setEditing(true)}
|
||||
className={classes.button}
|
||||
disabled={disabled}>
|
||||
disabled={disabled}
|
||||
size="large">
|
||||
{disabled ? <DisabledEditIcon /> : <EditIcon />}
|
||||
</IconButton>
|
||||
)}
|
||||
|
|
@ -35,7 +36,7 @@ const Header = ({ title, editing, disabled, setEditing }) => {
|
|||
</div>
|
||||
)}
|
||||
</div>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
export default Header
|
||||
|
|
|
|||
|
|
@ -221,7 +221,8 @@ const ContactInfo = ({ wizard }) => {
|
|||
{!editing && (
|
||||
<IconButton
|
||||
className={classes.transparentButton}
|
||||
onClick={() => setEditing(true)}>
|
||||
onClick={() => setEditing(true)}
|
||||
size="large">
|
||||
<EditIcon />
|
||||
</IconButton>
|
||||
)}
|
||||
|
|
@ -311,7 +312,7 @@ const ContactInfo = ({ wizard }) => {
|
|||
</div>
|
||||
)}
|
||||
</>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
export default ContactInfo
|
||||
|
|
|
|||
|
|
@ -180,7 +180,8 @@ const SMSNotices = () => {
|
|||
setPreviewOpen(false)
|
||||
setSelectedSMS(it)
|
||||
setShowModal(true)
|
||||
}}>
|
||||
}}
|
||||
size="large">
|
||||
<EditIcon />
|
||||
</IconButton>
|
||||
)
|
||||
|
|
@ -221,7 +222,8 @@ const SMSNotices = () => {
|
|||
R.equals(selectedSMS, it)
|
||||
? setPreviewOpen(!previewOpen)
|
||||
: setPreviewOpen(true)
|
||||
}}>
|
||||
}}
|
||||
size="large">
|
||||
{R.equals(selectedSMS, it) && previewOpen ? (
|
||||
<ExpandIconOpen />
|
||||
) : (
|
||||
|
|
|
|||
|
|
@ -233,7 +233,8 @@ const TermsConditions = () => {
|
|||
{!editing && (
|
||||
<IconButton
|
||||
className={classes.transparentButton}
|
||||
onClick={() => setEditing(true)}>
|
||||
onClick={() => setEditing(true)}
|
||||
size="large">
|
||||
<EditIcon />
|
||||
</IconButton>
|
||||
)}
|
||||
|
|
@ -287,7 +288,7 @@ const TermsConditions = () => {
|
|||
)}
|
||||
</Formik>
|
||||
</>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
export default TermsConditions
|
||||
|
|
|
|||
|
|
@ -144,6 +144,6 @@ export default {
|
|||
environment: Yup.string('The environment must be a string')
|
||||
.matches(/(prod|test)/)
|
||||
.required('The environment is required')
|
||||
})
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,6 +57,6 @@ export default {
|
|||
endpoint: Yup.string('The endpoint must be a string')
|
||||
.max(100, 'The endpoint is too long')
|
||||
.required('The endpoint is required')
|
||||
})
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -98,7 +98,8 @@ const SessionManagement = () => {
|
|||
<IconButton
|
||||
onClick={() => {
|
||||
deleteSession({ variables: { sid: s.sid } })
|
||||
}}>
|
||||
}}
|
||||
size="large">
|
||||
<DeleteIcon />
|
||||
</IconButton>
|
||||
)
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ const CopyToClipboard = ({
|
|||
</>
|
||||
)}
|
||||
</div>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
export default CopyToClipboard
|
||||
|
|
|
|||
|
|
@ -178,121 +178,118 @@ const CustomInfoRequests = ({
|
|||
</>
|
||||
)
|
||||
|
||||
return (
|
||||
!configLoading && (
|
||||
<>
|
||||
{customRequests.length > 0 && (
|
||||
<DataTable
|
||||
emptyText="No custom info requests so far"
|
||||
elements={[
|
||||
{
|
||||
header: 'Requirement name',
|
||||
width: 300,
|
||||
textAlign: 'left',
|
||||
size: 'sm',
|
||||
view: it => it.customRequest.name
|
||||
},
|
||||
{
|
||||
header: 'Data entry type',
|
||||
width: 300,
|
||||
textAlign: 'left',
|
||||
size: 'sm',
|
||||
view: it => inputTypeDisplay[it.customRequest.input.type]
|
||||
},
|
||||
{
|
||||
header: 'Constraints',
|
||||
width: 300,
|
||||
textAlign: 'left',
|
||||
size: 'sm',
|
||||
view: it =>
|
||||
constraintTypeDisplay[it.customRequest.input.constraintType]
|
||||
},
|
||||
{
|
||||
header: 'Edit',
|
||||
width: 100,
|
||||
textAlign: 'center',
|
||||
size: 'sm',
|
||||
view: it => {
|
||||
return (
|
||||
<IconButton
|
||||
onClick={() => {
|
||||
setToBeEdited(it)
|
||||
return toggleWizard()
|
||||
}}>
|
||||
<EditIcon />
|
||||
</IconButton>
|
||||
)
|
||||
}
|
||||
},
|
||||
{
|
||||
header: 'Delete',
|
||||
width: 100,
|
||||
textAlign: 'center',
|
||||
size: 'sm',
|
||||
view: it => {
|
||||
return (
|
||||
<IconButton
|
||||
onClick={() => {
|
||||
setToBeDeleted(it.id)
|
||||
return setDeleteDialog(true)
|
||||
}}>
|
||||
<DeleteIcon />
|
||||
</IconButton>
|
||||
)
|
||||
}
|
||||
}
|
||||
]}
|
||||
data={customRequests}
|
||||
Details={DetailsRow}
|
||||
expandable
|
||||
rowSize="sm"
|
||||
/>
|
||||
)}
|
||||
{!customRequests.length && (
|
||||
<div className={classes.centerItems}>
|
||||
<Info1 className={classnames(classes.m0, classes.mb10)}>
|
||||
It seems you haven't added any custom information requests yet.
|
||||
</Info1>
|
||||
<Info3 className={classnames(classes.m0, classes.mb10)}>
|
||||
Please read our{' '}
|
||||
<a href="https://support.lamassu.is/hc/en-us/sections/115000817232-Compliance">
|
||||
<Link>Support Article</Link>
|
||||
</a>{' '}
|
||||
on Compliance before adding new information requests.
|
||||
</Info3>
|
||||
<Button onClick={() => toggleWizard()}>
|
||||
Add custom information request
|
||||
</Button>
|
||||
</div>
|
||||
)}
|
||||
{showWizard && (
|
||||
<Wizard
|
||||
hasError={hasError}
|
||||
onClose={() => {
|
||||
setToBeEdited(null)
|
||||
setHasError(false)
|
||||
toggleWizard()
|
||||
}}
|
||||
toBeEdited={toBeEdited}
|
||||
onSave={(...args) => handleSave(...args)}
|
||||
existingRequirements={customRequests}
|
||||
/>
|
||||
)}
|
||||
|
||||
<DeleteDialog
|
||||
errorMessage={hasError ? 'Failed to delete' : ''}
|
||||
open={deleteDialog}
|
||||
onDismissed={() => {
|
||||
setDeleteDialog(false)
|
||||
setHasError(false)
|
||||
}}
|
||||
item={`custom information request`}
|
||||
extraMessage={detailedDeleteMsg}
|
||||
onConfirmed={() => handleDelete(toBeDeleted)}
|
||||
/>
|
||||
</>
|
||||
)
|
||||
)
|
||||
return (!configLoading && (<>
|
||||
{customRequests.length > 0 && (
|
||||
<DataTable
|
||||
emptyText="No custom info requests so far"
|
||||
elements={[
|
||||
{
|
||||
header: 'Requirement name',
|
||||
width: 300,
|
||||
textAlign: 'left',
|
||||
size: 'sm',
|
||||
view: it => it.customRequest.name
|
||||
},
|
||||
{
|
||||
header: 'Data entry type',
|
||||
width: 300,
|
||||
textAlign: 'left',
|
||||
size: 'sm',
|
||||
view: it => inputTypeDisplay[it.customRequest.input.type]
|
||||
},
|
||||
{
|
||||
header: 'Constraints',
|
||||
width: 300,
|
||||
textAlign: 'left',
|
||||
size: 'sm',
|
||||
view: it =>
|
||||
constraintTypeDisplay[it.customRequest.input.constraintType]
|
||||
},
|
||||
{
|
||||
header: 'Edit',
|
||||
width: 100,
|
||||
textAlign: 'center',
|
||||
size: 'sm',
|
||||
view: it => {
|
||||
return (
|
||||
<IconButton
|
||||
onClick={() => {
|
||||
setToBeEdited(it)
|
||||
return toggleWizard()
|
||||
}}
|
||||
size="large">
|
||||
<EditIcon />
|
||||
</IconButton>
|
||||
);
|
||||
}
|
||||
},
|
||||
{
|
||||
header: 'Delete',
|
||||
width: 100,
|
||||
textAlign: 'center',
|
||||
size: 'sm',
|
||||
view: it => {
|
||||
return (
|
||||
<IconButton
|
||||
onClick={() => {
|
||||
setToBeDeleted(it.id)
|
||||
return setDeleteDialog(true)
|
||||
}}
|
||||
size="large">
|
||||
<DeleteIcon />
|
||||
</IconButton>
|
||||
);
|
||||
}
|
||||
}
|
||||
]}
|
||||
data={customRequests}
|
||||
Details={DetailsRow}
|
||||
expandable
|
||||
rowSize="sm"
|
||||
/>
|
||||
)}
|
||||
{!customRequests.length && (
|
||||
<div className={classes.centerItems}>
|
||||
<Info1 className={classnames(classes.m0, classes.mb10)}>
|
||||
It seems you haven't added any custom information requests yet.
|
||||
</Info1>
|
||||
<Info3 className={classnames(classes.m0, classes.mb10)}>
|
||||
Please read our{' '}
|
||||
<a href="https://support.lamassu.is/hc/en-us/sections/115000817232-Compliance">
|
||||
<Link>Support Article</Link>
|
||||
</a>{' '}
|
||||
on Compliance before adding new information requests.
|
||||
</Info3>
|
||||
<Button onClick={() => toggleWizard()}>
|
||||
Add custom information request
|
||||
</Button>
|
||||
</div>
|
||||
)}
|
||||
{showWizard && (
|
||||
<Wizard
|
||||
hasError={hasError}
|
||||
onClose={() => {
|
||||
setToBeEdited(null)
|
||||
setHasError(false)
|
||||
toggleWizard()
|
||||
}}
|
||||
toBeEdited={toBeEdited}
|
||||
onSave={(...args) => handleSave(...args)}
|
||||
existingRequirements={customRequests}
|
||||
/>
|
||||
)}
|
||||
<DeleteDialog
|
||||
errorMessage={hasError ? 'Failed to delete' : ''}
|
||||
open={deleteDialog}
|
||||
onDismissed={() => {
|
||||
setDeleteDialog(false)
|
||||
setHasError(false)
|
||||
}}
|
||||
item={`custom information request`}
|
||||
extraMessage={detailedDeleteMsg}
|
||||
onConfirmed={() => handleDelete(toBeDeleted)}
|
||||
/>
|
||||
</>));
|
||||
}
|
||||
|
||||
export default CustomInfoRequests
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ const getOverridesSchema = (values, customInfoRequests) => {
|
|||
.label('Automation')
|
||||
.matches(/(Manual|Automatic)/)
|
||||
.required()
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
const getDefaultSettings = () => {
|
||||
|
|
|
|||
|
|
@ -165,7 +165,7 @@ const WizardStep = ({
|
|||
fullWidth
|
||||
label={`Select ${displayName}`}
|
||||
className={classes.picker}
|
||||
getOptionSelected={R.eqProps('code')}
|
||||
isOptionEqualToValue={R.eqProps('code')}
|
||||
labelProp={'display'}
|
||||
options={unfilled}
|
||||
onChange={(evt, it) => {
|
||||
|
|
@ -194,7 +194,7 @@ const WizardStep = ({
|
|||
</div>
|
||||
)}
|
||||
</>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
export default WizardStep
|
||||
|
|
|
|||
|
|
@ -52,13 +52,13 @@ function Footer({ currentStep, steps, subtitle, text, exImage, open, start }) {
|
|||
variant={'persistent'}
|
||||
classes={{ paperAnchorDockedBottom: classes.drawer }}>
|
||||
<div className={classnames(wrapperClassNames)}>
|
||||
<Grid container direction="row" justify="center" alignItems="baseline">
|
||||
<Grid container direction="row" justifyContent="center" alignItems="baseline">
|
||||
<Grid
|
||||
item
|
||||
xs={5}
|
||||
container
|
||||
direction={open ? 'column' : 'row'}
|
||||
justify="flex-start"
|
||||
justifyContent="flex-start"
|
||||
alignItems="baseline">
|
||||
<H2 className={classes.title}>Setup Lamassu Admin</H2>
|
||||
<Info2 className={classes.subtitle}>{subtitle}</Info2>
|
||||
|
|
@ -69,7 +69,7 @@ function Footer({ currentStep, steps, subtitle, text, exImage, open, start }) {
|
|||
xs={4}
|
||||
container
|
||||
direction="column"
|
||||
justify="flex-start"
|
||||
justifyContent="flex-start"
|
||||
alignItems="flex-end"
|
||||
spacing={5}>
|
||||
<Grid item xs={12}>
|
||||
|
|
@ -83,14 +83,14 @@ function Footer({ currentStep, steps, subtitle, text, exImage, open, start }) {
|
|||
<Grid
|
||||
container
|
||||
direction="row"
|
||||
justify="center"
|
||||
justifyContent="center"
|
||||
alignItems="baseline">
|
||||
<Grid
|
||||
item
|
||||
xs={5}
|
||||
container
|
||||
direction="column"
|
||||
justify="flex-start"
|
||||
justifyContent="flex-start"
|
||||
alignItems="flex-start">
|
||||
<Link
|
||||
onClick={() => {
|
||||
|
|
@ -104,7 +104,7 @@ function Footer({ currentStep, steps, subtitle, text, exImage, open, start }) {
|
|||
xs={4}
|
||||
container
|
||||
direction="column"
|
||||
justify="flex-start"
|
||||
justifyContent="flex-start"
|
||||
alignItems="flex-end"
|
||||
spacing={5}>
|
||||
<Grid item>
|
||||
|
|
@ -129,7 +129,7 @@ function Footer({ currentStep, steps, subtitle, text, exImage, open, start }) {
|
|||
<img width={1152} src={exImage} alt="" />
|
||||
</Modal>
|
||||
</Drawer>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
export default Footer
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { createTheme } from '@mui/material/styles'
|
||||
import { createTheme, adaptV4Theme } from '@mui/material/styles';
|
||||
|
||||
import typographyStyles from 'src/components/typography/styles'
|
||||
|
||||
|
|
@ -18,7 +18,7 @@ import {
|
|||
|
||||
const { p } = typographyStyles
|
||||
|
||||
export default createTheme({
|
||||
export default createTheme(adaptV4Theme({
|
||||
typography: {
|
||||
fontFamily: inputFontFamily,
|
||||
body1: { ...p }
|
||||
|
|
@ -158,4 +158,4 @@ export default createTheme({
|
|||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue