@refinedev/antd 5.37.3 → 5.37.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/CHANGELOG.md +1766 -1776
  2. package/dist/components/autoSaveIndicator/index.d.ts.map +1 -1
  3. package/dist/components/breadcrumb/index.d.ts.map +1 -1
  4. package/dist/components/buttons/create/index.d.ts.map +1 -1
  5. package/dist/components/buttons/delete/index.d.ts.map +1 -1
  6. package/dist/components/buttons/import/index.d.ts.map +1 -1
  7. package/dist/components/buttons/types.d.ts.map +1 -1
  8. package/dist/components/crud/edit/index.d.ts.map +1 -1
  9. package/dist/components/crud/list/index.d.ts.map +1 -1
  10. package/dist/components/crud/show/index.d.ts.map +1 -1
  11. package/dist/components/crud/types.d.ts.map +1 -1
  12. package/dist/components/fields/date/index.d.ts.map +1 -1
  13. package/dist/components/fields/email/index.d.ts.map +1 -1
  14. package/dist/components/fields/number/index.d.ts.map +1 -1
  15. package/dist/components/fields/text/index.d.ts.map +1 -1
  16. package/dist/components/fields/types.d.ts.map +1 -1
  17. package/dist/components/fields/url/index.d.ts.map +1 -1
  18. package/dist/components/layout/header/index.d.ts.map +1 -1
  19. package/dist/components/layout/sider/index.d.ts.map +1 -1
  20. package/dist/components/layout/title/index.d.ts.map +1 -1
  21. package/dist/components/layout/types.d.ts.map +1 -1
  22. package/dist/components/pageHeader/index.d.ts.map +1 -1
  23. package/dist/components/pages/auth/components/forgotPassword/index.d.ts.map +1 -1
  24. package/dist/components/pages/auth/components/login/index.d.ts.map +1 -1
  25. package/dist/components/pages/auth/components/register/index.d.ts.map +1 -1
  26. package/dist/components/pages/auth/components/updatePassword/index.d.ts.map +1 -1
  27. package/dist/components/pages/auth/index.d.ts.map +1 -1
  28. package/dist/components/pages/error/index.d.ts.map +1 -1
  29. package/dist/components/pages/login/index.d.ts.map +1 -1
  30. package/dist/components/pages/ready/index.d.ts.map +1 -1
  31. package/dist/components/table/components/filterDropdown/index.d.ts.map +1 -1
  32. package/dist/components/themedLayout/header/index.d.ts.map +1 -1
  33. package/dist/components/themedLayout/sider/index.d.ts.map +1 -1
  34. package/dist/components/themedLayout/title/index.d.ts.map +1 -1
  35. package/dist/components/themedLayout/types.d.ts.map +1 -1
  36. package/dist/components/themedLayoutV2/header/index.d.ts.map +1 -1
  37. package/dist/components/themedLayoutV2/index.d.ts.map +1 -1
  38. package/dist/components/themedLayoutV2/sider/index.d.ts.map +1 -1
  39. package/dist/components/themedLayoutV2/title/index.d.ts.map +1 -1
  40. package/dist/components/themedLayoutV2/types.d.ts.map +1 -1
  41. package/dist/components/undoableNotification/index.d.ts.map +1 -1
  42. package/dist/contexts/index.d.ts.map +1 -1
  43. package/dist/contexts/themedLayoutContext/IThemedLayoutContext.d.ts.map +1 -1
  44. package/dist/contexts/themedLayoutContext/index.d.ts.map +1 -1
  45. package/dist/definitions/table/index.d.ts.map +1 -1
  46. package/dist/definitions/themes/index.d.ts.map +1 -1
  47. package/dist/esm/index.js +2 -1
  48. package/dist/esm/index.js.map +1 -1
  49. package/dist/hooks/fields/useCheckboxGroup/index.d.ts.map +1 -1
  50. package/dist/hooks/fields/useRadioGroup/index.d.ts.map +1 -1
  51. package/dist/hooks/fields/useSelect/index.d.ts.map +1 -1
  52. package/dist/hooks/form/index.d.ts.map +1 -1
  53. package/dist/hooks/form/useDrawerForm/index.d.ts.map +1 -1
  54. package/dist/hooks/form/useDrawerForm/useDrawerForm.d.ts.map +1 -1
  55. package/dist/hooks/form/useForm.d.ts.map +1 -1
  56. package/dist/hooks/form/useModalForm/index.d.ts.map +1 -1
  57. package/dist/hooks/form/useModalForm/useModalForm.d.ts.map +1 -1
  58. package/dist/hooks/form/useStepsForm/index.d.ts.map +1 -1
  59. package/dist/hooks/form/useStepsForm/useStepsForm.d.ts.map +1 -1
  60. package/dist/hooks/import/index.d.ts.map +1 -1
  61. package/dist/hooks/list/useSimpleList/useSimpleList.d.ts.map +1 -1
  62. package/dist/hooks/modal/useModal/index.d.ts.map +1 -1
  63. package/dist/hooks/table/useEditableTable/useEditableTable.d.ts.map +1 -1
  64. package/dist/hooks/table/useTable/paginationLink.d.ts.map +1 -1
  65. package/dist/hooks/table/useTable/useTable.d.ts.map +1 -1
  66. package/dist/hooks/useFileUploadState/index.d.ts.map +1 -1
  67. package/dist/hooks/useSiderVisible/index.d.ts.map +1 -1
  68. package/dist/iife/index.js +11 -10
  69. package/dist/iife/index.js.map +1 -1
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +2 -1
  72. package/dist/index.js.map +1 -1
  73. package/dist/interfaces/field.d.ts.map +1 -1
  74. package/dist/interfaces/index.d.ts.map +1 -1
  75. package/dist/interfaces/upload.d.ts.map +1 -1
  76. package/package.json +32 -32
  77. package/refine.config.js +497 -524
  78. package/src/components/autoSaveIndicator/index.tsx +69 -70
  79. package/src/components/breadcrumb/index.tsx +63 -65
  80. package/src/components/buttons/clone/index.tsx +86 -86
  81. package/src/components/buttons/create/index.tsx +85 -86
  82. package/src/components/buttons/delete/index.tsx +114 -119
  83. package/src/components/buttons/edit/index.tsx +86 -86
  84. package/src/components/buttons/export/index.tsx +17 -17
  85. package/src/components/buttons/import/index.tsx +19 -20
  86. package/src/components/buttons/list/index.tsx +105 -105
  87. package/src/components/buttons/refresh/index.tsx +50 -50
  88. package/src/components/buttons/save/index.tsx +17 -17
  89. package/src/components/buttons/show/index.tsx +86 -86
  90. package/src/components/buttons/types.ts +20 -20
  91. package/src/components/crud/create/index.tsx +120 -120
  92. package/src/components/crud/edit/index.tsx +205 -207
  93. package/src/components/crud/list/index.tsx +88 -90
  94. package/src/components/crud/show/index.tsx +175 -185
  95. package/src/components/crud/types.ts +41 -56
  96. package/src/components/fields/boolean/index.tsx +11 -11
  97. package/src/components/fields/date/index.tsx +13 -15
  98. package/src/components/fields/email/index.tsx +5 -7
  99. package/src/components/fields/file/index.tsx +8 -8
  100. package/src/components/fields/image/index.tsx +4 -4
  101. package/src/components/fields/markdown/index.tsx +9 -9
  102. package/src/components/fields/number/index.tsx +17 -19
  103. package/src/components/fields/tag/index.tsx +1 -1
  104. package/src/components/fields/text/index.tsx +1 -3
  105. package/src/components/fields/types.ts +18 -18
  106. package/src/components/fields/url/index.tsx +8 -10
  107. package/src/components/layout/header/index.tsx +25 -26
  108. package/src/components/layout/index.tsx +30 -30
  109. package/src/components/layout/sider/index.tsx +238 -248
  110. package/src/components/layout/sider/styles.ts +5 -5
  111. package/src/components/layout/title/index.tsx +40 -40
  112. package/src/components/layout/types.ts +6 -6
  113. package/src/components/pageHeader/index.tsx +44 -44
  114. package/src/components/pages/auth/components/forgotPassword/index.tsx +177 -183
  115. package/src/components/pages/auth/components/login/index.tsx +258 -274
  116. package/src/components/pages/auth/components/register/index.tsx +247 -266
  117. package/src/components/pages/auth/components/styles.ts +16 -16
  118. package/src/components/pages/auth/components/updatePassword/index.tsx +160 -177
  119. package/src/components/pages/auth/index.tsx +23 -23
  120. package/src/components/pages/error/index.tsx +57 -59
  121. package/src/components/pages/login/index.tsx +120 -147
  122. package/src/components/pages/login/styles.ts +12 -12
  123. package/src/components/pages/ready/index.tsx +72 -80
  124. package/src/components/pages/welcome/index.tsx +1 -1
  125. package/src/components/table/components/filterDropdown/index.tsx +89 -92
  126. package/src/components/themedLayout/header/index.tsx +28 -33
  127. package/src/components/themedLayout/index.tsx +30 -30
  128. package/src/components/themedLayout/sider/index.tsx +279 -282
  129. package/src/components/themedLayout/sider/styles.ts +5 -5
  130. package/src/components/themedLayout/title/index.tsx +66 -68
  131. package/src/components/themedLayout/types.ts +8 -8
  132. package/src/components/themedLayoutV2/header/index.tsx +43 -48
  133. package/src/components/themedLayoutV2/index.tsx +34 -36
  134. package/src/components/themedLayoutV2/sider/index.tsx +309 -316
  135. package/src/components/themedLayoutV2/sider/styles.ts +5 -5
  136. package/src/components/themedLayoutV2/title/index.tsx +66 -68
  137. package/src/components/themedLayoutV2/types.ts +9 -9
  138. package/src/components/undoableNotification/index.tsx +31 -31
  139. package/src/contexts/index.ts +2 -2
  140. package/src/contexts/themedLayoutContext/IThemedLayoutContext.ts +4 -4
  141. package/src/contexts/themedLayoutContext/index.tsx +22 -22
  142. package/src/definitions/table/index.ts +81 -82
  143. package/src/definitions/themes/index.ts +35 -35
  144. package/src/definitions/upload/index.ts +17 -17
  145. package/src/hooks/fields/useCheckboxGroup/index.ts +64 -64
  146. package/src/hooks/fields/useRadioGroup/index.ts +60 -63
  147. package/src/hooks/fields/useSelect/index.ts +30 -30
  148. package/src/hooks/form/index.ts +10 -10
  149. package/src/hooks/form/useDrawerForm/index.ts +4 -4
  150. package/src/hooks/form/useDrawerForm/useDrawerForm.ts +257 -261
  151. package/src/hooks/form/useForm.ts +256 -259
  152. package/src/hooks/form/useModalForm/index.ts +3 -3
  153. package/src/hooks/form/useModalForm/useModalForm.ts +289 -295
  154. package/src/hooks/form/useStepsForm/index.ts +3 -3
  155. package/src/hooks/form/useStepsForm/useStepsForm.ts +96 -96
  156. package/src/hooks/import/index.tsx +104 -106
  157. package/src/hooks/list/useSimpleList/useSimpleList.ts +179 -185
  158. package/src/hooks/modal/useModal/index.tsx +24 -24
  159. package/src/hooks/table/useEditableTable/useEditableTable.ts +85 -85
  160. package/src/hooks/table/useTable/paginationLink.tsx +17 -17
  161. package/src/hooks/table/useTable/useTable.ts +199 -205
  162. package/src/hooks/useFileUploadState/index.ts +20 -20
  163. package/src/hooks/useSiderVisible/index.ts +16 -16
  164. package/src/hooks/useThemedLayoutContext/index.ts +12 -12
  165. package/src/index.tsx +4 -4
  166. package/src/interfaces/field.ts +1 -1
  167. package/src/interfaces/index.ts +7 -8
  168. package/src/interfaces/upload.ts +7 -7
  169. package/src/providers/notificationProvider/index.tsx +78 -78
  170. package/src/types/index.d.ts +2 -2
  171. package/src/types/sunflower.d.ts +68 -68
  172. package/tsconfig.json +26 -26
