diff --git a/packages/neuron-ui/src/components/NervosDAO/index.tsx b/packages/neuron-ui/src/components/NervosDAO/index.tsx
index 0246117032..24fcef51da 100644
--- a/packages/neuron-ui/src/components/NervosDAO/index.tsx
+++ b/packages/neuron-ui/src/components/NervosDAO/index.tsx
@@ -179,6 +179,7 @@ const NervosDAO = () => {
genesisBlockTimestamp,
connectionStatus,
isPrivacyMode,
+ hasCkbBalance: +wallet.balance > 0,
}
return
})}
diff --git a/packages/neuron-ui/src/components/NervosDAORecord/daoRecordRow.module.scss b/packages/neuron-ui/src/components/NervosDAORecord/daoRecordRow.module.scss
index a8ae72a98c..c533d52c3f 100644
--- a/packages/neuron-ui/src/components/NervosDAORecord/daoRecordRow.module.scss
+++ b/packages/neuron-ui/src/components/NervosDAORecord/daoRecordRow.module.scss
@@ -249,5 +249,10 @@
line-height: 56px;
padding: 0;
}
+
+ .tip {
+ width: 220px;
+ white-space: normal;
+ }
}
}
diff --git a/packages/neuron-ui/src/components/NervosDAORecord/index.tsx b/packages/neuron-ui/src/components/NervosDAORecord/index.tsx
index 2dc5dca037..36256afcdb 100644
--- a/packages/neuron-ui/src/components/NervosDAORecord/index.tsx
+++ b/packages/neuron-ui/src/components/NervosDAORecord/index.tsx
@@ -19,6 +19,7 @@ import { Clock } from 'widgets/Icons/icon'
import { Link } from 'react-router-dom'
import { HIDE_BALANCE } from 'utils/const'
+import Tooltip from 'widgets/Tooltip'
import styles from './daoRecordRow.module.scss'
import hooks from './hooks'
@@ -42,6 +43,7 @@ export interface DAORecordProps extends State.NervosDAORecord {
tipBlockTimestamp: number // tip block timestamp, used to calculate apc, dovetails with current epoch
genesisBlockTimestamp: number | undefined // genesis block timestamp, used to calculate apc
isPrivacyMode?: boolean
+ hasCkbBalance?: boolean
}
export const DAORecord = ({
@@ -62,6 +64,7 @@ export const DAORecord = ({
withdrawInfo,
unlockInfo,
isPrivacyMode,
+ hasCkbBalance,
}: DAORecordProps) => {
const [t] = useTranslation()
const [withdrawEpoch, setWithdrawEpoch] = useState('')
@@ -143,8 +146,11 @@ export const DAORecord = ({
const compensatedPeriod =
withdrawInfo?.timestamp && depositInfo?.timestamp ? +withdrawInfo.timestamp - +depositInfo.timestamp : undefined
+ const isWithdrawnDisabled = CellStatus.Deposited === cellStatus && !hasCkbBalance
const isActionAvailable =
- connectionStatus === 'online' && [CellStatus.Deposited, CellStatus.Unlockable].includes(cellStatus)
+ connectionStatus === 'online' &&
+ [CellStatus.Deposited, CellStatus.Unlockable].includes(cellStatus) &&
+ !isWithdrawnDisabled
const depositOutPointKey = depositOutPoint
? `${depositOutPoint.txHash}-${depositOutPoint.index}`
@@ -277,14 +283,31 @@ export const DAORecord = ({
-
+ {isWithdrawnDisabled ? (
+ {t('nervos-dao.deposit-record.insufficient-balance-to-unlock')}
}
+ placement="top"
+ tipClassName={styles.tip}
+ >
+
+
+ ) : (
+
+ )}
)}
diff --git a/packages/neuron-ui/src/locales/en.json b/packages/neuron-ui/src/locales/en.json
index e0d6782f8f..10f74f7f6c 100644
--- a/packages/neuron-ui/src/locales/en.json
+++ b/packages/neuron-ui/src/locales/en.json
@@ -689,7 +689,8 @@
"compensated-period": "Compensation Period",
"days-hours": "{{days}} days {{hours}} hours",
"no-deposit": "No Deposit",
- "no-completed": "No Completed"
+ "no-completed": "No Completed",
+ "insufficient-balance-to-unlock": "Balance is not enough for transaction fee to unlock the deposit"
},
"compensation-period": {
"tooltip": {
diff --git a/packages/neuron-ui/src/locales/fr.json b/packages/neuron-ui/src/locales/fr.json
index e7445298cc..7a2189d3e2 100644
--- a/packages/neuron-ui/src/locales/fr.json
+++ b/packages/neuron-ui/src/locales/fr.json
@@ -689,7 +689,8 @@
"compensated-period": "Période de compensation",
"days-hours": "{{days}} jours {{hours}} heures",
"no-deposit": "Aucun dépôt",
- "no-completed": "Aucun terminé"
+ "no-completed": "Aucun terminé",
+ "insufficient-balance-to-unlock": "Le solde n'est pas suffisant pour payer les frais de transaction afin de débloquer le dépôt DAO."
},
"compensation-period": {
"tooltip": {
diff --git a/packages/neuron-ui/src/locales/zh-tw.json b/packages/neuron-ui/src/locales/zh-tw.json
index 44b240120b..c6ef72e6ab 100644
--- a/packages/neuron-ui/src/locales/zh-tw.json
+++ b/packages/neuron-ui/src/locales/zh-tw.json
@@ -682,7 +682,8 @@
"compensated-period": "補貼時間",
"days-hours": "{{days}} 天 {{hours}} 小時",
"no-deposit": "沒有存入記錄",
- "no-completed": "沒有解鎖記錄"
+ "no-completed": "沒有解鎖記錄",
+ "insufficient-balance-to-unlock": "沒有足夠余額支付交易費用以解鎖 DAO 存款"
},
"compensation-period": {
"tooltip": {
diff --git a/packages/neuron-ui/src/locales/zh.json b/packages/neuron-ui/src/locales/zh.json
index 6a5b89f526..7c68e910aa 100644
--- a/packages/neuron-ui/src/locales/zh.json
+++ b/packages/neuron-ui/src/locales/zh.json
@@ -682,7 +682,8 @@
"compensated-period": "补贴时间",
"days-hours": "{{days}} 天 {{hours}} 小时",
"no-deposit": "没有存入记录",
- "no-completed": "没有解锁记录"
+ "no-completed": "没有解锁记录",
+ "insufficient-balance-to-unlock": "没有足够余额支付交易费用以解锁 DAO 存款"
},
"compensation-period": {
"tooltip": {
diff --git a/packages/neuron-wallet/src/controllers/app/index.ts b/packages/neuron-wallet/src/controllers/app/index.ts
index 888e087d19..30a0873f1a 100644
--- a/packages/neuron-wallet/src/controllers/app/index.ts
+++ b/packages/neuron-wallet/src/controllers/app/index.ts
@@ -132,6 +132,8 @@ export default class AppController {
devTools: env.isDevMode,
contextIsolation: false,
preload: path.join(__dirname, './preload.js'),
+ // disable webSecurity for dev, do not set webSecurity as true, because electron has default set other value when webSecurity is not set by developer
+ ...(app.isPackaged ? {} : { webSecurity: false }),
},
})