Skip to content

Commit

Permalink
Merge pull request #6189 from bestsanmao/bug_fix
Browse files Browse the repository at this point in the history
fix avatar for export message preview and saved image
  • Loading branch information
Leizhenpeng authored Feb 11, 2025
2 parents 34bdd4b + 9f91c2d commit b44686b
Showing 1 changed file with 14 additions and 23 deletions.
37 changes: 14 additions & 23 deletions app/components/exporter.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ import CopyIcon from "../icons/copy.svg";
import LoadingIcon from "../icons/three-dots.svg";
import ChatGptIcon from "../icons/chatgpt.png";
import ShareIcon from "../icons/share.svg";
import BotIcon from "../icons/bot.png";

import DownloadIcon from "../icons/download.svg";
import { useEffect, useMemo, useRef, useState } from "react";
Expand All @@ -33,13 +32,13 @@ import dynamic from "next/dynamic";
import NextImage from "next/image";

import { toBlob, toPng } from "html-to-image";
import { DEFAULT_MASK_AVATAR } from "../store/mask";

import { prettyObject } from "../utils/format";
import { EXPORT_MESSAGE_CLASS_NAME } from "../constant";
import { getClientConfig } from "../config/client";
import { type ClientApi, getClientApi } from "../client/api";
import { getMessageTextContent } from "../utils";
import { MaskAvatar } from "./mask";
import clsx from "clsx";

const Markdown = dynamic(async () => (await import("./markdown")).Markdown, {
Expand Down Expand Up @@ -407,22 +406,6 @@ export function PreviewActions(props: {
);
}

function ExportAvatar(props: { avatar: string }) {
if (props.avatar === DEFAULT_MASK_AVATAR) {
return (
<img
src={BotIcon.src}
width={30}
height={30}
alt="bot"
className="user-avatar"
/>
);
}

return <Avatar avatar={props.avatar} />;
}

export function ImagePreviewer(props: {
messages: ChatMessage[];
topic: string;
Expand Down Expand Up @@ -546,9 +529,12 @@ export function ImagePreviewer(props: {
github.com/ChatGPTNextWeb/ChatGPT-Next-Web
</div>
<div className={styles["icons"]}>
<ExportAvatar avatar={config.avatar} />
<MaskAvatar avatar={config.avatar} />
<span className={styles["icon-space"]}>&</span>
<ExportAvatar avatar={mask.avatar} />
<MaskAvatar
avatar={mask.avatar}
model={session.mask.modelConfig.model}
/>
</div>
</div>
<div>
Expand Down Expand Up @@ -576,9 +562,14 @@ export function ImagePreviewer(props: {
key={i}
>
<div className={styles["avatar"]}>
<ExportAvatar
avatar={m.role === "user" ? config.avatar : mask.avatar}
/>
{m.role === "user" ? (
<Avatar avatar={config.avatar}></Avatar>
) : (
<MaskAvatar
avatar={session.mask.avatar}
model={m.model || session.mask.modelConfig.model}
/>
)}
</div>

<div className={styles["body"]}>
Expand Down

0 comments on commit b44686b

Please sign in to comment.