|
|
@@ -74,7 +74,56 @@ import { Prompt, SearchService, usePromptStore } from "../store/prompt";
|
|
|
import { ErrorBoundary } from "./error";
|
|
|
import { InputRange } from "./input-range";
|
|
|
import { useNavigate } from "react-router-dom";
|
|
|
-import { Avatar, AvatarPicker } from "./emoji";
|
|
|
+// Avatar组件替代实现
|
|
|
+import BotIcon from "../icons/bot.svg";
|
|
|
+import BlackBotIcon from "../icons/black-bot.svg";
|
|
|
+
|
|
|
+function Avatar(props: { model?: string; avatar?: string }) {
|
|
|
+ if (props.model) {
|
|
|
+ return (
|
|
|
+ <div className="no-dark">
|
|
|
+ {props.model?.startsWith("gpt-4") ? (
|
|
|
+ <BlackBotIcon className="user-avatar" />
|
|
|
+ ) : (
|
|
|
+ <BotIcon className="user-avatar" />
|
|
|
+ )}
|
|
|
+ </div>
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ return (
|
|
|
+ <div className="user-avatar">
|
|
|
+ {/* 移除emoji头像,使用默认bot图标 */}
|
|
|
+ <BotIcon className="user-avatar" />
|
|
|
+ </div>
|
|
|
+ );
|
|
|
+}
|
|
|
+
|
|
|
+// 简化的AvatarPicker替代实现
|
|
|
+function AvatarPicker(props: { onEmojiClick: (emoji: string) => void }) {
|
|
|
+ const defaultAvatars = ["🤖", "👤", "💬", "🎯", "⭐", "🔥"];
|
|
|
+
|
|
|
+ return (
|
|
|
+ <div style={{ padding: "10px", display: "grid", gridTemplateColumns: "repeat(3, 1fr)", gap: "10px" }}>
|
|
|
+ {defaultAvatars.map((emoji, index) => (
|
|
|
+ <div
|
|
|
+ key={index}
|
|
|
+ style={{
|
|
|
+ padding: "8px",
|
|
|
+ borderRadius: "4px",
|
|
|
+ border: "1px solid #ccc",
|
|
|
+ textAlign: "center",
|
|
|
+ cursor: "pointer",
|
|
|
+ fontSize: "20px"
|
|
|
+ }}
|
|
|
+ onClick={() => props.onEmojiClick(emoji)}
|
|
|
+ >
|
|
|
+ {emoji}
|
|
|
+ </div>
|
|
|
+ ))}
|
|
|
+ </div>
|
|
|
+ );
|
|
|
+}
|
|
|
import { getClientConfig } from "../config/client";
|
|
|
import { useSyncStore } from "../store/sync";
|
|
|
import { nanoid } from "nanoid";
|