payaza-storefront-layouts 1.0.38 → 1.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/editor/payaza-form/PayazaFormEditor.d.ts.map +1 -1
  2. package/dist/editor/payaza-form/PayazaFormEditor.js +66 -46
  3. package/dist/editor/payaza-form/schema-bridge.d.ts.map +1 -1
  4. package/dist/editor/payaza-form/schema-bridge.js +17 -4
  5. package/dist/editor/shared/IframePreview.d.ts +1 -0
  6. package/dist/editor/shared/IframePreview.d.ts.map +1 -1
  7. package/dist/editor/shared/IframePreview.js +7 -1
  8. package/dist/layouts/booking/components/BookingHomePage.d.ts.map +1 -1
  9. package/dist/layouts/booking/components/BookingHomePage.js +44 -3
  10. package/dist/layouts/booking-agenda/components/BookingHomePageAgenda.d.ts.map +1 -1
  11. package/dist/layouts/booking-agenda/components/BookingHomePageAgenda.js +33 -3
  12. package/dist/layouts/clothing/components/ClothingHomePage.d.ts.map +1 -1
  13. package/dist/layouts/clothing/components/ClothingHomePage.js +26 -23
  14. package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.d.ts.map +1 -1
  15. package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.js +23 -2
  16. package/dist/layouts/electronics/components/ElectronicsHomePage.d.ts.map +1 -1
  17. package/dist/layouts/electronics/components/ElectronicsHomePage.js +24 -4
  18. package/dist/layouts/electronics-grid/components/ElectronicsHomePageGrid.d.ts.map +1 -1
  19. package/dist/layouts/electronics-grid/components/ElectronicsHomePageGrid.js +24 -2
  20. package/dist/layouts/food/components/FoodHomePage.d.ts.map +1 -1
  21. package/dist/layouts/food/components/FoodHomePage.js +38 -2
  22. package/dist/layouts/food-modern/components/FoodHomePageModern.d.ts.map +1 -1
  23. package/dist/layouts/food-modern/components/FoodHomePageModern.js +31 -2
  24. package/dist/layouts/motivational-speaker/components/MotivationalHomePage.d.ts.map +1 -1
  25. package/dist/layouts/motivational-speaker/components/MotivationalHomePage.js +15 -1
  26. package/dist/lib/preview-data.d.ts.map +1 -1
  27. package/dist/lib/preview-data.js +11 -1
  28. package/dist/lib/store-types.d.ts +1 -0
  29. package/dist/lib/store-types.d.ts.map +1 -1
  30. package/dist/styles/index.css +12 -0
  31. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PayazaFormEditor.d.ts","sourceRoot":"","sources":["../../../src/editor/payaza-form/PayazaFormEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAU/C,OAAO,EAA4B,eAAe,EAAgB,MAAM,mBAAmB,CAAC;AAM5F,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACjD;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAulB5D,CAAC"}
