diff --git a/web/default/src/components/ChannelsTable.js b/web/default/src/components/ChannelsTable.js
index e05bfa96..ef2aec89 100644
--- a/web/default/src/components/ChannelsTable.js
+++ b/web/default/src/components/ChannelsTable.js
@@ -1,17 +1,7 @@
-import React, { useEffect, useState } from 'react';
-import { useTranslation } from 'react-i18next';
-import {
- Button,
- Dropdown,
- Form,
- Input,
- Label,
- Message,
- Pagination,
- Popup,
- Table,
-} from 'semantic-ui-react';
-import { Link } from 'react-router-dom';
+import React, {useEffect, useState} from 'react';
+import {useTranslation} from 'react-i18next';
+import {Button, Dropdown, Form, Input, Label, Message, Pagination, Popup, Table,} from 'semantic-ui-react';
+import {Link} from 'react-router-dom';
import {
API,
loadChannelModels,
@@ -23,8 +13,8 @@ import {
timestamp2string,
} from '../helpers';
-import { CHANNEL_OPTIONS, ITEMS_PER_PAGE } from '../constants';
-import { renderGroup, renderNumber } from '../helpers/render';
+import {CHANNEL_OPTIONS, ITEMS_PER_PAGE} from '../constants';
+import {renderGroup, renderNumber} from '../helpers/render';
function renderTimestamp(timestamp) {
return <>{timestamp2string(timestamp)}>;
@@ -54,6 +44,9 @@ function renderType(type, t) {
function renderBalance(type, balance, t) {
switch (type) {
case 1: // OpenAI
+ if (balance === 0) {
+ return {t('channel.table.balance_not_supported')};
+ }
return ${balance.toFixed(2)};
case 4: // CloseAI
return ¥{balance.toFixed(2)};