fix: adapt frontend for legacy Chrome and runtime config
This commit is contained in:
1 parent
db2f21191c
commit
388a9133fc
84 files changed
+1186
-528
No files matched your search
@@ -567,9 +567,11 @@ export default function ChatPage() {
|
||||
isLandingState &&
|
||||
!compactLanding &&
|
||||
"-translate-y-[calc(50vh-96px)]",
|
||||
isLandingState
|
||||
? "max-w-(--container-width-md)"
|
||||
: "max-w-(--container-width-lg)",
|
||||
compactLanding
|
||||
? "max-w-(--container-width-xl)"
|
||||
: isLandingState
|
||||
? "max-w-(--container-width-md)"
|
||||
: "max-w-(--container-width-lg)",
|
||||
)}
|
||||
>
|
||||
<div className="absolute -top-4 right-0 left-0 z-0">
|
||||
|
||||
@@ -613,7 +613,7 @@ export default function NewAgentPage() {
|
||||
placeholder="写下智能体的人设、边界、工作方式和输出要求"
|
||||
value={soulInput}
|
||||
onChange={(event) => setSoulInput(event.currentTarget.value)}
|
||||
className="max-h-[50vh] min-h-64 resize-y overflow-y-auto font-mono text-xs"
|
||||
className="max-h-[50vh] min-h-64 resize-y overflow-y-auto text-xs"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -133,7 +133,7 @@ function DiagnosticRow({ item }: { item: DiagnosticItem }) {
|
||||
) : null}
|
||||
{item.userName ? (
|
||||
<span className="rounded bg-slate-100 px-1.5 py-0.5 text-xs text-slate-600 dark:bg-slate-800 dark:text-slate-300">
|
||||
👤 {item.userName}
|
||||
用户 {item.userName}
|
||||
</span>
|
||||
) : null}
|
||||
<span className="ml-auto text-xs text-slate-400 dark:text-muted-foreground">{fmtTime(item.createdAt)}</span>
|
||||
|
||||
@@ -31,6 +31,7 @@ import type { SourceItem } from "@/core/studio/types";
|
||||
import { getStoredAuth } from "@/core/auth";
|
||||
import { useTheme } from "@/contexts/ThemeContext";
|
||||
import { useModels } from "@/core/models/hooks";
|
||||
import { readRuntimeEnv } from "@/env";
|
||||
import {
|
||||
Select,
|
||||
SelectContent,
|
||||
@@ -259,6 +260,7 @@ export default function StudioNotebookDetailPage({
|
||||
const notebookId =
|
||||
notebookIdProp != null ? String(notebookIdProp) : params.notebookId;
|
||||
const { theme } = useTheme(); // 跳转「我的空间」时带上当前主题 key
|
||||
const notebookFrontendUrl = readRuntimeEnv("VITE_AIPI_FRONTEND_URL") || "";
|
||||
const { notebooks, isLoading, token: studioToken } = useStudioNotebooks(); // token 用于跳转 callback
|
||||
const { models } = useModels();
|
||||
const queryClient = useQueryClient();
|
||||
@@ -343,7 +345,7 @@ export default function StudioNotebookDetailPage({
|
||||
const handleDeleteSource = async (sourceId: number) => {
|
||||
if (!notebook) return;
|
||||
try {
|
||||
const backendUrl = import.meta.env.VITE_AIPI_BACKENP_URL || "http://localhost:8001";
|
||||
const backendUrl = readRuntimeEnv("VITE_AIPI_BACKENP_URL") || "http://localhost:8001";
|
||||
const response = await fetch(`${backendUrl}/api/v1/source/${sourceId}`, {
|
||||
method: "DELETE",
|
||||
headers: { Authorization: `Bearer ${studioToken ?? ""}` },
|
||||
@@ -425,7 +427,7 @@ export default function StudioNotebookDetailPage({
|
||||
const pollSourceStatus = useCallback(async (taskId: string) => {
|
||||
if (!notebook) return;
|
||||
try {
|
||||
const backendUrl = import.meta.env.VITE_AIPI_BACKENP_URL || "http://localhost:8001";
|
||||
const backendUrl = readRuntimeEnv("VITE_AIPI_BACKENP_URL") || "http://localhost:8001";
|
||||
const token = getStoredAuth()?.access_token ?? "";
|
||||
const response = await fetch(`${backendUrl}/api/v1/task/${taskId}/status`, {
|
||||
headers: { Authorization: `Bearer ${token}` },
|
||||
@@ -581,7 +583,7 @@ export default function StudioNotebookDetailPage({
|
||||
</div>
|
||||
<div className="flex items-center gap-2">
|
||||
<a
|
||||
href={`${import.meta.env.VITE_AIPI_FRONTEND_URL}/auth/callback?token=${studioToken ?? ""}&redirect=/dashboard/${notebookId}/new-chat&themekey=${theme}`}
|
||||
href={`${notebookFrontendUrl}/auth/callback?token=${studioToken ?? ""}&redirect=/dashboard/${notebookId}/new-chat&themekey=${theme}`}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="flex items-center gap-1.5 rounded-full bg-muted px-3 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted/70"
|
||||
@@ -605,7 +607,7 @@ export default function StudioNotebookDetailPage({
|
||||
<div className="relative z-10 flex flex-1 flex-col overflow-hidden">
|
||||
{/* 右上角跳转按钮 */}
|
||||
<a
|
||||
href={`${import.meta.env.VITE_AIPI_FRONTEND_URL}/auth/callback?token=${studioToken ?? ""}&redirect=/dashboard/${notebookId}/new-chat&themekey=${theme}`}
|
||||
href={`${notebookFrontendUrl}/auth/callback?token=${studioToken ?? ""}&redirect=/dashboard/${notebookId}/new-chat&themekey=${theme}`}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="absolute right-6 top-4 z-10 flex items-center gap-1.5 rounded-full bg-muted/70 px-3 py-1.5 text-xs text-muted-foreground backdrop-blur transition-colors hover:bg-muted"
|
||||
|
||||
Reference in new issue
Block a user