Add steering wheel accessories to catalog

This commit is contained in:
Jacky Ser
2026-08-11 15:54:35 +08:00
parent c9e20bdb1e
commit ca423b3be7
9 changed files with 157 additions and 8 deletions

View File

@@ -6,9 +6,10 @@ import {
CATALOG_PRODUCTS as RAW_CATALOG_PRODUCTS,
type CatalogProduct,
} from "./catalog-data";
import { STEERING_WHEEL_ACCESSORIES } from "./catalog-accessories";
import { getCatalogProductImage } from "./catalog-image-map";
const CATALOG_PRODUCTS = RAW_CATALOG_PRODUCTS.map((product) => ({
const CATALOG_PRODUCTS = [...RAW_CATALOG_PRODUCTS, ...STEERING_WHEEL_ACCESSORIES].map((product) => ({
...product,
image: getCatalogProductImage(product),
}));
@@ -46,6 +47,7 @@ const PRIMARY_CATALOG_CATEGORIES = [
"积木舵机",
"标准齿轮箱",
"翻盖电机",
"舵盘配件",
];
const CATALOG_FILTER_CATEGORIES = ["全部产品", ...PRIMARY_CATALOG_CATEGORIES, "静音舵机"];
@@ -72,6 +74,10 @@ const FEATURED_SPEC_ORDER = [
"通讯方式",
"齿轮比",
"寿命",
"花键大小",
"类别",
"材质",
"重量",
"产品尺寸",
"外形尺寸",
];
@@ -111,7 +117,11 @@ function isSilentServo(product: CatalogProduct) {
const SILENT_SERVO_COUNT = CATALOG_PRODUCTS.filter(isSilentServo).length;
function getCategoryCount(category: string) {
return category === SILENT_SERVO_CATEGORY ? SILENT_SERVO_COUNT : CATALOG_COUNTS[category];
return category === SILENT_SERVO_CATEGORY
? SILENT_SERVO_COUNT
: category === "舵盘配件"
? STEERING_WHEEL_ACCESSORIES.length
: CATALOG_COUNTS[category];
}
type ProductScale = {
@@ -906,9 +916,9 @@ export default function Home() {
<div className="section-heading">
<div>
<p className="eyebrow"><span /> · 2026.06</p>
<h2>280</h2>
<h2>{CATALOG_PRODUCTS.length}</h2>
</div>
<p>280</p>
<p>{CATALOG_PRODUCTS.length}</p>
</div>
<div className="catalog-summary" aria-label="产品分类统计">
@@ -927,7 +937,7 @@ export default function Home() {
</button>
))}
</div>
<p className="catalog-category-note"> · 280 · 11</p>
<p className="catalog-category-note"> · {CATALOG_PRODUCTS.length} · 6 · 11</p>
<div className="catalog-toolbar">
<label className="catalog-search">
@@ -1089,7 +1099,9 @@ export default function Home() {
<p className="step-kicker">{selectedCatalogProduct.category}</p>
<h2 id="catalog-modal-title">{selectedCatalogProduct.name}</h2>
<code>{selectedCatalogProduct.code}</code>
<p className="catalog-source-note"> {selectedCatalogProduct.page} </p>
<p className="catalog-source-note">
{selectedCatalogProduct.page > 0 ? `官方产品目录第 ${selectedCatalogProduct.page}` : "商城产品资料 · 舵盘配件"}
</p>
</div>
</div>
<div className="catalog-spec-table">