diff --git a/apps/ai-game-creator-shell/src/view/project-development/export/components/TargetCard.tsx b/apps/ai-game-creator-shell/src/view/project-development/export/components/TargetCard.tsx index 0798968b3..a617cbc1b 100644 --- a/apps/ai-game-creator-shell/src/view/project-development/export/components/TargetCard.tsx +++ b/apps/ai-game-creator-shell/src/view/project-development/export/components/TargetCard.tsx @@ -21,11 +21,13 @@ export function TargetCard({ className="group flex aspect-square w-full flex-col items-center justify-center gap-4 rounded-3xl border border-[#e2cbb8] bg-[#fffaf5] p-6 text-center shadow-[0_18px_40px_rgba(112,57,30,0.08)] transition hover:-translate-y-0.5 hover:border-[#c7653d] hover:shadow-[0_22px_48px_rgba(112,57,30,0.14)]" onClick={() => onOpen(target)} > - + + + {meta.label} ); diff --git a/apps/ai-game-creator-shell/src/view/project-development/export/components/TargetIcon.tsx b/apps/ai-game-creator-shell/src/view/project-development/export/components/TargetIcon.tsx index 5d24648a6..9076ac655 100644 --- a/apps/ai-game-creator-shell/src/view/project-development/export/components/TargetIcon.tsx +++ b/apps/ai-game-creator-shell/src/view/project-development/export/components/TargetIcon.tsx @@ -1,12 +1,23 @@ -import placeholderIcon from '../../../../../../../packages/shared/src/icons/taonier-product-ip.png'; -import type { Target } from '../model'; +import rednoteIcon from '../../../../../../../packages/shared/src/icons/rednote.png'; +import taonierIcon from '../../../../../../../packages/shared/src/icons/taonier-product-ip.png'; +import taptapIcon from '../../../../../../../packages/shared/src/icons/taptap.png'; +import { Target } from '../model'; /** - * 目标图标占位。 + * 目标图标。 * - * 三个目标的正式图标还没到,先统一用陶泥儿 IP 图占位;补齐后在这里按 `target` 分支, - * 卡片与 tab 都不必改。`className` 交给调用方定尺寸(卡片里是主视觉,tab 里只是小标)。 + * 陶泥儿用 IP 图;小红书(RedNote)与 TapTap 用各自的真实图标。三个目标的图源在这里 + * 一处收口,卡片与 tab 都只认 `Target`,换图不用改调用方。 + * + * TapTap 那张是横向 logo(宽高比约 3.6:1),所以调用方给的是矩形盒 + `object-contain`: + * 它按宽度贴满,方形图标则按高度贴满,互不拉伸。 */ +const TARGET_ICON: Record = { + [Target.Taonier]: taonierIcon, + [Target.Xiaohongshu]: rednoteIcon, + [Target.TapTap]: taptapIcon, +}; + export function TargetIcon({ target, size = 32, @@ -18,7 +29,7 @@ export function TargetIcon({ }) { return ( {TARGET_META[target].label} diff --git a/packages/shared/src/icons/rednote.png b/packages/shared/src/icons/rednote.png new file mode 100644 index 000000000..9b899776f Binary files /dev/null and b/packages/shared/src/icons/rednote.png differ diff --git a/packages/shared/src/icons/taptap.png b/packages/shared/src/icons/taptap.png new file mode 100644 index 000000000..dc4be3926 Binary files /dev/null and b/packages/shared/src/icons/taptap.png differ