fix: resolve admin typescript errors from i18n category change

This commit is contained in:
Your Name committed 2026-06-14 00:08:18 -04:00
1 parent 2977df0a9d
commit 93012a3bdf
3 files changed
+9 -9

No files matched your search

+1 -1
View File
@@ -1471,7 +1471,7 @@ export default function PageBuilderPage() {
}}
className="accent-cyan-glow"
/>
<span className="text-xs font-bold font-mono">{cat.name}</span>
<span className="text-xs font-bold font-mono">{typeof cat.name === 'string' ? cat.name : (cat.name as any)?.th || (cat.name as any)?.en || ''}</span>
</label>
);
})}
+3 -3
View File
@@ -372,7 +372,7 @@ export default function ProductEditPage() {
className="w-full px-4 py-3 bg-night-950 border border-white/10 focus:border-cyan-glow/40 rounded-xl outline-none text-sm text-white transition-all appearance-none cursor-pointer"
>
{categories.map(c => (
<option key={c.id} value={c.id}>{c.name}</option>
<option key={c.id} value={c.id}>{typeof c.name === 'string' ? c.name : (c.name as any)?.th || (c.name as any)?.en || ''}</option>
))}
</select>
</div>
@@ -612,13 +612,13 @@ export default function ProductEditPage() {
{/* Main Image Preview */}
<div className="aspect-square rounded-2xl overflow-hidden bg-night-950 border border-white/5 p-4 flex items-center justify-center relative group">
<img
src={images.find(img => img.url)?.url ? fixUrl(images.find(img => img.url)!.url!) : getCategoryImage(product?.category.name || '')}
src={images.find(img => img.url)?.url ? fixUrl(images.find(img => img.url)!.url!) : getCategoryImage(typeof product?.category.name === 'string' ? product.category.name : (product?.category.name as any)?.en || '')}
className="w-full h-full object-contain transition-all duration-700"
alt=""
/>
<div className="absolute inset-0 bg-gradient-to-t from-night-950/80 to-transparent flex items-end p-6">
<div className="space-y-1">
<p className="text-cyan-glow font-bold text-xs uppercase tracking-widest">{product?.category.name}</p>
<p className="text-cyan-glow font-bold text-xs uppercase tracking-widest">{typeof product?.category.name === 'string' ? product.category.name : (product?.category.name as any)?.th || (product?.category.name as any)?.en || ''}</p>
<h3 className="text-xl font-bold text-white">{product?.scent.name}</h3>
</div>
</div>
+5 -5
View File
@@ -264,7 +264,7 @@ export default function ProductsPage() {
>
<option value="">All Categories</option>
{categories.map(c => (
<option key={c.id} value={c.id}>{c.name}</option>
<option key={c.id} value={c.id}>{typeof c.name === 'string' ? c.name : (c.name as any)?.th || (c.name as any)?.en || ''}</option>
))}
</select>
</div>
@@ -307,7 +307,7 @@ export default function ProductsPage() {
<img
src={product.images && product.images.length > 0
? fixUrl(product.images[0].url)
: getCategoryImage(product.category.name)}
: getCategoryImage(typeof product.category.name === 'string' ? product.category.name : (product.category.name as any)?.en || '')}
alt=""
className="w-full h-full object-contain grayscale-0 opacity-100 group-hover:scale-110 transition-all duration-500"
/>
@@ -320,7 +320,7 @@ export default function ProductsPage() {
</td>
<td className="px-6 py-4">
<span className="inline-block px-2.5 py-1 rounded-md bg-cyan-glow/10 text-cyan-glow text-[10px] font-bold uppercase tracking-wider border border-cyan-glow/20">
{product.category.name}
{typeof product.category.name === 'string' ? product.category.name : (product.category.name as any)?.th || (product.category.name as any)?.en || ''}
</span>
</td>
<td className="px-6 py-4">
@@ -445,7 +445,7 @@ export default function ProductsPage() {
<div className="p-6 border-b border-white/5 flex items-center justify-between bg-white/[0.02]">
<div>
<h3 className="text-xl font-bold">{selectedProduct.scent.name}</h3>
<p className="text-xs text-slate-500 uppercase tracking-widest">{selectedProduct.category.name} Gallery</p>
<p className="text-xs text-slate-500 uppercase tracking-widest">{typeof selectedProduct.category.name === 'string' ? selectedProduct.category.name : (selectedProduct.category.name as any)?.th || (selectedProduct.category.name as any)?.en || ''} Gallery</p>
</div>
<button
onClick={() => setIsGalleryOpen(false)}
@@ -494,7 +494,7 @@ export default function ProductsPage() {
</div>
<div className="w-40 h-40 rounded-3xl overflow-hidden border border-white/5 p-6 bg-night-950/50 backdrop-blur-xl group">
<img
src={getCategoryImage(selectedProduct.category.name)}
src={getCategoryImage(typeof selectedProduct.category.name === 'string' ? selectedProduct.category.name : (selectedProduct.category.name as any)?.en || '')}
alt=""
className="w-full h-full object-contain grayscale opacity-40 group-hover:grayscale-0 group-hover:opacity-100 transition-all duration-700"
/>