diff --git a/src/app.html b/src/app.html
index 86d4867..46423ef 100644
--- a/src/app.html
+++ b/src/app.html
@@ -1,5 +1,5 @@
-
+
diff --git a/src/lib/components/PageMeta.svelte b/src/lib/components/PageMeta.svelte
new file mode 100644
index 0000000..c5d96cd
--- /dev/null
+++ b/src/lib/components/PageMeta.svelte
@@ -0,0 +1,9 @@
+
+
+
+ {title}
+
+
diff --git a/src/lib/interfaces/ApiResponse.ts b/src/lib/interfaces/ApiResponse.ts
index 76933c1..e32e071 100644
--- a/src/lib/interfaces/ApiResponse.ts
+++ b/src/lib/interfaces/ApiResponse.ts
@@ -1,4 +1,4 @@
-import type IProduct from './IProduct';
+import type { IProduct } from './IProduct';
import type { IOrder, IOrderSummary } from './IOrder';
export interface IProductResponse {
@@ -17,11 +17,11 @@ export interface IOrderSummaryResponse {
}
export interface IProductResponse {
- success: boolean
- product: IProduct
+ success: boolean;
+ product: IProduct;
}
export interface IProductsResponse {
- success: boolean
- products: Array
-}
\ No newline at end of file
+ success: boolean;
+ products: Array;
+}
diff --git a/src/lib/interfaces/IProduct.ts b/src/lib/interfaces/IProduct.ts
index 16e8245..d209ec6 100644
--- a/src/lib/interfaces/IProduct.ts
+++ b/src/lib/interfaces/IProduct.ts
@@ -5,17 +5,21 @@ export interface IProduct {
description?: string;
image: string;
primary_color?: string;
+
+ variation_count?: string;
+ sum_stock?: number;
+
updated?: Date;
created?: Date;
variations?: IVariation[];
}
export interface IVariation {
- sku_id: number;
- price: number;
- size: string;
- stock: number;
- default_price: boolean;
- updated?: Date;
- created?: Date;
+ sku_id: number;
+ price: number;
+ size: string;
+ stock: number;
+ default_price: boolean;
+ updated?: Date;
+ created?: Date;
}
diff --git a/src/lib/jsonld/product.ts b/src/lib/jsonld/product.ts
index 6169d94..627766e 100644
--- a/src/lib/jsonld/product.ts
+++ b/src/lib/jsonld/product.ts
@@ -1,7 +1,7 @@
-import type { IProduct } from '../interfaces/IProduct'
+import type { IProduct } from '../interfaces/IProduct';
function structureProduct(product: IProduct) {
- const output = product?.variations?.map(variation => {
+ const output = product?.variations?.map((variation) => {
return {
'@context': 'https://schema.org/',
'@type': 'Product',
@@ -23,16 +23,15 @@ function structureProduct(product: IProduct) {
itemCondition: 'https://schema.org/NewCondition',
availability: 'https://schema.org/InStock'
}
- }
- })
+ };
+ });
return JSON.stringify(output);
}
-export default function generateProductJsonLd(product: IProduct): HTMLElement {
- const jsonldScript = document.createElement('script');
- jsonldScript.setAttribute('type', 'application/ld+json');
- jsonldScript.textContent = structureProduct(product);
-
- return jsonldScript;
+export default function generateProductJsonLd(product: IProduct): string {
+ return `
+`;
}
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index c70f208..0d56191 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -5,8 +5,8 @@
import Footer from './Footer.svelte';
import CartModal from './CartModal.svelte';
import { closeCart } from '$lib/cartStore';
- import requestSessionCookie from '$lib/utils/requestSessionCookie';
import { getCookie } from '$lib/utils/cookie';
+ import requestSessionCookie from '$lib/utils/requestSessionCookie';
import { connectToCart, reconnectIfCartWSClosed } from '$lib/websocketCart';
import './styles.css';
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 1b4ac33..e8cd296 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,4 +1,5 @@
-
- Home
-
-
-
+