refactor: using `css` instead of `scss`
remove dependency `scss`
This commit is contained in:
		
							parent
							
								
									766b9fb206
								
							
						
					
					
						commit
						ce4fc3921e
					
				| 
						 | 
					@ -30,7 +30,6 @@
 | 
				
			||||||
    "electron-builder": "^24.6.3",
 | 
					    "electron-builder": "^24.6.3",
 | 
				
			||||||
    "react": "^18.2.0",
 | 
					    "react": "^18.2.0",
 | 
				
			||||||
    "react-dom": "^18.2.0",
 | 
					    "react-dom": "^18.2.0",
 | 
				
			||||||
    "sass": "^1.66.1",
 | 
					 | 
				
			||||||
    "typescript": "^5.1.6",
 | 
					    "typescript": "^5.1.6",
 | 
				
			||||||
    "vite": "^4.4.9",
 | 
					    "vite": "^4.4.9",
 | 
				
			||||||
    "vite-plugin-electron": "^0.13.0-beta.3",
 | 
					    "vite-plugin-electron": "^0.13.0-beta.3",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@ import { useState } from 'react'
 | 
				
			||||||
import Update from '@/components/update'
 | 
					import Update from '@/components/update'
 | 
				
			||||||
import logoVite from './assets/logo-vite.svg'
 | 
					import logoVite from './assets/logo-vite.svg'
 | 
				
			||||||
import logoElectron from './assets/logo-electron.svg'
 | 
					import logoElectron from './assets/logo-electron.svg'
 | 
				
			||||||
import './App.scss'
 | 
					import './App.css'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
console.log('[App.tsx]', `Hello world from Electron ${process.versions.electron}!`)
 | 
					console.log('[App.tsx]', `Hello world from Electron ${process.versions.electron}!`)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
import React, { ReactNode } from 'react'
 | 
					import React, { ReactNode } from 'react'
 | 
				
			||||||
import { createPortal } from 'react-dom'
 | 
					import { createPortal } from 'react-dom'
 | 
				
			||||||