@@ -1,41 +1,38 @@
1
1
  import React from "react";
2
2
  import {
3
- UpdatePasswordPageProps,
4
- UpdatePasswordFormTypes,
5
- useActiveAuthProvider,
3
+ UpdatePasswordPageProps,
4
+ UpdatePasswordFormTypes,
5
+ useActiveAuthProvider,
6
6
  } from "@refinedev/core";
7
7
  import {
8
- Row,
9
- Col,
10
- Layout,
11
- Card,
12
- Typography,
13
- Form,
14
- Input,
15
- Button,
16
- LayoutProps,
17
- CardProps,
18
- FormProps,
19
- theme,
8
+ Row,
9
+ Col,
10
+ Layout,
11
+ Card,
12
+ Typography,
13
+ Form,
14
+ Input,
15
+ Button,
16
+ LayoutProps,
17
+ CardProps,
18
+ FormProps,
19
+ theme,
20
20
  } from "antd";
21
21
  import { useTranslate, useUpdatePassword } from "@refinedev/core";
22
22
 
23
23
  import {
24
- layoutStyles,
25
- containerStyles,
26
- titleStyles,
27
- headStyles,
28
- bodyStyles,
24
+ layoutStyles,
25
+ containerStyles,
26
+ titleStyles,
27
+ headStyles,
28
+ bodyStyles,
29
29
  } from "../styles";
