mirror of
https://github.com/coaidev/coai.git
synced 2025-05-30 02:10:25 +09:00
add contact button
This commit is contained in:
parent
8f600d5c7d
commit
c2668212f6
BIN
app/public/source/qq.jpg
Normal file
BIN
app/public/source/qq.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 54 KiB |
@ -404,3 +404,10 @@
|
|||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.contact-image {
|
||||||
|
margin-top: 0.75rem;
|
||||||
|
max-width: min(60vw, 420px);
|
||||||
|
max-height: 80vh;
|
||||||
|
border-radius: var(--radius);
|
||||||
|
}
|
||||||
|
@ -14,7 +14,7 @@ import { formatMessage } from "../../utils.ts";
|
|||||||
import ChatInterface from "./ChatInterface.tsx";
|
import ChatInterface from "./ChatInterface.tsx";
|
||||||
import { Button } from "../ui/button.tsx";
|
import { Button } from "../ui/button.tsx";
|
||||||
import router from "../../router.tsx";
|
import router from "../../router.tsx";
|
||||||
import { BookMarked, ChevronRight, FolderKanban, Globe } from "lucide-react";
|
import {BookMarked, ChevronRight, FolderKanban, Globe, Users2} from "lucide-react";
|
||||||
import {
|
import {
|
||||||
Tooltip,
|
Tooltip,
|
||||||
TooltipContent,
|
TooltipContent,
|
||||||
@ -25,6 +25,15 @@ import { Toggle } from "../ui/toggle.tsx";
|
|||||||
import { Input } from "../ui/input.tsx";
|
import { Input } from "../ui/input.tsx";
|
||||||
import EditorProvider from "../EditorProvider.tsx";
|
import EditorProvider from "../EditorProvider.tsx";
|
||||||
import ModelSelector from "./ModelSelector.tsx";
|
import ModelSelector from "./ModelSelector.tsx";
|
||||||
|
import {
|
||||||
|
Dialog,
|
||||||
|
DialogContent,
|
||||||
|
DialogDescription,
|
||||||
|
DialogFooter,
|
||||||
|
DialogHeader,
|
||||||
|
DialogTitle,
|
||||||
|
DialogTrigger
|
||||||
|
} from "../ui/dialog.tsx";
|
||||||
|
|
||||||
function ChatWrapper() {
|
function ChatWrapper() {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
@ -90,14 +99,37 @@ function ChatWrapper() {
|
|||||||
<ChatInterface />
|
<ChatInterface />
|
||||||
) : (
|
) : (
|
||||||
<div className={`chat-product`}>
|
<div className={`chat-product`}>
|
||||||
<Button
|
<Dialog>
|
||||||
variant={`outline`}
|
<DialogTrigger asChild>
|
||||||
onClick={() => window.open("https://docs.chatnio.net", "_blank")}
|
<Button variant={`outline`}>
|
||||||
>
|
<Users2 className={`h-4 w-4 mr-1.5`} />
|
||||||
<BookMarked className={`h-4 w-4 mr-1.5`} />
|
{t("contact.title")}
|
||||||
{t("docs.title")}
|
<ChevronRight className={`h-4 w-4 ml-2`} />
|
||||||
<ChevronRight className={`h-4 w-4 ml-2`} />
|
</Button>
|
||||||
</Button>
|
</DialogTrigger>
|
||||||
|
<DialogContent>
|
||||||
|
<DialogHeader>
|
||||||
|
<DialogTitle>{t("contact.title")}</DialogTitle>
|
||||||
|
<DialogDescription />
|
||||||
|
<Button
|
||||||
|
className={`mx-auto`}
|
||||||
|
variant={`outline`}
|
||||||
|
onClick={() => window.open("https://docs.chatnio.net", "_blank")}
|
||||||
|
>
|
||||||
|
<BookMarked className={`h-4 w-4 mr-1.5`} />
|
||||||
|
{t("docs.title")}
|
||||||
|
</Button>
|
||||||
|
<a
|
||||||
|
href={"http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=1oKfIbNVXmMNMVzW1NiFSTKDcT1qIEq5&authKey=uslxslIBZtLImf4BSxjDqfx4hiJA52YV7PFM38W%2BOArr%2BhE0jwVdQCRYs0%2FXKX7W&noverify=0&group_code=565902327"}
|
||||||
|
target={"_blank"}
|
||||||
|
className={`mx-auto`}
|
||||||
|
>
|
||||||
|
<img src={`/source/qq.jpg`} className={`contact-image`} alt={`QQ`} />
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</DialogHeader>
|
||||||
|
</DialogContent>
|
||||||
|
</Dialog>
|
||||||
<Button
|
<Button
|
||||||
variant={`outline`}
|
variant={`outline`}
|
||||||
onClick={() => router.navigate("/generate")}
|
onClick={() => router.navigate("/generate")}
|
||||||
|
@ -130,9 +130,19 @@ function ShareManagement() {
|
|||||||
<DialogContent>
|
<DialogContent>
|
||||||
<DialogHeader>
|
<DialogHeader>
|
||||||
<DialogTitle>{t("share.manage")}</DialogTitle>
|
<DialogTitle>{t("share.manage")}</DialogTitle>
|
||||||
<DialogDescription className={`share-table`}>
|
{
|
||||||
<ShareTable data={data} />
|
data.length > 0 ? (
|
||||||
</DialogDescription>
|
<DialogDescription className={`share-table`}>
|
||||||
|
<ShareTable data={data} />
|
||||||
|
</DialogDescription>
|
||||||
|
) : (
|
||||||
|
<DialogDescription>
|
||||||
|
<p className={`text-center select-none mt-6 mb-2`}>
|
||||||
|
{t("conversation.empty")}
|
||||||
|
</p>
|
||||||
|
</DialogDescription>
|
||||||
|
)
|
||||||
|
}
|
||||||
</DialogHeader>
|
</DialogHeader>
|
||||||
<DialogFooter>
|
<DialogFooter>
|
||||||
<Button variant={`outline`} onClick={() => dispatch(closeDialog())}>
|
<Button variant={`outline`} onClick={() => dispatch(closeDialog())}>
|
||||||
|
@ -206,6 +206,9 @@ const resources = {
|
|||||||
"check-success": "Redeem Success",
|
"check-success": "Redeem Success",
|
||||||
"check-success-description": "Redeem Success! You have received {{amount}} points, start your AI journey!",
|
"check-success-description": "Redeem Success! You have received {{amount}} points, start your AI journey!",
|
||||||
"check-failed": "Redeem Failed",
|
"check-failed": "Redeem Failed",
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
title: "Contact Us",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -399,7 +402,11 @@ const resources = {
|
|||||||
"check-success": "兑换成功",
|
"check-success": "兑换成功",
|
||||||
"check-success-description": "兑换成功!您已获得 {{amount}} 点数,开始您的 AI 之旅吧!",
|
"check-success-description": "兑换成功!您已获得 {{amount}} 点数,开始您的 AI 之旅吧!",
|
||||||
"check-failed": "兑换失败",
|
"check-failed": "兑换失败",
|
||||||
}
|
},
|
||||||
|
contact: {
|
||||||
|
title: "联系我们",
|
||||||
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
ru: {
|
ru: {
|
||||||
@ -603,6 +610,9 @@ const resources = {
|
|||||||
"check-success": "Успешно",
|
"check-success": "Успешно",
|
||||||
"check-success-description": "Успешно! Вы получили {{amount}} очков, начните свое путешествие в мир AI!",
|
"check-success-description": "Успешно! Вы получили {{amount}} очков, начните свое путешествие в мир AI!",
|
||||||
"check-failed": "Не удалось",
|
"check-failed": "Не удалось",
|
||||||
|
},
|
||||||
|
contact: {
|
||||||
|
title: "Связаться с нами",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user