mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-27 07:54:19 +00:00
合并冲突
This commit is contained in:
@@ -1,67 +1,65 @@
|
|||||||
import styles from "./pluginCard.module.css"
|
import styles from "./pluginCard.module.css";
|
||||||
import { PluginCardVO } from "@/app/home/plugins/plugin-installed/PluginCardVO";
|
import { PluginCardVO } from "@/app/home/plugins/plugin-installed/PluginCardVO";
|
||||||
import { GithubOutlined, LinkOutlined, ToolOutlined } from '@ant-design/icons';
|
import { GithubOutlined, LinkOutlined, ToolOutlined } from "@ant-design/icons";
|
||||||
import { Switch, Tag } from 'antd'
|
import { Switch, Tag } from "antd";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { httpClient } from "@/app/infra/http/HttpClient";
|
import { httpClient } from "@/app/infra/http/HttpClient";
|
||||||
|
|
||||||
export default function PluginCardComponent({
|
export default function PluginCardComponent({
|
||||||
cardVO
|
cardVO
|
||||||
}: {
|
}: {
|
||||||
cardVO: PluginCardVO
|
cardVO: PluginCardVO;
|
||||||
}) {
|
}) {
|
||||||
const [initialized, setInitialized] = useState(cardVO.isInitialized);
|
const [initialized, setInitialized] = useState(cardVO.isInitialized);
|
||||||
const [switchEnable, setSwitchEnable] = useState(true);
|
const [switchEnable, setSwitchEnable] = useState(true);
|
||||||
|
|
||||||
function handleEnable() {
|
function handleEnable() {
|
||||||
setSwitchEnable(false);
|
setSwitchEnable(false);
|
||||||
httpClient
|
httpClient
|
||||||
.togglePlugin(cardVO.author, cardVO.name, !initialized)
|
.togglePlugin(cardVO.author, cardVO.name, !initialized)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
setInitialized(!initialized);
|
setInitialized(!initialized);
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log("error: ", err);
|
console.log("error: ", err);
|
||||||
})
|
})
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
setSwitchEnable(true);
|
setSwitchEnable(true);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
return (
|
||||||
return (
|
<div className={`${styles.cardContainer}`}>
|
||||||
<div className={`${styles.cardContainer}`}>
|
{/* header */}
|
||||||
{/* header */}
|
<div className={`${styles.cardHeader}`}>
|
||||||
<div className={`${styles.cardHeader}`}>
|
{/* left author */}
|
||||||
{/* left author */}
|
<div className={`${styles.fontGray}`}>{cardVO.author}</div>
|
||||||
<div className={`${styles.fontGray}`}>{cardVO.author}</div>
|
{/* right icon & version */}
|
||||||
{/* right icon & version */}
|
<div className={`${styles.iconVersionContainer}`}>
|
||||||
<div className={`${styles.iconVersionContainer}`}>
|
<GithubOutlined style={{ fontSize: "26px" }} type="setting" />
|
||||||
<GithubOutlined
|
<Tag color="#108ee9">v{cardVO.version}</Tag>
|
||||||
style={{ fontSize: '26px' }}
|
|
||||||
type="setting"
|
|
||||||
/>
|
|
||||||
<Tag color="#108ee9">v{cardVO.version}</Tag>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{/* content */}
|
|
||||||
<div className={`${styles.cardContent}`}>
|
|
||||||
<div className={`${styles.boldFont}`}>{cardVO.name}</div>
|
|
||||||
<div className={`${styles.fontGray}`}>{cardVO.description}</div>
|
|
||||||
</div>
|
|
||||||
{/* footer */}
|
|
||||||
<div className={`${styles.cardFooter}`}>
|
|
||||||
<div className={`${styles.linkSettingContainer}`}>
|
|
||||||
<div className={`${styles.link}`}>
|
|
||||||
<LinkOutlined
|
|
||||||
style={{ fontSize: '22px' }}
|
|
||||||
/>
|
|
||||||
<span>1</span>
|
|
||||||
</div>
|
|
||||||
<ToolOutlined
|
|
||||||
style={{ fontSize: '22px' }}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
);
|
</div>
|
||||||
}
|
{/* content */}
|
||||||
|
<div className={`${styles.cardContent}`}>
|
||||||
|
<div className={`${styles.boldFont}`}>{cardVO.name}</div>
|
||||||
|
<div className={`${styles.fontGray}`}>{cardVO.description}</div>
|
||||||
|
</div>
|
||||||
|
{/* footer */}
|
||||||
|
<div className={`${styles.cardFooter}`}>
|
||||||
|
<div className={`${styles.linkSettingContainer}`}>
|
||||||
|
<div className={`${styles.link}`}>
|
||||||
|
<LinkOutlined style={{ fontSize: "22px" }} />
|
||||||
|
<span>1</span>
|
||||||
|
</div>
|
||||||
|
<ToolOutlined style={{ fontSize: "22px" }} />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<Switch
|
||||||
|
value={initialized}
|
||||||
|
onClick={handleEnable}
|
||||||
|
disabled={!switchEnable}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user