Skip to content

Commit 3fda59a

Browse files
authored
Merge pull request #229 from mayuran-deriv/mayuran/app-register-new-cancel-button
fix: added cancel button
2 parents 9139b6a + d207462 commit 3fda59a

File tree

2 files changed

+44
-15
lines changed

2 files changed

+44
-15
lines changed

src/features/dashboard/components/app-register/app-register.scss

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,9 @@
8686
.error {
8787
color: var(--colors-coral500) !important;
8888
}
89+
.app-register-container__wrap-button {
90+
display: flex;
91+
justify-content: center;
92+
gap: 16px;
93+
margin-top: 3.5rem;
94+
}

src/features/dashboard/components/app-register/app-register.tsx

Lines changed: 38 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ const TermsAndConditions: React.FC<TTermsAndConditionsProps> = ({ register }) =>
3636
className='app-register-container__tnc__link'
3737
>
3838
<Translate>terms and conditions</Translate>
39-
</Link>
40-
{' '}
39+
</Link>{' '}
4140
{translate({ message: 'and General Business Partners' })}{' '}
4241
<Link
4342
href='https://docs.deriv.com/tnc/business-partners-general-terms.pdf'
@@ -76,16 +75,23 @@ const AppRegister: React.FC = () => {
7675
const {
7776
register,
7877
handleSubmit,
78+
watch,
7979
formState: { errors },
8080
} = useForm<IBaseRegisterAppForm>({
8181
mode: 'all',
82+
reValidateMode: 'onChange',
8283
resolver: yupResolver(baseAppRegisterSchema),
8384
});
8485

8586
const has_error = Object.entries(errors).length !== 0;
87+
const watchedValues = watch();
88+
const name_value = watchedValues.name || '';
89+
const tnc_approval = watchedValues.tnc_approval || false;
90+
const is_button_disabled = has_error || !name_value || !tnc_approval;
91+
8692
const { deviceType } = useDeviceType();
8793
const is_desktop = deviceType === 'desktop';
88-
const { setAppRegisterModalOpen, updateCurrentTab, getApps, handleCurrentUpdatingItem } =
94+
const { setAppRegisterModalOpen, updateCurrentTab, getApps, handleCurrentUpdatingItem, apps } =
8995
useAppManager();
9096
const { send: registerApp, data, error, clear, is_loading } = useWS('app_register');
9197
const [created_app_data, setCreatedAppData] = useState({});
@@ -135,26 +141,43 @@ const AppRegister: React.FC = () => {
135141
<div className={`${has_error && 'error-border'} app-register-container__fields`}>
136142
<div className='app-register-container__fields__input'>
137143
<input
138-
{...register('name')}
139-
onChange={handleErrorOnChange}
144+
{...register('name', {
145+
onChange: (e) => {
146+
handleErrorOnChange();
147+
},
148+
})}
140149
placeholder={translate({ message: `Enter your app's name` })}
141150
className='app-register-container__input'
142151
/>
143152
</div>
144-
<div className='app-register-container__fields__button'>
145-
<Button
146-
color='coral'
147-
size={is_desktop ? 'lg' : 'md'}
148-
variant='primary'
149-
role='submit'
150-
disabled={has_error}
151-
label={translate({ message: 'Register now' })}
152-
></Button>
153-
</div>
154153
</div>
155154
<span className='error'>{errors?.tnc_approval?.message || error?.error?.message}</span>
155+
156156
<Restrictions error={errors?.name?.message} />
157157
<TermsAndConditions register={register('tnc_approval')} />
158+
<div className='app-register-container__wrap-button'>
159+
<Button
160+
variant='secondary'
161+
size={is_desktop ? 'lg' : 'md'}
162+
color='black'
163+
type='button'
164+
disabled={!apps?.length}
165+
onClick={() => {
166+
updateCurrentTab(TDashboardTab.MANAGE_APPS);
167+
}}
168+
>
169+
<Translate>Cancel</Translate>
170+
</Button>
171+
172+
<Button
173+
color='coral'
174+
size={is_desktop ? 'lg' : 'md'}
175+
variant='primary'
176+
role='submit'
177+
disabled={is_button_disabled}
178+
label={translate({ message: 'Register now' })}
179+
></Button>
180+
</div>
158181
</div>
159182
</form>
160183
<AppRegisterSuccessModal onCancel={handleConfigureLater} onConfigure={handleAppConfigure} />

0 commit comments

Comments
 (0)