fix: lint code to build success

This commit is contained in:
HYana
2025-05-10 01:19:30 +08:00
parent 4031ff2835
commit 7a8102430f
48 changed files with 1657 additions and 1240 deletions
+61 -41
View File
@@ -1,14 +1,22 @@
'use client';
import PluginInstalledComponent, { PluginInstalledComponentRef } from '@/app/home/plugins/plugin-installed/PluginInstalledComponent';
import PluginInstalledComponent, {
PluginInstalledComponentRef,
} from '@/app/home/plugins/plugin-installed/PluginInstalledComponent';
import PluginMarketComponent from '@/app/home/plugins/plugin-market/PluginMarketComponent';
import styles from './plugins.module.css';
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import { Button } from "@/components/ui/button";
import { PlusIcon } from "lucide-react";
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter } from "@/components/ui/dialog";
import { Input } from "@/components/ui/input";
import { GithubIcon } from "lucide-react";
import { useState, useRef, useEffect } from 'react';
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
import { Button } from '@/components/ui/button';
import { PlusIcon } from 'lucide-react';
import {
Dialog,
DialogContent,
DialogHeader,
DialogTitle,
DialogFooter,
} from '@/components/ui/dialog';
import { Input } from '@/components/ui/input';
import { GithubIcon } from 'lucide-react';
import { useState, useRef } from 'react';
import { httpClient } from '@/app/infra/http/HttpClient';
enum PluginInstallStatus {
@@ -18,9 +26,9 @@ enum PluginInstallStatus {
}
export default function PluginConfigPage() {
const [modalOpen, setModalOpen] = useState(false);
const [pluginInstallStatus, setPluginInstallStatus] = useState<PluginInstallStatus>(PluginInstallStatus.WAIT_INPUT);
const [pluginInstallStatus, setPluginInstallStatus] =
useState<PluginInstallStatus>(PluginInstallStatus.WAIT_INPUT);
const [installError, setInstallError] = useState<string | null>(null);
const [githubURL, setGithubURL] = useState('');
const pluginInstalledRef = useRef<PluginInstalledComponentRef>(null);
@@ -44,7 +52,8 @@ export default function PluginConfigPage() {
if (resp.runtime.exception) {
setInstallError(resp.runtime.exception);
setPluginInstallStatus(PluginInstallStatus.ERROR);
} else { // success
} else {
// success
setGithubURL('');
setModalOpen(false);
pluginInstalledRef.current?.refreshPluginList();
@@ -52,7 +61,6 @@ export default function PluginConfigPage() {
}
});
}, 1000);
})
.catch((err) => {
console.log('error when install plugin:', err);
@@ -64,20 +72,27 @@ export default function PluginConfigPage() {
return (
<div className={styles.pageContainer}>
<Tabs defaultValue="installed" className="w-full">
<div className='flex flex-row justify-between items-center'>
<TabsList className='shadow-md py-5 bg-[#f0f0f0]'>
<TabsTrigger value="installed" className="px-6 py-4 cursor-pointer"></TabsTrigger>
<TabsTrigger value="market" className="px-6 py-4 cursor-pointer"></TabsTrigger>
<div className="flex flex-row justify-between items-center">
<TabsList className="shadow-md py-5 bg-[#f0f0f0]">
<TabsTrigger value="installed" className="px-6 py-4 cursor-pointer">
</TabsTrigger>
<TabsTrigger value="market" className="px-6 py-4 cursor-pointer">
</TabsTrigger>
</TabsList>
<div className='flex flex-row justify-end items-center'>
<Button variant="default" className='px-6 py-4 cursor-pointer' onClick={() => {
setModalOpen(true);
setPluginInstallStatus(PluginInstallStatus.WAIT_INPUT);
setInstallError(null);
}}>
<PlusIcon className='w-4 h-4' />
<div className="flex flex-row justify-end items-center">
<Button
variant="default"
className="px-6 py-4 cursor-pointer"
onClick={() => {
setModalOpen(true);
setPluginInstallStatus(PluginInstallStatus.WAIT_INPUT);
setInstallError(null);
}}
>
<PlusIcon className="w-4 h-4" />
</Button>
</div>
@@ -86,16 +101,17 @@ export default function PluginConfigPage() {
<PluginInstalledComponent ref={pluginInstalledRef} />
</TabsContent>
<TabsContent value="market">
<PluginMarketComponent askInstallPlugin={(githubURL) => {
setGithubURL(githubURL);
setModalOpen(true);
setPluginInstallStatus(PluginInstallStatus.WAIT_INPUT);
setInstallError(null);
}} />
<PluginMarketComponent
askInstallPlugin={(githubURL) => {
setGithubURL(githubURL);
setModalOpen(true);
setPluginInstallStatus(PluginInstallStatus.WAIT_INPUT);
setInstallError(null);
}}
/>
</TabsContent>
</Tabs>
<Dialog open={modalOpen} onOpenChange={setModalOpen}>
<DialogContent className="w-[500px] p-6">
<DialogHeader>
@@ -105,14 +121,14 @@ export default function PluginConfigPage() {
</DialogTitle>
</DialogHeader>
{pluginInstallStatus === PluginInstallStatus.WAIT_INPUT && (
<div className="mt-4">
<p className="mb-2"> GitHub </p>
<Input
placeholder="请输入插件的Github链接"
value={githubURL}
onChange={(e) => setGithubURL(e.target.value)}
className="mb-4"
/>
<div className="mt-4">
<p className="mb-2"> GitHub </p>
<Input
placeholder="请输入插件的Github链接"
value={githubURL}
onChange={(e) => setGithubURL(e.target.value)}
className="mb-4"
/>
</div>
)}
{pluginInstallStatus === PluginInstallStatus.INSTALLING && (
@@ -129,12 +145,16 @@ export default function PluginConfigPage() {
<DialogFooter>
{pluginInstallStatus === PluginInstallStatus.WAIT_INPUT && (
<>
<Button variant="outline" onClick={() => setModalOpen(false)}></Button>
<Button variant="outline" onClick={() => setModalOpen(false)}>
</Button>
<Button onClick={handleModalConfirm}></Button>
</>
)}
{pluginInstallStatus === PluginInstallStatus.ERROR && (
<Button variant="default" onClick={() => setModalOpen(false)}></Button>
<Button variant="default" onClick={() => setModalOpen(false)}>
</Button>
)}
</DialogFooter>
</DialogContent>