+
+ Filter!
-
-
-
+
\ No newline at end of file
diff --git a/pages/products.vue b/pages/products.vue
index c1eaef4b..d515c775 100644
--- a/pages/products.vue
+++ b/pages/products.vue
@@ -2,11 +2,14 @@
+ ProductFilters:
-
+
Produkter (0)
@@ -19,8 +22,6 @@
From 4f9a0bac8f54bec51b238f58e78718f56fd9ac54 Mon Sep 17 00:00:00 2001
From: w3bdesign <45217974+w3bdesign@users.noreply.github.com>
Date: Mon, 30 Jun 2025 02:41:46 +0200
Subject: [PATCH 12/27] Create ColorSwatch.vue
---
components/common/ColorSwatch.vue | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
create mode 100644 components/common/ColorSwatch.vue
diff --git a/components/common/ColorSwatch.vue b/components/common/ColorSwatch.vue
new file mode 100644
index 00000000..4ac5ed13
--- /dev/null
+++ b/components/common/ColorSwatch.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
From 441fbaf4333a119b1c655715cebb8ab3b7d88c12 Mon Sep 17 00:00:00 2001
From: w3bdesign <45217974+w3bdesign@users.noreply.github.com>
Date: Mon, 30 Jun 2025 02:42:04 +0200
Subject: [PATCH 13/27] Update ProductFilters.vue
---
components/Products/ProductFilters.vue | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/components/Products/ProductFilters.vue b/components/Products/ProductFilters.vue
index e157b501..05c4e384 100644
--- a/components/Products/ProductFilters.vue
+++ b/components/Products/ProductFilters.vue
@@ -36,12 +36,7 @@
@@ -56,4 +51,5 @@
import Checkbox from '~/components/common/Checkbox.vue'
import RangeSlider from '~/components/common/RangeSlider.vue'
import CommonButton from '~/components/common/CommonButton.vue'
+import ColorSwatch from '~/components/common/ColorSwatch.vue'
From 3123771dde3e32b4f0a9bc38b071fe386f8dca5a Mon Sep 17 00:00:00 2001
From: w3bdesign <45217974+w3bdesign@users.noreply.github.com>
Date: Mon, 30 Jun 2025 02:44:28 +0200
Subject: [PATCH 14/27] Remove imports
---
components/Products/ProductFilters.vue | 7 -------
components/common/RangeSlider.vue | 4 ----
pages/products.vue | 3 ---
3 files changed, 14 deletions(-)
diff --git a/components/Products/ProductFilters.vue b/components/Products/ProductFilters.vue
index 05c4e384..4fe262db 100644
--- a/components/Products/ProductFilters.vue
+++ b/components/Products/ProductFilters.vue
@@ -46,10 +46,3 @@
-
-
diff --git a/components/common/RangeSlider.vue b/components/common/RangeSlider.vue
index 38b4167d..1b0cfee1 100644
--- a/components/common/RangeSlider.vue
+++ b/components/common/RangeSlider.vue
@@ -13,7 +13,3 @@
-
-
diff --git a/pages/products.vue b/pages/products.vue
index 652e861e..e575a72d 100644
--- a/pages/products.vue
+++ b/pages/products.vue
@@ -21,9 +21,6 @@
From 3223b9d292a057c1734fd65888b44aa34f3c899e Mon Sep 17 00:00:00 2001
From: w3bdesign <45217974+w3bdesign@users.noreply.github.com>
Date: Mon, 30 Jun 2025 03:00:13 +0200
Subject: [PATCH 19/27] Update ProductsFilters.vue
---
components/Products/ProductsFilters.vue | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/components/Products/ProductsFilters.vue b/components/Products/ProductsFilters.vue
index 4fe262db..3a30e682 100644
--- a/components/Products/ProductsFilters.vue
+++ b/components/Products/ProductsFilters.vue
@@ -4,15 +4,15 @@
PRIS
-
Date: Mon, 30 Jun 2025 03:02:11 +0200
Subject: [PATCH 20/27] Update ProductsFilters.vue
---
components/Products/ProductsFilters.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/Products/ProductsFilters.vue b/components/Products/ProductsFilters.vue
index 3a30e682..f93c8880 100644
--- a/components/Products/ProductsFilters.vue
+++ b/components/Products/ProductsFilters.vue
@@ -36,7 +36,7 @@
From 8cd1bf168ee700f8dcd2ac93bc867f1a5a032c64 Mon Sep 17 00:00:00 2001
From: w3bdesign <45217974+w3bdesign@users.noreply.github.com>
Date: Mon, 30 Jun 2025 03:13:21 +0200
Subject: [PATCH 21/27] Test filter live
---
components/Products/ProductsFilters.vue | 57 ++++++++++++++----
components/Products/ProductsShowAll.vue | 14 +++--
pages/products.vue | 79 +++++++++++++++++++------
3 files changed, 116 insertions(+), 34 deletions(-)
diff --git a/components/Products/ProductsFilters.vue b/components/Products/ProductsFilters.vue
index f93c8880..85bc25e5 100644
--- a/components/Products/ProductsFilters.vue
+++ b/components/Products/ProductsFilters.vue
@@ -4,9 +4,14 @@
PRODUKT TYPE
-
-
-
+ toggleProductType(type.id)"
+ />
@@ -17,18 +22,24 @@
label="Pris"
:min="0"
:max="1000"
- :value="1000"
- :startValue="0"
- :formatValue="(v) => `kr ${v}`"
- :disabled="true"
+ :value="priceRange[1]"
+ :startValue="priceRange[0]"
+ :disabled="false"
+ @input="(value) => setPriceRange([priceRange[0], value])"
/>
STØRRELSE
-
- Large
+ toggleSize(size)"
+ >
+ {{ size }}
@@ -36,13 +47,37 @@
FARGE
-
+ toggleColor(color.name)"
+ style="cursor:pointer"
+ />
-
+
Resett filter
+
+
diff --git a/components/Products/ProductsShowAll.vue b/components/Products/ProductsShowAll.vue
index b916c7cd..d1561e2c 100644
--- a/components/Products/ProductsShowAll.vue
+++ b/components/Products/ProductsShowAll.vue
@@ -37,14 +37,16 @@ const props = defineProps({
const config = useRuntimeConfig();
-const products = computed(() => {
- return (
- allCategoryProducts.value?.productCategory?.products?.nodes ||
- allProducts.value?.products?.nodes ||
- []
- );
+const props = defineProps({
+ products: {
+ type: Array,
+ required: true,
+ default: () => [],
+ },
});
+const products = computed(() => props.products);
+
/**
* Returns the path and query parameters for a product link.
*
diff --git a/pages/products.vue b/pages/products.vue
index 1aac9a07..e535ba6e 100644
--- a/pages/products.vue
+++ b/pages/products.vue
@@ -1,34 +1,79 @@
-
+
- Produkter (0)
+ Produkter
-
+
-
+
From 3652ad6656cc27ae3fd5566923b36422871c8884 Mon Sep 17 00:00:00 2001
From: Daniel Fjeldstad <45217974+w3bdesign@users.noreply.github.com>
Date: Mon, 30 Jun 2025 03:15:11 +0200
Subject: [PATCH 22/27] Potential fix for code scanning alert no. 10:
Assignment to constant
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
---
components/Products/ProductsShowAll.vue | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/components/Products/ProductsShowAll.vue b/components/Products/ProductsShowAll.vue
index d1561e2c..af829cff 100644
--- a/components/Products/ProductsShowAll.vue
+++ b/components/Products/ProductsShowAll.vue
@@ -33,11 +33,6 @@ import ProductPrice from "@/components/Products/ProductPrice.vue";
const props = defineProps({
categoryId: { type: String, required: false },
categorySlug: { type: String, required: false },
-});
-
-const config = useRuntimeConfig();
-
-const props = defineProps({
products: {
type: Array,
required: true,
@@ -45,6 +40,8 @@ const props = defineProps({
},
});
+const config = useRuntimeConfig();
+
const products = computed(() => props.products);
/**
From 235369550b093f39418aff1cfc377493f49497c2 Mon Sep 17 00:00:00 2001
From: w3bdesign <45217974+w3bdesign@users.noreply.github.com>
Date: Mon, 30 Jun 2025 03:17:28 +0200
Subject: [PATCH 23/27] Update ProductsShowAll.vue
---
components/Products/ProductsShowAll.vue | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/components/Products/ProductsShowAll.vue b/components/Products/ProductsShowAll.vue
index af829cff..b916c7cd 100644
--- a/components/Products/ProductsShowAll.vue
+++ b/components/Products/ProductsShowAll.vue
@@ -33,16 +33,17 @@ import ProductPrice from "@/components/Products/ProductPrice.vue";
const props = defineProps({
categoryId: { type: String, required: false },
categorySlug: { type: String, required: false },
- products: {
- type: Array,
- required: true,
- default: () => [],
- },
});
const config = useRuntimeConfig();
-const products = computed(() => props.products);
+const products = computed(() => {
+ return (
+ allCategoryProducts.value?.productCategory?.products?.nodes ||
+ allProducts.value?.products?.nodes ||
+ []
+ );
+});
/**
* Returns the path and query parameters for a product link.
From 5a8adef38fc3870744a450616db553a00d947357 Mon Sep 17 00:00:00 2001
From: w3bdesign <45217974+w3bdesign@users.noreply.github.com>
Date: Mon, 30 Jun 2025 03:21:01 +0200
Subject: [PATCH 24/27] Enable action
---
components/Products/ProductsFilters.vue | 5 ++---
components/common/Checkbox.vue | 12 +++++++++++-
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/components/Products/ProductsFilters.vue b/components/Products/ProductsFilters.vue
index 85bc25e5..58a84188 100644
--- a/components/Products/ProductsFilters.vue
+++ b/components/Products/ProductsFilters.vue
@@ -9,8 +9,8 @@
:key="type.id"
:id="type.id"
:label="type.name"
- :checked="type.checked"
- @change="() => toggleProductType(type.id)"
+ :modelValue="type.checked"
+ @change="(checked) => toggleProductType(type.id)"
/>