30
30
  import { ThemedTitleV2 } from "@components";
31
31
 
32
- const { Title } = Typography;
33
- const { useToken } = theme;
34
-
35
32
  type UpdatePasswordProps = UpdatePasswordPageProps<
36
- LayoutProps,
37
- CardProps,
38
- FormProps
33
+ LayoutProps,
34
+ CardProps,
35
+ FormProps
39
36
  >;
40
37
 
41
38
  /**
@@ -44,161 +41,147 @@ type UpdatePasswordProps = UpdatePasswordPageProps<
44
41
  * @see {@link https://refine.dev/docs/ui-frameworks/antd/components/antd-auth-page/#update-password} for more details.
45
42
  */
46
43
  export const UpdatePasswordPage: React.FC<UpdatePasswordProps> = ({
47
- wrapperProps,
48
- contentProps,
49
- renderContent,
50
- formProps,
51
- title,
44
+ wrapperProps,
45
+ contentProps,
46
+ renderContent,
47
+ formProps,
48
+ title,
52
49
  }) => {
53
- const { token } = useToken();
54
- const [form] = Form.useForm<UpdatePasswordFormTypes>();
55
- const translate = useTranslate();
56
- const authProvider = useActiveAuthProvider();
57
- const { mutate: updatePassword, isLoading } =
58
- useUpdatePassword<UpdatePasswordFormTypes>({
59
- v3LegacyAuthProviderCompatible: Boolean(authProvider?.isLegacy),
60
- });
61
-
62
- const PageTitle =
63
- title === false ? null : (
64
- <div
65
- style={{
66
- display: "flex",
67
- justifyContent: "center",
68
- marginBottom: "32px",
69
- fontSize: "20px",
70
- }}
71
- >
72
- {title ?? <ThemedTitleV2 collapsed={false} />}
73
- </div>
74
- );
50
+ const { token } = theme.useToken();
51
+ const [form] = Form.useForm<UpdatePasswordFormTypes>();
52
+ const translate = useTranslate();
53
+ const authProvider = useActiveAuthProvider();
54
+ const { mutate: updatePassword, isLoading } =
55
+ useUpdatePassword<UpdatePasswordFormTypes>({
56
+ v3LegacyAuthProviderCompatible: Boolean(authProvider?.isLegacy),
57
+ });
75
58
 
76
- const CardTitle = (
77
- <Title
78
- level={3}
79
- style={{
80
- color: token.colorPrimaryTextHover,
81
- ...titleStyles,
82
- }}
83
- >
84
- {translate("pages.updatePassword.title", "Set New Password")}
85
- </Title>
59
+ const PageTitle =
60
+ title === false ? null : (
61
+ <div
62
+ style={{
63
+ display: "flex",
64
+ justifyContent: "center",
65
+ marginBottom: "32px",
66
+ fontSize: "20px",
67
+ }}
68
+ >
69
+ {title ?? <ThemedTitleV2 collapsed={false} />}
70
+ </div>
86
71
  );
87
72
 
88
- const CardContent = (
89
- <Card
90
- title={CardTitle}
91
- headStyle={headStyles}
92
- bodyStyle={bodyStyles}
93
- style={{
94
- ...containerStyles,
95
- backgroundColor: token.colorBgElevated,
96
- }}
97
- {...(contentProps ?? {})}
73
+ const CardTitle = (
74
+ <Typography.Title
75
+ level={3}
76
+ style={{
77
+ color: token.colorPrimaryTextHover,
78
+ ...titleStyles,
79
+ }}
80
+ >
81
+ {translate("pages.updatePassword.title", "Set New Password")}
82
+ </Typography.Title>
83
+ );
84
+
85
+ const CardContent = (
86
+ <Card
87
+ title={CardTitle}
88
+ headStyle={headStyles}
89
+ bodyStyle={bodyStyles}
90
+ style={{
91
+ ...containerStyles,
92
+ backgroundColor: token.colorBgElevated,
93
+ }}
94
+ {...(contentProps ?? {})}
95
+ >
96
+ <Form<UpdatePasswordFormTypes>
97
+ layout="vertical"
98
+ form={form}
99
+ onFinish={(values) => updatePassword(values)}
100
+ requiredMark={false}
101
+ {...formProps}
102
+ >
103
+ <Form.Item
104
+ name="password"
105
+ label={translate(
106
+ "pages.updatePassword.fields.password",
107
+ "New Password",
108
+ )}
109
+ rules={[{ required: true }]}
110
+ style={{ marginBottom: "12px" }}
98
111
  >
99
- <Form<UpdatePasswordFormTypes>
100
- layout="vertical"
101
- form={form}
102
- onFinish={(values) => updatePassword(values)}
103
- requiredMark={false}
104
- {...formProps}
105
- >
106
- <Form.Item
107
- name="password"
108
- label={translate(
109
- "pages.updatePassword.fields.password",
110
- "New Password",
111
- )}
112
- rules={[{ required: true }]}
113
- style={{ marginBottom: "12px" }}
114
- >
115
- <Input
116
- type="password"
117
- placeholder="●●●●●●●●"
118
- size="large"
119
- />
120
- </Form.Item>
121
- <Form.Item
122
- name="confirmPassword"
123
- label={translate(
124
- "pages.updatePassword.fields.confirmPassword",
125
- "Confirm New Password",
126
- )}
127
- hasFeedback
128
- dependencies={["password"]}
129
- rules={[
130
- {
131
- required: true,
132
- },
133
- ({ getFieldValue }) => ({
134
- validator(_, value) {
135
- if (
136
- !value ||
137
- getFieldValue("password") === value
138
- ) {
139
- return Promise.resolve();
140
- }
141
- return Promise.reject(
142
- new Error(
143
- translate(
144
- "pages.updatePassword.errors.confirmPasswordNotMatch",
145
- "Passwords do not match",
146
- ),
147
- ),
148
- );
149
- },
150
- }),
151
- ]}
152
- >
153
- <Input
154
- type="password"
155
- placeholder="●●●●●●●●"
156
- size="large"
157
- />
158
- </Form.Item>
159
- <Form.Item
160
- style={{
161
- marginBottom: 0,
162
- }}
163
- >
164
- <Button
165
- type="primary"
166
- size="large"
167
- htmlType="submit"
168
- loading={isLoading}
169
- block
170
- >
171
- {translate(
172
- "pages.updatePassword.buttons.submit",
173
- "Update",
174
- )}
175
- </Button>
176
- </Form.Item>
177
- </Form>
178
- </Card>
179
- );
112
+ <Input type="password" placeholder="●●●●●●●●" size="large" />
113
+ </Form.Item>
114
+ <Form.Item
115
+ name="confirmPassword"
116
+ label={translate(
117
+ "pages.updatePassword.fields.confirmPassword",
118
+ "Confirm New Password",
119
+ )}
120
+ hasFeedback
121
+ dependencies={["password"]}
122
+ rules={[
123
+ {
124
+ required: true,
125
+ },
126
+ ({ getFieldValue }) => ({
127
+ validator(_, value) {
128
+ if (!value || getFieldValue("password") === value) {
129
+ return Promise.resolve();
130
+ }
131
+ return Promise.reject(
132
+ new Error(
133
+ translate(
134
+ "pages.updatePassword.errors.confirmPasswordNotMatch",
135
+ "Passwords do not match",
136
+ ),
137
+ ),
138
+ );
139
+ },
140
+ }),
141
+ ]}
142
+ >
143
+ <Input type="password" placeholder="●●●●●●●●" size="large" />
144
+ </Form.Item>
145
+ <Form.Item
146
+ style={{
147
+ marginBottom: 0,
148
+ }}
149
+ >
150
+ <Button
151
+ type="primary"
152
+ size="large"
153
+ htmlType="submit"
154
+ loading={isLoading}
155
+ block
156
+ >
157
+ {translate("pages.updatePassword.buttons.submit", "Update")}
158
+ </Button>
159
+ </Form.Item>
160
+ </Form>
161
+ </Card>
162
+ );
180
163
 
181
- return (
182
- <Layout style={layoutStyles} {...(wrapperProps ?? {})}>
183
- <Row
184
- justify="center"
185
- align="middle"
186
- style={{
187
- padding: "16px 0",
188
- minHeight: "100dvh",
189
- }}
190
- >
191
- <Col xs={22}>
192
- {renderContent ? (
193
- renderContent(CardContent, PageTitle)
194
- ) : (
195
- <>
196
- {PageTitle}
197
- {CardContent}
198
- </>
199
- )}
200
- </Col>
201
- </Row>
202
- </Layout>
203
- );
164
+ return (
165
+ <Layout style={layoutStyles} {...(wrapperProps ?? {})}>
166
+ <Row
167
+ justify="center"
168
+ align="middle"
169
+ style={{
170
+ padding: "16px 0",
171
+ minHeight: "100dvh",
172
+ }}
173
+ >
174
+ <Col xs={22}>
175
+ {renderContent ? (
176
+ renderContent(CardContent, PageTitle)
177
+ ) : (
178
+ <>
179
+ {PageTitle}
180
+ {CardContent}
181
+ </>
182
+ )}
183
+ </Col>
184
+ </Row>
185
+ </Layout>
186
+ );
204
187
  };
@@ -3,18 +3,18 @@ import { CardProps, FormProps, LayoutProps } from "antd";
3
3
  import { AuthPageProps } from "@refinedev/core";
4
4
 
5
5
  import {
6
- LoginPage,
7
- RegisterPage,
8
- ForgotPasswordPage,
9
- UpdatePasswordPage,
6
+ LoginPage,
7
+ RegisterPage,
8
+ ForgotPasswordPage,
9
+ UpdatePasswordPage,
10
10
  } from "./components";
11
11
 
12
12
  export type AuthProps = AuthPageProps<LayoutProps, CardProps, FormProps> & {
13
- renderContent?: (
14
- content: React.ReactNode,
15
- title: React.ReactNode,
16
- ) => React.ReactNode;
17
- title?: React.ReactNode;
13
+ renderContent?: (
14
+ content: React.ReactNode,
15
+ title: React.ReactNode,
16
+ ) => React.ReactNode;
17
+ title?: React.ReactNode;
18
18
  };
19
19
 
20
20
  /**
@@ -23,19 +23,19 @@ export type AuthProps = AuthPageProps<LayoutProps, CardProps, FormProps> & {
23
23
  * @see {@link https://refine.dev/docs/api-reference/antd/components/antd-auth-page/} for more details.
24
24
  */
25
25
  export const AuthPage: React.FC<AuthProps> = (props) => {
26
- const { type } = props;
27
- const renderView = () => {
28
- switch (type) {
29
- case "register":
30
- return <RegisterPage {...props} />;
31
- case "forgotPassword":
32
- return <ForgotPasswordPage {...props} />;
33
- case "updatePassword":
34
- return <UpdatePasswordPage {...props} />;
35
- default:
36
- return <LoginPage {...props} />;
37
- }
38
- };
26
+ const { type } = props;
27
+ const renderView = () => {
28
+ switch (type) {
29
+ case "register":
30
+ return <RegisterPage {...props} />;
31
+ case "forgotPassword":
32
+ return <ForgotPasswordPage {...props} />;
33
+ case "updatePassword":
34
+ return <UpdatePasswordPage {...props} />;
35
+ default:
36
+ return <LoginPage {...props} />;
37
+ }
38
+ };
39
39
 
40
- return <>{renderView()}</>;
40
+ return <>{renderView()}</>;
41
41
  };
@@ -5,8 +5,6 @@ import { Button, Result, Typography, Space, Tooltip } from "antd";
5
5
  import { InfoCircleOutlined } from "@ant-design/icons";
6
6
  import { useNavigation, useTranslate } from "@refinedev/core";
7
7
 
8
- const { Text } = Typography;
9
-
10
8
  /**
11
9
  * When the app is navigated to a non-existent route, refine shows a default error page.
12
10
  * A custom error component can be used for this error page.
@@ -14,64 +12,64 @@ const { Text } = Typography;
14
12
  * @see {@link https://refine.dev/docs/packages/documentation/routers/} for more details.
15
13
  */
16
14
  export const ErrorComponent: React.FC<RefineErrorPageProps> = () => {
17
- const [errorMessage, setErrorMessage] = useState<string>();
18
- const translate = useTranslate();
19
- const { push } = useNavigation();
20
- const go = useGo();
21
- const routerType = useRouterType();
15
+ const [errorMessage, setErrorMessage] = useState<string>();
16
+ const translate = useTranslate();
17
+ const { push } = useNavigation();
18
+ const go = useGo();
19
+ const routerType = useRouterType();
22
20
 
23
- const { resource, action } = useResource();
21
+ const { resource, action } = useResource();
24
22
 
25
- useEffect(() => {
26
- if (resource) {
27
- if (action) {
28
- setErrorMessage(
29
- translate(
30
- "pages.error.info",
31
- {
32
- action: action,
33
- resource: resource?.name,
34
- },
35
- `You may have forgotten to add the "${action}" component to "${resource?.name}" resource.`,
36
- ),
37
- );
38
- }
39
- }
40
- }, [resource, action]);
23
+ useEffect(() => {
24
+ if (resource) {
25
+ if (action) {
26
+ setErrorMessage(
27
+ translate(
28
+ "pages.error.info",
29
+ {
30
+ action: action,
31
+ resource: resource?.name,
32
+ },
33
+ `You may have forgotten to add the "${action}" component to "${resource?.name}" resource.`,
34
+ ),
35
+ );
36
+ }
37
+ }
38
+ }, [resource, action]);
41
39
 
42
- return (
43
- <Result
44
- status="404"
45
- title="404"
46
- extra={
47
- <Space direction="vertical" size="large">
48
- <Space>
49
- <Text>
50
- {translate(
51
- "pages.error.404",
52
- "Sorry, the page you visited does not exist.",
53
- )}
54
- </Text>
55
- {errorMessage && (
56
- <Tooltip title={errorMessage}>
57
- <InfoCircleOutlined data-testid="error-component-tooltip" />
58
- </Tooltip>
59
- )}
60
- </Space>
61
- <Button
62
- type="primary"
63
- onClick={() => {
64
- if (routerType === "legacy") {
65
- push("/");
66
- } else {
67
- go({ to: "/" });
68
- }
69
- }}
70
- >
71
- {translate("pages.error.backHome", "Back Home")}
72
- </Button>
73
- </Space>
74
- }
75
- />
76
- );
40
+ return (
41
+ <Result
42
+ status="404"
43
+ title="404"
44
+ extra={
45
+ <Space direction="vertical" size="large">
46
+ <Space>
47
+ <Typography.Text>
48
+ {translate(
49
+ "pages.error.404",
50
+ "Sorry, the page you visited does not exist.",
51
+ )}
52
+ </Typography.Text>
53
+ {errorMessage && (
54
+ <Tooltip title={errorMessage}>
55
+ <InfoCircleOutlined data-testid="error-component-tooltip" />
56
+ </Tooltip>
57
+ )}
58
+ </Space>
59
+ <Button
60
+ type="primary"
61
+ onClick={() => {
62
+ if (routerType === "legacy") {
63
+ push("/");
64
+ } else {
65
+ go({ to: "/" });
66
+ }
67
+ }}
68
+ >
69
+ {translate("pages.error.backHome", "Back Home")}
70
+ </Button>
71
+ </Space>
72
+ }
73
+ />
74
+ );
77
75
  };