Improve product AI UX, category search, and card actions.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-09-19 08:20:34 +03:30
co-authored by Cursor
parent d787a69195
commit b743c09e4d
15 changed files with 558 additions and 186 deletions
@@ -8,7 +8,6 @@ import { Pagination } from '../components/Pagination'
import { ConfirmDeleteModal } from '../components/ConfirmDeleteModal'
import { ProductVariantsModal } from '../components/ProductVariantsModal'
import { ProductTechnicalInfoModal } from '../components/ProductTechnicalInfoModal'
import { ProductCommentsModal } from '../components/ProductCommentsModal'
import { TranslationModal } from '../components/TranslationModal'
import { TranslateAllLanguageModal } from '../components/TranslateAllLanguageModal'
import { Breadcrumbs } from '../components/Breadcrumbs'
@@ -53,14 +52,12 @@ export function MyProductsPage() {
const [isDeleting, setIsDeleting] = useState(false)
const [error, setError] = useState('')
const [variantCounts, setVariantCounts] = useState<Record<string, number>>({})
const [commentCounts, setCommentCounts] = useState<Record<string, number>>({})
const [deleteTarget, setDeleteTarget] = useState<{ id: string; name: string } | null>(null)
const [variantsTarget, setVariantsTarget] = useState<{
id: string
name: string
categoryId: string
} | null>(null)
const [commentsTarget, setCommentsTarget] = useState<{ id: string; name: string } | null>(null)
const [technicalTarget, setTechnicalTarget] = useState<{
id: string
name: string
@@ -208,13 +205,6 @@ export function MyProductsPage() {
}
}
function handleComments(id: string) {
const product = products.find((p) => p.id === id)
if (product) {
setCommentsTarget({ id, name: product.nameFa || product.nameEn })
}
}
function handleVariations(id: string) {
const product = products.find((p) => p.id === id)
if (product) {
@@ -283,14 +273,6 @@ export function MyProductsPage() {
writeListQuery('', 1)
}
function handleCommentCountChange(count: number) {
if (!commentsTarget) return
setCommentCounts((prev) => ({
...prev,
[commentsTarget.id]: count,
}))
}
return (
<main className={pageStyles.content}>
<Breadcrumbs
@@ -374,12 +356,9 @@ export function MyProductsPage() {
<ProductCard
key={product.id}
product={product}
commentCount={commentCounts[product.id] ?? product.commentCount}
variantCount={variantCounts[product.id] ?? product.variantCount ?? 0}
onEdit={handleEdit}
onTranslate={handleTranslate}
onQuickInfo={() => {}}
onComments={handleComments}
onTechnicalInfo={handleTechnicalInfo}
onVariations={handleVariations}
onRemove={handleRemoveRequest}
@@ -435,16 +414,6 @@ export function MyProductsPage() {
/>
)}
{commentsTarget && (
<ProductCommentsModal
open={!!commentsTarget}
productId={commentsTarget.id}
productName={commentsTarget.name}
onClose={() => setCommentsTarget(null)}
onCountChange={handleCommentCountChange}
/>
)}
{technicalTarget && (
<ProductTechnicalInfoModal
open={!!technicalTarget}