1- import React , { memo , useMemo } from 'react' ;
1+ import React , { memo , useState } from 'react' ;
22import styles from './index.less' ;
33import classnames from 'classnames' ;
44import { useCommonStore } from '@/store/common' ;
@@ -10,6 +10,7 @@ interface IProps {
1010
1111export default memo < IProps > ( ( props ) => {
1212 const { className } = props ;
13+ const [ isMaximized , setIsMaximize ] = useState ( window . electronApi ?. isMaximized ( ) ) ;
1314
1415 const { appTitleBarRightComponent } = useCommonStore ( ( state ) => {
1516 return {
@@ -27,9 +28,21 @@ export default memo<IProps>((props) => {
2728 window . electronApi ?. setMaximize ( ) ;
2829 } ;
2930
30- const handelMaximize = ( ) => {
31+ const handelMinimizeWindow = ( e ) => {
32+ e . stopPropagation ( ) ;
33+ window . electronApi ?. minimizeWindow ( ) ;
34+ } ;
35+
36+ const handelMaximize = ( e ) => {
37+ e . stopPropagation ( ) ;
3138 window . electronApi ?. setMaximize ( ) ;
32- }
39+ setIsMaximize ( ! isMaximized ) ;
40+ } ;
41+
42+ const handelCloseWindow = ( e ) => {
43+ e . stopPropagation ( ) ;
44+ window . electronApi ?. closeWindow ( ) ;
45+ } ;
3346
3447 return (
3548 < div className = { classnames ( styles . appTitleBar , className ) } onDoubleClick = { handleDoubleClick } >
@@ -40,14 +53,14 @@ export default memo<IProps>((props) => {
4053 </ div >
4154 { isWin && (
4255 < div className = { styles . windowsCloseBar } >
43- < div className = { styles . windowsCloseBarItem } >
44- < Iconfont code = " ;" />
56+ < div className = { styles . windowsCloseBarItem } onClick = { handelMinimizeWindow } >
57+ < Iconfont code = " ;" />
4558 </ div >
4659 < div className = { styles . windowsCloseBarItem } onClick = { handelMaximize } >
47- < Iconfont code = " ;" />
60+ { isMaximized ? < Iconfont code = " ;" /> : < Iconfont code = "" /> }
4861 </ div >
49- < div className = { styles . windowsCloseBarItem } >
50- < Iconfont code = " ;" />
62+ < div className = { styles . windowsCloseBarItem } onClick = { handelCloseWindow } >
63+ < Iconfont code = " ;" />
5164 </ div >
5265 </ div >
5366 ) }
0 commit comments