11import { Button } from '@heroui/button' ;
2- import { useEffect , useState , useRef } from 'react' ;
2+ import { useEffect , useState } from 'react' ;
33import toast from 'react-hot-toast' ;
44import { IoMdRefresh } from 'react-icons/io' ;
5- import { FiUpload } from 'react-icons/fi' ;
5+ // import { FiUpload } from 'react-icons/fi';
66import { useDisclosure } from '@heroui/modal' ;
77
88import PageLoading from '@/components/page_loading' ;
@@ -19,7 +19,7 @@ export default function PluginPage () {
1919
2020 const { isOpen, onOpen, onOpenChange } = useDisclosure ( ) ;
2121 const [ currentPluginId , setCurrentPluginId ] = useState < string > ( '' ) ;
22- const fileInputRef = useRef < HTMLInputElement > ( null ) ;
22+ // const fileInputRef = useRef<HTMLInputElement>(null);
2323
2424 const loadPlugins = async ( ) => {
2525 setLoading ( true ) ;
@@ -106,60 +106,60 @@ export default function PluginPage () {
106106 onOpen ( ) ;
107107 } ;
108108
109- const handleImportClick = ( ) => {
110- if ( pluginManagerNotFound ) {
111- dialog . confirm ( {
112- title : '插件管理器未加载' ,
113- content : (
114- < div className = "space-y-2" >
115- < p className = "text-sm text-default-600" >
116- 插件管理器尚未加载,无法导入插件。
117- </ p >
118- < p className = "text-sm text-default-600" >
119- 是否立即注册插件管理器?
120- </ p >
121- </ div >
122- ) ,
123- confirmText : '注册插件管理器' ,
124- cancelText : '取消' ,
125- onConfirm : async ( ) => {
126- try {
127- await PluginManager . registerPluginManager ( ) ;
128- toast . success ( '插件管理器注册成功' ) ;
129- setPluginManagerNotFound ( false ) ;
130- // 注册成功后打开文件选择器
131- fileInputRef . current ?. click ( ) ;
132- } catch ( e : any ) {
133- toast . error ( '注册失败: ' + e . message ) ;
134- }
135- } ,
136- } ) ;
137- return ;
138- }
139- fileInputRef . current ?. click ( ) ;
140- } ;
141-
142- const handleFileChange = async ( e : React . ChangeEvent < HTMLInputElement > ) => {
143- const file = e . target . files ?. [ 0 ] ;
144- if ( ! file ) return ;
145-
146- // 重置 input,允许重复选择同一文件
147- e . target . value = '' ;
148-
149- if ( ! file . name . endsWith ( '.zip' ) ) {
150- toast . error ( '请选择 .zip 格式的插件包' ) ;
151- return ;
152- }
153-
154- const loadingToast = toast . loading ( '正在导入插件...' ) ;
155- try {
156- const result = await PluginManager . importLocalPlugin ( file ) ;
157- toast . success ( result . message , { id : loadingToast } ) ;
158- loadPlugins ( ) ;
159- } catch ( err : any ) {
160- toast . error ( err . message || '导入失败' , { id : loadingToast } ) ;
161- }
162- } ;
109+ // const handleImportClick = () => {
110+ // if (pluginManagerNotFound) {
111+ // dialog.confirm({
112+ // title: '插件管理器未加载',
113+ // content: (
114+ // <div className="space-y-2">
115+ // <p className="text-sm text-default-600">
116+ // 插件管理器尚未加载,无法导入插件。
117+ // </p>
118+ // <p className="text-sm text-default-600">
119+ // 是否立即注册插件管理器?
120+ // </p>
121+ // </div>
122+ // ),
123+ // confirmText: '注册插件管理器',
124+ // cancelText: '取消',
125+ // onConfirm: async () => {
126+ // try {
127+ // await PluginManager.registerPluginManager();
128+ // toast.success('插件管理器注册成功');
129+ // setPluginManagerNotFound(false);
130+ // // 注册成功后打开文件选择器
131+ // fileInputRef.current?.click();
132+ // } catch (e: any) {
133+ // toast.error('注册失败: ' + e.message);
134+ // }
135+ // },
136+ // });
137+ // return;
138+ // }
139+ // fileInputRef.current?.click();
140+ // };
141+
142+ // const handleFileChange = async (e: React.ChangeEvent<HTMLInputElement>) => {
143+ // const file = e.target.files?.[0];
144+ // if (!file) return;
145+
146+ // // 重置 input,允许重复选择同一文件
147+ // e.target.value = '';
148+
149+ // if (!file.name.endsWith('.zip')) {
150+ // toast.error('请选择 .zip 格式的插件包');
151+ // return;
152+ // }
153+
154+ // const loadingToast = toast.loading('正在导入插件...');
155+ // try {
156+ // const result = await PluginManager.importLocalPlugin(file);
157+ // toast.success(result.message, { id: loadingToast });
158+ // loadPlugins();
159+ // } catch (err: any) {
160+ // toast.error(err.message || '导入失败', { id: loadingToast });
161+ // }
162+ // };
163163
164164 return (
165165 < >
0 commit comments