add disabled button

This commit is contained in:
DmitriyB
2022-08-09 15:53:54 +05:00
parent e26872d1bd
commit c96895b052
3 changed files with 33 additions and 5 deletions
+22 -3
View File
@@ -1,4 +1,4 @@
import React, { useContext } from "react";
import React, { useContext, useEffect, useState } from "react";
import { PinkButton } from "../../mainPart/pinkButton";
import './popup.css';
import { LangDict } from "../../langDict";
@@ -16,6 +16,12 @@ type TProps = {
export const Popup:React.FC<TProps> = React.memo((props) => {
const {lang} = useContext(ContextLang);
const [isDisabledButton, setIsDisabledButton] = useState<boolean>(false);
useEffect(() => {
setIsDisabledButton(props?.accessCode === '');
}, [props?.accessCode])
return <div className="popup-container" style={{padding: props.type === "title-input-button" ? '48px 48px 26px 48px' : ''}}>
{
props.logo
@@ -38,8 +44,21 @@ export const Popup:React.FC<TProps> = React.memo((props) => {
: <div className="popup-title-input-container">
<span className="popup-title-input-title">{LangDict.promtConnectFirst[lang]}<br/>{LangDict.promtConnectSecond[lang]}</span>
<div className="popup-title-input-input-container">
<input type={'text'} className='popup-title-input-input' value={props.accessCode} onChange={e => props.setAccessCode(e.target.value)} />
<PinkButton textButton={LangDict.continue[lang]} onClick={props.onClickFirst} width='100%' />
<input
type={'text'}
className='popup-title-input-input'
value={props.accessCode}
onChange={e => {
props.setAccessCode(e.target.value)
}}
/>
<PinkButton
textButton={LangDict.continue[lang]}
onClick={props.onClickFirst}
width='100%'
disabled={isDisabledButton}
/>
<span className="popup-line"></span>
</div>
<button className="popup-title-input-back-button" onClick={() => props.onClickChange()}>{LangDict.selecеDemoMode[lang]}</button>
+7
View File
@@ -35,6 +35,13 @@
border: none;
}
.main-part-text-button.disabled,
.main-part-text-button.disabled:hover,
.main-part-text-button.disabled:active {
background: #828282;
color: #FFFFFF;
}
@media screen and (min-width: 2000px) {
.main-part-text-button {
width: 50%;
+4 -2
View File
@@ -7,7 +7,8 @@ type TProps = {
onClick?: () => void
type?: 'submit' | 'button'
width?: '100%' | string,
variant?: 'gray' | 'default'
variant?: 'gray' | 'default',
disabled?: boolean
}
export const PinkButton:React.FC<TProps> = React.memo((props) => {
@@ -19,11 +20,12 @@ export const PinkButton:React.FC<TProps> = React.memo((props) => {
}, [])
return <button
style={{width: props.width ? props.width : '', ...styles}}
className={`main-part-text-button ${props.variant === "gray" ? 'gray' : ''}`}
className={`main-part-text-button ${props.variant === "gray" ? 'gray' : ''} ${props.disabled ? 'disabled' : ''}`}
onClick={() => {
return props?.onClick ? props.onClick() : null;
}}
type={props.type ? props.type : 'button'}
disabled={props?.disabled || false}
>
{props.textButton}
</button>