1
+ {"version":3,"file":"PayazaFormEditor.d.ts","sourceRoot":"","sources":["../../../src/editor/payaza-form/PayazaFormEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAU/C,OAAO,EAA4B,eAAe,EAAgB,MAAM,mBAAmB,CAAC;AAM5F,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACjD;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA+mB5D,CAAC"}
@@ -5,7 +5,7 @@ import { IframePreview } from '../shared/IframePreview';
5
5
  import { ResizableSidebar } from '../shared/ResizableSidebar';
6
6
  import { getPageSchema } from './engine';
7
7
  import { FieldRenderer } from './FieldRenderer';
8
- import { loadLayoutJSON, loadLayoutJSONSync } from './layout-loader';
8
+ import { loadLayoutJSON } from './layout-loader';
9
9
  import { transformToStoreConfig, updateOverlayData, addArrayItem, removeArrayItem, updateArrayItem } from './data-transformer';
10
10
  import { generateArrayItem } from './engine';
11
11
  import { initializeWidgetRegistry, clearWidgets } from './widget-registry';
@@ -28,6 +28,7 @@ export const PayazaFormEditor = ({ layoutId, initialData, inventory, onChange, o
28
28
  const [baseRequirement, setBaseRequirement] = useState(null);
29
29
  const [loading, setLoading] = useState(true);
30
30
  const [searchQuery, setSearchQuery] = useState('');
31
+ const [selectedSection, setSelectedSection] = useState(null);
31
32
  // Keep dataRef in sync with data state
32
33
  useEffect(() => {
33
34
  dataRef.current = data;
@@ -60,41 +61,39 @@ export const PayazaFormEditor = ({ layoutId, initialData, inventory, onChange, o
60
61
  const loadLayout = async () => {
61
62
  setLoading(true);
62
63
  try {
63
- // Load requirement (schema + defaults)
64
- const syncLayout = loadLayoutJSONSync(layoutId, inventory);
65
- let requirementLayout = syncLayout;
66
- if (!requirementLayout) {
67
- requirementLayout = await loadLayoutJSON(layoutId, inventory);
64
+ // Normalization mapping
65
+ const layoutIdMap = {
66
+ 'fashion-hub': 'clothing',
67
+ 'savory-bites': 'food',
68
+ 'modern-eats': 'food-modern',
69
+ 'minimal-style': 'clothing-minimal',
70
+ 'fashion-minimal': 'clothing-minimal',
71
+ 'urban-retreat': 'booking',
72
+ 'agenda-book': 'booking-agenda',
73
+ 'grid-tech': 'electronics-grid',
74
+ 'mindset-mastery': 'motivational-speaker'
75
+ };
76
+ const rawId = String(layoutId || '').trim().toLowerCase();
77
+ const normalizedId = layoutIdMap[rawId] || rawId;
78
+ const layoutRequirement = await loadLayoutJSON(normalizedId, inventory);
79
+ if (!isMounted)
80
+ return;
81
+ if (layoutRequirement) {
82
+ setBaseRequirement(layoutRequirement);
83
+ // Initial merge for the active page
84
+ const mergedLayout = mergeRequirementWithActualData(layoutRequirement, initialData, activePageId);
85
+ setLayoutJson(mergedLayout);
86
+ // Merge with existing data to preserve all StoreConfig properties
87
+ const storeConfig = transformToStoreConfig(mergedLayout, activePageId, initialData);
88
+ setData(storeConfig);
89
+ // Don't call onChange here to avoid loops on initial load
68
90
  }
69
- if (requirementLayout && isMounted) {
70
- // Store base requirement for re-merging on page changes
71
- setBaseRequirement(requirementLayout);
72
- if (initialData) {
73
- // CRITICAL: Merge ALL pages with actual data to ensure StoreConfig is fully populated
74
- // with defaults for all pages, not just the active one.
75
- // This ensures onSave/onPublish always receive a complete set of data.
76
- const fullyMergedStoreConfig = mergeAllPagesWithActualData(requirementLayout, initialData);
77
- // Also get the layout for the active page specifically
78
- const mergedLayout = mergeRequirementWithActualData(requirementLayout, fullyMergedStoreConfig, activePageId);
79
- setLayoutJson(mergedLayout);
80
- if (process.env.NODE_ENV === 'development') {
81
- console.log('[PayazaFormEditor] Setting fully merged StoreConfig for preview:', {
82
- pageId: activePageId,
83
- hasLayoutConfig: !!fullyMergedStoreConfig.layoutConfig,
84
- });
85
- }
86
- setData(fullyMergedStoreConfig);
87
- }
88
- else {
89
- // No actual data, use requirement as-is
90
- setLayoutJson(requirementLayout);
91
- }
91
+ else {
92
+ console.error(`[PayazaFormEditor] Failed to load layout requirement for: ${layoutId} (normalized: ${normalizedId})`);
92
93
  }
93
94
  }
94
95
  catch (error) {
95
- if (isMounted) {
96
- console.error('Error loading layout:', error);
97
- }
96
+ console.error('[PayazaFormEditor] Error loading layout:', error);
98
97
  }
99
98
  finally {
100
99
  if (isMounted) {
@@ -103,8 +102,23 @@ export const PayazaFormEditor = ({ layoutId, initialData, inventory, onChange, o
103
102
  }
104
103
  };
105
104
  loadLayout();
105
+ const handleMessage = (event) => {
106
+ if (event.data?.type === 'SECTION_SELECTED') {
107
+ const sectionKey = event.data.section || event.data.sectionKey;
108
+ if (sectionKey) {
109
+ setSelectedSection(sectionKey);
110
+ // Find and scroll to the section in the sidebar
111
+ const element = document.querySelector(`[data-section-key="${sectionKey}"]`);
112
+ if (element) {
113
+ element.scrollIntoView({ behavior: 'smooth', block: 'start' });
114
+ }
115
+ }
116
+ }
117
+ };
118
+ window.addEventListener('message', handleMessage);
106
119
  return () => {
107
120
  isMounted = false;
121
+ window.removeEventListener('message', handleMessage);
108
122
  };
109
123
  }, [layoutId, inventory, initialData]);
110
124
  // Re-merge data when page changes
@@ -242,6 +256,12 @@ export const PayazaFormEditor = ({ layoutId, initialData, inventory, onChange, o
242
256
  assets: assets || context.assets
243
257
  })
244
258
  });
259
+ const contentType = response.headers.get('content-type');
260
+ if (!contentType || !contentType.includes('application/json')) {
261
+ const text = await response.text();
262
+ console.error('Non-JSON response received:', text);
263
+ throw new Error('The server returned an invalid response. Please ensure the AI endpoint is correctly configured.');
264
+ }
245
265
  if (!response.ok) {
246
266
  const error = await response.json();
247
267
  throw new Error(error.error || 'Failed to generate content');
@@ -302,21 +322,21 @@ export const PayazaFormEditor = ({ layoutId, initialData, inventory, onChange, o
302
322
  storeName: storeName || data?.name || '',
303
323
  storeDescription: storeDescription || data?.description || '',
304
324
  assets: assets || [],
305
- }, isGenerating: isGeneratingAI }), _jsxs("div", { className: "flex flex-1 overflow-hidden", children: [_jsx("div", { className: "flex-1 overflow-hidden bg-[#f8f9fb] relative", children: _jsx(IframePreview, { layoutId: layoutId, config: data, activePageId: activePageId, viewMode: viewMode }) }), _jsx(ResizableSidebar, { initialWidth: 380, minWidth: 340, maxWidth: 500, className: "bg-white border-l border-slate-200 shadow-[-12px_0_32px_-4px_rgba(0,0,0,0.03)]", children: _jsxs("div", { className: "flex flex-col h-full bg-white relative", children: [_jsxs("div", { className: "bg-white/90 backdrop-blur-xl sticky top-0 z-30 border-b border-slate-100 px-6 pt-6 pb-4", children: [_jsxs("div", { className: "flex items-center justify-between mb-6", children: [_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx("h3", { className: "text-[11px] font-black text-slate-900 uppercase tracking-[0.3em]", children: "Editor Panel" }), _jsxs("p", { className: "text-[9px] text-slate-400 font-bold uppercase tracking-widest flex items-center gap-1.5", children: [_jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-slate-900 shadow-[0_0_8px_rgba(0,0,0,0.2)]" }), "Customising ", activePageId] })] }), _jsx("div", { className: "flex items-center gap-2", children: _jsx("div", { className: "p-2 rounded-xl bg-slate-50 text-slate-400 hover:text-slate-600 transition-all cursor-help", title: "Studio Info", children: _jsx(Info, { size: 14 }) }) })] }), _jsxs("div", { className: "relative group", children: [_jsx(Search, { className: "absolute left-4 top-1/2 -translate-y-1/2 text-slate-400 transition-colors group-focus-within:text-slate-900", size: 14, strokeWidth: 2.5 }), _jsx("input", { type: "text", placeholder: "Search properties...", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), className: "w-full h-12 pl-11 pr-10 bg-slate-50/50 border border-slate-200 rounded-xl text-[12px] font-bold text-slate-700 placeholder:text-slate-400 focus:outline-none focus:ring-4 focus:ring-slate-900/5 focus:border-slate-900/20 focus:bg-white transition-all shadow-sm" }), searchQuery && (_jsx("button", { onClick: () => setSearchQuery(''), className: "absolute right-3 top-1/2 -translate-y-1/2 w-6 h-6 flex items-center justify-center bg-slate-200 text-slate-500 hover:bg-slate-300 hover:text-slate-700 rounded-full transition-all", children: _jsx(X, { size: 12, strokeWidth: 3 }) }))] })] }), _jsx("div", { className: "flex-1 payaza-form-editor overflow-y-auto custom-scrollbar bg-[#fcfcfd] px-6 py-8", children: _jsx("div", { className: "space-y-6", children: filteredSchema.length > 0 ? (filteredSchema.map(([sectionKey, sectionSchema]) => {
325
+ }, isGenerating: isGeneratingAI }), _jsxs("div", { className: "flex flex-1 overflow-hidden", children: [_jsx("div", { className: "flex-1 overflow-hidden bg-[#f8f9fb] relative", children: _jsx(IframePreview, { layoutId: layoutId, config: data, activePageId: activePageId, viewMode: viewMode, selectedSection: selectedSection }) }), _jsx(ResizableSidebar, { initialWidth: 380, minWidth: 340, maxWidth: 500, className: "bg-white border-l border-slate-200 shadow-[-12px_0_32px_-4px_rgba(0,0,0,0.03)]", children: _jsxs("div", { className: "flex flex-col h-full bg-white relative", children: [_jsxs("div", { className: "bg-white/90 backdrop-blur-xl sticky top-0 z-30 border-b border-slate-100 px-6 pt-6 pb-4", children: [_jsxs("div", { className: "flex items-center justify-between mb-6", children: [_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx("h3", { className: "text-[11px] font-black text-slate-900 uppercase tracking-[0.3em]", children: "Editor Panel" }), _jsxs("p", { className: "text-[9px] text-slate-400 font-bold uppercase tracking-widest flex items-center gap-1.5", children: [_jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-slate-900 shadow-[0_0_8px_rgba(0,0,0,0.2)]" }), "Customising ", activePageId] })] }), _jsx("div", { className: "flex items-center gap-2", children: _jsx("div", { className: "p-2 rounded-xl bg-slate-50 text-slate-400 hover:text-slate-600 transition-all cursor-help", title: "Studio Info", children: _jsx(Info, { size: 14 }) }) })] }), _jsxs("div", { className: "relative group", children: [_jsx(Search, { className: "absolute left-4 top-1/2 -translate-y-1/2 text-slate-400 transition-colors group-focus-within:text-slate-900", size: 14, strokeWidth: 2.5 }), _jsx("input", { type: "text", placeholder: "Search properties...", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), className: "w-full h-12 pl-11 pr-10 bg-slate-50/50 border border-slate-200 rounded-xl text-[12px] font-bold text-slate-700 placeholder:text-slate-400 focus:outline-none focus:ring-4 focus:ring-slate-900/5 focus:border-slate-900/20 focus:bg-white transition-all shadow-sm" }), searchQuery && (_jsx("button", { onClick: () => setSearchQuery(''), className: "absolute right-3 top-1/2 -translate-y-1/2 w-6 h-6 flex items-center justify-center bg-slate-200 text-slate-500 hover:bg-slate-300 hover:text-slate-700 rounded-full transition-all", children: _jsx(X, { size: 12, strokeWidth: 3 }) }))] })] }), _jsx("div", { className: "flex-1 payaza-form-editor overflow-y-auto custom-scrollbar bg-[#fcfcfd] px-6 py-8", children: _jsx("div", { className: "space-y-6", children: filteredSchema.length > 0 ? (filteredSchema.map(([sectionKey, sectionSchema]) => {
306
326
  const sectionData = pageSchema.data[sectionKey];
307
- return (_jsx(FieldRenderer, { schemaField: sectionSchema, value: sectionData, path: [sectionKey], onChange: (value, fieldPath) => {
308
- // fieldPath from FieldRenderer is relative to the section
309
- // e.g., ['show'] for hero.show, ['sliders', 0, 'title'] for hero.sliders[0].title
310
- handleFieldChange(sectionKey, fieldPath, value);
311
- }, onArrayItemChange: (index, itemValue) => {
312
- handleArrayItemChange(sectionKey, [], index, itemValue);
313
- }, onArrayItemAdd: () => {
314
- if (sectionSchema._itemSchema) {
315
- handleArrayItemAdd(sectionKey, [], sectionSchema._itemSchema);
316
- }
317
- }, onArrayItemRemove: (index) => {
318
- handleArrayItemRemove(sectionKey, [], index);
319
- } }, sectionKey));
327
+ return (_jsx("div", { "data-section-key": sectionKey, className: selectedSection === sectionKey ? 'ring-2 ring-primary ring-inset rounded-xl bg-primary/5' : '', children: _jsx(FieldRenderer, { schemaField: sectionSchema, value: sectionData, path: [sectionKey], onChange: (value, fieldPath) => {
328
+ // fieldPath from FieldRenderer is relative to the section
329
+ // e.g., ['show'] for hero.show, ['sliders', 0, 'title'] for hero.sliders[0].title
330
+ handleFieldChange(sectionKey, fieldPath, value);
331
+ }, onArrayItemChange: (index, itemValue) => {
332
+ handleArrayItemChange(sectionKey, [], index, itemValue);
333
+ }, onArrayItemAdd: () => {
334
+ if (sectionSchema._itemSchema) {
335
+ handleArrayItemAdd(sectionKey, [], sectionSchema._itemSchema);
336
+ }
337
+ }, onArrayItemRemove: (index) => {
338
+ handleArrayItemRemove(sectionKey, [], index);
339
+ } }) }, sectionKey));
320
340
  })) : (_jsxs("div", { className: "flex flex-col items-center justify-center py-24 text-center px-6 bg-slate-50/50 rounded-3xl border border-dashed border-slate-200", children: [_jsx("div", { className: "w-20 h-20 bg-white rounded-full flex items-center justify-center mb-6 shadow-xl border border-slate-50", children: _jsx(Search, { size: 28, className: "text-slate-200", strokeWidth: 1.5 }) }), _jsx("p", { className: "text-[12px] font-black text-slate-500 uppercase tracking-widest mb-2", children: "No results found" }), _jsx("p", { className: "text-[10px] text-slate-400 font-bold uppercase tracking-widest max-w-[200px] leading-relaxed", children: "Try adjusting your search to find specific properties" })] })) }) }), _jsx("div", { className: "px-8 py-6 bg-white border-t border-slate-100 shadow-[0_-10px_40px_-10px_rgba(0,0,0,0.02)]", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "w-2 h-2 rounded-full bg-green-500 shadow-[0_0_10px_rgba(34,197,94,0.5)] animate-pulse" }), _jsxs("div", { className: "flex flex-col gap-0.5", children: [_jsx("p", { className: "text-[10px] font-black text-slate-900 uppercase tracking-[0.1em]", children: "Studio Status" }), _jsx("p", { className: "text-[8px] font-bold text-slate-400 uppercase tracking-widest", children: "Live Syncing Enabled" })] })] }), _jsx("div", { className: "flex items-center gap-2 px-3 py-1.5 rounded-full bg-slate-50 border border-slate-100 shadow-sm", children: _jsx("span", { className: "text-[9px] font-black text-slate-400 uppercase tracking-[0.1em]", children: "Build v1.0.32" }) })] }) })] }) })] }), _jsx("style", { dangerouslySetInnerHTML: { __html: `
321
341
  /* Custom Scrollbar */
322
342
  .custom-scrollbar::-webkit-scrollbar {
@@ -1 +1 @@
1
- {"version":3,"file":"schema-bridge.d.ts","sourceRoot":"","sources":["../../../src/editor/payaza-form/schema-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAK7C;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,GACf,iBAAiB,GAAG,IAAI,CA2E1B;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAE1F"}
1
+ {"version":3,"file":"schema-bridge.d.ts","sourceRoot":"","sources":["../../../src/editor/payaza-form/schema-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAK7C;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,GACf,iBAAiB,GAAG,IAAI,CAyF1B;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAE1F"}
@@ -5,14 +5,27 @@ import { getLayoutMetadata } from '../alignment-schemas/metadata';
5
5
  * This replaces the old requirements JSON approach with a cleaner alignment-schema only approach.
6
6
  */
7
7
  export function bridgeRequirementToOverlayJSON(layoutId) {
8
- const metadata = getLayoutMetadata(layoutId);
9
- const alignmentSchema = alignmentSchemasMap[layoutId];
8
+ // Normalization mapping
9
+ const layoutIdMap = {
10
+ 'fashion-hub': 'clothing',
11
+ 'savory-bites': 'food',
12
+ 'modern-eats': 'food-modern',
13
+ 'minimal-style': 'clothing-minimal',
14
+ 'fashion-minimal': 'clothing-minimal',
15
+ 'urban-retreat': 'booking',
16
+ 'agenda-book': 'booking-agenda',
17
+ 'grid-tech': 'electronics-grid',
18
+ 'mindset-mastery': 'motivational-speaker'
19
+ };
20
+ const normalizedId = layoutIdMap[layoutId] || layoutId;
21
+ const metadata = getLayoutMetadata(normalizedId);
22
+ const alignmentSchema = alignmentSchemasMap[normalizedId];
10
23
  if (!metadata) {
11
- console.warn(`[schema-bridge] No metadata found for layout: ${layoutId}`);
24
+ console.warn(`[schema-bridge] No metadata found for layout: ${layoutId} (normalized: ${normalizedId})`);
12
25
  return null;
13
26
  }
14
27
  if (!alignmentSchema) {
15
- console.warn(`[schema-bridge] No alignment schema found for layout: ${layoutId}`);
28
+ console.warn(`[schema-bridge] No alignment schema found for layout: ${layoutId} (normalized: ${normalizedId})`);
16
29
  return null;
17
30
  }
18
31
  // Filter out pages that shouldn't be editable (productDetail, categoryDetail, etc.)
@@ -5,6 +5,7 @@ interface IframePreviewProps {
5
5
  config: StoreConfig;
6
6
  activePageId: string;
7
7
  viewMode: 'desktop' | 'tablet' | 'mobile';
8
+ selectedSection?: string | null;
8
9
  className?: string;
9
10
  }
10
11
  export declare const IframePreview: React.FC<IframePreviewProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"IframePreview.d.ts","sourceRoot":"","sources":["../../../src/editor/shared/IframePreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAyKtD,CAAC"}
1
+ {"version":3,"file":"IframePreview.d.ts","sourceRoot":"","sources":["../../../src/editor/shared/IframePreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAoLtD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useMemo, useRef, useState } from 'react';
3
3
  import { isDeepEqual } from '../../lib/utils';
4
- export const IframePreview = ({ layoutId, config, activePageId, viewMode, className = '', }) => {
4
+ export const IframePreview = ({ layoutId, config, activePageId, viewMode, selectedSection, className = '', }) => {
5
5
  const iframeRef = useRef(null);
6
6
  const [isReady, setIsReady] = useState(false);
7
7
  const [iframeKey, setIframeKey] = useState(0);
@@ -52,6 +52,12 @@ export const IframePreview = ({ layoutId, config, activePageId, viewMode, classN
52
52
  }
53
53
  };
54
54
  }, [config, route, viewMode, isReady]);
55
+ // Sync selection state
56
+ useEffect(() => {
57
+ if (isReady && iframeRef.current?.contentWindow) {
58
+ iframeRef.current.contentWindow.postMessage({ type: 'SECTION_SELECTED_SYNC', section: selectedSection }, '*');
59
+ }
60
+ }, [selectedSection, isReady]);
55
61
  // Construct iframe URL - include viewMode for proper viewport handling
56
62
  const previewUrl = useMemo(() => {
57
63
  const params = new URLSearchParams({
@@ -1 +1 @@
1
- {"version":3,"file":"BookingHomePage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/booking/components/BookingHomePage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAUhD,UAAU,oBAAoB;IAC5B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,oBAAoB,2CAkWnF"}
1
+ {"version":3,"file":"BookingHomePage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/booking/components/BookingHomePage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAUhD,UAAU,oBAAoB;IAC5B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,oBAAoB,2CAiZnF"}
@@ -11,9 +11,23 @@ import { TestimonialCard } from '../../shared/components/TestimonialCard';
11
11
  export function BookingHomePage({ storeConfig: initialConfig }) {
12
12
  const { store } = useStore();
13
13
  const storeConfig = store || initialConfig;
14
- const services = filterActiveServices(storeConfig.services || []);
15
14
  const primaryColor = storeConfig.branding.primaryColor;
16
15
  const layoutConfig = storeConfig.layoutConfig;
16
+ // In preview mode, use mock services if none are available
17
+ const isPreview = (typeof window !== 'undefined' && window.__IS_PREVIEW__) || storeConfig.layoutConfig?.isPreview;
18
+ const rawServices = storeConfig.services || [];
19
+ const activeServices = filterActiveServices(rawServices);
20
+ // Use real active services if available, otherwise if in preview, use all services (including drafts),
21
+ // and if still none, use mock data
22
+ const services = activeServices.length > 0
23
+ ? activeServices
24
+ : (isPreview && rawServices.length > 0
25
+ ? rawServices
26
+ : (isPreview ? [
27
+ { id: 'mock-1', name: 'Premium Haircut', description: 'Expert styling and precision cut', price: 50, duration: 45, categoryId: 'cat-1', status: 'active', image: 'https://images.unsplash.com/photo-1560066984-138dadb4c035?w=800', slug: 'premium-haircut' },
28
+ { id: 'mock-2', name: 'Beard Grooming', description: 'Trim and shape with straight razor finish', price: 30, duration: 30, categoryId: 'cat-1', status: 'active', image: 'https://images.unsplash.com/photo-1503951914875-452162b0f3f1?w=800', slug: 'beard-grooming' },
29
+ { id: 'mock-3', name: 'Full Facial Spa', description: 'Deep cleansing and hydration treatment', price: 85, duration: 60, categoryId: 'cat-2', status: 'active', image: 'https://images.unsplash.com/photo-1540555700478-4be289fbecef?w=800', slug: 'full-facial-spa' }
30
+ ] : []));
17
31
  const heroBg = getBannerImage(storeConfig, 'hero_bg', 'https://images.unsplash.com/photo-1457972729786-0411a3b2b626?q=80&w=2070&auto=format&fit=crop');
18
32
  return (_jsxs("div", { className: "min-h-screen bg-white", children: [_jsxs("section", { "data-section": "hero", className: "relative h-[85vh] min-h-[600px] w-full overflow-hidden flex items-center bg-gray-900", children: [_jsxs("div", { className: "absolute inset-0 z-0", children: [_jsx(Image, { src: heroBg, alt: "Makeup Studio", fill: true, className: "object-cover", unoptimized: true }), _jsx("div", { className: "absolute inset-0 bg-black/40" })] }), _jsx("div", { className: "container mx-auto px-4 relative z-10 text-white", children: _jsxs("div", { className: "max-w-2xl animate-fade-in-up", children: [_jsxs("div", { className: "inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-white/20 backdrop-blur-md border border-white/30 text-white text-sm font-medium mb-6", children: [_jsx(Sparkles, { className: "w-4 h-4" }), _jsx("span", { children: getTextContent(storeConfig, 'hero_badge', 'Premium Beauty Studio') })] }), _jsx("h1", { className: "text-4xl md:text-5xl lg:text-7xl font-light mb-6 tracking-tight leading-tight", children: (() => {
19
33
  const titleText = layoutConfig?.sections?.hero?.title || getTextContent(storeConfig, 'hero_title', 'Reveal Your\nInner Radiance.');
@@ -21,7 +35,15 @@ export function BookingHomePage({ storeConfig: initialConfig }) {
21
35
  return lines.map((line, i) => (_jsx("span", { children: i === lines.length - 1 ? (_jsx("span", { className: "font-bold", children: line })) : (_jsxs(_Fragment, { children: [line, " ", _jsx("br", {})] })) }, i)));
22
36
  })() }), _jsx("p", { className: "text-xl md:text-2xl text-gray-200 mb-10 font-light leading-relaxed max-w-lg", children: layoutConfig?.sections?.hero?.subtitle || getTextContent(storeConfig, 'hero_subtitle', storeConfig.description || "Enhance your natural beauty with our professional makeup artistry.") }), _jsxs("div", { className: "flex flex-col sm:flex-row gap-4", children: [_jsx(Link, { href: `/${storeConfig.slug}/book`, children: _jsx(Button, { size: "lg", className: "h-14 px-8 rounded-full text-lg font-medium bg-white text-black hover:bg-gray-100 transition-colors", children: layoutConfig?.sections?.hero?.primaryCTA || getLayoutText(storeConfig, 'booking.bookAppointment', getTextContent(storeConfig, 'book_btn', 'Book Appointment')) }) }), _jsx(Link, { href: `/${storeConfig.slug}/services`, children: _jsx(Button, { size: "lg", variant: "outline", className: "h-14 px-8 rounded-full text-lg font-medium border-white/80 text-white bg-white/5 hover:bg-white/15 hover:text-white transition-colors backdrop-blur-sm shadow-lg", children: layoutConfig?.sections?.hero?.secondaryCTA || getLayoutText(storeConfig, 'booking.viewServices', getTextContent(storeConfig, 'view_services_btn', 'View Services')) }) })] })] }) })] }), _jsx("section", { "data-section": "featuredServices", className: "py-12 md:py-20 px-4 bg-gray-50/50", children: _jsxs("div", { className: "container mx-auto max-w-7xl", children: [_jsxs("div", { className: "flex justify-between items-end mb-8 md:mb-12", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-3xl font-bold text-gray-900 mb-2", children: layoutConfig?.sections?.featuredServices?.title || getLayoutText(storeConfig, 'sections.featuredServices.title', getTextContent(storeConfig, 'services_section_title', 'Signature Looks')) }), _jsx("p", { className: "text-gray-500", children: layoutConfig?.sections?.featuredServices?.subtitle || getLayoutText(storeConfig, 'sections.featuredServices.subtitle', getTextContent(storeConfig, 'services_section_subtitle', 'Curated styles for every occasion')) })] }), _jsxs(Link, { href: `/${storeConfig.slug}/services`, className: "flex items-center gap-2 text-sm font-bold tracking-wide uppercase hover:underline", style: { color: primaryColor }, children: [layoutConfig?.sections?.featuredServices?.viewAllLabel || getLayoutText(storeConfig, 'sections.featuredServices.viewAll', getTextContent(storeConfig, 'services_view_all', 'View All')), ' ', _jsx(ArrowRight, { className: "w-4 h-4" })] })] }), _jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8", children: services.slice(0, 3).map((service) => (_jsxs(Link, { href: `/${storeConfig.slug}/book?service=${service.slug}`, className: "group cursor-pointer", children: [_jsxs("div", { className: "relative aspect-[4/3] overflow-hidden rounded-2xl mb-6 bg-gray-200", children: [_jsx(Image, { src: getServiceImage(service.image, storeConfig, "https://images.unsplash.com/photo-1522337660859-02fbefca4702?q=80&w=2069&auto=format&fit=crop"), alt: service.name, fill: true, className: "object-cover transition-transform duration-700 group-hover:scale-110", unoptimized: true }), _jsx("div", { className: "absolute top-4 right-4 bg-white/90 backdrop-blur px-3 py-1 rounded-full text-sm font-bold shadow-sm", children: formatCurrency(service.price, service.currency || storeConfig.settings?.currency || 'USD') })] }), _jsx("h3", { className: "text-xl font-bold text-gray-900 mb-2 group-hover:text-gray-600 transition-colors", children: service.name }), _jsx("p", { className: "text-gray-500 line-clamp-2 mb-4", children: service.description }), _jsxs("div", { className: "flex items-center gap-4 text-sm text-gray-400", children: [_jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Clock, { className: "w-4 h-4" }), " ", service.duration, " mins"] }), service.provider && (_jsxs("div", { className: "flex items-center gap-1", children: [_jsx(User, { className: "w-4 h-4" }), " ", service.provider.name] }))] })] }, service.id))) })] }) }), _jsx("section", { "data-section": "team", className: "py-12 md:py-24 px-4 bg-white", children: _jsx("div", { className: "container mx-auto max-w-7xl", children: (() => {
23
37
  const teamMembers = storeConfig.layoutConfig?.pages?.team?.members || [];
24
- const featuredMember = teamMembers[0] || {
38
+ const fallbackTeam = [
39
+ {
40
+ name: 'Sarah Mitchell',
41
+ role: 'Lead Artist',
42
+ photo: "https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=400"
43
+ }
44
+ ];
45
+ const members = teamMembers.length > 0 ? teamMembers : (isPreview ? fallbackTeam : []);
46
+ const featuredMember = members[0] || {
25
47
  name: getLayoutText(storeConfig, 'sections.team.memberName', getTextContent(storeConfig, 'team_member_name', 'Sarah Mitchell')),
26
48
  role: getLayoutText(storeConfig, 'sections.team.memberRole', getTextContent(storeConfig, 'team_member_role', 'Lead Makeup Artist')),
27
49
  photo: getTeamMemberImage(storeConfig, 'Sarah Mitchell', 'specialist_image', "https://blog.sugar.ng/files/styles/width-640/public/We%20Just%20Found%20the%20Perfect%20Nikkai%20Bridal%20Look%20for%20You.jpg?itok=HGIlGdwB")
@@ -54,7 +76,26 @@ export function BookingHomePage({ storeConfig: initialConfig }) {
54
76
  order: 1
55
77
  }
56
78
  ];
57
- const testimonials = backendTestimonials.length > 0 ? backendTestimonials : fallbackTestimonials;
79
+ const testimonials = backendTestimonials.length > 0 ? backendTestimonials : (isPreview ? [
80
+ {
81
+ id: '1',
82
+ name: 'Emily Davis',
83
+ role: 'Bridal Client',
84
+ quote: "I've never felt more beautiful. The makeup was flawless and lasted all night. Absolutely stunning work!",
85
+ rating: 5,
86
+ image: "https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=150",
87
+ order: 1
88
+ },
89
+ {
90
+ id: '2',
91
+ name: 'Sarah Johnson',
92
+ role: 'Fashion Model',
93
+ quote: "Professional, creative and punctual. They really know how to work with light and camera!",
94
+ rating: 5,
95
+ image: "https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=150",
96
+ order: 2
97
+ }
98
+ ] : []);
58
99
  return (_jsx("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8", children: testimonials.slice(0, 3).map((testimonial) => (_jsx("div", { className: "bg-white/5 backdrop-blur-sm rounded-2xl p-8 border border-white/10", children: _jsx(TestimonialCard, { testimonial: testimonial }) }, testimonial.id || testimonial.name))) }));
59
100
  })()] })] })), _jsx("section", { "data-section": "marketing", className: "py-24 px-4 bg-gray-50 text-center", children: _jsxs("div", { className: "container mx-auto max-w-2xl", children: [_jsx("h2", { className: "text-3xl md:text-4xl font-bold mb-6", children: layoutConfig?.sections?.marketing?.ctaTitle || getLayoutText(storeConfig, 'sections.cta.title', getTextContent(storeConfig, 'cta_title', 'Ready to glow?')) }), _jsx("p", { className: "text-gray-500 text-lg mb-10", children: layoutConfig?.sections?.marketing?.ctaDescription || getLayoutText(storeConfig, 'sections.cta.description', getTextContent(storeConfig, 'cta_description', 'Book your session today and let us create the perfect look for you.')) }), _jsx(Link, { href: `/${storeConfig.slug}/book`, children: _jsx(Button, { size: "lg", className: "h-16 px-12 rounded-full text-xl shadow-xl hover:shadow-2xl transition-all hover:-translate-y-1", style: { backgroundColor: primaryColor }, children: layoutConfig?.sections?.marketing?.ctaButton || getLayoutText(storeConfig, 'booking.bookAppointment', 'Book Appointment') }) })] }) })] }));
60
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BookingHomePageAgenda.d.ts","sourceRoot":"","sources":["../../../../src/layouts/booking-agenda/components/BookingHomePageAgenda.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAgBhD,UAAU,0BAA0B;IAClC,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,qBAAqB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,0BAA0B,2CAqqB/F"}
1
+ {"version":3,"file":"BookingHomePageAgenda.d.ts","sourceRoot":"","sources":["../../../../src/layouts/booking-agenda/components/BookingHomePageAgenda.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAgBhD,UAAU,0BAA0B;IAClC,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,qBAAqB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,0BAA0B,2CAssB/F"}
@@ -19,7 +19,21 @@ export function BookingHomePageAgenda({ storeConfig: initialConfig }) {
19
19
  const storeConfig = store || initialConfig;
20
20
  const layoutConfig = storeConfig.layoutConfig;
21
21
  const categories = storeConfig.categories || [];
22
- const services = filterActiveServices(storeConfig.services || []);
22
+ // In preview mode, use mock services if none are available
23
+ const isPreview = (typeof window !== 'undefined' && window.__IS_PREVIEW__) || storeConfig.layoutConfig?.isPreview;
24
+ const rawServices = storeConfig.services || [];
25
+ const activeServices = filterActiveServices(rawServices);
26
+ // Use real active services if available, otherwise if in preview, use all services (including drafts),
27
+ // and if still none, use mock data
28
+ const services = activeServices.length > 0
29
+ ? activeServices
30
+ : (isPreview && rawServices.length > 0
31
+ ? rawServices
32
+ : (isPreview ? [
33
+ { id: 'mock-1', name: 'Premium Haircut', description: 'Expert styling and precision cut', price: 50, duration: 45, categoryId: 'cat-1', status: 'active', currency: 'USD', image: 'https://images.unsplash.com/photo-1560066984-138dadb4c035?w=800' },
34
+ { id: 'mock-2', name: 'Beard Grooming', description: 'Trim and shape with straight razor finish', price: 30, duration: 30, categoryId: 'cat-1', status: 'active', currency: 'USD', image: 'https://images.unsplash.com/photo-1503951914875-452162b0f3f1?w=800' },
35
+ { id: 'mock-3', name: 'Full Facial Spa', description: 'Deep cleansing and hydration treatment', price: 85, duration: 60, categoryId: 'cat-2', status: 'active', currency: 'USD', image: 'https://images.unsplash.com/photo-1540555700478-4be289fbecef?w=800' }
36
+ ] : []));
23
37
  const [selectedDate, setSelectedDate] = useState(0); // 0 = Today
24
38
  const [selectedTime, setSelectedTime] = useState(null);
25
39
  const [isBookingModalOpen, setIsBookingModalOpen] = useState(false);
@@ -153,7 +167,7 @@ export function BookingHomePageAgenda({ storeConfig: initialConfig }) {
153
167
  image: memberPhoto
154
168
  };
155
169
  })
156
- : isDemo
170
+ : (isDemo || isPreview)
157
171
  ? [
158
172
  { id: 1, name: "Sarah Mitchell", role: "Senior Stylist", rating: 4.9, reviews: 120, image: fallbackProviderImages[0] },
159
173
  { id: 2, name: "Michael Chen", role: "Color Specialist", rating: 5.0, reviews: 85, image: fallbackProviderImages[1] },
@@ -184,9 +198,25 @@ export function BookingHomePageAgenda({ storeConfig: initialConfig }) {
184
198
  quote: "I've never felt more beautiful. The makeup was flawless and lasted all night. Absolutely stunning work!",
185
199
  rating: 5,
186
200
  order: 1
201
+ },
202
+ {
203
+ id: '2',
204
+ name: 'Marcus Johnson',
205
+ role: 'Regular Client',
206
+ quote: "Best service in town. The team is professional and the atmosphere is so relaxing.",
207
+ rating: 5,
208
+ order: 2
209
+ },
210
+ {
211
+ id: '3',
212
+ name: 'Sophia Chen',
213
+ role: 'Monthly Member',
214
+ quote: "Consistency is key for me, and they never disappoint. Highly recommend the membership!",
215
+ rating: 5,
216
+ order: 3
187
217
  }
188
218
  ];
189
- const testimonials = backendTestimonials.length > 0 ? backendTestimonials : fallbackTestimonials;
219
+ const testimonials = backendTestimonials.length > 0 ? backendTestimonials : (isPreview ? fallbackTestimonials : []);
190
220
  return testimonials.slice(0, 3).map((testimonial) => (_jsx("div", { className: "bg-white rounded-2xl p-6 shadow-sm border border-gray-100", children: _jsx(TestimonialCard, { testimonial: testimonial }) }, testimonial.id || testimonial.name)));
191
221
  })() })] }))] })] })] }), _jsxs(Modal, { isOpen: isBookingModalOpen, onClose: () => setIsBookingModalOpen(false), title: bookingStep === 2 ? getLayoutText(storeConfig, 'booking.completePayment', 'Complete Payment') : getLayoutText(storeConfig, 'booking.confirmBooking', 'Confirm Appointment'), className: "max-w-md bg-white rounded-3xl overflow-hidden", children: [bookingStep === 1 && (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "bg-rose-50/50 p-6 rounded-2xl border border-rose-100", children: [_jsx("h4", { className: "font-bold text-rose-900 text-sm uppercase tracking-wide mb-3", children: "Summary" }), _jsxs("div", { className: "space-y-2 text-sm", children: [_jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-rose-700", children: "Date" }), _jsx("span", { className: "font-bold text-slate-900", children: days[selectedDate].fullDate })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-rose-700", children: "Service" }), _jsx("span", { className: "font-bold text-slate-900", children: selectedService ? services.find(s => s.id === selectedService)?.name : 'Select a service' })] }), _jsxs("div", { className: "flex justify-between pt-2 border-t border-rose-200/50", children: [_jsx("span", { className: "text-rose-900 font-bold", children: "Total" }), _jsx("span", { className: "font-bold text-slate-900 text-lg", children: formatCurrency(selectedService ? (services.find(s => s.id === selectedService)?.price || 0) : 0, (selectedService ? services.find(s => s.id === selectedService)?.currency : null) || storeConfig.settings?.currency || 'USD') })] })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-xs font-bold uppercase tracking-wider text-slate-500 mb-2", children: "Available Times" }), _jsx("div", { className: "grid grid-cols-3 gap-2", children: ['09:00', '10:00', '11:00', '13:00', '14:00', '15:00'].map(time => (_jsx("button", { onClick: () => setSelectedTime(time), className: `px-3 py-2.5 rounded-xl border text-sm font-medium transition-all ${selectedTime === time ? 'bg-rose-600 text-white border-rose-600' : 'border-gray-200 hover:border-rose-500 hover:text-rose-600 hover:bg-rose-50 focus:ring-2 focus:ring-rose-500 focus:outline-none'}`, children: time }, time))) })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-xs font-bold uppercase tracking-wider text-slate-500 mb-2", children: "Your Details" }), _jsxs("div", { className: "grid grid-cols-2 gap-3 mb-3", children: [_jsx("input", { type: "text", placeholder: "First Name", className: "w-full border border-gray-200 rounded-xl p-3 text-sm focus:border-rose-500 outline-none", value: guestInfo.firstName, onChange: (e) => setGuestInfo({ ...guestInfo, firstName: e.target.value }) }), _jsx("input", { type: "text", placeholder: "Last Name", className: "w-full border border-gray-200 rounded-xl p-3 text-sm focus:border-rose-500 outline-none", value: guestInfo.lastName, onChange: (e) => setGuestInfo({ ...guestInfo, lastName: e.target.value }) })] }), _jsxs("div", { className: "grid grid-cols-2 gap-3", children: [_jsx("input", { type: "email", placeholder: "Email", className: "w-full border border-gray-200 rounded-xl p-3 text-sm focus:border-rose-500 outline-none", value: guestInfo.email, onChange: (e) => setGuestInfo({ ...guestInfo, email: e.target.value }) }), _jsx("input", { type: "tel", placeholder: "Phone", className: "w-full border border-gray-200 rounded-xl p-3 text-sm focus:border-rose-500 outline-none", value: guestInfo.phone, onChange: (e) => setGuestInfo({ ...guestInfo, phone: e.target.value }) })] })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-xs font-bold uppercase tracking-wider text-slate-500 mb-2", children: "Special Requests" }), _jsx("textarea", { className: "w-full border border-gray-200 rounded-xl p-3 text-sm h-24 resize-none focus:border-rose-500 focus:ring-4 focus:ring-rose-500/10 outline-none transition-all", placeholder: "Any allergies or preferences?" })] })] }), _jsx(Button, { onClick: () => {
192
222
  if (!guestInfo.email || !guestInfo.firstName || !guestInfo.lastName) {
@@ -1 +1 @@
1
- {"version":3,"file":"ClothingHomePage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/components/ClothingHomePage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAevD,UAAU,qBAAqB;IAC7B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAaD,wBAAgB,gBAAgB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,qBAAqB,2CA6tBrF"}
1
+ {"version":3,"file":"ClothingHomePage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing/components/ClothingHomePage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAevD,UAAU,qBAAqB;IAC7B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAaD,wBAAgB,gBAAgB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,qBAAqB,2CAkuBrF"}
@@ -18,6 +18,8 @@ export function ClothingHomePage({ storeConfig: initialConfig }) {
18
18
  const storeConfig = store || initialConfig;
19
19
  const layoutConfig = storeConfig.layoutConfig;
20
20
  const categories = storeConfig.categories || [];
21
+ // In preview mode, use mock products if none are available
22
+ const isPreview = (typeof window !== 'undefined' && window.__IS_PREVIEW__) || storeConfig.layoutConfig?.isPreview;
21
23
  // Randomly select max 2 categories on every page load
22
24
  const [displayedCategories, setDisplayedCategories] = useState([]);
23
25
  useEffect(() => {
@@ -26,33 +28,34 @@ export function ClothingHomePage({ storeConfig: initialConfig }) {
26
28
  const shuffled = [...categories].sort(() => Math.random() - 0.5);
27
29
  setDisplayedCategories(shuffled.slice(0, 2));
28
30
  }
31
+ else if (isPreview) {
32
+ // Use mock categories in preview mode if none available
33
+ setDisplayedCategories([
34
+ { id: 'cat1', name: 'Menswear', slug: 'men', image: 'https://images.unsplash.com/photo-1490481651871-ab68de25d43d?q=80&w=1200' },
35
+ { id: 'cat2', name: 'Womenswear', slug: 'women', image: 'https://images.unsplash.com/photo-1483985988355-763728e1935b?q=80&w=1200' }
36
+ ]);
37
+ }
29
38
  else {
30
39
  setDisplayedCategories([]);
31
40
  }
32
- }, []); // Empty deps = run on mount only
33
- // Debug logging for configuration
34
- if (process.env.NODE_ENV === 'development') {
35
- console.log('[ClothingHomePage] Full storeConfig:', {
36
- storeId: storeConfig.id,
37
- storeSlug: storeConfig.slug,
38
- hasLayoutConfig: !!layoutConfig,
39
- layoutConfigType: typeof layoutConfig,
40
- });
41
- console.log('[ClothingHomePage] LayoutConfig structure:', {
42
- hasSections: !!layoutConfig?.sections,
43
- hasHero: !!layoutConfig?.sections?.hero,
44
- hasHeroSliders: !!layoutConfig?.sections?.hero?.sliders,
45
- sliderCount: layoutConfig?.sections?.hero?.sliders?.length || 0,
46
- topLevelHero: !!layoutConfig?.hero,
47
- topLevelHeroSliders: !!layoutConfig?.hero?.sliders,
48
- topLevelSliderCount: layoutConfig?.hero?.sliders?.length || 0,
49
- });
50
- console.log('[ClothingHomePage] Full LayoutConfig:', JSON.stringify(layoutConfig, null, 2));
51
- console.log('[ClothingHomePage] Editorial config:', layoutConfig?.sections?.marketing?.editorial);
52
- }
41
+ }, [categories, isPreview]); // Added categories and isPreview to deps
42
+ // ... rest of the component logic ...
53
43
  // Deduplicate products to avoid key warnings and filter out inactive/deleted products
54
- const uniqueProducts = (storeConfig.products || []).filter((product, index, self) => index === self.findIndex((t) => t.id === product.id));
55
- const products = filterActiveProducts(uniqueProducts);
44
+ const rawProducts = storeConfig.products || [];
45
+ const uniqueProducts = rawProducts.filter((product, index, self) => index === self.findIndex((t) => t.id === product.id));
46
+ const activeProducts = filterActiveProducts(uniqueProducts);
47
+ // Use real active products if available, otherwise if in preview, use all products (including drafts),
48
+ // and if still none, use mock data
49
+ const products = activeProducts.length > 0
50
+ ? activeProducts
51
+ : (isPreview && rawProducts.length > 0
52
+ ? rawProducts
53
+ : (isPreview ? [
54
+ { id: 'p1', name: 'Premium Cotton Tee', price: 45, currency: 'USD', images: ['https://images.unsplash.com/photo-1521572267360-ee0c2909d518?q=80&w=800'], slug: 'premium-tee', rating: 4.8, reviewCount: 124 },
55
+ { id: 'p2', name: 'Slim Fit Denim', price: 89, currency: 'USD', images: ['https://images.unsplash.com/photo-1542272604-787c3835535d?q=80&w=800'], slug: 'slim-denim', rating: 4.6, reviewCount: 89 },
56
+ { id: 'p3', name: 'Classic Trench Coat', price: 199, currency: 'USD', images: ['https://images.unsplash.com/photo-1591047139829-d91aecb6caea?q=80&w=800'], slug: 'trench-coat', rating: 4.9, reviewCount: 56, compareAtPrice: 249 },
57
+ { id: 'p4', name: 'Leather Chelsea Boots', price: 159, currency: 'USD', images: ['https://images.unsplash.com/photo-1638247025967-b4e38f787b76?q=80&w=800'], slug: 'chelsea-boots', rating: 4.7, reviewCount: 112 }
58
+ ] : []));
56
59
  // Hero slides data - use new slider structure with fallback to old format
57
60
  // For demo stores, helpers will return fallbacks; for real stores, try layoutConfig first, then helpers
58
61
  const isRealStore = shouldUseAPI(storeConfig.slug);
@@ -1 +1 @@
1
- {"version":3,"file":"ClothingHomePageMinimal.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing-minimal/components/ClothingHomePageMinimal.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAgB,MAAM,0BAA0B,CAAC;AAgBrE,UAAU,4BAA4B;IACpC,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,4BAA4B,2CA2enG"}
1
+ {"version":3,"file":"ClothingHomePageMinimal.d.ts","sourceRoot":"","sources":["../../../../src/layouts/clothing-minimal/components/ClothingHomePageMinimal.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAgB,MAAM,0BAA0B,CAAC;AAgBrE,UAAU,4BAA4B;IACpC,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,4BAA4B,2CAqgBnG"}
@@ -18,8 +18,29 @@ export function ClothingHomePageMinimal({ storeConfig: initialConfig }) {
18
18
  const { store, cart, addToCart, removeFromCart, updateCartQuantity, isCartOpen, setIsCartOpen, cartTotal, cartCount } = useStore();
19
19
  const storeConfig = store || initialConfig;
20
20
  const layoutConfig = storeConfig.layoutConfig;
21
- const categories = storeConfig.categories || [];
22
- const products = filterActiveProducts(storeConfig.products || []);
21
+ // In preview mode, use mock data if none are available
22
+ const isPreview = (typeof window !== 'undefined' && window.__IS_PREVIEW__) || storeConfig.layoutConfig?.isPreview;
23
+ const categories = (storeConfig.categories && storeConfig.categories.length > 0)
24
+ ? storeConfig.categories
25
+ : (isPreview ? [
26
+ { id: 'cat1', name: 'Essentials', slug: 'essentials', image: 'https://images.unsplash.com/photo-1523381210434-271e8be1f52b?q=80&w=800' },
27
+ { id: 'cat2', name: 'Accessories', slug: 'accessories', image: 'https://images.unsplash.com/photo-1523275335684-37898b6baf30?q=80&w=800' },
28
+ { id: 'cat3', name: 'Collections', slug: 'collections', image: 'https://images.unsplash.com/photo-1490481651871-ab68de25d43d?q=80&w=800' }
29
+ ] : []);
30
+ const rawProducts = storeConfig.products || [];
31
+ const activeProducts = filterActiveProducts(rawProducts);
32
+ // Use real active products if available, otherwise if in preview, use all products (including drafts),
33
+ // and if still none, use mock data
34
+ const products = activeProducts.length > 0
35
+ ? activeProducts
36
+ : (isPreview && rawProducts.length > 0
37
+ ? rawProducts
38
+ : (isPreview ? [
39
+ { id: 'p1', name: 'Minimal Tee', price: 40, currency: 'USD', images: ['https://images.unsplash.com/photo-1521572267360-ee0c2909d518?q=80&w=800'], slug: 'minimal-tee' },
40
+ { id: 'p2', name: 'Cotton Shirt', price: 75, currency: 'USD', images: ['https://images.unsplash.com/photo-1596755094514-f87e34085b2c?q=80&w=800'], slug: 'cotton-shirt' },
41
+ { id: 'p3', name: 'Wool Trousers', price: 120, currency: 'USD', images: ['https://images.unsplash.com/photo-1624378439575-d8705ad7ae80?q=80&w=800'], slug: 'wool-trousers' },
42
+ { id: 'p4', name: 'Linen Jacket', price: 180, currency: 'USD', images: ['https://images.unsplash.com/photo-1591047139829-d91aecb6caea?q=80&w=800'], slug: 'linen-jacket' }
43
+ ] : []));
23
44
  const [isMenuOpen, setIsMenuOpen] = useState(false);
24
45
  const [isClient, setIsClient] = useState(false);
25
46
  const [isSearchOpen, setIsSearchOpen] = useState(false);
@@ -1 +1 @@
1
- {"version":3,"file":"ElectronicsHomePage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/electronics/components/ElectronicsHomePage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAgB,MAAM,mBAAmB,CAAC;AAe9D,UAAU,wBAAwB;IAC/B,WAAW,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,wBAAwB,2CAsb3F"}
1
+ {"version":3,"file":"ElectronicsHomePage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/electronics/components/ElectronicsHomePage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAgB,MAAM,mBAAmB,CAAC;AAe9D,UAAU,wBAAwB;IAC/B,WAAW,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,wBAAwB,2CA6c3F"}
@@ -44,10 +44,30 @@ export function ElectronicsHomePage({ storeConfig: initialConfig }) {
44
44
  setEmail('');
45
45
  }
46
46
  };
47
- // Use categories directly from backend - no duplication
48
- const categories = storeConfig.categories || [];
49
- // Use products directly from backend - no duplication, filter out inactive/deleted
50
- const products = filterActiveProducts(storeConfig.products || []);
47
+ // In preview mode, use mock data if none are available
48
+ const isPreview = (typeof window !== 'undefined' && window.__IS_PREVIEW__) || storeConfig.layoutConfig?.isPreview;
49
+ const categories = (storeConfig.categories && storeConfig.categories.length > 0)
50
+ ? storeConfig.categories
51
+ : (isPreview ? [
52
+ { id: 'cat1', name: 'Smartphones', slug: 'phones', image: 'https://images.unsplash.com/photo-1511707171634-5f897ff02aa9?q=80&w=800' },
53
+ { id: 'cat2', name: 'Laptops', slug: 'laptops', image: 'https://images.unsplash.com/photo-1496181133206-80ce9b88a853?q=80&w=800' },
54
+ { id: 'cat3', name: 'Audio', slug: 'audio', image: 'https://images.unsplash.com/photo-1505740420928-5e560c06d30e?q=80&w=800' },
55
+ { id: 'cat4', name: 'Wearables', slug: 'wearables', image: 'https://images.unsplash.com/photo-1523275335684-37898b6baf30?q=80&w=800' }
56
+ ] : []);
57
+ const rawProducts = storeConfig.products || [];
58
+ const activeProducts = filterActiveProducts(rawProducts);
59
+ // Use real active products if available, otherwise if in preview, use all products (including drafts),
60
+ // and if still none, use mock data
61
+ const products = activeProducts.length > 0
62
+ ? activeProducts
63
+ : (isPreview && rawProducts.length > 0
64
+ ? rawProducts
65
+ : (isPreview ? [
66
+ { id: 'p1', name: 'Ultra HD Laptop', price: 1299, currency: 'USD', images: ['https://images.unsplash.com/photo-1496181133206-80ce9b88a853?q=80&w=800'], slug: 'ultra-hd-laptop' },
67
+ { id: 'p2', name: 'Noise Cancelling Headphones', price: 299, currency: 'USD', images: ['https://images.unsplash.com/photo-1505740420928-5e560c06d30e?q=80&w=800'], slug: 'noise-cancelling-headphones' },
68
+ { id: 'p3', name: 'Smart Watch Series X', price: 399, currency: 'USD', images: ['https://images.unsplash.com/photo-1523275335684-37898b6baf30?q=80&w=800'], slug: 'smart-watch' },
69
+ { id: 'p4', name: 'Wireless Earbuds', price: 159, currency: 'USD', images: ['https://images.unsplash.com/photo-1588423771073-b8903fbb85b5?q=80&w=800'], slug: 'wireless-earbuds' }
70
+ ] : []));
51
71
  const targetRef = useRef(null);
52
72
  const { scrollYProgress } = useScroll({
53
73
  target: targetRef,
@@ -1 +1 @@
1
- {"version":3,"file":"ElectronicsHomePageGrid.d.ts","sourceRoot":"","sources":["../../../../src/layouts/electronics-grid/components/ElectronicsHomePageGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAA+B,MAAM,mBAAmB,CAAC;AAmB7E,UAAU,4BAA4B;IACnC,WAAW,EAAE,WAAW,CAAC;CAC3B;AA+ED,wBAAgB,uBAAuB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,4BAA4B,2CAmdnG"}
1
+ {"version":3,"file":"ElectronicsHomePageGrid.d.ts","sourceRoot":"","sources":["../../../../src/layouts/electronics-grid/components/ElectronicsHomePageGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAA+B,MAAM,mBAAmB,CAAC;AAmB7E,UAAU,4BAA4B;IACnC,WAAW,EAAE,WAAW,CAAC;CAC3B;AA+ED,wBAAgB,uBAAuB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,4BAA4B,2CA8enG"}
@@ -21,8 +21,30 @@ export function ElectronicsHomePageGrid({ storeConfig: initialConfig }) {
21
21
  const { store, cart, addToCart, updateCartQuantity, isCartOpen, setIsCartOpen, cartTotal, cartCount, wishlist } = useStore();
22
22
  const storeConfig = store || initialConfig;
23
23
  const layoutConfig = storeConfig.layoutConfig;
24
- const categories = storeConfig.categories || [];
25
- const products = filterActiveProducts(storeConfig.products || []);
24
+ // In preview mode, use mock data if none are available
25
+ const isPreview = (typeof window !== 'undefined' && window.__IS_PREVIEW__) || storeConfig.layoutConfig?.isPreview;
26
+ const categories = (storeConfig.categories && storeConfig.categories.length > 0)
27
+ ? storeConfig.categories
28
+ : (isPreview ? [
29
+ { id: 'cat1', name: 'iPhone', slug: 'iphone', image: 'https://images.unsplash.com/photo-1510557880182-3d4d3cba35a5?q=80&w=800' },
30
+ { id: 'cat2', name: 'MacBook', slug: 'macbook', image: 'https://images.unsplash.com/photo-1517336714731-489689fd1ca8?q=80&w=800' },
31
+ { id: 'cat3', name: 'iPad', slug: 'ipad', image: 'https://images.unsplash.com/photo-1544244015-0df4b3ffc6b0?q=80&w=800' },
32
+ { id: 'cat4', name: 'Accessories', slug: 'accessories', image: 'https://images.unsplash.com/photo-1523275335684-37898b6baf30?q=80&w=800' }
33
+ ] : []);
34
+ const rawProducts = storeConfig.products || [];
35
+ const activeProducts = filterActiveProducts(rawProducts);
36
+ // Use real active products if available, otherwise if in preview, use all products (including drafts),
37
+ // and if still none, use mock data
38
+ const products = activeProducts.length > 0
39
+ ? activeProducts
40
+ : (isPreview && rawProducts.length > 0
41
+ ? rawProducts
42
+ : (isPreview ? [
43
+ { id: 'p1', name: 'iPhone 15 Pro', price: 999, currency: 'USD', images: ['https://images.unsplash.com/photo-1510557880182-3d4d3cba35a5?q=80&w=800'], slug: 'iphone-15-pro', rating: 4.9, reviewCount: 1240, description: 'The ultimate iPhone.', categoryId: 'cat1', inStock: true },
44
+ { id: 'p2', name: 'MacBook Air M2', price: 1199, currency: 'USD', images: ['https://images.unsplash.com/photo-1517336714731-489689fd1ca8?q=80&w=800'], slug: 'macbook-air-m2', rating: 4.8, reviewCount: 850, description: 'Supercharged by M2.', categoryId: 'cat2', inStock: true },
45
+ { id: 'p3', name: 'iPad Pro 12.9"', price: 1099, currency: 'USD', images: ['https://images.unsplash.com/photo-1544244015-0df4b3ffc6b0?q=80&w=800'], slug: 'ipad-pro', rating: 4.9, reviewCount: 620, description: 'The ultimate iPad experience.', categoryId: 'cat3', inStock: true },
46
+ { id: 'p4', name: 'AirPods Pro 2', price: 249, currency: 'USD', images: ['https://images.unsplash.com/photo-1588423771073-b8903fbb85b5?q=80&w=800'], slug: 'airpods-pro', rating: 4.7, reviewCount: 2100, description: 'Magic like you’ve never heard.', categoryId: 'cat4', inStock: true }
47
+ ] : []));
26
48
  const wishlistCount = wishlist.length;
27
49
  const [searchQuery, setSearchQuery] = useState('');
28
50
  const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);
@@ -1 +1 @@
1
- {"version":3,"file":"FoodHomePage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/food/components/FoodHomePage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAiB,MAAM,mBAAmB,CAAC;AAc/D,UAAU,iBAAiB;IACzB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,YAAY,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,iBAAiB,2CAohC7E"}
1
+ {"version":3,"file":"FoodHomePage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/food/components/FoodHomePage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAiB,MAAM,mBAAmB,CAAC;AAc/D,UAAU,iBAAiB;IACzB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,wBAAgB,YAAY,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,iBAAiB,2CA2jC7E"}
@@ -14,8 +14,44 @@ import { TestimonialCard } from '../../shared/components/TestimonialCard';
14
14
  export function FoodHomePage({ storeConfig: initialConfig }) {
15
15
  const { store, addToCart } = useStore();
16
16
  const storeConfig = store || initialConfig;
17
- const categories = storeConfig.categories || [];
18
- const menuItems = storeConfig.menuItems || [];
17
+ // In preview mode, use mock items if none are available
18
+ const isPreview = (typeof window !== 'undefined' && window.__IS_PREVIEW__) || storeConfig.layoutConfig?.isPreview;
19
+ const categories = (storeConfig.categories && storeConfig.categories.length > 0)
20
+ ? storeConfig.categories
21
+ : (isPreview ? [
22
+ { id: 'cat1', name: 'Appetizers', slug: 'appetizers' },
23
+ { id: 'cat2', name: 'Main Courses', slug: 'main-courses' },
24
+ { id: 'cat3', name: 'Desserts', slug: 'desserts' },
25
+ { id: 'cat4', name: 'Beverages', slug: 'beverages' }
26
+ ] : []);
27
+ const menuItems = (storeConfig.menuItems && storeConfig.menuItems.length > 0)
28
+ ? storeConfig.menuItems
29
+ : (isPreview ? [
30
+ {
31
+ id: 'item1',
32
+ name: 'Classic Burger',
33
+ description: 'Juicy beef patty with fresh lettuce, tomato, and special sauce',
34
+ price: 12.99,
35
+ categoryId: 'cat2',
36
+ image: 'https://images.unsplash.com/photo-1568901346375-23c9450c58cd?w=800&h=600&fit=crop&q=80',
37
+ },
38
+ {
39
+ id: 'item2',
40
+ name: 'Caesar Salad',
41
+ description: 'Fresh romaine lettuce with parmesan, croutons, and caesar dressing',
42
+ price: 9.99,
43
+ categoryId: 'cat1',
44
+ image: 'https://images.unsplash.com/photo-1546793665-c74683f339c1?w=800&h=600&fit=crop&q=80',
45
+ },
46
+ {
47
+ id: 'item3',
48
+ name: 'Grilled Salmon',
49
+ description: 'Fresh Atlantic salmon with lemon butter sauce and seasonal vegetables',
50
+ price: 18.99,
51
+ categoryId: 'cat2',
52
+ image: 'https://images.unsplash.com/photo-1467003909585-2f8a72700288?w=800&h=600&fit=crop&q=80',
53
+ },
54
+ ] : []);
19
55
  const { addToast } = useToast();
20
56
  const [newsletterEmail, setNewsletterEmail] = useState('');
21
57
  const handleAddToCart = (item) => {
@@ -1 +1 @@
1
- {"version":3,"file":"FoodHomePageModern.d.ts","sourceRoot":"","sources":["../../../../src/layouts/food-modern/components/FoodHomePageModern.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAgB,MAAM,mBAAmB,CAAC;AAgB9D,UAAU,uBAAuB;IAC9B,WAAW,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,kBAAkB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,uBAAuB,2CAkrBzF"}
1
+ {"version":3,"file":"FoodHomePageModern.d.ts","sourceRoot":"","sources":["../../../../src/layouts/food-modern/components/FoodHomePageModern.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAgB,MAAM,mBAAmB,CAAC;AAgB9D,UAAU,uBAAuB;IAC9B,WAAW,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,kBAAkB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,uBAAuB,2CAktBzF"}
@@ -17,8 +17,37 @@ import { PromoBanner } from '../../shared/components/PromoBanner';
17
17
  export function FoodHomePageModern({ storeConfig: initialConfig }) {
18
18
  const { store, addToCart } = useStore();
19
19
  const storeConfig = store || initialConfig;
20
- const categories = storeConfig.categories || [];
21
- const menuItems = storeConfig.menuItems || [];
20
+ // In preview mode, use mock items if none are available
21
+ const isPreview = (typeof window !== 'undefined' && window.__IS_PREVIEW__) || storeConfig.layoutConfig?.isPreview;
22
+ const categories = (storeConfig.categories && storeConfig.categories.length > 0)
23
+ ? storeConfig.categories
24
+ : (isPreview ? [
25
+ { id: 'cat1', name: 'Starters', slug: 'starters' },
26
+ { id: 'cat2', name: 'Mains', slug: 'mains' },
27
+ { id: 'cat3', name: 'Desserts', slug: 'desserts' }
28
+ ] : []);
29
+ const menuItems = (storeConfig.menuItems && storeConfig.menuItems.length > 0)
30
+ ? storeConfig.menuItems
31
+ : (isPreview ? [
32
+ {
33
+ id: 'item1',
34
+ name: 'Truffle Burger',
35
+ description: 'Wagyu beef patty with black truffle sauce and brie cheese',
36
+ price: 24.99,
37
+ categoryId: 'cat2',
38
+ image: 'https://images.unsplash.com/photo-1568901346375-23c9450c58cd?w=800&h=600&fit=crop&q=80',
39
+ inStock: true
40
+ },
41
+ {
42
+ id: 'item2',
43
+ name: 'Seared Scallops',
44
+ description: 'Pan-seared scallops with cauliflower puree',
45
+ price: 18.99,
46
+ categoryId: 'cat1',
47
+ image: 'https://images.unsplash.com/photo-1546793665-c74683f339c1?w=800&h=600&fit=crop&q=80',
48
+ inStock: true
49
+ },
50
+ ] : []);
22
51
  const layoutConfig = storeConfig.layoutConfig;
23
52
  const { addToast } = useToast();
24
53
  const [scrolled, setScrolled] = useState(false);
@@ -1 +1 @@
1
- {"version":3,"file":"MotivationalHomePage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/motivational-speaker/components/MotivationalHomePage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAahD,UAAU,yBAAyB;IAC/B,WAAW,EAAE,WAAW,CAAC;CAC5B;AAED,wBAAgB,oBAAoB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,yBAAyB,2CAgpB7F"}
1
+ {"version":3,"file":"MotivationalHomePage.d.ts","sourceRoot":"","sources":["../../../../src/layouts/motivational-speaker/components/MotivationalHomePage.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAahD,UAAU,yBAAyB;IAC/B,WAAW,EAAE,WAAW,CAAC;CAC5B;AAED,wBAAgB,oBAAoB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,yBAAyB,2CAkqB7F"}
@@ -16,7 +16,21 @@ export function MotivationalHomePage({ storeConfig: initialConfig }) {
16
16
  const storeConfig = store || initialConfig;
17
17
  const { isAuthenticated } = useAuth();
18
18
  const { showAlert } = useAlertModal();
19
- const contentItems = filterActiveServices(storeConfig.services || []);
19
+ // In preview mode, use mock content if none are available
20
+ const isPreview = (typeof window !== 'undefined' && window.__IS_PREVIEW__) || storeConfig.layoutConfig?.isPreview;
21
+ const rawContent = storeConfig.services || [];
22
+ const activeContent = filterActiveServices(rawContent);
23
+ // Use real active content if available, otherwise if in preview, use all content (including drafts),
24
+ // and if still none, use mock data
25
+ const contentItems = activeContent.length > 0
26
+ ? activeContent
27
+ : (isPreview && rawContent.length > 0
28
+ ? rawContent
29
+ : (isPreview ? [
30
+ { id: 'mock-1', name: 'Peak Performance Mindset', description: 'Master your internal state and achieve unstoppable focus in any situation.', price: 199, currency: 'USD', status: 'active', image: 'https://images.unsplash.com/photo-1552664730-d307ca884978?w=800', slug: 'peak-performance', contentType: 'video' },
31
+ { id: 'mock-2', name: 'Strategic Resilience', description: 'Build the emotional and mental strength to navigate complex challenges with ease.', price: 149, currency: 'USD', status: 'active', image: 'https://images.unsplash.com/photo-1516321318423-f06f85e504b3?w=800', slug: 'strategic-resilience', contentType: 'audio' },
32
+ { id: 'mock-3', name: 'Leadership Blueprint', description: 'The comprehensive guide to leading with impact, authenticity, and clear vision.', price: 0, currency: 'USD', status: 'active', image: 'https://images.unsplash.com/photo-1475721027785-f74ec0f711b1?w=800', slug: 'leadership-blueprint', contentType: 'pdf' }
33
+ ] : []));
20
34
  const primaryColor = storeConfig.branding.primaryColor || '#0F172A';
21
35
  const layoutConfig = storeConfig.layoutConfig;
22
36
  const [email, setEmail] = useState('');
@@ -1 +1 @@
1
- {"version":3,"file":"preview-data.d.ts","sourceRoot":"","sources":["../../src/lib/preview-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;;;GASG;AAEH;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,WAAW,CAgShD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,WAAW,CA2XpD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,CAoKnD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,WAAW,CA+JtD;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,WAAW,CA4O3D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,WAAW,CA2JzD;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,WAAW,CAme3D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,WAAW,CAiSvD;AAED;;GAEG;AACH,wBAAgB,iCAAiC,IAAI,WAAW,CAiP/D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAuBzE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqBvE"}
1
+ {"version":3,"file":"preview-data.d.ts","sourceRoot":"","sources":["../../src/lib/preview-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;;;GASG;AAEH;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,WAAW,CAgShD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,WAAW,CA2XpD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,CAoKnD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,WAAW,CA+JtD;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,WAAW,CA4O3D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,WAAW,CA2JzD;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,WAAW,CAme3D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,WAAW,CAiSvD;AAED;;GAEG;AACH,wBAAgB,iCAAiC,IAAI,WAAW,CAiP/D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAkCzE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqBvE"}
@@ -2442,24 +2442,34 @@ export function getMotivationalSpeakerPreviewData() {
2442
2442
  * Helper function to get preview data by layout type
2443
2443
  */
2444
2444
  export function getPreviewDataByLayout(layout) {
2445
- switch (layout) {
2445
+ const normalizedLayout = String(layout).trim().toLowerCase();
2446
+ switch (normalizedLayout) {
2446
2447
  case 'food':
2448
+ case 'savory-bites':
2447
2449
  return getFoodPreviewData();
2448
2450
  case 'food-modern':
2451
+ case 'modern-eats':
2449
2452
  return getFoodModernPreviewData();
2450
2453
  case 'clothing':
2454
+ case 'fashion-hub':
2451
2455
  return getClothingPreviewData();
2452
2456
  case 'clothing-minimal':
2457
+ case 'minimal-style':
2458
+ case 'fashion-minimal':
2453
2459
  return getClothingMinimalPreviewData();
2454
2460
  case 'booking':
2461
+ case 'urban-retreat':
2455
2462
  return getBookingPreviewData();
2456
2463
  case 'booking-agenda':
2464
+ case 'agenda-book':
2457
2465
  return getBookingAgendaPreviewData();
2458
2466
  case 'electronics':
2459
2467
  return getElectronicsPreviewData();
2460
2468
  case 'electronics-grid':
2469
+ case 'grid-tech':
2461
2470
  return getElectronicsGridPreviewData();
2462
2471
  case 'motivational-speaker':
2472
+ case 'mindset-mastery':
2463
2473
  return getMotivationalSpeakerPreviewData();
2464
2474
  default:
2465
2475
  return null;
@@ -298,6 +298,7 @@ export interface BenefitItem {
298
298
  order: number;
299
299
  }
300
300
  export interface StoreLayoutConfig {
301
+ isPreview?: boolean;
301
302
  hero?: {
302
303
  show: boolean;
303
304
  showCTA?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"store-types.d.ts","sourceRoot":"","sources":["../../src/lib/store-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-types.d.ts","sourceRoot":"","sources":["../../src/lib/store-types.ts"],"names":[],"mappings":"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"}
@@ -2755,6 +2755,12 @@
2755
2755
  .bg-primary {
2756
2756
  background-color: var(--primary);
2757
2757
  }
2758
+ .bg-primary\/5 {
2759
+ background-color: var(--primary);
2760
+ @supports (color: color-mix(in lab, red, red)) {
2761
+ background-color: color-mix(in oklab, var(--primary) 5%, transparent);
2762
+ }
2763
+ }
2758
2764
  .bg-purple-50 {
2759
2765
  background-color: var(--color-purple-50);
2760
2766
  }
@@ -4608,6 +4614,9 @@
4608
4614
  .ring-gray-900 {
4609
4615
  --tw-ring-color: var(--color-gray-900);
4610
4616
  }
4617
+ .ring-primary {
4618
+ --tw-ring-color: var(--primary);
4619
+ }
4611
4620
  .ring-red-500 {
4612
4621
  --tw-ring-color: var(--color-red-500);
4613
4622
  }
@@ -4880,6 +4889,9 @@
4880
4889
  .fade-in {
4881
4890
  --tw-enter-opacity: 0;
4882
4891
  }
4892
+ .ring-inset {
4893
+ --tw-ring-inset: inset;
4894
+ }
4883
4895
  .slide-in-from-bottom-4 {
4884
4896
  --tw-enter-translate-y: calc(4*var(--spacing));
4885
4897
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payaza-storefront-layouts",
3
- "version": "1.0.38",
3
+ "version": "1.0.39",
4
4
  "type": "module",
5
5
  "description": "Shared layout components for StoreFront applications",
6
6
  "main": "dist/index.js",