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 { ModalChildType, ModalPropsType } from './type';
 | 
			
		||||
import './index.scss';
 | 
			
		||||
import modalScss from './modal.module.scss'
 | 
			
		||||
const ModalTemplate = (child: ModalChildType) => {
 | 
			
		||||
  return (
 | 
			
		||||
    <>
 | 
			
		||||
      <div className="up-modal-bg" onClick={child.onCanCel} />
 | 
			
		||||
      <div className="up-modal">
 | 
			
		||||
        <div className="up-modal-panel">
 | 
			
		||||
    <div className={modalScss.modal}>
 | 
			
		||||
      <div className='modal-bg' onClick={child.onCanCel} />
 | 
			
		||||
      <div className='modal-outboard'>
 | 
			
		||||
        <div className='modal-panel'>
 | 
			
		||||
          {child.isHeaderShow ? (
 | 
			
		||||
            <div className="up-modal-header">
 | 
			
		||||
              <div className="up-modal-header-text">{child.titleText}</div>
 | 
			
		||||
            <div className='modal-header'>
 | 
			
		||||
              <div className='modal-header-text'>{child.titleText}</div>
 | 
			
		||||
              <svg
 | 
			
		||||
                onClick={child.onCanCel}
 | 
			
		||||
                className="icon"
 | 
			
		||||
                viewBox="0 0 1026 1024"
 | 
			
		||||
                version="1.1"
 | 
			
		||||
                xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
                className='icon'
 | 
			
		||||
                viewBox='0 0 1026 1024'
 | 
			
		||||
                version='1.1'
 | 
			
		||||
                xmlns='http://www.w3.org/2000/svg'
 | 
			
		||||
              >
 | 
			
		||||
                <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
 | 
			
		||||
            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 
 | 
			
		||||
            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>
 | 
			
		||||
            </div>
 | 
			
		||||
          ) : null}
 | 
			
		||||
 | 
			
		||||
          <div className="up-modal-body">{child.body}</div>
 | 
			
		||||
          <div className='modal-body'>{child.body}</div>
 | 
			
		||||
          {child.isFooterShow ? (
 | 
			
		||||
            <div className="up-modal-footer">
 | 
			
		||||
            <div className='modal-footer'>
 | 
			
		||||
              {(child.isSubmitShow ?? true) ?<button onClick={child.onSubmit}>{child.submitText ?? '确认'}</button> : null}
 | 
			
		||||
              {(child.isCanCelShow ?? true) ? <button onClick={child.onCanCel}>{child.canCelText ?? '取消'}</button> : null}
 | 
			
		||||
            </div>
 | 
			
		||||
          ) : null}
 | 
			
		||||
        </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 './index.scss'
 | 
			
		||||
import progressScss from './progress.module.scss'
 | 
			
		||||
 | 
			
		||||
const Progress = (props: RsProgressType) => {
 | 
			
		||||
 | 
			
		||||
  return (
 | 
			
		||||
    <div className="up-progress">
 | 
			
		||||
      <div className="up-progress-pr"  style={{ width: props.rateWidth ?? 250 }}>
 | 
			
		||||
    <div className={progressScss.progress}>
 | 
			
		||||
      <div className='progress-pr'  style={{ width: props.rateWidth ?? 250 }}>
 | 
			
		||||
      <div
 | 
			
		||||
        className="up-progress-rate"
 | 
			
		||||
        className='progress-rate'
 | 
			
		||||
        style={{
 | 
			
		||||
          width: (props.percent ?? 0) * ((props.rateWidth ?? 250) / 100),
 | 
			
		||||
          backgroundColor: props.rateColor ?? 'blue',
 | 
			
		||||
        }}
 | 
			
		||||
      />
 | 
			
		||||
    </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>
 | 
			
		||||
  );
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 { ipcRenderer } from 'electron'
 | 
			
		||||
import { useEffect, useState } from 'react'
 | 
			
		||||
import './index.scss'
 | 
			
		||||
import updateScss from './update.module.scss'
 | 
			
		||||
import { checkUpdateType, isUpdateAvailable, ModalBtnText, VersionInfo } from './type'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -89,11 +89,11 @@ const Update = () => {
 | 
			
		|||
  })
 | 
			
		||||
 | 
			
		||||
  return (
 | 
			
		||||
    <div>
 | 
			
		||||
    <>
 | 
			
		||||
      <Modal isOpenModal={isOpenModal} onCanCel={onModalCanCel} onSubmit={onModalSubmit}
 | 
			
		||||
        canCelText={modalBtnText.canCelText} submitText={modalBtnText.submitText}
 | 
			
		||||
        isFooterShow={checkType && isNeedUpdate}>
 | 
			
		||||
        <div className='up-modal-body'>
 | 
			
		||||
        <div className={updateScss.modalslot}>
 | 
			
		||||
          {updateError ?
 | 
			
		||||
            <div className='update-error'>Error downloading the latest version, please contact the developer</div> :
 | 
			
		||||
            checkType ? (
 | 
			
		||||
| 
						 | 
				
			
			@ -116,7 +116,7 @@ const Update = () => {
 | 
			
		|||
      <button disabled={checkLoading} onClick={checkUpdate}>
 | 
			
		||||
        {checkBtnText}
 | 
			
		||||
      </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