File tree Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -9,6 +9,16 @@ interface CopyButtonProps {
99 files : FileInfo [ ] ;
1010}
1111
12+ const formatTokenCount = ( count : number ) : string => {
13+ if ( count >= 10000 ) {
14+ return `${ ( count / 10000 ) . toFixed ( 1 ) . replace ( / \. 0 $ / , '' ) } 万` ;
15+ }
16+ if ( count >= 1000 ) {
17+ return `${ ( count / 1000 ) . toFixed ( 1 ) . replace ( / \. 0 $ / , '' ) } k` ;
18+ }
19+ return count . toString ( ) ;
20+ } ;
21+
1222const CopyButton : React . FC < CopyButtonProps > = ( { content, files} ) => {
1323 const [ open , setOpen ] = useState ( false ) ;
1424 const [ message , setMessage ] = useState < { text : string ; severity : 'success' | 'error' } > ( {
@@ -25,6 +35,8 @@ const CopyButton: React.FC<CopyButtonProps> = ({content, files}) => {
2535 return Math . ceil ( totalContent . length / 4 ) ;
2636 } , [ content , files ] ) ;
2737
38+ const formattedToken = useMemo ( ( ) => formatTokenCount ( tokenCount ) , [ tokenCount ] ) ;
39+
2840 const handleCopy = async ( ) => {
2941 const filesContent = files . map ( file =>
3042 `\`\`\`${ file . path } \n${ file . content } \n\`\`\``
@@ -50,7 +62,7 @@ const CopyButton: React.FC<CopyButtonProps> = ({content, files}) => {
5062 padding : '12px 24px' ,
5163 width : '100%'
5264 } } >
53- 构造提示词并复制到剪切板 (约 { tokenCount } Tokens)
65+ 构造提示词并复制到剪切板 (约 { formattedToken } Tokens)
5466 </ Button >
5567 < Snackbar
5668 open = { open }
You can’t perform that action at this time.
0 commit comments