chore : use css module conduct style isolation
This commit is contained in:
		
							parent
							
								
									9432cd793f
								
							
						
					
					
						commit
						1f8b17810a
					
				| 
						 | 
					@ -1,50 +0,0 @@
 | 
				
			||||||
.up-modal-bg{
 | 
					 | 
				
			||||||
  width: 100vw;
 | 
					 | 
				
			||||||
  height: 100vh;
 | 
					 | 
				
			||||||
  position: fixed;
 | 
					 | 
				
			||||||
  left: 0;
 | 
					 | 
				
			||||||
  top: 0;
 | 
					 | 
				
			||||||
  z-index: 9999;
 | 
					 | 
				
			||||||
  background: rgba(0, 0, 0, 0.3);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
.up-modal {
 | 
					 | 
				
			||||||
  position: absolute;
 | 
					 | 
				
			||||||
  top: 20vh;
 | 
					 | 
				
			||||||
  left: 30vw;
 | 
					 | 
				
			||||||
  z-index: 10000;
 | 
					 | 
				
			||||||
  .up-modal-panel {
 | 
					 | 
				
			||||||
    border: 1px solid #000000;
 | 
					 | 
				
			||||||
    border-radius: 5px;
 | 
					 | 
				
			||||||
    .up-modal-header {
 | 
					 | 
				
			||||||
      $titleheight: 38px;
 | 
					 | 
				
			||||||
      width: 530px;
 | 
					 | 
				
			||||||
      height: $titleheight;
 | 
					 | 
				
			||||||
      line-height: $titleheight;
 | 
					 | 
				
			||||||
      background-color: rgb(99, 153, 255);
 | 
					 | 
				
			||||||
      display: flex;
 | 
					 | 
				
			||||||
      .up-modal-header-text {
 | 
					 | 
				
			||||||
        text-align: center;
 | 
					 | 
				
			||||||
        width: 480px;
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    .up-modal-body{
 | 
					 | 
				
			||||||
      background-color: #ffffff;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    .up-modal-footer {
 | 
					 | 
				
			||||||
      background-color: #ffffff;
 | 
					 | 
				
			||||||
      display: flex;
 | 
					 | 
				
			||||||
      justify-content: end;
 | 
					 | 
				
			||||||
      button{
 | 
					 | 
				
			||||||
        margin: 10px;
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  .icon {
 | 
					 | 
				
			||||||
    padding: 0 15px;
 | 
					 | 
				
			||||||
    width: 20px;
 | 
					 | 
				
			||||||
    fill: currentColor;
 | 
					 | 
				
			||||||
    &:hover {
 | 
					 | 
				
			||||||
      color: rgba(0, 0, 0, 0.4);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,43 +1,43 @@
 | 
				
			||||||
import { createPortal } from 'react-dom';
 | 
					import { createPortal } from 'react-dom';
 | 
				
			||||||
import { ModalChildType, ModalPropsType } from './type';
 | 
					import { ModalChildType, ModalPropsType } from './type';
 | 
				
			||||||
import './index.scss';
 | 
					import modalScss from './modal.module.scss'
 | 
				
			||||||
const ModalTemplate = (child: ModalChildType) => {
 | 
					const ModalTemplate = (child: ModalChildType) => {
 | 
				
			||||||
  return (
 | 
					  return (
 | 
				
			||||||
    <>
 | 
					    <div className={modalScss.modal}>
 | 
				
			||||||
      <div className="up-modal-bg" onClick={child.onCanCel} />
 | 
					      <div className='modal-bg' onClick={child.onCanCel} />
 | 
				
			||||||
      <div className="up-modal">
 | 
					      <div className='modal-outboard'>
 | 
				
			||||||
        <div className="up-modal-panel">
 | 
					        <div className='modal-panel'>
 | 
				
			||||||
          {child.isHeaderShow ? (
 | 
					          {child.isHeaderShow ? (
 | 
				
			||||||
            <div className="up-modal-header">
 | 
					            <div className='modal-header'>
 | 
				
			||||||
              <div className="up-modal-header-text">{child.titleText}</div>
 | 
					              <div className='modal-header-text'>{child.titleText}</div>
 | 
				
			||||||
              <svg
 | 
					              <svg
 | 
				
			||||||
                onClick={child.onCanCel}
 | 
					                onClick={child.onCanCel}
 | 
				
			||||||
                className="icon"
 | 
					                className='icon'
 | 
				
			||||||
                viewBox="0 0 1026 1024"
 | 
					                viewBox='0 0 1026 1024'
 | 
				
			||||||
                version="1.1"
 | 
					                version='1.1'
 | 
				
			||||||
                xmlns="http://www.w3.org/2000/svg"
 | 
					                xmlns='http://www.w3.org/2000/svg'
 | 
				
			||||||
              >
 | 
					              >
 | 
				
			||||||
                <path
 | 
					                <path
 | 
				
			||||||
                  d="M585.781589 510.748226l423.38657-423.38657A51.071963
 | 
					                  d='M585.781589 510.748226l423.38657-423.38657A51.071963
 | 
				
			||||||
            51.071963 0 0 0 937.156692 14.839469L513.770122 438.736759
 | 
					            51.071963 0 0 0 937.156692 14.839469L513.770122 438.736759
 | 
				
			||||||
            90.383552 14.839469A51.071963 51.071963 0 0 0 17.861365 87.361656L441.758655 
 | 
					            90.383552 14.839469A51.071963 51.071963 0 0 0 17.861365 87.361656L441.758655 
 | 
				
			||||||
            510.748226l-423.89729 423.38657A51.071963 51.071963 0 1 0 89.872832 1006.146263l423.89729-423.38657 
 | 
					            510.748226l-423.89729 423.38657A51.071963 51.071963 0 1 0 89.872832 1006.146263l423.89729-423.38657 
 | 
				
			||||||
            423.38657 423.38657a51.071963 51.071963 0 0 0 72.011467-72.011467z"
 | 
					            423.38657 423.38657a51.071963 51.071963 0 0 0 72.011467-72.011467z'
 | 
				
			||||||
                />
 | 
					                />
 | 
				
			||||||
              </svg>
 | 
					              </svg>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          ) : null}
 | 
					          ) : null}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          <div className="up-modal-body">{child.body}</div>
 | 
					          <div className='modal-body'>{child.body}</div>
 | 
				
			||||||
          {child.isFooterShow ? (
 | 
					          {child.isFooterShow ? (
 | 
				
			||||||
            <div className="up-modal-footer">
 | 
					            <div className='modal-footer'>
 | 
				
			||||||
              {(child.isSubmitShow ?? true) ?<button onClick={child.onSubmit}>{child.submitText ?? '确认'}</button> : null}
 | 
					              {(child.isSubmitShow ?? true) ?<button onClick={child.onSubmit}>{child.submitText ?? '确认'}</button> : null}
 | 
				
			||||||
              {(child.isCanCelShow ?? true) ? <button onClick={child.onCanCel}>{child.canCelText ?? '取消'}</button> : null}
 | 
					              {(child.isCanCelShow ?? true) ? <button onClick={child.onCanCel}>{child.canCelText ?? '取消'}</button> : null}
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          ) : null}
 | 
					          ) : null}
 | 
				
			||||||
        </div> 
 | 
					        </div> 
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
    </>
 | 
					    </div>
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,63 @@
 | 
				
			||||||
 | 
					.modal{
 | 
				
			||||||
 | 
					  :global{
 | 
				
			||||||
 | 
					    .modal-bg {
 | 
				
			||||||
 | 
					        width: 100vw;
 | 
				
			||||||
 | 
					        height: 100vh;
 | 
				
			||||||
 | 
					        position: fixed;
 | 
				
			||||||
 | 
					        left: 0;
 | 
				
			||||||
 | 
					        top: 0;
 | 
				
			||||||
 | 
					        z-index: 9999;
 | 
				
			||||||
 | 
					        background: rgba(0, 0, 0, 0.3);
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					      .modal-outboard {
 | 
				
			||||||
 | 
					        position: absolute;
 | 
				
			||||||
 | 
					        top: 20vh;
 | 
				
			||||||
 | 
					        left: 30vw;
 | 
				
			||||||
 | 
					        z-index: 10000;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					      .modal-panel {
 | 
				
			||||||
 | 
					        border: 1px solid #000000;
 | 
				
			||||||
 | 
					        border-radius: 5px;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        .modal-header {
 | 
				
			||||||
 | 
					          $titleheight: 38px;
 | 
				
			||||||
 | 
					          width: 530px;
 | 
				
			||||||
 | 
					          height: $titleheight;
 | 
				
			||||||
 | 
					          line-height: $titleheight;
 | 
				
			||||||
 | 
					          background-color: rgb(99, 153, 255);
 | 
				
			||||||
 | 
					          display: flex;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					          .modal-header-text {
 | 
				
			||||||
 | 
					            text-align: center;
 | 
				
			||||||
 | 
					            width: 480px;
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        .modal-body {
 | 
				
			||||||
 | 
					          background-color: #ffffff;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        .modal-footer {
 | 
				
			||||||
 | 
					          background-color: #ffffff;
 | 
				
			||||||
 | 
					          display: flex;
 | 
				
			||||||
 | 
					          justify-content: end;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					          button {
 | 
				
			||||||
 | 
					            margin: 10px;
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					      .icon {
 | 
				
			||||||
 | 
					        padding: 0 15px;
 | 
				
			||||||
 | 
					        width: 20px;
 | 
				
			||||||
 | 
					        fill: currentColor;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        &:hover {
 | 
				
			||||||
 | 
					          color: rgba(0, 0, 0, 0.4);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,16 +0,0 @@
 | 
				
			||||||
.up-progress{
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  align-items: center;
 | 
					 | 
				
			||||||
  .up-progress-pr{
 | 
					 | 
				
			||||||
     border: 1px solid #000000;
 | 
					 | 
				
			||||||
     border-radius: 3px;
 | 
					 | 
				
			||||||
     height: 6px;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  .up-progress-rate{
 | 
					 | 
				
			||||||
     height: 6px;
 | 
					 | 
				
			||||||
     border-radius: 3px;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  .up-progress-num{
 | 
					 | 
				
			||||||
    margin: 0 10px;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,20 +1,20 @@
 | 
				
			||||||
import { RsProgressType } from './type'
 | 
					import { RsProgressType } from './type'
 | 
				
			||||||
import './index.scss'
 | 
					import progressScss from './progress.module.scss'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const Progress = (props: RsProgressType) => {
 | 
					const Progress = (props: RsProgressType) => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return (
 | 
					  return (
 | 
				
			||||||
    <div className="up-progress">
 | 
					    <div className={progressScss.progress}>
 | 
				
			||||||
      <div className="up-progress-pr"  style={{ width: props.rateWidth ?? 250 }}>
 | 
					      <div className='progress-pr'  style={{ width: props.rateWidth ?? 250 }}>
 | 
				
			||||||
      <div
 | 
					      <div
 | 
				
			||||||
        className="up-progress-rate"
 | 
					        className='progress-rate'
 | 
				
			||||||
        style={{
 | 
					        style={{
 | 
				
			||||||
          width: (props.percent ?? 0) * ((props.rateWidth ?? 250) / 100),
 | 
					          width: (props.percent ?? 0) * ((props.rateWidth ?? 250) / 100),
 | 
				
			||||||
          backgroundColor: props.rateColor ?? 'blue',
 | 
					          backgroundColor: props.rateColor ?? 'blue',
 | 
				
			||||||
        }}
 | 
					        }}
 | 
				
			||||||
      />
 | 
					      />
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
      <span className='up-progress-num'>{props.percent > 100 ? 100 :(props.percent.toString().substring(0,4) ?? 0) }%</span>
 | 
					      <span className='progress-num'>{props.percent > 100 ? 100 :(props.percent.toString().substring(0,4) ?? 0) }%</span>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,21 @@
 | 
				
			||||||
 | 
					.progress {
 | 
				
			||||||
 | 
					  display: flex;
 | 
				
			||||||
 | 
					  align-items: center;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  :global {
 | 
				
			||||||
 | 
					    .progress-pr {
 | 
				
			||||||
 | 
					      border: 1px solid #000000;
 | 
				
			||||||
 | 
					      border-radius: 3px;
 | 
				
			||||||
 | 
					      height: 6px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .progress-rate {
 | 
				
			||||||
 | 
					      height: 6px;
 | 
				
			||||||
 | 
					      border-radius: 3px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .progress-num {
 | 
				
			||||||
 | 
					      margin: 0 10px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,13 +0,0 @@
 | 
				
			||||||
.up-modal-body{
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  align-items: center;
 | 
					 | 
				
			||||||
  justify-content: center;
 | 
					 | 
				
			||||||
  height: 100px;
 | 
					 | 
				
			||||||
  .progress-title{
 | 
					 | 
				
			||||||
    width: 150px;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  .update-progress{
 | 
					 | 
				
			||||||
    display: flex;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@ import Modal from '@/components/update/Modal'
 | 
				
			||||||
import Progress from '@/components/update/Progress'
 | 
					import Progress from '@/components/update/Progress'
 | 
				
			||||||
import { ipcRenderer } from 'electron'
 | 
					import { ipcRenderer } from 'electron'
 | 
				
			||||||
import { useEffect, useState } from 'react'
 | 
					import { useEffect, useState } from 'react'
 | 
				
			||||||
import './index.scss'
 | 
					import updateScss from './update.module.scss'
 | 
				
			||||||
import { checkUpdateType, isUpdateAvailable, ModalBtnText, VersionInfo } from './type'
 | 
					import { checkUpdateType, isUpdateAvailable, ModalBtnText, VersionInfo } from './type'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -89,11 +89,11 @@ const Update = () => {
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return (
 | 
					  return (
 | 
				
			||||||
    <div>
 | 
					    <>
 | 
				
			||||||
      <Modal isOpenModal={isOpenModal} onCanCel={onModalCanCel} onSubmit={onModalSubmit}
 | 
					      <Modal isOpenModal={isOpenModal} onCanCel={onModalCanCel} onSubmit={onModalSubmit}
 | 
				
			||||||
        canCelText={modalBtnText.canCelText} submitText={modalBtnText.submitText}
 | 
					        canCelText={modalBtnText.canCelText} submitText={modalBtnText.submitText}
 | 
				
			||||||
        isFooterShow={checkType && isNeedUpdate}>
 | 
					        isFooterShow={checkType && isNeedUpdate}>
 | 
				
			||||||
        <div className='up-modal-body'>
 | 
					        <div className={updateScss.modalslot}>
 | 
				
			||||||
          {updateError ?
 | 
					          {updateError ?
 | 
				
			||||||
            <div className='update-error'>Error downloading the latest version, please contact the developer</div> :
 | 
					            <div className='update-error'>Error downloading the latest version, please contact the developer</div> :
 | 
				
			||||||
            checkType ? (
 | 
					            checkType ? (
 | 
				
			||||||
| 
						 | 
					@ -116,7 +116,7 @@ const Update = () => {
 | 
				
			||||||
      <button disabled={checkLoading} onClick={checkUpdate}>
 | 
					      <button disabled={checkLoading} onClick={checkUpdate}>
 | 
				
			||||||
        {checkBtnText}
 | 
					        {checkBtnText}
 | 
				
			||||||
      </button>
 | 
					      </button>
 | 
				
			||||||
    </div>
 | 
					    </>
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,19 @@
 | 
				
			||||||
 | 
					.modalslot{
 | 
				
			||||||
 | 
					  display: flex;
 | 
				
			||||||
 | 
					  align-items: center;
 | 
				
			||||||
 | 
					  justify-content: center;
 | 
				
			||||||
 | 
					  height: 100px;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  :global {
 | 
				
			||||||
 | 
					    .progress-title {
 | 
				
			||||||
 | 
					      width: 150px;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .update-progress {
 | 
				
			||||||
 | 
					      display: flex;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.a{
 | 
				
			||||||
 | 
					  color: red;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue