diff --git a/src/components/WishlistHeader.vue b/src/components/WishlistHeader.vue
index a4d90e6..d8e1aa4 100644
--- a/src/components/WishlistHeader.vue
+++ b/src/components/WishlistHeader.vue
@@ -61,19 +61,22 @@
diff --git a/src/components/index.ts b/src/components/index.ts
new file mode 100644
index 0000000..86c3b17
--- /dev/null
+++ b/src/components/index.ts
@@ -0,0 +1,10 @@
+export { default as BaseButton } from './BaseButton.vue'
+export { default as Header } from './Header.vue'
+export { default as ImagePreview } from './ImagePreview.vue'
+export { default as ImageTile } from './ImageTile.vue'
+export { default as InputCheckbox } from './InputCheckbox.vue'
+export { default as InputText } from './InputText.vue'
+export { default as InputTextArea } from './InputTextArea.vue'
+export { default as Modal } from './Modal.vue'
+export { default as WishlistHeader } from './WishlistHeader.vue'
+export { default as WishlistItem } from './WishlistItem.vue'
diff --git a/src/composables/useWishlistStore.ts b/src/composables/useWishlistStore.ts
index ecf3250..d3800f1 100644
--- a/src/composables/useWishlistStore.ts
+++ b/src/composables/useWishlistStore.ts
@@ -1,7 +1,9 @@
-import { ref } from 'vue'
+import { computed, ref } from 'vue'
import useAxios, { CustomAxiosError } from '@/composables/useAxios'
import { Wishlist, WishlistItem } from '@/types'
+import { useEditMode } from './useEditMode'
const { client } = useAxios()
+const { isActive: editModeIsActive } = useEditMode()
//@ts-expect-error ...
const state = ref({})
@@ -43,6 +45,15 @@ const itemBought = async (item: WishlistItem): Promise => {
item.bought = true
}
+const filteredItems = computed(() => {
+ if (!state.value || !state.value.items) {
+ return []
+ } else if (editModeIsActive.value) {
+ return state.value.items
+ }
+ return state.value.items.filter((item: WishlistItem) => item.bought === false)
+})
+
export const useWishlistStore = () => {
return {
state,
@@ -50,5 +61,6 @@ export const useWishlistStore = () => {
fetch,
update,
itemBought,
+ filteredItems,
}
}
diff --git a/src/views/DetailView.vue b/src/views/DetailView.vue
index fff6cc4..8b27000 100644
--- a/src/views/DetailView.vue
+++ b/src/views/DetailView.vue
@@ -1,41 +1,19 @@