feat(category-icon): 分类图标支持 PNG 资源,学院类目改用 PNG

categorySvgUrlForSlug → categoryAssetUrlForSlug,映射值改为带子目录
的相对路径(svg/ 或 png/),新增 academy-materials / academy-video
的 PNG 图标并兼容拼写别名 acedemy-video。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
TerryM
2026-05-30 17:34:18 +08:00
parent 07f040a549
commit 0733ea8b18
4 changed files with 25 additions and 24 deletions

View File

@@ -15,7 +15,7 @@ import {
Play,
type LucideIcon,
} from "lucide-react";
import { categorySvgUrlForSlug } from "../lib/categorySvgSlug";
import { categoryAssetUrlForSlug } from "../lib/categorySvgSlug";
const map: Record<string, LucideIcon> = {
folder: Folder,
@@ -40,15 +40,15 @@ export function CategoryIcon({
className,
}: {
iconKey: string;
/** When set, prefer branded SVG from `public/assets/ark-library/media/svg/`. */
/** When set, prefer branded asset from `public/assets/ark-library/media/`. */
categorySlug?: string;
className?: string;
}) {
const svgUrl = categorySlug ? categorySvgUrlForSlug(categorySlug) : null;
if (svgUrl) {
const assetUrl = categorySlug ? categoryAssetUrlForSlug(categorySlug) : null;
if (assetUrl) {
return (
<img
src={svgUrl}
src={assetUrl}
alt=""
className={[className, "object-contain pointer-events-none select-none"]
.filter(Boolean)