@fe-free/ai 6.0.25 → 6.0.27

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @fe-free/ai
2
2
 
3
+ ## 6.0.27
4
+
5
+ ### Patch Changes
6
+
7
+ - some
8
+ - Updated dependencies
9
+ - @fe-free/core@6.0.27
10
+ - @fe-free/icons@6.0.27
11
+ - @fe-free/tool@6.0.27
12
+
13
+ ## 6.0.26
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies
18
+ - @fe-free/tool@6.0.26
19
+ - @fe-free/core@6.0.26
20
+ - @fe-free/icons@6.0.26
21
+
3
22
  ## 6.0.25
4
23
 
5
24
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fe-free/ai",
3
- "version": "6.0.25",
3
+ "version": "6.0.27",
4
4
  "description": "",
5
5
  "license": "ISC",
6
6
  "author": "",
@@ -17,7 +17,7 @@
17
17
  "lodash-es": "^4.17.21",
18
18
  "uuid": "^13.0.0",
19
19
  "zustand": "^4.5.7",
20
- "@fe-free/core": "6.0.25"
20
+ "@fe-free/core": "6.0.27"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "antd": "^6.2.1",
@@ -27,8 +27,8 @@
27
27
  "i18next-icu": "^2.4.1",
28
28
  "react": "^19.2.0",
29
29
  "react-i18next": "^16.4.0",
30
- "@fe-free/icons": "6.0.25",
31
- "@fe-free/tool": "6.0.25"
30
+ "@fe-free/icons": "6.0.27",
31
+ "@fe-free/tool": "6.0.27"
32
32
  },
