diff --git a/apps/ai-game-creator-shell/src/view/home/InspirationGallery.tsx b/apps/ai-game-creator-shell/src/view/home/InspirationGallery.tsx index 1e25189f5..dc15824e9 100644 --- a/apps/ai-game-creator-shell/src/view/home/InspirationGallery.tsx +++ b/apps/ai-game-creator-shell/src/view/home/InspirationGallery.tsx @@ -1,55 +1,18 @@ import { useEffect, useState } from 'react'; import { createPortal } from 'react-dom'; -import inspiration01 from './assets/inspiration/inspiration-01.webp'; -import inspiration02 from './assets/inspiration/inspiration-02.webp'; -import inspiration03 from './assets/inspiration/inspiration-03.webp'; -import inspiration04 from './assets/inspiration/inspiration-04.webp'; -import inspiration05 from './assets/inspiration/inspiration-05.webp'; -import inspiration06 from './assets/inspiration/inspiration-06.webp'; -import inspiration07 from './assets/inspiration/inspiration-07.webp'; -import inspiration08 from './assets/inspiration/inspiration-08.webp'; -import inspiration09 from './assets/inspiration/inspiration-09.webp'; -import inspiration10 from './assets/inspiration/inspiration-10.webp'; -import inspiration11 from './assets/inspiration/inspiration-11.webp'; -import inspiration12 from './assets/inspiration/inspiration-12.webp'; -import inspiration13 from './assets/inspiration/inspiration-13.webp'; -import inspiration14 from './assets/inspiration/inspiration-14.webp'; -import inspiration15 from './assets/inspiration/inspiration-15.webp'; -import inspiration16 from './assets/inspiration/inspiration-16.webp'; -import inspiration17 from './assets/inspiration/inspiration-17.webp'; -import inspiration18 from './assets/inspiration/inspiration-18.webp'; -import inspiration19 from './assets/inspiration/inspiration-19.webp'; -import inspiration20 from './assets/inspiration/inspiration-20.webp'; -import inspiration21 from './assets/inspiration/inspiration-21.webp'; -import inspiration22 from './assets/inspiration/inspiration-22.webp'; -import inspiration23 from './assets/inspiration/inspiration-23.webp'; - -const INSPIRATION_IMAGES = [ - inspiration01, - inspiration02, - inspiration03, - inspiration04, - inspiration05, - inspiration06, - inspiration07, - inspiration08, - inspiration09, - inspiration10, - inspiration11, - inspiration12, - inspiration13, - inspiration14, - inspiration15, - inspiration16, - inspiration17, - inspiration18, - inspiration19, - inspiration20, - inspiration21, - inspiration22, - inspiration23, -] as const; +// TODO: 后续改为由服务器下发灵感资源;届时保留此组件的展示与预览交互,移除本地目录扫描。 +const INSPIRATION_IMAGES = Object.entries( + import.meta.glob('./assets/inspiration/*.{webp,png,jpg,jpeg}', { + eager: true, + import: 'default', + query: '?url', + }), +) + .sort(([left], [right]) => + left.localeCompare(right, undefined, { numeric: true }), + ) + .map(([, image]) => image as string); export default function InspirationGallery() { const [selectedImage, setSelectedImage] = useState(null); diff --git a/apps/ai-game-creator-shell/src/view/home/assets/inspiration/inspiration-24.webp b/apps/ai-game-creator-shell/src/view/home/assets/inspiration/inspiration-24.webp new file mode 100644 index 000000000..b23f5e8d1 Binary files /dev/null and b/apps/ai-game-creator-shell/src/view/home/assets/inspiration/inspiration-24.webp differ diff --git a/apps/ai-game-creator-shell/src/view/home/assets/inspiration/inspiration-25.webp b/apps/ai-game-creator-shell/src/view/home/assets/inspiration/inspiration-25.webp new file mode 100644 index 000000000..e008db1fc Binary files /dev/null and b/apps/ai-game-creator-shell/src/view/home/assets/inspiration/inspiration-25.webp differ