Feat: JsonLd product metadata (#2)

* Generates JSON ld structured metadata from a product & appends to head

* Updated IProduct & IVariation interface

* Added IProductResponse & IProductsResponse interfaces

* Fixed sitemap urls having to many protocols
This commit is contained in:
2022-11-28 22:19:32 +01:00
committed by GitHub
parent f3751da335
commit 296cfb80a0
17 changed files with 103 additions and 45 deletions

View File

@@ -1,6 +1,5 @@
<script lang="ts">
import type IProduct from '$lib/interfaces/IProduct';
import type IProductVariation from '$lib/interfaces/IProductVariation';
import type { IProduct, IVariation } from '$lib/interfaces/IProduct';
import Button from '$lib/components/Button.svelte';
import Badge from '$lib/components/Badge.svelte';
import BadgeType from '$lib/interfaces/BadgeType';
@@ -10,7 +9,7 @@
let editingVariationIndex = -1;
interface ISkuResponse {
skus: IProductVariation[];
skus: IVariation[];
success: boolean;
}
@@ -19,7 +18,7 @@
product.variations = response?.skus;
};
function setDefault(variation: IProductVariation) {
function setDefault(variation: IVariation) {
if (!product.variations) return;
let url = `/api/product/${product.product_no}/sku/${variation.sku_id}/default_price`;
@@ -60,7 +59,7 @@
.then(() => (editingVariationIndex = product.variations.length - 1));
}
function saveSkuVariation(variation: IProductVariation) {
function saveSkuVariation(variation: IVariation) {
let url = `/api/product/${product.product_no}/sku/${variation?.sku_id}`;
if (window?.location?.href.includes('localhost')) {
url = 'http://localhost:30010'.concat(url);
@@ -81,7 +80,7 @@
.then(() => resetEditingIndex());
}
function deleteVariation(variation: IProductVariation) {
function deleteVariation(variation: IVariation) {
console.log('delete it using api', variation);
let url = `/api/product/${product.product_no}/sku/${variation?.sku_id}`;
if (window?.location?.href.includes('localhost')) {