summaryrefslogtreecommitdiff
path: root/src/lib/variant/components/VariantGroupCard.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/variant/components/VariantGroupCard.jsx')
-rw-r--r--src/lib/variant/components/VariantGroupCard.jsx33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/lib/variant/components/VariantGroupCard.jsx b/src/lib/variant/components/VariantGroupCard.jsx
new file mode 100644
index 00000000..fd4f9b4d
--- /dev/null
+++ b/src/lib/variant/components/VariantGroupCard.jsx
@@ -0,0 +1,33 @@
+import { useState } from "react"
+import VariantCard from "./VariantCard"
+
+const VariantGroupCard = ({
+ variants,
+ ...props
+}) => {
+ const [ showAll, setShowAll ] = useState(false)
+ const variantsToShow = showAll ? variants : variants.slice(0, 2)
+
+ return (
+ <>
+ { variantsToShow?.map((variant, index) => (
+ <VariantCard
+ key={index}
+ product={variant}
+ {...props}
+ />
+ )) }
+ { variants.length > 2 && (
+ <button
+ type="button"
+ className="btn-light py-2 w-full"
+ onClick={() => setShowAll(!showAll)}
+ >
+ { !showAll ? `Lihat Semua +${variants.length - variantsToShow.length}` : 'Tutup' }
+ </button>
+ ) }
+ </>
+ )
+}
+
+export default VariantGroupCard \ No newline at end of file