import styles from './modal.module.scss'
 | 
					import './modal.css'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const ModalTemplate: React.FC<React.PropsWithChildren<{
 | 
					const ModalTemplate: React.FC<React.PropsWithChildren<{
 | 
				
			||||||
  title?: ReactNode
 | 
					  title?: ReactNode
 | 
				
			||||||
| 
						 | 
					@ -23,14 +23,14 @@ const ModalTemplate: React.FC<React.PropsWithChildren<{
 | 
				
			||||||
  } = props
 | 
					  } = props
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return (
 | 
					  return (
 | 
				
			||||||
    <div className={styles.modal}>
 | 
					    <div className='update-modal'>
 | 
				
			||||||
      <div className='modal-mask' />
 | 
					      <div className='update-modal__mask' />
 | 
				
			||||||
      <div className='modal-warp'>
 | 
					      <div className='update-modal__warp'>
 | 
				
			||||||
        <div className='modal-content' style={{ width }}>
 | 
					        <div className='update-modal__content' style={{ width }}>
 | 
				
			||||||
          <div className='modal-header'>
 | 
					          <div className='content__header'>
 | 
				
			||||||
            <div className='modal-header-text'>{title}</div>
 | 
					            <div className='content__header-text'>{title}</div>
 | 
				
			||||||
            <span
 | 
					            <span
 | 
				
			||||||
              className='modal-close'
 | 
					              className='update-modal--close'
 | 
				
			||||||
              onClick={onCancel}
 | 
					              onClick={onCancel}
 | 
				
			||||||
            >
 | 
					            >
 | 
				
			||||||
              <svg
 | 
					              <svg
 | 
				
			||||||
| 
						 | 
					@ -42,9 +42,9 @@ const ModalTemplate: React.FC<React.PropsWithChildren<{
 | 
				
			||||||
              </svg>
 | 
					              </svg>
 | 
				
			||||||
            </span>
 | 
					            </span>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
          <div className='modal-body'>{children}</div>
 | 
					          <div className='content__body'>{children}</div>
 | 
				
			||||||
          {typeof footer !== 'undefined' ? (
 | 
					          {typeof footer !== 'undefined' ? (
 | 
				
			||||||
            <div className='modal-footer'>
 | 
					            <div className='content__footer'>
 | 
				
			||||||
              <button onClick={onCancel}>{cancelText}</button>
 | 
					              <button onClick={onCancel}>{cancelText}</button>
 | 
				
			||||||
              <button onClick={onOk}>{okText}</button>
 | 
					              <button onClick={onOk}>{okText}</button>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,87 @@
 | 
				
			||||||
 | 
					.update-modal {
 | 
				
			||||||
 | 
					  --primary-color: rgb(224, 30, 90);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  .update-modal__mask {
 | 
				
			||||||
 | 
					    width: 100vw;
 | 
				
			||||||
 | 
					    height: 100vh;
 | 
				
			||||||
 | 
					    position: fixed;
 | 
				
			||||||
 | 
					    left: 0;
 | 
				
			||||||
 | 
					    top: 0;
 | 
				
			||||||
 | 
					    z-index: 9;
 | 
				
			||||||
 | 
					    background: rgba(0, 0, 0, 0.45);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  .update-modal__warp {
 | 
				
			||||||
 | 
					    position: fixed;
 | 
				
			||||||
 | 
					    top: 50%;
 | 
				
			||||||
 | 
					    left: 50%;
 | 
				
			||||||
 | 
					    transform: translate(-50%, -50%);
 | 
				
			||||||
 | 
					    z-index: 19;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  .update-modal__content {
 | 
				
			||||||
 | 
					    box-shadow: 0 0 10px -4px rgb(130, 86, 208);
 | 
				
			||||||
 | 
					    overflow: hidden;
 | 
				
			||||||
 | 
					    border-radius: 4px;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .content__header {
 | 
				
			||||||
 | 
					      display: flex;
 | 
				
			||||||
 | 
					      line-height: 38px;
 | 
				
			||||||
 | 
					      background-color: var(--primary-color);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      .content__header-text {
 | 
				
			||||||
 | 
					        font-weight: bold;
 | 
				
			||||||
 | 
					        width: 0;
 | 
				
			||||||
 | 
					        flex-grow: 1;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .update-modal--close {
 | 
				
			||||||
 | 
					      width: 30px;
 | 
				
			||||||
 | 
					      height: 30px;
 | 
				
			||||||
 | 
					      margin: 4px;
 | 
				
			||||||
 | 
					      line-height: 34px;
 | 
				
			||||||
 | 
					      text-align: center;
 | 
				
			||||||
 | 
					      cursor: pointer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      svg {
 | 
				
			||||||
 | 
					        width: 17px;
 | 
				
			||||||
 | 
					        height: 17px;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .content__body {
 | 
				
			||||||
 | 
					      padding: 10px;
 | 
				
			||||||
 | 
					      background-color: #fff;
 | 
				
			||||||
 | 
					      color: #333;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    .content__footer {
 | 
				
			||||||
 | 
					      padding: 10px;
 | 
				
			||||||
 | 
					      background-color: #fff;
 | 
				
			||||||
 | 
					      display: flex;
 | 
				
			||||||
 | 
					      justify-content: end;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      button {
 | 
				
			||||||
 | 
					        padding: 7px 11px;
 | 
				
			||||||
 | 
					        background-color: var(--primary-color);
 | 
				
			||||||
 | 
					        font-size: 14px;
 | 
				
			||||||
 | 
					        margin-left: 10px;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        &:first-child {
 | 
				
			||||||
 | 
					          margin-left: 0;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  .icon {
 | 
				
			||||||
 | 
					    padding: 0 15px;
 | 
				
			||||||
 | 
					    width: 20px;
 | 
				
			||||||
 | 
					    fill: currentColor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    &:hover {
 | 
				
			||||||
 | 
					      color: rgba(0, 0, 0, 0.4);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,89 +0,0 @@
 | 
				
			||||||
.modal {
 | 
					 | 
				
			||||||
  --primary-color: rgb(224, 30, 90);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  :global {
 | 
					 | 
				
			||||||
    .modal-mask {
 | 
					 | 
				
			||||||
      width: 100vw;
 | 
					 | 
				
			||||||
      height: 100vh;
 | 
					 | 
				
			||||||
      position: fixed;
 | 
					 | 
				
			||||||
      left: 0;
 | 
					 | 
				
			||||||
      top: 0;
 | 
					 | 
				
			||||||
      z-index: 9;
 | 
					 | 
				
			||||||
      background: rgba(0, 0, 0, 0.45);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    .modal-warp {
 | 
					 | 
				
			||||||
      position: fixed;
 | 
					 | 
				
			||||||
      top: 50%;
 | 
					 | 
				
			||||||
      left: 50%;
 | 
					 | 
				
			||||||
      transform: translate(-50%, -50%);
 | 
					 | 
				
			||||||
      z-index: 19;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    .modal-content {
 | 
					 | 
				
			||||||
      box-shadow: 0 0 10px -4px rgb(130, 86, 208);
 | 
					 | 
				
			||||||
      overflow: hidden;
 | 
					 | 
				
			||||||
      border-radius: 4px;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      .modal-header {
 | 
					 | 
				
			||||||
        display: flex;
 | 
					 | 
				
			||||||
        line-height: 38px;
 | 
					 | 
				
			||||||
        background-color: var(--primary-color);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        .modal-header-text {
 | 
					 | 
				
			||||||
          font-weight: bold;
 | 
					 | 
				
			||||||
          width: 0;
 | 
					 | 
				
			||||||
          flex-grow: 1;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      .modal-close {
 | 
					 | 
				
			||||||
        width: 30px;
 | 
					 | 
				
			||||||
        height: 30px;
 | 
					 | 
				
			||||||
        margin: 4px;
 | 
					 | 
				
			||||||
        line-height: 34px;
 | 
					 | 
				
			||||||
        text-align: center;
 | 
					 | 
				
			||||||
        cursor: pointer;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        svg {
 | 
					 | 
				
			||||||
          width: 17px;
 | 
					 | 
				
			||||||
          height: 17px;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      .modal-body {
 | 
					 | 
				
			||||||
        padding: 10px;
 | 
					 | 
				
			||||||
        background-color: #fff;
 | 
					 | 
				
			||||||
        color: #333;
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      .modal-footer {
 | 
					 | 
				
			||||||
        padding: 10px;
 | 
					 | 
				
			||||||
        background-color: #fff;
 | 
					 | 
				
			||||||
        display: flex;
 | 
					 | 
				
			||||||
        justify-content: end;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        button {
 | 
					 | 
				
			||||||
          padding: 7px 11px;
 | 
					 | 
				
			||||||
          background-color: var(--primary-color);
 | 
					 | 
				
			||||||
          font-size: 14px;
 | 
					 | 
				
			||||||
          margin-left: 10px;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          &:first-child {
 | 
					 | 
				
			||||||
            margin-left: 0;
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    .icon {
 | 
					 | 
				
			||||||
      padding: 0 15px;
 | 
					 | 
				
			||||||
      width: 20px;
 | 
					 | 
				
			||||||
      fill: currentColor;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      &:hover {
 | 
					 | 
				
			||||||
        color: rgba(0, 0, 0, 0.4);
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
import React from 'react'
 | 
					import React from 'react'
 | 
				
			||||||
import styles from './progress.module.scss'
 | 
					import'./progress.css'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const Progress: React.FC<React.PropsWithChildren<{
 | 
					const Progress: React.FC<React.PropsWithChildren<{
 | 
				
			||||||
  percent?: number
 | 
					  percent?: number
 | 
				
			||||||
| 
						 | 
					@ -7,14 +7,14 @@ const Progress: React.FC<React.PropsWithChildren<{
 | 
				
			||||||
  const { percent = 0 } = props
 | 
					  const { percent = 0 } = props
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return (
 | 
					  return (
 | 
				
			||||||
    <div className={styles.progress}>
 | 
					    <div className='update-progress'>
 | 
				
			||||||
      <div className='progress-pr'>
 | 
					      <div className='update-progress-pr'>
 | 
				
			||||||
        <div
 | 
					        <div
 | 
				
			||||||
          className='progress-rate'
 | 
					          className='update-progress-rate'
 | 
				
			||||||
          style={{ width: `${percent}%` }}
 | 
					          style={{ width: `${percent}%` }}
 | 
				
			||||||
        />
 | 
					        />
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
      <span className='progress-num'>{(percent ?? 0).toString().substring(0,4)}%</span>
 | 
					      <span className='update-progress-num '>{(percent ?? 0).toString().substring(0,4)}%</span>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,21 @@
 | 
				
			||||||
 | 
					.update-progress {
 | 
				
			||||||
 | 
					  display: flex;
 | 
				
			||||||
 | 
					  align-items: center;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  .update-progress-pr {
 | 
				
			||||||
 | 
					    border: 1px solid #000;
 | 
				
			||||||
 | 
					    border-radius: 3px;
 | 
				
			||||||
 | 
					    height: 6px;
 | 
				
			||||||
 | 
					    width: 200px;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  .update-progress-rate {
 | 
				
			||||||
 | 
					    height: 6px;
 | 
				
			||||||
 | 
					    border-radius: 3px;
 | 
				
			||||||
 | 
					    background-image: linear-gradient(to right, rgb(130, 86, 208) 0%, var(--primary-color) 100%)
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  .update-progress-num {
 | 
				
			||||||
 | 
					    margin: 0 10px;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,23 +0,0 @@
 | 
				
			||||||
.progress {
 | 
					 | 
				
			||||||
  display: flex;
 | 
					 | 
				
			||||||
  align-items: center;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  :global {
 | 
					 | 
				
			||||||
    .progress-pr {
 | 
					 | 
				
			||||||
      border: 1px solid #000;
 | 
					 | 
				
			||||||
      border-radius: 3px;
 | 
					 | 
				
			||||||
      height: 6px;
 | 
					 | 
				
			||||||
      width: 200px;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    .progress-rate {
 | 
					 | 
				
			||||||
      height: 6px;
 | 
					 | 
				
			||||||
      border-radius: 3px;
 | 
					 | 
				
			||||||
      background-image: linear-gradient(to right, rgb(130, 86, 208) 0%, var(--primary-color) 100%)
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    .progress-num {
 | 
					 | 
				
			||||||
      margin: 0 10px;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -3,7 +3,7 @@ import type { ProgressInfo } from 'electron-updater'
 | 
				
			||||||
import { useCallback, useEffect, useState } from 'react'
 | 
					import { useCallback, useEffect, useState } from 'react'
 | 
				
			||||||
import Modal from '@/components/update/Modal'
 | 
					import Modal from '@/components/update/Modal'
 | 
				
			||||||
import Progress from '@/components/update/Progress'
 | 
					import Progress from '@/components/update/Progress'
 | 
				
			||||||
import styles from './update.module.scss'
 | 
					import './update.css'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const Update = () => {
 | 
					const Update = () => {
 | 
				
			||||||
  const [checking, setChecking] = useState(false)
 | 
					  const [checking, setChecking] = useState(false)
 | 
				
			||||||
| 
						 | 
					@ -98,21 +98,21 @@ const Update = () => {
 | 
				
			||||||
        onOk={modalBtn?.onOk}
 | 
					        onOk={modalBtn?.onOk}
 | 
				
			||||||
        footer={updateAvailable ? /* hide footer */null : undefined}
 | 
					        footer={updateAvailable ? /* hide footer */null : undefined}
 | 
				
			||||||
      >
 | 
					      >
 | 
				
			||||||
        <div className={styles.modalslot}>
 | 
					        <div className='modal-slot'>
 | 
				
			||||||
          {updateError
 | 
					          {updateError
 | 
				
			||||||
            ? (
 | 
					            ? (
 | 
				
			||||||
              <div className='update-error'>
 | 
					              <div>
 | 
				
			||||||
                <p>Error downloading the latest version.</p>
 | 
					                <p>Error downloading the latest version.</p>
 | 
				
			||||||
                <p>{updateError.message}</p>
 | 
					                <p>{updateError.message}</p>
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
            ) : updateAvailable
 | 
					            ) : updateAvailable
 | 
				
			||||||
              ? (
 | 
					              ? (
 | 
				
			||||||
                <div className='can-available'>
 | 
					                <div>
 | 
				
			||||||
                  <div>The last version is: v{versionInfo?.newVersion}</div>
 | 
					                  <div>The last version is: v{versionInfo?.newVersion}</div>
 | 
				
			||||||
                  <div className='new-version-target'>v{versionInfo?.version} -> v{versionInfo?.newVersion}</div>
 | 
					                  <div className='new-version__target'>v{versionInfo?.version} -> v{versionInfo?.newVersion}</div>
 | 
				
			||||||
                  <div className='update-progress'>
 | 
					                  <div className='update__progress'>
 | 
				
			||||||
                    <div className='progress-title'>Update progress:</div>
 | 
					                    <div className='progress__title'>Update progress:</div>
 | 
				
			||||||
                    <div className='progress-bar'>
 | 
					                    <div className='progress__bar'>
 | 
				
			||||||
                      <Progress percent={progressInfo?.percent} ></Progress>
 | 
					                      <Progress percent={progressInfo?.percent} ></Progress>
 | 
				
			||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                  </div>
 | 
					                  </div>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,24 @@
 | 
				
			||||||
 | 
					.modal-slot {
 | 
				
			||||||
 | 
					  .update-progress {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  .new-version__target,
 | 
				
			||||||
 | 
					  .update__progress {
 | 
				
			||||||
 | 
					    margin-left: 40px;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  .progress__title {
 | 
				
			||||||
 | 
					    margin-right: 10px;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  .progress__bar {
 | 
				
			||||||
 | 
					    width: 0;
 | 
				
			||||||
 | 
					    flex-grow: 1;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  .can-not-available {
 | 
				
			||||||
 | 
					    padding: 20px;
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,31 +0,0 @@
 | 
				
			||||||
.modalslot {
 | 
					 | 
				
			||||||
  // display: flex;
 | 
					 | 
				
			||||||
  // align-items: center;
 | 
					 | 
				
			||||||
  // justify-content: center;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  :global {
 | 
					 | 
				
			||||||
    .update-progress {
 | 
					 | 
				
			||||||
      display: flex;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    .progress-title {
 | 
					 | 
				
			||||||
      margin-right: 10px;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    .progress-bar {
 | 
					 | 
				
			||||||
      width: 0;
 | 
					 | 
				
			||||||
      flex-grow: 1;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    .can-available {
 | 
					 | 
				
			||||||
      .new-version-target,.update-progress {
 | 
					 | 
				
			||||||
        margin-left: 40px;
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    .can-not-available {
 | 
					 | 
				
			||||||
      padding: 20px;
 | 
					 | 
				
			||||||
      text-align: center;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@ import React from 'react'
 | 
				
			||||||
import ReactDOM from 'react-dom/client'
 | 
					import ReactDOM from 'react-dom/client'
 | 
				
			||||||
import App from './App'
 | 
					import App from './App'
 | 
				
			||||||
import './samples/node-api'
 | 
					import './samples/node-api'
 | 
				
			||||||
import './index.scss'
 | 
					import './index.css'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
 | 
					ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
 | 
				
			||||||
  <React.StrictMode>
 | 
					  <React.StrictMode>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue