fix: update image imports to use custom Image component with base path handling

This commit is contained in:
shibamudi
2026-01-30 00:02:26 +09:00
committed by dayuan.jiang
parent 0a79536002
commit f2f5ac907d
10 changed files with 20 additions and 9 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
import type { Metadata } from "next" import type { Metadata } from "next"
import Image from "next/image"
import Link from "next/link" import Link from "next/link"
import { FaGithub } from "react-icons/fa" import { FaGithub } from "react-icons/fa"
import Image from "@/components/image-with-basepath"
export const metadata: Metadata = { export const metadata: Metadata = {
title: "关于 - Next AI Draw.io", title: "关于 - Next AI Draw.io",
+1 -1
View File
@@ -1,7 +1,7 @@
import type { Metadata } from "next" import type { Metadata } from "next"
import Image from "next/image"
import Link from "next/link" import Link from "next/link"
import { FaGithub } from "react-icons/fa" import { FaGithub } from "react-icons/fa"
import Image from "@/components/image-with-basepath"
export const metadata: Metadata = { export const metadata: Metadata = {
title: "概要 - Next AI Draw.io", title: "概要 - Next AI Draw.io",
+1 -1
View File
@@ -1,7 +1,7 @@
import type { Metadata } from "next" import type { Metadata } from "next"
import Image from "next/image"
import Link from "next/link" import Link from "next/link"
import { FaGithub } from "react-icons/fa" import { FaGithub } from "react-icons/fa"
import Image from "@/components/image-with-basepath"
export const metadata: Metadata = { export const metadata: Metadata = {
title: "About - Next AI Draw.io", title: "About - Next AI Draw.io",
+1 -1
View File
@@ -16,7 +16,6 @@ import {
ThumbsUp, ThumbsUp,
X, X,
} from "lucide-react" } from "lucide-react"
import Image from "next/image"
import type { MutableRefObject } from "react" import type { MutableRefObject } from "react"
import { useCallback, useEffect, useRef, useState } from "react" import { useCallback, useEffect, useRef, useState } from "react"
import ReactMarkdown from "react-markdown" import ReactMarkdown from "react-markdown"
@@ -31,6 +30,7 @@ import { ToolCallCard } from "@/components/chat/ToolCallCard"
import type { DiagramOperation, ToolPartLike } from "@/components/chat/types" import type { DiagramOperation, ToolPartLike } from "@/components/chat/types"
import type { ValidationState } from "@/components/chat/ValidationCard" import type { ValidationState } from "@/components/chat/ValidationCard"
import { ValidationCard } from "@/components/chat/ValidationCard" import { ValidationCard } from "@/components/chat/ValidationCard"
import Image from "@/components/image-with-basepath"
import { ScrollArea } from "@/components/ui/scroll-area" import { ScrollArea } from "@/components/ui/scroll-area"
import { useDictionary } from "@/hooks/use-dictionary" import { useDictionary } from "@/hooks/use-dictionary"
import { getApiEndpoint } from "@/lib/base-path" import { getApiEndpoint } from "@/lib/base-path"
+1 -1
View File
@@ -8,7 +8,6 @@ import {
PanelRightOpen, PanelRightOpen,
Settings, Settings,
} from "lucide-react" } from "lucide-react"
import Image from "next/image"
import { usePathname, useRouter, useSearchParams } from "next/navigation" import { usePathname, useRouter, useSearchParams } from "next/navigation"
import type React from "react" import type React from "react"
import { import {
@@ -22,6 +21,7 @@ import { flushSync } from "react-dom"
import { Toaster, toast } from "sonner" import { Toaster, toast } from "sonner"
import { ButtonWithTooltip } from "@/components/button-with-tooltip" import { ButtonWithTooltip } from "@/components/button-with-tooltip"
import { ChatInput } from "@/components/chat-input" import { ChatInput } from "@/components/chat-input"
import Image from "@/components/image-with-basepath"
import { ModelConfigDialog } from "@/components/model-config-dialog" import { ModelConfigDialog } from "@/components/model-config-dialog"
import { SettingsDialog } from "@/components/settings-dialog" import { SettingsDialog } from "@/components/settings-dialog"
import { useDiagram } from "@/contexts/diagram-context" import { useDiagram } from "@/contexts/diagram-context"
+1 -1
View File
@@ -8,9 +8,9 @@ import {
Trash2, Trash2,
X, X,
} from "lucide-react" } from "lucide-react"
import Image from "next/image"
import { useState } from "react" import { useState } from "react"
import ExamplePanel from "@/components/chat-example-panel" import ExamplePanel from "@/components/chat-example-panel"
import Image from "@/components/image-with-basepath"
import { import {
AlertDialog, AlertDialog,
AlertDialogAction, AlertDialogAction,
+1 -1
View File
@@ -10,8 +10,8 @@ import {
RefreshCw, RefreshCw,
X, X,
} from "lucide-react" } from "lucide-react"
import Image from "next/image"
import { useState } from "react" import { useState } from "react"
import Image from "@/components/image-with-basepath"
import { useDictionary } from "@/hooks/use-dictionary" import { useDictionary } from "@/hooks/use-dictionary"
import type { ValidationResult } from "@/lib/diagram-validator" import type { ValidationResult } from "@/lib/diagram-validator"
+1 -1
View File
@@ -1,8 +1,8 @@
"use client" "use client"
import { FileCode, FileText, Link, Loader2, X } from "lucide-react" import { FileCode, FileText, Link, Loader2, X } from "lucide-react"
import Image from "next/image"
import { useEffect, useRef, useState } from "react" import { useEffect, useRef, useState } from "react"
import Image from "@/components/image-with-basepath"
import { useDictionary } from "@/hooks/use-dictionary" import { useDictionary } from "@/hooks/use-dictionary"
import { isPdfFile, isTextFile } from "@/lib/pdf-utils" import { isPdfFile, isTextFile } from "@/lib/pdf-utils"
+1 -1
View File
@@ -1,7 +1,7 @@
"use client" "use client"
import Image from "next/image"
import { useState } from "react" import { useState } from "react"
import Image from "@/components/image-with-basepath"
import { Button } from "@/components/ui/button" import { Button } from "@/components/ui/button"
import { import {
Dialog, Dialog,
+11
View File
@@ -0,0 +1,11 @@
import NextImage from "next/image"
export default function Image(props: React.ComponentProps<typeof NextImage>) {
const basePath = process.env.NEXT_PUBLIC_BASE_PATH || ""
const src =
typeof props.src === "string" && !props.src.startsWith("http")
? `${basePath}${props.src}`
: props.src
return <NextImage {...props} src={src} />
}