Use global value to check for current Shop product

Also add other stores types to hint on expected values
This commit is contained in:
2022-06-22 23:20:52 +02:00
parent 255b00ab66
commit 6d4224abea
4 changed files with 21 additions and 10 deletions

View File

@@ -1,14 +1,20 @@
import { writable, derived } from 'svelte/store'
import { writable, derived, type Writable, type Readable } from 'svelte/store'
/**
* Shop
*/
export const shopCurrentProductSlug: Writable<string> = writable(null)
/**
* Cart
*/
/** Cart open state */
export const cartOpen = writable(false)
export const cartOpen: Writable<boolean> = writable(false)
/** Cart open state */
export const cartId = writable(null)
export const cartId: Writable<string> = writable(null)
// Write to localStorage when changing cartId
if (typeof localStorage !== 'undefined') {
@@ -20,17 +26,18 @@ if (typeof localStorage !== 'undefined') {
}
/** Raw Cart data */
export const cartData = writable(null)
export const cartData: Writable<any> = writable(null)
/** Cart data is being updated */
export const cartIsUpdating = writable(false)
export const cartIsUpdating: Writable<boolean> = writable(false)
/** Amount of products present in cart */
export const cartAmount = derived(cartData, ($cart) => {
export const cartAmount: Readable<number> = derived(cartData, ($cart) => {
return $cart && $cart.item_quantity > 0 ? $cart.item_quantity : 0
})
/**
* Notifications
*/
export const cartNotifications = writable([])
export const cartNotifications: Writable<any[]> = writable([])