diff --git a/apps/user-app/public/img/products/bracelets-0.svg b/apps/user-app/public/img/products/bracelets-0.svg
new file mode 100644
index 0000000..55a604e
--- /dev/null
+++ b/apps/user-app/public/img/products/bracelets-0.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/bracelets-1.svg b/apps/user-app/public/img/products/bracelets-1.svg
new file mode 100644
index 0000000..74d6640
--- /dev/null
+++ b/apps/user-app/public/img/products/bracelets-1.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/bracelets-2.svg b/apps/user-app/public/img/products/bracelets-2.svg
new file mode 100644
index 0000000..c47e7c9
--- /dev/null
+++ b/apps/user-app/public/img/products/bracelets-2.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/bracelets-3.svg b/apps/user-app/public/img/products/bracelets-3.svg
new file mode 100644
index 0000000..679a23a
--- /dev/null
+++ b/apps/user-app/public/img/products/bracelets-3.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/bracelets-4.svg b/apps/user-app/public/img/products/bracelets-4.svg
new file mode 100644
index 0000000..fe8c95f
--- /dev/null
+++ b/apps/user-app/public/img/products/bracelets-4.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/bracelets-5.svg b/apps/user-app/public/img/products/bracelets-5.svg
new file mode 100644
index 0000000..bde5b3f
--- /dev/null
+++ b/apps/user-app/public/img/products/bracelets-5.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/coins-0.svg b/apps/user-app/public/img/products/coins-0.svg
new file mode 100644
index 0000000..dfd45b2
--- /dev/null
+++ b/apps/user-app/public/img/products/coins-0.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/coins-1.svg b/apps/user-app/public/img/products/coins-1.svg
new file mode 100644
index 0000000..f361a45
--- /dev/null
+++ b/apps/user-app/public/img/products/coins-1.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/coins-2.svg b/apps/user-app/public/img/products/coins-2.svg
new file mode 100644
index 0000000..f047ea2
--- /dev/null
+++ b/apps/user-app/public/img/products/coins-2.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/coins-3.svg b/apps/user-app/public/img/products/coins-3.svg
new file mode 100644
index 0000000..2a33792
--- /dev/null
+++ b/apps/user-app/public/img/products/coins-3.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/coins-4.svg b/apps/user-app/public/img/products/coins-4.svg
new file mode 100644
index 0000000..53c3e23
--- /dev/null
+++ b/apps/user-app/public/img/products/coins-4.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/coins-5.svg b/apps/user-app/public/img/products/coins-5.svg
new file mode 100644
index 0000000..5e6e030
--- /dev/null
+++ b/apps/user-app/public/img/products/coins-5.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/earrings-0.svg b/apps/user-app/public/img/products/earrings-0.svg
new file mode 100644
index 0000000..078e3ee
--- /dev/null
+++ b/apps/user-app/public/img/products/earrings-0.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/earrings-1.svg b/apps/user-app/public/img/products/earrings-1.svg
new file mode 100644
index 0000000..154406e
--- /dev/null
+++ b/apps/user-app/public/img/products/earrings-1.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/earrings-2.svg b/apps/user-app/public/img/products/earrings-2.svg
new file mode 100644
index 0000000..9139d6e
--- /dev/null
+++ b/apps/user-app/public/img/products/earrings-2.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/earrings-3.svg b/apps/user-app/public/img/products/earrings-3.svg
new file mode 100644
index 0000000..f176aac
--- /dev/null
+++ b/apps/user-app/public/img/products/earrings-3.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/earrings-4.svg b/apps/user-app/public/img/products/earrings-4.svg
new file mode 100644
index 0000000..6bb871a
--- /dev/null
+++ b/apps/user-app/public/img/products/earrings-4.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/earrings-5.svg b/apps/user-app/public/img/products/earrings-5.svg
new file mode 100644
index 0000000..149648c
--- /dev/null
+++ b/apps/user-app/public/img/products/earrings-5.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/necklaces-0.svg b/apps/user-app/public/img/products/necklaces-0.svg
new file mode 100644
index 0000000..6515a59
--- /dev/null
+++ b/apps/user-app/public/img/products/necklaces-0.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/necklaces-1.svg b/apps/user-app/public/img/products/necklaces-1.svg
new file mode 100644
index 0000000..bde3ce6
--- /dev/null
+++ b/apps/user-app/public/img/products/necklaces-1.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/necklaces-2.svg b/apps/user-app/public/img/products/necklaces-2.svg
new file mode 100644
index 0000000..2bd0775
--- /dev/null
+++ b/apps/user-app/public/img/products/necklaces-2.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/necklaces-3.svg b/apps/user-app/public/img/products/necklaces-3.svg
new file mode 100644
index 0000000..e9cc04b
--- /dev/null
+++ b/apps/user-app/public/img/products/necklaces-3.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/necklaces-4.svg b/apps/user-app/public/img/products/necklaces-4.svg
new file mode 100644
index 0000000..c76fbe4
--- /dev/null
+++ b/apps/user-app/public/img/products/necklaces-4.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/necklaces-5.svg b/apps/user-app/public/img/products/necklaces-5.svg
new file mode 100644
index 0000000..25e7a73
--- /dev/null
+++ b/apps/user-app/public/img/products/necklaces-5.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/rings-0.svg b/apps/user-app/public/img/products/rings-0.svg
new file mode 100644
index 0000000..04c1ca8
--- /dev/null
+++ b/apps/user-app/public/img/products/rings-0.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/rings-1.svg b/apps/user-app/public/img/products/rings-1.svg
new file mode 100644
index 0000000..51a686d
--- /dev/null
+++ b/apps/user-app/public/img/products/rings-1.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/rings-2.svg b/apps/user-app/public/img/products/rings-2.svg
new file mode 100644
index 0000000..5be6059
--- /dev/null
+++ b/apps/user-app/public/img/products/rings-2.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/rings-3.svg b/apps/user-app/public/img/products/rings-3.svg
new file mode 100644
index 0000000..0a27af8
--- /dev/null
+++ b/apps/user-app/public/img/products/rings-3.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/rings-4.svg b/apps/user-app/public/img/products/rings-4.svg
new file mode 100644
index 0000000..59d0505
--- /dev/null
+++ b/apps/user-app/public/img/products/rings-4.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/public/img/products/rings-5.svg b/apps/user-app/public/img/products/rings-5.svg
new file mode 100644
index 0000000..d758277
--- /dev/null
+++ b/apps/user-app/public/img/products/rings-5.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/apps/user-app/src/api/client.ts b/apps/user-app/src/api/client.ts
index 2b2f9bb..d75f0aa 100644
--- a/apps/user-app/src/api/client.ts
+++ b/apps/user-app/src/api/client.ts
@@ -19,6 +19,12 @@ export interface ProductVariantSummary {
title: string;
rashWeightGrams: string;
defaultWagePercent: string;
+ /// On-hand stock and the "orderable at zero stock" flag. Both exist on
+ /// ProductVariant and are already returned by GET /catalog/products (the
+ /// catalog service includes every variant field) — declared here so the UI
+ /// can read them.
+ qty?: number;
+ isPreOrder?: boolean;
}
export interface CategorySummary {
@@ -43,6 +49,9 @@ export interface ProductSummary {
id: string;
title: string;
description: string | null;
+ /// Legacy Product.product_code — the human-facing code. Already returned by
+ /// GET /catalog/products.
+ productCode?: string | null;
variants: ProductVariantSummary[];
images: Array<{ url: string }>;
category: CategorySummary | null;
diff --git a/apps/user-app/src/components/home/AccountStrip.vue b/apps/user-app/src/components/home/AccountStrip.vue
new file mode 100644
index 0000000..747fe20
--- /dev/null
+++ b/apps/user-app/src/components/home/AccountStrip.vue
@@ -0,0 +1,229 @@
+
+
+
+
+