33
33
  "scripts": {
34
34
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -1,5 +1,17 @@
1
1
  {
2
2
  "@fe-free/ai": {
3
+ "messageActions": {
4
+ "cancelDislike": "Cancel dislike",
5
+ "cancelDislikeSuccess": "Dislike removed",
6
+ "cancelLike": "Cancel like",
7
+ "cancelLikeSuccess": "Like removed",
8
+ "copy": "Copy",
9
+ "copySuccess": "Copied successfully",
10
+ "dislike": "Dislike",
11
+ "dislikeSuccess": "Disliked successfully",
12
+ "like": "Like",
13
+ "likeSuccess": "Liked successfully"
14
+ },
3
15
  "sender": {
4
16
  "addFileUrl": "Add file URL",
5
17
  "addImageOrFile": "Add image or file",
@@ -1,5 +1,17 @@
1
1
  {
2
2
  "@fe-free/ai": {
3
+ "messageActions": {
4
+ "cancelDislike": "取消点踩",
5
+ "cancelDislikeSuccess": "取消点踩成功",
6
+ "cancelLike": "取消点赞",
7
+ "cancelLikeSuccess": "取消点赞成功",
8
+ "copy": "复制",
9
+ "copySuccess": "复制成功",
10
+ "dislike": "点踩",
11
+ "dislikeSuccess": "点踩成功",
12
+ "like": "点赞",
13
+ "likeSuccess": "点赞成功"
14
+ },
3
15
  "sender": {
4
16
  "addFileUrl": "添加文件URL",
5
17
  "addImageOrFile": "添加图片或文件",
@@ -1,5 +1,17 @@
1
1
  {
2
2
  "@fe-free/ai": {
3
+ "messageActions": {
4
+ "cancelDislike": "取消點踩",
5
+ "cancelDislikeSuccess": "取消點踩成功",
6
+ "cancelLike": "取消點讚",
7
+ "cancelLikeSuccess": "取消點讚成功",
8
+ "copy": "複製",
9
+ "copySuccess": "複製成功",
10
+ "dislike": "點踩",
11
+ "dislikeSuccess": "點踩成功",
12
+ "like": "點讚",
13
+ "likeSuccess": "點讚成功"
14
+ },
3
15
  "sender": {
4
16
  "addFileUrl": "新增檔案 URL",
5
17
  "addImageOrFile": "新增圖片或檔案",
@@ -10,6 +10,7 @@ import {
10
10
  import { App, Button, Tooltip } from 'antd';
11
11
  import classNames from 'classnames';
12
12
  import { type ReactNode, useCallback, useEffect, useState } from 'react';
13
+ import { useTranslation } from 'react-i18next';
13
14
 
14
15
  type MessageActionIconProps = {
15
16
  activeIcon?: ReactNode;
@@ -27,15 +28,16 @@ function MessageActionOfCopy({
27
28
  }) {
28
29
  const [active, setActive] = useState(false);
29
30
  const { message } = App.useApp();
31
+ const { t } = useTranslation();
30
32
 
31
33
  const handleCopied = useCallback(async () => {
32
34
  setActive(true);
33
35
  onCopied?.();
34
- message.success('复制成功');
35
- }, [onCopied, message]);
36
+ message.success(t('@fe-free/ai.messageActions.copySuccess', '复制成功'));
37
+ }, [onCopied, message, t]);
36
38
 
37
39
  return (
38
- <Tooltip title="复制">
40
+ <Tooltip title={t('@fe-free/ai.messageActions.copy', '复制')}>
39
41
  <Copy
40
42
  value={value}
41
43
  className={classNames('cursor-pointer text-03', className)}
@@ -64,6 +66,7 @@ function MessageActionOfLike({
64
66
  className?: string;
65
67
  } & MessageActionIconProps) {
66
68
  const { message } = App.useApp();
69
+ const { t } = useTranslation();
67
70
  const [active, setActive] = useState(propsActive || false);
68
71
 
69
72
  useEffect(() => {
@@ -73,11 +76,21 @@ function MessageActionOfLike({
73
76
  const handleClick = useCallback(async () => {
74
77
  await Promise.resolve(onClick?.(!active));
75
78
  setActive(!active);
76
- message.success(!active ? '点赞成功' : '取消点赞成功');
77
- }, [onClick, active, message]);
79
+ message.success(
80
+ !active
81
+ ? t('@fe-free/ai.messageActions.likeSuccess', '点赞成功')
82
+ : t('@fe-free/ai.messageActions.cancelLikeSuccess', '取消点赞成功'),
83
+ );
84
+ }, [onClick, active, message, t]);
78
85
 
79
86
  return (
80
- <Tooltip title={active ? '取消点赞' : '点赞'}>
87
+ <Tooltip
88
+ title={
89
+ active
90
+ ? t('@fe-free/ai.messageActions.cancelLike', '取消点赞')
91
+ : t('@fe-free/ai.messageActions.like', '点赞')
92
+ }
93
+ >
81
94
  <Button
82
95
  type="text"
83
96
  onClick={handleClick}
@@ -114,6 +127,7 @@ function MessageActionOfDislike({
114
127
  } & MessageActionIconProps) {
115
128
  const [active, setActive] = useState(propsActive || false);
116
129
  const { message } = App.useApp();
130
+ const { t } = useTranslation();
117
131
 
118
132
  useEffect(() => {
119
133
  setActive(!!propsActive);
@@ -122,11 +136,21 @@ function MessageActionOfDislike({
122
136
  const handleClick = useCallback(async () => {
123
137
  await Promise.resolve(onClick?.(!active));
124
138
  setActive(!active);
125
- message.success(!active ? '点踩成功' : '取消点踩成功');
126
- }, [onClick, active, message]);
139
+ message.success(
140
+ !active
141
+ ? t('@fe-free/ai.messageActions.dislikeSuccess', '点踩成功')
142
+ : t('@fe-free/ai.messageActions.cancelDislikeSuccess', '取消点踩成功'),
143
+ );
144
+ }, [onClick, active, message, t]);
127
145
 
128
146
  return (
129
- <Tooltip title={active ? '取消点踩' : '点踩'}>
147
+ <Tooltip
148
+ title={
149
+ active
150
+ ? t('@fe-free/ai.messageActions.cancelDislike', '取消点踩')
151
+ : t('@fe-free/ai.messageActions.dislike', '点踩')
152
+ }
153
+ >
130
154
  <Button
131
155
  type="text"
132
156
  onClick={handleClick}