summaryrefslogtreecommitdiff
path: root/src-migrate/modules
diff options
context:
space:
mode:
authorFIN-IT_AndriFP <andrifebriyadiputra@gmail.com>2026-01-06 11:21:14 +0700
committerFIN-IT_AndriFP <andrifebriyadiputra@gmail.com>2026-01-06 11:21:14 +0700
commit44afa589c9ced88aa4dcd93181d9e068d79603ea (patch)
tree6c3273e3bb83ba220b05f1b9888bc285128f0213 /src-migrate/modules
parentc0c09e2d948e04f487641dc0141cc38523fe0b69 (diff)
(andri) fix sort pilih variant
Diffstat (limited to 'src-migrate/modules')
-rw-r--r--src-migrate/modules/product-detail/components/Information.tsx35
1 files changed, 18 insertions, 17 deletions
diff --git a/src-migrate/modules/product-detail/components/Information.tsx b/src-migrate/modules/product-detail/components/Information.tsx
index 25ca3709..c565682f 100644
--- a/src-migrate/modules/product-detail/components/Information.tsx
+++ b/src-migrate/modules/product-detail/components/Information.tsx
@@ -103,23 +103,20 @@ const Information = ({ product }: Props) => {
}
}, [slaVariant, isLoading, setSla]);
- const handleOnChange = (vals: any) => {
- setDisableFilter(true);
- let code = vals.replace(/\s-\s.*$/, '').trim();
- let variant = variantOptions.find((item) => item.code === code);
- setSelectedVariant(variant);
- setInputValue(
- variant?.code +
- (variant?.attributes[0] ? ' - ' + variant?.attributes[0] : '')
- );
+const handleOnChange = (vals: any) => {
+    setDisableFilter(true);
+    let code = vals.replace(/\s-\s.*$/, '').trim();
+    let variant = product?.variants.find((item) => item.code === code);
+   
if (variant) {
- const filteredOptions = product?.variants.filter(
- (item) => item !== variant
- );
- const newOptions = [variant, ...filteredOptions];
- setVariantOptions(newOptions);
- }
- };
+    setSelectedVariant(variant);
+    setInputValue(
+      variant?.code +
+        (variant?.attributes[0] ? ' - ' + variant?.attributes[0] : '')
+    );
+ setVariantOptions(product?.variants);
+    }
+  };
const handleOnKeyUp = (e: any) => {
setDisableFilter(false);
@@ -166,7 +163,11 @@ const Information = ({ product }: Props) => {
</InputGroup>
<AutoCompleteList>
- {variantOptions.map((option, cid) => (
+ {variantOptions
+ .sort((a: any, b: any) => {
+ return a.code.localeCompare(b.code, undefined, { numeric: true, sensitivity: 'base' });
+ })
+ .map((option, cid) => (
<AutoCompleteItem
key={`option-${cid}`}
value={