feat(ux): implement sprint 11 user experience module

This commit is contained in:
sdarbinyan
2026-07-09 01:13:54 +04:00
parent 1a8f916942
commit 92e1bdaff8
59 changed files with 2062 additions and 25 deletions

View File

@@ -14,6 +14,7 @@ import { SeoConfig } from './seo.model';
import { StaticPagesConfig } from './static-page.model';
import { TenantConfig } from './tenant.model';
import { ThemeConfig } from './theme.model';
import { UserExperienceConfig } from './user-experience-config.model';
import { WidgetRegistryConfig } from './widget-registry.model';
export interface BootstrapConfig {
@@ -33,6 +34,7 @@ export interface BootstrapConfig {
navigation: NavigationConfig;
footer?: FooterConfig;
productPage?: ProductPageConfig;
userExperience?: UserExperienceConfig;
pages: PageConfig[];
staticPages?: StaticPagesConfig;
widgetRegistry?: WidgetRegistryConfig;

View File

@@ -16,5 +16,6 @@ export * from './seo.model';
export * from './static-page.model';
export * from './tenant.model';
export * from './theme.model';
export * from './user-experience-config.model';
export * from './widget.model';
export * from './widget-registry.model';

View File

@@ -0,0 +1,67 @@
export interface WishlistFeatureConfig {
enabled?: boolean;
headerBadgeEnabled?: boolean;
}
export interface CompareFeatureConfig {
enabled?: boolean;
maxItems?: number;
hideIdenticalDefault?: boolean;
highlightDifferencesDefault?: boolean;
}
export interface RecentlyViewedFeatureConfig {
enabled?: boolean;
maxItems?: number;
widgetEnabled?: boolean;
}
export interface ShareFeatureConfig {
enabled?: boolean;
}
export interface ContinueBrowsingFeatureConfig {
enabled?: boolean;
}
export interface SavedSearchesFeatureConfig {
enabled?: boolean;
maxItems?: number;
}
export interface UserExperienceConfig {
wishlist?: WishlistFeatureConfig;
compare?: CompareFeatureConfig;
recentlyViewed?: RecentlyViewedFeatureConfig;
share?: ShareFeatureConfig;
continueBrowsing?: ContinueBrowsingFeatureConfig;
savedSearches?: SavedSearchesFeatureConfig;
}
export const DEFAULT_USER_EXPERIENCE_CONFIG: Required<UserExperienceConfig> = {
wishlist: {
enabled: true,
headerBadgeEnabled: true
},
compare: {
enabled: true,
maxItems: 4,
hideIdenticalDefault: false,
highlightDifferencesDefault: true
},
recentlyViewed: {
enabled: true,
maxItems: 12,
widgetEnabled: true
},
share: {
enabled: true
},
continueBrowsing: {
enabled: true
},
savedSearches: {
enabled: true,
maxItems: 10
}
};