diff --git a/src/pages/_components/error-message-content.tsx b/src/pages/_components/error-message-content.tsx
new file mode 100644
index 00000000..08da6161
--- /dev/null
+++ b/src/pages/_components/error-message-content.tsx
@@ -0,0 +1,44 @@
+import { CheckCircleFilled, CopyOutlined } from '@ant-design/icons';
+import { Typography } from 'antd';
+import styled from 'styled-components';
+
+const Content = styled.div`
+ position: relative;
+ .cp-btn {
+ position: absolute;
+ top: 0px;
+ right: -4px;
+ display: none;
+ }
+ &:hover .cp-btn {
+ display: inline-block;
+ }
+ .msg {
+ display: none;
+ }
+`;
+
+const ErrorMessageContent: React.FC<{ errMsg: string }> = ({ errMsg }) => {
+ return (
+
+ ,
+
+ ]
+ }}
+ >
+ {errMsg}
+
+ {errMsg}
+
+ );
+};
+
+export default ErrorMessageContent;
diff --git a/src/pages/maas-provider/hooks/use-query-provider-models.ts b/src/pages/maas-provider/hooks/use-query-provider-models.tsx
similarity index 85%
rename from src/pages/maas-provider/hooks/use-query-provider-models.ts
rename to src/pages/maas-provider/hooks/use-query-provider-models.tsx
index 75779d27..39d7c0a4 100644
--- a/src/pages/maas-provider/hooks/use-query-provider-models.ts
+++ b/src/pages/maas-provider/hooks/use-query-provider-models.tsx
@@ -1,4 +1,5 @@
import { createAxiosToken } from '@/hooks/use-chunk-request';
+import ErrorMessageContent from '@/pages/_components/error-message-content';
import { useRequest } from 'ahooks';
import { message } from 'antd';
import { CancelTokenSource } from 'axios';
@@ -105,11 +106,23 @@ export const useTestProviderModel = () => {
manual: true,
onSuccess: (response) => {
if (!response?.accessible) {
- message.error(response?.error_message || 'Test model failed');
+ message.error({
+ content: (
+
+ )
+ });
}
},
onError: (error) => {
- message.error(error?.message || 'Test model failed');
+ message.error({
+ content: (
+
+ )
+ });
}
}
);
diff --git a/src/request-config.tsx b/src/request-config.tsx
index ef6b28ae..f85276a0 100644
--- a/src/request-config.tsx
+++ b/src/request-config.tsx
@@ -1,25 +1,9 @@
import { userAtom } from '@/atoms/user';
import { clearAtomStorage } from '@/atoms/utils';
import { history, RequestConfig } from '@umijs/max';
-import { message, Typography } from 'antd';
-import styled from 'styled-components';
+import { message } from 'antd';
import { DEFAULT_ENTER_PAGE } from './config/settings';
-
-const Content = styled.div`
- position: relative;
- .cp-btn {
- position: absolute;
- top: 0px;
- right: -4px;
- display: none;
- }
- &:hover .cp-btn {
- display: inline-block;
- }
- .msg {
- display: none;
- }
-`;
+import ErrorMessageContent from './pages/_components/error-message-content';
// these APIs do not via the GPUSTACK_API_BASE_URL
const NoBaseURLAPIs = ['/auth', '/v1', '/version', '/proxy', '/update'];
@@ -42,19 +26,7 @@ export const requestConfig: RequestConfig = {
if (!opts?.skipErrorHandler && response?.status) {
message.error({
- content: (
-
-
- {errMsg}
-
- {errMsg}
-
- )
+ content:
});
}
if (response?.status === 401) {