상품 10개 추가 + 상태 디스플레이 수정
365
data/games.js
@@ -1,11 +1,345 @@
|
||||
import {
|
||||
STATUS,
|
||||
CONDITIONS,
|
||||
CATEGORIES,
|
||||
CURRENCIES,
|
||||
} from '../scripts/config.js';
|
||||
import { STATUS, CONDITIONS, CATEGORIES, CURRENCIES } from '../scripts/config.js';
|
||||
|
||||
const games = [
|
||||
{
|
||||
id: 'x3v7mq8k',
|
||||
createdAt: '2026-03-02',
|
||||
updatedAt: '2026-03-02',
|
||||
// --- 관리용 데이터 ---
|
||||
isVerified: true,
|
||||
purchaseDate: '',
|
||||
|
||||
// --- 상품 핵심 데이터 ---
|
||||
title: '디오필드 크로니클',
|
||||
category: CATEGORIES.GAMES,
|
||||
status: STATUS.ON_SALE,
|
||||
condition: CONDITIONS.BRAND_NEW,
|
||||
|
||||
// --- 판매 정보 ---
|
||||
price: 25000,
|
||||
currency: CURRENCIES.KRW,
|
||||
customTag: '',
|
||||
tags: ['Nintendo Switch', 'Japanese'],
|
||||
|
||||
// --- 미디어 및 설명 ---
|
||||
images: [
|
||||
'/images/games/x3v7mq8k_01.jpg',
|
||||
'/images/games/x3v7mq8k_02.jpg',
|
||||
'/images/games/x3v7mq8k_03.jpg',
|
||||
],
|
||||
description: '일본판(JP), 한국어 미지원',
|
||||
fullDescription: [
|
||||
'디오필드 크로니클 (The Diofield Chronicle) 닌텐도 스위치용 패키지입니다.',
|
||||
'일본판(JP) 제품입니다.',
|
||||
'한국어는 지원하지 않습니다.',
|
||||
'미개봉 새제품 상태입니다.',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'm2v8x7qp',
|
||||
createdAt: '2026-03-02',
|
||||
updatedAt: '2026-03-02',
|
||||
isVerified: true,
|
||||
purchaseDate: '',
|
||||
|
||||
title: '유희왕 러시 듀얼 최강 배틀로얄!! 간다! 고 러시!!',
|
||||
category: CATEGORIES.GAMES,
|
||||
status: STATUS.ON_SALE,
|
||||
condition: CONDITIONS.BRAND_NEW,
|
||||
|
||||
price: 20000,
|
||||
currency: CURRENCIES.KRW,
|
||||
customTag: '',
|
||||
tags: ['Nintendo Switch', 'Japanese'],
|
||||
|
||||
images: [
|
||||
'/images/games/m2v8x7qp_01.jpg',
|
||||
'/images/games/m2v8x7qp_02.jpg',
|
||||
'/images/games/m2v8x7qp_03.jpg',
|
||||
],
|
||||
description: '일본판(JP), 한국어 미지원',
|
||||
fullDescription: [
|
||||
'유희왕 러시 듀얼 최강 배틀로얄!! 간다! 고 러시!! (遊戯王ラッシュデュエル 最強バトルロイヤル!! いくぞ!ゴーラッシュ!!) 닌텐도 스위치용 패키지입니다.',
|
||||
'일본판(JP) 제품입니다.',
|
||||
'한국어는 지원하지 않습니다.',
|
||||
'미개봉 새제품 상태입니다.',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'q8x4vm2k',
|
||||
createdAt: '2026-03-02',
|
||||
updatedAt: '2026-03-02',
|
||||
isVerified: true,
|
||||
purchaseDate: '',
|
||||
|
||||
title: '구냐 몬스터',
|
||||
category: CATEGORIES.GAMES,
|
||||
status: STATUS.ON_SALE,
|
||||
condition: CONDITIONS.BRAND_NEW,
|
||||
|
||||
price: 20000,
|
||||
currency: CURRENCIES.KRW,
|
||||
customTag: '',
|
||||
tags: ['Nintendo Switch', 'Japanese'],
|
||||
|
||||
images: [
|
||||
'/images/games/q8x4vm2k_01.jpg',
|
||||
'/images/games/q8x4vm2k_02.jpg',
|
||||
'/images/games/q8x4vm2k_03.jpg',
|
||||
],
|
||||
description: '일본판(JP), 한국어 지원',
|
||||
fullDescription: [
|
||||
'구냐 몬스터 (グーニャモンスター / Goonya Monster) 닌텐도 스위치용 패키지입니다.',
|
||||
'일본판(JP) 제품이며 한국어를 지원합니다.',
|
||||
'미개봉 새제품 상태입니다.',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'x7q2vm9k',
|
||||
createdAt: '2026-03-02',
|
||||
updatedAt: '2026-03-02',
|
||||
isVerified: true,
|
||||
purchaseDate: '',
|
||||
|
||||
title: "DNF Duel: Who's Next",
|
||||
category: CATEGORIES.GAMES,
|
||||
status: STATUS.ON_SALE,
|
||||
condition: CONDITIONS.BRAND_NEW,
|
||||
|
||||
price: 45000,
|
||||
currency: CURRENCIES.KRW,
|
||||
customTag: '',
|
||||
tags: ['Nintendo Switch', 'Japanese'],
|
||||
|
||||
images: [
|
||||
'/images/games/x7q2vm9k_01.jpg',
|
||||
'/images/games/x7q2vm9k_02.jpg',
|
||||
'/images/games/x7q2vm9k_03.jpg',
|
||||
],
|
||||
description: '일본판(JP), 한국어 지원',
|
||||
fullDescription: [
|
||||
"DNF Duel: Who's Next 닌텐도 스위치용 패키지입니다.",
|
||||
'일본판(JP) 제품이며 한국어를 지원합니다.',
|
||||
'미개봉 새제품 상태입니다.',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'v9k2x7qp',
|
||||
createdAt: '2026-03-02',
|
||||
updatedAt: '2026-03-02',
|
||||
isVerified: true,
|
||||
purchaseDate: '',
|
||||
|
||||
title: '이곳, 어머니별로부터',
|
||||
category: CATEGORIES.GAMES,
|
||||
status: STATUS.ON_SALE,
|
||||
condition: CONDITIONS.BRAND_NEW,
|
||||
|
||||
price: 30000,
|
||||
currency: CURRENCIES.KRW,
|
||||
customTag: '',
|
||||
tags: ['Nintendo Switch', 'Japanese'],
|
||||
|
||||
images: [
|
||||
'/images/games/v9k2x7qp_01.jpg',
|
||||
'/images/games/v9k2x7qp_02.jpg',
|
||||
'/images/games/v9k2x7qp_03.jpg',
|
||||
],
|
||||
description: '일본판(JP), 한국어 미지원',
|
||||
fullDescription: [
|
||||
'이곳, 어머니별로부터 (こちら、母なる星より) 닌텐도 스위치용 패키지입니다.',
|
||||
'일본판(JP) 제품입니다.',
|
||||
'한국어는 지원하지 않습니다.',
|
||||
'미개봉 새제품 상태입니다.',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'm7x4v9qp',
|
||||
createdAt: '2026-03-01',
|
||||
updatedAt: '2026-03-01',
|
||||
isVerified: true,
|
||||
purchaseDate: '',
|
||||
|
||||
title: '트라이앵글 스트래티지',
|
||||
category: CATEGORIES.GAMES,
|
||||
status: STATUS.ON_SALE,
|
||||
condition: CONDITIONS.BRAND_NEW,
|
||||
|
||||
price: 35000,
|
||||
currency: CURRENCIES.KRW,
|
||||
customTag: '',
|
||||
tags: ['Nintendo Switch', 'Japanese'],
|
||||
|
||||
images: [
|
||||
'/images/games/m7x4v9qp_01.jpg',
|
||||
'/images/games/m7x4v9qp_02.jpg',
|
||||
'/images/games/m7x4v9qp_03.jpg',
|
||||
],
|
||||
description: '일본판(JP), 한국어 지원',
|
||||
fullDescription: [
|
||||
'트라이앵글 스트래티지 (TRIANGLE STRATEGY / トライアングルストラテジー) 닌텐도 스위치용 패키지입니다.',
|
||||
'일본판(JP) 제품이며 한국어를 지원합니다.',
|
||||
'미개봉 새제품 상태입니다.',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'k4v9x2mz',
|
||||
createdAt: '2026-03-01',
|
||||
updatedAt: '2026-03-01',
|
||||
isVerified: true,
|
||||
purchaseDate: '',
|
||||
|
||||
title: '제노블레이드 3',
|
||||
category: CATEGORIES.GAMES,
|
||||
status: STATUS.ON_SALE,
|
||||
condition: CONDITIONS.BRAND_NEW,
|
||||
|
||||
price: 50000,
|
||||
currency: CURRENCIES.KRW,
|
||||
customTag: '',
|
||||
tags: ['Nintendo Switch', 'Japanese'],
|
||||
|
||||
images: [
|
||||
'/images/games/k4v9x2mz_01.jpg',
|
||||
'/images/games/k4v9x2mz_02.jpg',
|
||||
'/images/games/k4v9x2mz_03.jpg',
|
||||
],
|
||||
description: '일본판(JP), 한국어 지원',
|
||||
fullDescription: [
|
||||
'제노블레이드 3 (Xenoblade 3 / ゼノブレイド3) 닌텐도 스위치용 패키지입니다.',
|
||||
'일본판(JP) 제품이며 한국어를 지원합니다.',
|
||||
'미개봉 새제품 상태입니다.',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'v3k9mz8q',
|
||||
createdAt: '2026-03-01',
|
||||
updatedAt: '2026-03-01',
|
||||
isVerified: true,
|
||||
purchaseDate: '',
|
||||
|
||||
title: '사랑하는 소녀와 수호의 방패 Re:boot The "SHIELD-9"',
|
||||
category: CATEGORIES.GAMES,
|
||||
status: STATUS.ON_SALE,
|
||||
condition: CONDITIONS.BRAND_NEW,
|
||||
|
||||
price: 15000,
|
||||
currency: CURRENCIES.KRW,
|
||||
customTag: '',
|
||||
tags: ['Nintendo Switch', 'Japanese'],
|
||||
|
||||
images: [
|
||||
'/images/games/v3k9mz8q_01.jpg',
|
||||
'/images/games/v3k9mz8q_02.jpg',
|
||||
'/images/games/v3k9mz8q_03.jpg',
|
||||
],
|
||||
description: '일본판(JP), 한국어 미지원',
|
||||
fullDescription: [
|
||||
'사랑하는 소녀와 수호의 방패 Re:boot The "SHIELD-9" (恋する乙女と守護の楯 Re:boot The "SHIELD-9") 닌텐도 스위치용 패키지입니다.',
|
||||
'일본판(JP) 제품입니다.',
|
||||
'한국어는 지원하지 않습니다.',
|
||||
'미개봉 새제품 상태입니다.',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 't8x3kp7v',
|
||||
createdAt: '2026-03-01',
|
||||
updatedAt: '2026-03-01',
|
||||
isVerified: true,
|
||||
purchaseDate: '',
|
||||
|
||||
title: '돌아온 명탐정 피카츄',
|
||||
category: CATEGORIES.GAMES,
|
||||
status: STATUS.ON_SALE,
|
||||
condition: CONDITIONS.BRAND_NEW,
|
||||
|
||||
price: 30000,
|
||||
currency: CURRENCIES.KRW,
|
||||
customTag: '',
|
||||
tags: ['Nintendo Switch', 'Japanese'],
|
||||
|
||||
images: [
|
||||
'/images/games/t8x3kp7v_01.jpg',
|
||||
'/images/games/t8x3kp7v_02.jpg',
|
||||
'/images/games/t8x3kp7v_03.jpg',
|
||||
],
|
||||
description: '일본판(JP), 한국어 지원',
|
||||
fullDescription: [
|
||||
'돌아온 명탐정 피카츄 (帰ってきた 名探偵ピカチュウ) 닌텐도 스위치용 패키지입니다.',
|
||||
'일본판(JP) 제품이며 한국어를 지원합니다.',
|
||||
'미개봉 새제품 상태입니다.',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'r2x9vk6m',
|
||||
createdAt: '2026-03-01',
|
||||
updatedAt: '2026-03-01',
|
||||
isVerified: true,
|
||||
purchaseDate: '',
|
||||
|
||||
title: '펼쳐지는 스카이! 프리큐어 펼쳐지는! 퍼즐 컬렉션',
|
||||
category: CATEGORIES.GAMES,
|
||||
status: STATUS.ON_SALE,
|
||||
condition: CONDITIONS.BRAND_NEW,
|
||||
|
||||
price: 20000,
|
||||
currency: CURRENCIES.KRW,
|
||||
customTag: '',
|
||||
tags: ['Nintendo Switch', 'Japanese'],
|
||||
|
||||
images: [
|
||||
'/images/games/r2x9vk6m_01.jpg',
|
||||
'/images/games/r2x9vk6m_02.jpg',
|
||||
'/images/games/r2x9vk6m_03.jpg',
|
||||
],
|
||||
description: '일본판(JP), 한국어 미지원',
|
||||
fullDescription: [
|
||||
'펼쳐지는 스카이! 프리큐어 펼쳐지는! 퍼즐 컬렉션 (ひろがるスカイ!プリキュア ひろがる!パズルコレクション) 닌텐도 스위치용 패키지입니다.',
|
||||
'일본판(JP) 제품입니다.',
|
||||
'한국어는 지원하지 않습니다.',
|
||||
'미개봉 새제품 상태입니다.',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'k9v2x4qp',
|
||||
createdAt: '2026-02-22',
|
||||
@@ -305,7 +639,7 @@ const games = [
|
||||
'/images/games/p4x9m2zk_02.jpg',
|
||||
'/images/games/p4x9m2zk_03.jpg',
|
||||
],
|
||||
description: '미개봉 새제품, 일본판(JP), 한국어 지원',
|
||||
description: '일본판(JP), 한국어 지원',
|
||||
fullDescription: [
|
||||
'드래곤 퀘스트 트레저스 푸른 눈동자와 하늘의 나침반 (ドラゴンクエスト トレジャーズ 蒼き瞳と大空の羅針盤) 닌텐도 스위치용 패키지입니다.',
|
||||
'일본판(JP) 제품입니다.',
|
||||
@@ -407,7 +741,7 @@ const games = [
|
||||
'/images/games/k7p2x9qa_02.webp',
|
||||
'/images/games/k7p2x9qa_03.webp',
|
||||
],
|
||||
description: '미개봉 새제품, 일본판, 한국어 미지원',
|
||||
description: '일본판, 한국어 미지원',
|
||||
fullDescription: [
|
||||
'슈퍼 마리오 3D 컬렉션 (スーパーマリオ 3Dコレクション) 닌텐도 스위치용 패키지입니다.',
|
||||
'일본판 미개봉 새제품입니다.',
|
||||
@@ -646,7 +980,7 @@ const games = [
|
||||
'/images/games/t9x4k2qm_02.webp',
|
||||
'/images/games/t9x4k2qm_03.webp',
|
||||
],
|
||||
description: '미개봉 새제품, 일본 내수용(JP), 한국어 미지원',
|
||||
description: '일본 내수용(JP), 한국어 미지원',
|
||||
fullDescription: [
|
||||
'키즈나 아이 - 터치 더 비트 (Kizuna AI - Touch the Beat!) 일본어판 패키지입니다.',
|
||||
'일본 내수용(JP) 제품입니다.',
|
||||
@@ -680,8 +1014,7 @@ const games = [
|
||||
'/images/games/a3k9x2pq_02.webp',
|
||||
'/images/games/a3k9x2pq_03.webp',
|
||||
],
|
||||
description:
|
||||
'개봉 후 OPP 보관, 일본판(JP), 한국어 지원, 상태 매우 좋음',
|
||||
description: '개봉 후 OPP 보관, 일본판(JP), 한국어 지원, 상태 매우 좋음',
|
||||
fullDescription: [
|
||||
'할로우 나이트 (Hollow Knight / ホロウナイト) 패키지입니다.',
|
||||
'일본판(JP) 제품입니다.',
|
||||
@@ -1651,10 +1984,7 @@ const games = [
|
||||
status: STATUS.ON_SALE,
|
||||
customTag: '',
|
||||
tags: ['Game&Watch'],
|
||||
images: [
|
||||
'/images/games/nm4uzduj_01.webp',
|
||||
'/images/games/nm4uzduj_02.webp',
|
||||
],
|
||||
images: ['/images/games/nm4uzduj_01.webp', '/images/games/nm4uzduj_02.webp'],
|
||||
description: '일본 내수용(JP)',
|
||||
fullDescription: [
|
||||
'닌텐도 Game & Watch 젤다의 전설 에디션 미개봉 새제품입니다.',
|
||||
@@ -1672,10 +2002,7 @@ const games = [
|
||||
status: STATUS.ON_SALE,
|
||||
customTag: '',
|
||||
tags: ['Game&Watch'],
|
||||
images: [
|
||||
'/images/games/vzwe916n_01.webp',
|
||||
'/images/games/vzwe916n_02.webp',
|
||||
],
|
||||
images: ['/images/games/vzwe916n_01.webp', '/images/games/vzwe916n_02.webp'],
|
||||
description: '한국 정식 발매판(KR)',
|
||||
fullDescription: [
|
||||
'닌텐도 Game & Watch 슈퍼 마리오 에디션 미개봉 새제품입니다.',
|
||||
|
||||
BIN
images/games/k4v9x2mz_01.jpg
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
images/games/k4v9x2mz_02.jpg
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
images/games/k4v9x2mz_03.jpg
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
images/games/m2v8x7qp_01.jpg
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
images/games/m2v8x7qp_02.jpg
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
images/games/m2v8x7qp_03.jpg
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
images/games/m7x4v9qp_01.jpg
Normal file
|
After Width: | Height: | Size: 1.7 MiB |
BIN
images/games/m7x4v9qp_02.jpg
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
BIN
images/games/m7x4v9qp_03.jpg
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
images/games/q8x4vm2k_01.jpg
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
images/games/q8x4vm2k_02.jpg
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
images/games/q8x4vm2k_03.jpg
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
images/games/r2x9vk6m_01.jpg
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
images/games/r2x9vk6m_02.jpg
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
BIN
images/games/r2x9vk6m_03.jpg
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
images/games/t8x3kp7v_01.jpg
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
images/games/t8x3kp7v_02.jpg
Normal file
|
After Width: | Height: | Size: 1.7 MiB |
BIN
images/games/t8x3kp7v_03.jpg
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
images/games/v3k9mz8q_01.jpg
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
images/games/v3k9mz8q_02.jpg
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
images/games/v3k9mz8q_03.jpg
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
images/games/v9k2x7qp_01.jpg
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
images/games/v9k2x7qp_02.jpg
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
images/games/v9k2x7qp_03.jpg
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
images/games/x3v7mq8k_01.jpg
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
images/games/x3v7mq8k_02.jpg
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
images/games/x3v7mq8k_03.jpg
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
images/games/x7q2vm9k_01.jpg
Normal file
|
After Width: | Height: | Size: 1.7 MiB |
BIN
images/games/x7q2vm9k_02.jpg
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
images/games/x7q2vm9k_03.jpg
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
@@ -167,8 +167,11 @@ function renderGridView(grid, tableWrapper, products) {
|
||||
function createProductCardHTML(product) {
|
||||
const isSold = STATUS_META[product.status]?.soldOut === true;
|
||||
const isNonSale = product.status === '미판매';
|
||||
const conditionConfig = PRODUCT_CONDITIONS[product.specs?.condition];
|
||||
const conditionDisplay = conditionConfig ? conditionConfig.label : product.specs?.condition || '';
|
||||
// const conditionConfig = PRODUCT_CONDITIONS[product.specs?.condition];
|
||||
// const conditionDisplay = conditionConfig ? conditionConfig.label : product.specs?.condition || '';
|
||||
const conditionConfig = PRODUCT_CONDITIONS[product.condition];
|
||||
const conditionDisplay = conditionConfig ? conditionConfig.label : '';
|
||||
const conditionClass = conditionConfig ? conditionConfig.color : 'text-slate-400';
|
||||
|
||||
return `
|
||||
<div class="product-card group flex flex-col gap-4 cursor-pointer"
|
||||
@@ -208,7 +211,7 @@ function createProductCardHTML(product) {
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex flex-col">
|
||||
${conditionDisplay ? `<span class="text-[11px] font-medium text-slate-400 mb-0.5">${conditionDisplay}</span>` : ''}
|
||||
${conditionDisplay ? `<span class="text-[11px] font-medium ${conditionClass} mb-0.5">${conditionDisplay}</span>` : ''}
|
||||
<p class="text-slate-500 dark:text-slate-400 text-sm font-normal line-clamp-1 italic">${product.description}</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -244,7 +247,7 @@ function createTableRowHTML(product) {
|
||||
</td>
|
||||
<td class="py-4 px-4 font-semibold ${isSold ? 'line-through text-slate-400' : 'text-slate-900 dark:text-white'}">${product.title}</td>
|
||||
<td class="py-4 px-4 text-xs break-keep ${conditionClass}">${conditionDisplay}</td>
|
||||
<td class="py-4 px-4 text-right font-bold text-slate-900 dark:text-white">₩${product.price.toLocaleString()}</td>
|
||||
<td class="py-4 px-4 text-right font-bold text-slate-900 dark:text-white">${product.currency || '₩'}${product.price.toLocaleString()}</td>
|
||||
<td class="hidden lg:table-cell py-4 px-4 text-center">
|
||||
<span class="px-2 py-0.5 rounded text-[10px] font-bold border ${STATUS_COLOR[product.status]}">${product.status}</span>
|
||||
</td>
|
||||
|
||||