This commit is contained in:
@@ -20,10 +20,13 @@ const AddToFolder: React.FC<AddToFolderProps> = ({ item, setShow }) => {
|
|||||||
const session = useSession();
|
const session = useSession();
|
||||||
const [folders, setFolders] = useState<folder[]>([]);
|
const [folders, setFolders] = useState<folder[]>([]);
|
||||||
const t = useTranslations("translator.add_to_folder");
|
const t = useTranslations("translator.add_to_folder");
|
||||||
|
const [loading, setLoading] = useState(true);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const username = session.data!.user!.name as string;
|
const username = session.data!.user!.name as string;
|
||||||
getFoldersByOwner(username).then(setFolders);
|
getFoldersByOwner(username)
|
||||||
|
.then(setFolders)
|
||||||
|
.then(() => setLoading(false));
|
||||||
}, [session.data]);
|
}, [session.data]);
|
||||||
|
|
||||||
if (session.status !== "authenticated") {
|
if (session.status !== "authenticated") {
|
||||||
@@ -40,7 +43,8 @@ const AddToFolder: React.FC<AddToFolderProps> = ({ item, setShow }) => {
|
|||||||
<Container className="p-6">
|
<Container className="p-6">
|
||||||
<h1>{t("chooseFolder")}</h1>
|
<h1>{t("chooseFolder")}</h1>
|
||||||
<div className="border border-gray-200 rounded-2xl">
|
<div className="border border-gray-200 rounded-2xl">
|
||||||
{(folders.length > 0 &&
|
{(loading && <span>...</span>) ||
|
||||||
|
(folders.length > 0 &&
|
||||||
folders.map((folder) => (
|
folders.map((folder) => (
|
||||||
<button
|
<button
|
||||||
key={folder.id}
|
key={folder.id}
|
||||||
|
|||||||
@@ -263,7 +263,7 @@ export default function TranslatorPage() {
|
|||||||
<div className="m-6 flex flex-col items-center">
|
<div className="m-6 flex flex-col items-center">
|
||||||
<h1 className="text-2xl font-light">{t("history")}</h1>
|
<h1 className="text-2xl font-light">{t("history")}</h1>
|
||||||
<div className="border border-gray-200 rounded-2xl m-4">
|
<div className="border border-gray-200 rounded-2xl m-4">
|
||||||
{history.map((item, index) => (
|
{history.toReversed().map((item, index) => (
|
||||||
<div key={index}>
|
<div key={index}>
|
||||||
<div className="border-b border-gray-200 p-2 group hover:bg-gray-50 flex gap-2 flex-row justify-between items-start">
|
<div className="border-b border-gray-200 p-2 group hover:bg-gray-50 flex gap-2 flex-row justify-between items-start">
|
||||||
<div className="flex-1 flex flex-col">
|
<div className="flex-1 flex flex-col">
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { NextRequest } from "next/server";
|
|||||||
|
|
||||||
export async function GET(req: NextRequest) {
|
export async function GET(req: NextRequest) {
|
||||||
return await simpleGetLLMAnswer(
|
return await simpleGetLLMAnswer(
|
||||||
`请生成%s的严式国际音标(International Phonetic Alphabet),然后直接发给我。`,
|
`请生成[[[%s]]]的严式国际音标(International Phonetic Alphabet),然后直接发给我,不要附带任何说明。`,
|
||||||
req.nextUrl.searchParams,
|
req.nextUrl.searchParams,
|
||||||
["text"],
|
["text"],
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { NextRequest } from "next/server";
|
|||||||
|
|
||||||
export async function GET(req: NextRequest) {
|
export async function GET(req: NextRequest) {
|
||||||
return await simpleGetLLMAnswer(
|
return await simpleGetLLMAnswer(
|
||||||
`请根据文本“%s”推断地区(locale),形如zh-CN、en-US,然后直接发给我。`,
|
`请根据文本[[[%s]]]推断地区(locale),形如zh-CN、en-US,然后直接发给我,不要附带任何说明。`,
|
||||||
req.nextUrl.searchParams,
|
req.nextUrl.searchParams,
|
||||||
["text"],
|
["text"],
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { NextRequest } from "next/server";
|
|||||||
|
|
||||||
export async function GET(req: NextRequest) {
|
export async function GET(req: NextRequest) {
|
||||||
return await simpleGetLLMAnswer(
|
return await simpleGetLLMAnswer(
|
||||||
`请翻译%s到%s然后直接发给我。`,
|
`请翻译文本[[[%s]]]到语言[[[%s]]]然后直接发给我,不要附带任何说明,不要新增任何符号。`,
|
||||||
req.nextUrl.searchParams,
|
req.nextUrl.searchParams,
|
||||||
["text", "lang"],
|
["text", "lang"],
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ async function callZhipuAPI(
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
throw new Error(`API 调用失败: ${response.status}`);
|
throw new Error(`API 调用失败: ${response.status} ${response.statusText}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
return await response.json();
|
return await response.json();
|
||||||
|
|||||||
Reference in New Issue
Block a user