shared-features 0.0.8 → 0.1.1

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 (91) hide show
  1. package/README.md +205 -2
  2. package/dist/{admin-notifications-D9n9h-eY.cjs → admin-notifications-CLzQc8zF.cjs} +20 -20
  3. package/dist/{admin-notifications-D9n9h-eY.cjs.map → admin-notifications-CLzQc8zF.cjs.map} +1 -1
  4. package/dist/{admin-notifications-p1dy3zIP.js → admin-notifications-C_7ReIMi.js} +13 -13
  5. package/dist/{admin-notifications-p1dy3zIP.js.map → admin-notifications-C_7ReIMi.js.map} +1 -1
  6. package/dist/{broadcasts-3_WfQMNL.cjs → broadcasts-6w_9X92Z.cjs} +10 -10
  7. package/dist/{broadcasts-3_WfQMNL.cjs.map → broadcasts-6w_9X92Z.cjs.map} +1 -1
  8. package/dist/{broadcasts-DgZUzqMf.js → broadcasts-CK4sGMz4.js} +12 -12
  9. package/dist/{broadcasts-DgZUzqMf.js.map → broadcasts-CK4sGMz4.js.map} +1 -1
  10. package/dist/commonFeatures-CaqcEOik.js +1255 -0
  11. package/dist/commonFeatures-CaqcEOik.js.map +1 -0
  12. package/dist/commonFeatures-DhWaBEv_.cjs +222 -0
  13. package/dist/commonFeatures-DhWaBEv_.cjs.map +1 -0
  14. package/dist/commonFeatures-XJ9fuxg_.js +223 -0
  15. package/dist/commonFeatures-XJ9fuxg_.js.map +1 -0
  16. package/dist/commonFeatures-ofZOjnZ0.cjs +1276 -0
  17. package/dist/commonFeatures-ofZOjnZ0.cjs.map +1 -0
  18. package/dist/components/common/index.d.ts +60 -0
  19. package/dist/components/common/index.d.ts.map +1 -0
  20. package/dist/components/index.cjs +31 -23
  21. package/dist/components/index.cjs.map +1 -1
  22. package/dist/components/index.d.ts +1 -0
  23. package/dist/components/index.d.ts.map +1 -1
  24. package/dist/components/index.js +21 -13
  25. package/dist/firebase/config.d.ts +34 -0
  26. package/dist/firebase/config.d.ts.map +1 -1
  27. package/dist/hooks/index.cjs +26 -13
  28. package/dist/hooks/index.cjs.map +1 -1
  29. package/dist/hooks/index.d.ts +2 -0
  30. package/dist/hooks/index.d.ts.map +1 -1
  31. package/dist/hooks/index.js +24 -11
  32. package/dist/hooks/useCommonFeatures.d.ts +102 -0
  33. package/dist/hooks/useCommonFeatures.d.ts.map +1 -0
  34. package/dist/hooks/useFeatureFlags.d.ts +134 -0
  35. package/dist/hooks/useFeatureFlags.d.ts.map +1 -0
  36. package/dist/{AnnouncementModal-sxH4K5gy.js → index-BeNmzbTD.js} +212 -17
  37. package/dist/index-BeNmzbTD.js.map +1 -0
  38. package/dist/{AnnouncementModal-Bqy0pn3V.cjs → index-DB40ObYe.cjs} +209 -14
  39. package/dist/index-DB40ObYe.cjs.map +1 -0
  40. package/dist/index.cjs +127 -60
  41. package/dist/index.cjs.map +1 -1
  42. package/dist/index.d.ts +10 -5
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +175 -108
  45. package/dist/index.js.map +1 -1
  46. package/dist/notifications/index.js +14 -14
  47. package/dist/services/commonFeatures.d.ts +25 -0
  48. package/dist/services/commonFeatures.d.ts.map +1 -0
  49. package/dist/services/featureFlags.d.ts +71 -0
  50. package/dist/services/featureFlags.d.ts.map +1 -0
  51. package/dist/services/index.cjs +49 -17
  52. package/dist/services/index.cjs.map +1 -1
  53. package/dist/services/index.d.ts +2 -0
  54. package/dist/services/index.d.ts.map +1 -1
  55. package/dist/services/index.js +75 -43
  56. package/dist/services/index.js.map +1 -1
  57. package/dist/types/commonFeatures.d.ts +232 -0
  58. package/dist/types/commonFeatures.d.ts.map +1 -0
  59. package/dist/types/featureFlags.d.ts +203 -0
  60. package/dist/types/featureFlags.d.ts.map +1 -0
  61. package/dist/types/index.cjs +17 -0
  62. package/dist/types/index.cjs.map +1 -1
  63. package/dist/types/index.d.ts +3 -1
  64. package/dist/types/index.d.ts.map +1 -1
  65. package/dist/types/index.js +17 -0
  66. package/dist/types/index.js.map +1 -1
  67. package/dist/useCommonFeatures-0EU_VRqi.cjs +488 -0
  68. package/dist/useCommonFeatures-0EU_VRqi.cjs.map +1 -0
  69. package/dist/useCommonFeatures-DP2YyB7m.js +489 -0
  70. package/dist/useCommonFeatures-DP2YyB7m.js.map +1 -0
  71. package/dist/useFeatureFlags-DHnOm0sA.js +368 -0
  72. package/dist/useFeatureFlags-DHnOm0sA.js.map +1 -0
  73. package/dist/useFeatureFlags-DRR1r3rt.cjs +367 -0
  74. package/dist/useFeatureFlags-DRR1r3rt.cjs.map +1 -0
  75. package/dist/{useNotificationEvents-D8DVxah1.js → useNotificationEvents-DAmR7FYF.js} +14 -14
  76. package/dist/{useNotificationEvents-D8DVxah1.js.map → useNotificationEvents-DAmR7FYF.js.map} +1 -1
  77. package/package.json +15 -8
  78. package/dist/AnnouncementModal-Bqy0pn3V.cjs.map +0 -1
  79. package/dist/AnnouncementModal-sxH4K5gy.js.map +0 -1
  80. package/dist/analytics-40-S_fHC.js +0 -440
  81. package/dist/analytics-40-S_fHC.js.map +0 -1
  82. package/dist/analytics-lEzOx2vl.cjs +0 -461
  83. package/dist/analytics-lEzOx2vl.cjs.map +0 -1
  84. package/dist/useBroadcasts-DzpCcbC8.js +0 -161
  85. package/dist/useBroadcasts-DzpCcbC8.js.map +0 -1
  86. package/dist/useBroadcasts-FP6ZrcY_.cjs +0 -160
  87. package/dist/useBroadcasts-FP6ZrcY_.cjs.map +0 -1
  88. package/dist/useCampaigns-BOZ9dDsG.cjs +0 -152
  89. package/dist/useCampaigns-BOZ9dDsG.cjs.map +0 -1
  90. package/dist/useCampaigns-D46b9zuf.js +0 -153
  91. package/dist/useCampaigns-D46b9zuf.js.map +0 -1
@@ -1,51 +1,83 @@
1
- import { m, n, h, f, k, j, u, s, l, q, r, o, p, t } from "../analytics-40-S_fHC.js";
2
- import { j as j2, h as h2, e, a, f as f2, b, g, i, r as r2, s as s2, c, d, t as t2 } from "../broadcasts-DgZUzqMf.js";
3
- import { a as a2, c as c2, h as h3, d as d2, j as j3, f as f3, g as g2, k as k2, n as n2, b as b2, m as m2, o as o2, l as l2, e as e2, p as p2, s as s3, u as u2, i as i2 } from "../admin-notifications-p1dy3zIP.js";
1
+ import { c, a, b, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, D, E, F, J, L, M, N, P, Q, R, S, T, U, V, W, X } from "../commonFeatures-CaqcEOik.js";
2
+ import { c as c2, a as a2, d as d2, f as f2, b as b2, e as e2, g as g2, i as i2, r as r2, s as s2, t as t2, h as h2, j as j2 } from "../broadcasts-CK4sGMz4.js";
3
+ import { a as a3, c as c3, b as b3, d as d3, e as e3, f as f3, g as g3, h as h3, i as i3, j as j3, k as k2, l as l2, m as m2, p as p2, n as n2, s as s3, u as u2, o as o2 } from "../admin-notifications-C_7ReIMi.js";
4
+ import { C, F as F2 } from "../commonFeatures-XJ9fuxg_.js";
4
5
  export {
5
- a2 as adminNotificationService,
6
- j2 as clearBroadcastsCache,
7
- m as clearCampaignsCache,
8
- h2 as clearDismissedBroadcasts,
9
- n as clearProductsCache,
10
- c2 as createBroadcast,
11
- h3 as createTemplate,
12
- d2 as deleteBroadcast,
13
- j3 as deleteTemplate,
14
- e as dismissBroadcast,
6
+ C as COLLECTION_FEATURE_FLAGS,
7
+ F2 as FEATURE_FLAGS_DOC_ID,
8
+ a3 as adminNotificationService,
9
+ c as checkFeatureAvailability,
10
+ a as clearAddressInfoCache,
11
+ b as clearAllCommonFeaturesCache,
12
+ c2 as clearBroadcastsCache,
13
+ d as clearCampaignsCache,
14
+ e as clearContactInfoCache,
15
+ f as clearDeveloperInfoCache,
16
+ a2 as clearDismissedBroadcasts,
17
+ g as clearFeatureFlagsCache,
18
+ h as clearPaymentOptionsCache,
19
+ i as clearProductsCache,
20
+ j as clearServicesCache,
21
+ k as clearSkillsCache,
22
+ l as clearSocialLinksCache,
23
+ m as clearTestimonialsCache,
24
+ c3 as createBroadcast,
25
+ b3 as createTemplate,
26
+ d3 as deleteBroadcast,
27
+ e3 as deleteTemplate,
28
+ d2 as dismissBroadcast,
15
29
  f3 as endBroadcast,
16
- a as fetchActiveBroadcasts,
17
- h as fetchActiveCampaigns,
18
- f2 as fetchBroadcasts,
19
- b as fetchBroadcastsByVariant,
20
- f as fetchCampaigns,
21
- k as fetchProducts,
22
- g2 as getAllBroadcasts,
23
- k2 as getAllTemplates,
24
- n2 as getBroadcastAnalytics,
25
- g as getBroadcastById,
26
- b2 as getBroadcastsByStatus,
27
- j as getCampaignById,
28
- u as getCampaignHistory,
29
- s as getEligibleCampaignIds,
30
- m2 as getFirestoreTemplateByEventType,
31
- o2 as getOverallAnalytics,
32
- l as getProductById,
33
- l2 as getTemplateById,
34
- i as isBroadcastDismissed,
35
- q as isEligibleForCampaign,
36
- e2 as pauseBroadcast,
37
- p2 as publishBroadcast,
30
+ f2 as fetchActiveBroadcasts,
31
+ n as fetchActiveCampaigns,
32
+ o as fetchAddressInfo,
33
+ b2 as fetchBroadcasts,
34
+ e2 as fetchBroadcastsByVariant,
35
+ p as fetchCampaigns,
36
+ q as fetchContactInfo,
37
+ r as fetchDeveloperInfo,
38
+ s as fetchFeatureFlags,
39
+ t as fetchPaymentOptions,
40
+ u as fetchProducts,
41
+ v as fetchServices,
42
+ w as fetchSkills,
43
+ x as fetchSocialLinks,
44
+ y as fetchTestimonials,
45
+ g3 as getAllBroadcasts,
46
+ h3 as getAllTemplates,
47
+ i3 as getBroadcastAnalytics,
48
+ g2 as getBroadcastById,
49
+ j3 as getBroadcastsByStatus,
50
+ z as getCampaignById,
51
+ A as getCampaignHistory,
52
+ D as getEligibleCampaignIds,
53
+ E as getFeatureVersion,
54
+ k2 as getFirestoreTemplateByEventType,
55
+ l2 as getOverallAnalytics,
56
+ F as getProductById,
57
+ J as getSharedFeaturesStatus,
58
+ m2 as getTemplateById,
59
+ L as initializeFeatureFlags,
60
+ i2 as isBroadcastDismissed,
61
+ M as isEligibleForCampaign,
62
+ N as isFeatureEnabled,
63
+ p2 as pauseBroadcast,
64
+ n2 as publishBroadcast,
38
65
  r2 as recordBroadcastEvent,
39
- r as recordImpression,
66
+ P as recordImpression,
40
67
  s3 as scheduleBroadcast,
41
68
  s2 as subscribeToBroadcasts,
42
- c as trackBroadcastClick,
43
- d as trackBroadcastDismiss,
44
- t2 as trackBroadcastImpression,
45
- o as trackClick,
46
- p as trackClose,
47
- t as trackImpression,
69
+ Q as subscribeToContactInfo,
70
+ R as subscribeToDeveloperInfo,
71
+ S as subscribeToFeatureFlags,
72
+ t2 as trackBroadcastClick,
73
+ h2 as trackBroadcastDismiss,
74
+ j2 as trackBroadcastImpression,
75
+ T as trackClick,
76
+ U as trackClose,
77
+ V as trackImpression,
48
78
  u2 as updateBroadcast,
49
- i2 as updateTemplate
79
+ W as updateFeatureConfig,
80
+ X as updateGlobalFlags,
81
+ o2 as updateTemplate
50
82
  };
51
83
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,232 @@
1
+ import { Timestamp } from 'firebase/firestore';
2
+ export declare const COMMON_FEATURE_COLLECTIONS: {
3
+ readonly CONTACT_INFO: "zaions_contact_info";
4
+ readonly DEVELOPER_INFO: "zaions_developer_info";
5
+ readonly SOCIAL_LINKS: "zaions_social_links";
6
+ readonly ADDRESS_INFO: "zaions_address_info";
7
+ readonly PAYMENT_OPTIONS: "zaions_payment_options";
8
+ readonly SERVICES: "zaions_services";
9
+ readonly SKILLS: "zaions_skills";
10
+ readonly TESTIMONIALS: "zaions_testimonials";
11
+ readonly PROJECTS: "zaions_projects";
12
+ };
13
+ export interface ContactInfo {
14
+ id: string;
15
+ email: string;
16
+ supportEmail?: string;
17
+ phone?: string;
18
+ whatsapp?: string;
19
+ telegram?: string;
20
+ skype?: string;
21
+ freelanceAvailable: boolean;
22
+ workingHours?: string;
23
+ timezone?: string;
24
+ preferredContact?: 'email' | 'phone' | 'whatsapp' | 'telegram';
25
+ responseTime?: string;
26
+ updatedAt: Timestamp;
27
+ }
28
+ export declare const DEFAULT_CONTACT_INFO: Omit<ContactInfo, 'id' | 'updatedAt'>;
29
+ export interface DeveloperInfo {
30
+ id: string;
31
+ name: string;
32
+ title: string;
33
+ tagline?: string;
34
+ bio: string;
35
+ shortBio?: string;
36
+ avatar?: string;
37
+ website?: string;
38
+ github?: string;
39
+ linkedin?: string;
40
+ twitter?: string;
41
+ yearsOfExperience?: number;
42
+ location?: string;
43
+ availableForHire: boolean;
44
+ resumeUrl?: string;
45
+ updatedAt: Timestamp;
46
+ }
47
+ export declare const DEFAULT_DEVELOPER_INFO: Omit<DeveloperInfo, 'id' | 'updatedAt'>;
48
+ export type SocialPlatform = 'github' | 'linkedin' | 'twitter' | 'facebook' | 'instagram' | 'youtube' | 'tiktok' | 'discord' | 'telegram' | 'whatsapp' | 'medium' | 'devto' | 'stackoverflow' | 'dribbble' | 'behance' | 'codepen' | 'npm' | 'website' | 'email' | 'other';
49
+ export declare const SOCIAL_PLATFORM_NAMES: Record<SocialPlatform, string>;
50
+ export interface SocialLink {
51
+ id: string;
52
+ platform: SocialPlatform;
53
+ url: string;
54
+ displayName?: string;
55
+ username?: string;
56
+ icon?: string;
57
+ order: number;
58
+ isActive: boolean;
59
+ showIn: ('footer' | 'contact' | 'about' | 'header')[];
60
+ updatedAt: Timestamp;
61
+ }
62
+ export interface AddressInfo {
63
+ id: string;
64
+ label?: string;
65
+ streetAddress?: string;
66
+ city?: string;
67
+ state?: string;
68
+ postalCode?: string;
69
+ country?: string;
70
+ fullAddress?: string;
71
+ googleMapsUrl?: string;
72
+ isPublic: boolean;
73
+ updatedAt: Timestamp;
74
+ }
75
+ export declare const DEFAULT_ADDRESS_INFO: Omit<AddressInfo, 'id' | 'updatedAt'>;
76
+ export type PaymentType = 'bank' | 'paypal' | 'stripe' | 'wise' | 'crypto' | 'upi' | 'venmo' | 'cashapp' | 'other';
77
+ export declare const PAYMENT_TYPE_NAMES: Record<PaymentType, string>;
78
+ export interface BankDetails {
79
+ bankName: string;
80
+ accountName: string;
81
+ accountNumber: string;
82
+ routingNumber?: string;
83
+ swiftCode?: string;
84
+ iban?: string;
85
+ branch?: string;
86
+ }
87
+ export interface CryptoDetails {
88
+ currency: string;
89
+ walletAddress: string;
90
+ network?: string;
91
+ }
92
+ export interface PaymentOption {
93
+ id: string;
94
+ type: PaymentType;
95
+ name: string;
96
+ description?: string;
97
+ icon?: string;
98
+ details: BankDetails | CryptoDetails | Record<string, string>;
99
+ isActive: boolean;
100
+ isPrimary: boolean;
101
+ order: number;
102
+ updatedAt: Timestamp;
103
+ }
104
+ export type ServiceCategory = 'web-development' | 'mobile-development' | 'backend-development' | 'devops' | 'consulting' | 'ui-ux-design' | 'api-development' | 'database' | 'cloud' | 'security' | 'other';
105
+ export declare const SERVICE_CATEGORY_NAMES: Record<ServiceCategory, string>;
106
+ export interface Service {
107
+ id: string;
108
+ title: string;
109
+ description: string;
110
+ shortDescription?: string;
111
+ category: ServiceCategory;
112
+ icon?: string;
113
+ features?: string[];
114
+ technologies?: string[];
115
+ priceRange?: string;
116
+ isActive: boolean;
117
+ isFeatured: boolean;
118
+ order: number;
119
+ updatedAt: Timestamp;
120
+ }
121
+ export type SkillCategory = 'frontend' | 'backend' | 'mobile' | 'database' | 'devops' | 'cloud' | 'tools' | 'languages' | 'frameworks' | 'soft-skills' | 'other';
122
+ export declare const SKILL_CATEGORY_NAMES: Record<SkillCategory, string>;
123
+ export type SkillLevel = 'beginner' | 'intermediate' | 'advanced' | 'expert';
124
+ export declare const SKILL_LEVEL_NAMES: Record<SkillLevel, string>;
125
+ export interface Skill {
126
+ id: string;
127
+ name: string;
128
+ category: SkillCategory;
129
+ level: SkillLevel;
130
+ yearsOfExperience?: number;
131
+ icon?: string;
132
+ color?: string;
133
+ isActive: boolean;
134
+ isFeatured: boolean;
135
+ order: number;
136
+ updatedAt: Timestamp;
137
+ }
138
+ export interface Testimonial {
139
+ id: string;
140
+ authorName: string;
141
+ authorTitle?: string;
142
+ authorCompany?: string;
143
+ authorAvatar?: string;
144
+ authorLinkedin?: string;
145
+ content: string;
146
+ shortContent?: string;
147
+ rating?: number;
148
+ projectName?: string;
149
+ projectUrl?: string;
150
+ date?: Timestamp;
151
+ isActive: boolean;
152
+ isFeatured: boolean;
153
+ order: number;
154
+ updatedAt: Timestamp;
155
+ }
156
+ export interface UseCommonFeatureOptions {
157
+ autoFetch?: boolean;
158
+ realtime?: boolean;
159
+ }
160
+ export interface UseCommonFeatureResult<T> {
161
+ data: T | null;
162
+ loading: boolean;
163
+ error: string | null;
164
+ refetch: () => Promise<void>;
165
+ }
166
+ export interface UseCommonFeaturesListResult<T> {
167
+ data: T[];
168
+ loading: boolean;
169
+ error: string | null;
170
+ refetch: () => Promise<void>;
171
+ }
172
+ export interface FetchSocialLinksOptions {
173
+ showIn?: ('footer' | 'contact' | 'about' | 'header')[];
174
+ activeOnly?: boolean;
175
+ }
176
+ export interface FetchServicesOptions {
177
+ category?: ServiceCategory;
178
+ activeOnly?: boolean;
179
+ featuredOnly?: boolean;
180
+ }
181
+ export interface FetchSkillsOptions {
182
+ category?: SkillCategory;
183
+ activeOnly?: boolean;
184
+ featuredOnly?: boolean;
185
+ }
186
+ export interface FetchTestimonialsOptions {
187
+ activeOnly?: boolean;
188
+ featuredOnly?: boolean;
189
+ limit?: number;
190
+ }
191
+ export interface FetchPaymentOptionsOptions {
192
+ activeOnly?: boolean;
193
+ type?: PaymentType;
194
+ }
195
+ export type ProjectStatus = 'completed' | 'in-progress' | 'planned' | 'archived';
196
+ export declare const PROJECT_STATUS_NAMES: Record<ProjectStatus, string>;
197
+ export type ProjectCategory = 'web-app' | 'mobile-app' | 'desktop-app' | 'api' | 'library' | 'cli-tool' | 'browser-extension' | 'open-source' | 'client-work' | 'personal' | 'other';
198
+ export declare const PROJECT_CATEGORY_NAMES: Record<ProjectCategory, string>;
199
+ export interface ProjectLink {
200
+ type: 'live' | 'github' | 'demo' | 'docs' | 'playstore' | 'appstore' | 'npm' | 'other';
201
+ url: string;
202
+ label?: string;
203
+ }
204
+ export interface Project {
205
+ id: string;
206
+ title: string;
207
+ slug: string;
208
+ description: string;
209
+ shortDescription?: string;
210
+ category: ProjectCategory;
211
+ status: ProjectStatus;
212
+ thumbnailUrl?: string;
213
+ images?: string[];
214
+ technologies: string[];
215
+ features?: string[];
216
+ links?: ProjectLink[];
217
+ clientName?: string;
218
+ startDate?: string;
219
+ endDate?: string;
220
+ isActive: boolean;
221
+ isFeatured: boolean;
222
+ order: number;
223
+ updatedAt: Timestamp;
224
+ }
225
+ export interface FetchProjectsOptions {
226
+ category?: ProjectCategory;
227
+ status?: ProjectStatus;
228
+ activeOnly?: boolean;
229
+ featuredOnly?: boolean;
230
+ limit?: number;
231
+ }
232
+ //# sourceMappingURL=commonFeatures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonFeatures.d.ts","sourceRoot":"","sources":["../../src/types/commonFeatures.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,203 @@
1
+ import { Timestamp } from 'firebase/firestore';
2
+ /**
3
+ * All available features in shared-features
4
+ */
5
+ export type FeatureId = 'campaigns' | 'broadcasts' | 'contactInfo' | 'developerInfo' | 'socialLinks' | 'paymentOptions' | 'addressInfo' | 'services' | 'skills' | 'testimonials' | 'projects';
6
+ /**
7
+ * Feature names for display
8
+ */
9
+ export declare const FEATURE_NAMES: Record<FeatureId, string>;
10
+ /**
11
+ * Configuration for a single feature
12
+ */
13
+ export interface FeatureConfig {
14
+ /** Whether the feature is globally enabled */
15
+ enabled: boolean;
16
+ /** Current version of this feature's API */
17
+ version: number;
18
+ /** Minimum version required (older versions will get deprecation warnings) */
19
+ minVersion: number;
20
+ /** Maximum supported version */
21
+ maxVersion: number;
22
+ /** Optional deprecation message for older versions */
23
+ deprecationMessage?: string;
24
+ /** Whether this feature requires authentication */
25
+ requiresAuth?: boolean;
26
+ /** Platforms this feature is available on (empty = all) */
27
+ availablePlatforms?: string[];
28
+ /** Projects this feature is available for (empty = all) */
29
+ availableProjects?: string[];
30
+ }
31
+ /**
32
+ * All feature configurations stored in Firestore
33
+ */
34
+ export type FeatureConfigs = Record<FeatureId, FeatureConfig>;
35
+ /**
36
+ * Feature flags document stored in Firestore (zaions_feature_flags/main)
37
+ */
38
+ export interface FeatureFlagsDocument {
39
+ /** Document ID (always 'main') */
40
+ id: string;
41
+ /** Global kill switch - disables all shared-features */
42
+ globalEnabled: boolean;
43
+ /** Current global API version (e.g., 'v1', 'v2') */
44
+ currentApiVersion: string;
45
+ /** Supported API versions (for backwards compatibility) */
46
+ supportedApiVersions: string[];
47
+ /** Individual feature configurations */
48
+ features: FeatureConfigs;
49
+ /** Maintenance mode - shows maintenance message to users */
50
+ maintenanceMode: boolean;
51
+ /** Maintenance message to display */
52
+ maintenanceMessage?: string;
53
+ /** Expected maintenance end time */
54
+ maintenanceEndTime?: Timestamp;
55
+ /** Last updated timestamp */
56
+ updatedAt: Timestamp;
57
+ /** Who last updated the flags */
58
+ updatedBy: string;
59
+ }
60
+ /**
61
+ * Feature version preferences for a consumer project
62
+ * Used during initialization to specify which versions to use
63
+ */
64
+ export interface ConsumerFeatureVersions {
65
+ /** Campaigns API version (default: latest) */
66
+ campaigns?: number;
67
+ /** Broadcasts API version (default: latest) */
68
+ broadcasts?: number;
69
+ /** Contact info API version (default: latest) */
70
+ contactInfo?: number;
71
+ /** Developer info API version (default: latest) */
72
+ developerInfo?: number;
73
+ /** Social links API version (default: latest) */
74
+ socialLinks?: number;
75
+ /** Payment options API version (default: latest) */
76
+ paymentOptions?: number;
77
+ /** Address info API version (default: latest) */
78
+ addressInfo?: number;
79
+ /** Services API version (default: latest) */
80
+ services?: number;
81
+ /** Skills API version (default: latest) */
82
+ skills?: number;
83
+ /** Testimonials API version (default: latest) */
84
+ testimonials?: number;
85
+ /** Projects API version (default: latest) */
86
+ projects?: number;
87
+ }
88
+ /**
89
+ * Result of checking if a feature is available
90
+ */
91
+ export interface FeatureAvailability {
92
+ /** Whether the feature is available for use */
93
+ available: boolean;
94
+ /** Whether the feature is enabled globally */
95
+ enabled: boolean;
96
+ /** Current feature version */
97
+ version: number;
98
+ /** Whether the consumer's version is deprecated */
99
+ deprecated: boolean;
100
+ /** Deprecation warning message if applicable */
101
+ deprecationWarning?: string;
102
+ /** Reason why feature is unavailable (if not available) */
103
+ unavailableReason?: string;
104
+ /** Whether an upgrade is required */
105
+ upgradeRequired: boolean;
106
+ /** Message about available upgrade */
107
+ upgradeMessage?: string;
108
+ }
109
+ /**
110
+ * Overall status of shared-features for a consumer
111
+ */
112
+ export interface SharedFeaturesStatus {
113
+ /** Whether shared-features is operational */
114
+ operational: boolean;
115
+ /** Whether in maintenance mode */
116
+ maintenanceMode: boolean;
117
+ /** Maintenance message if applicable */
118
+ maintenanceMessage?: string;
119
+ /** Global API version */
120
+ apiVersion: string;
121
+ /** Individual feature availabilities */
122
+ features: Record<FeatureId, FeatureAvailability>;
123
+ /** List of deprecated features being used */
124
+ deprecatedFeatures: FeatureId[];
125
+ /** List of features requiring upgrade */
126
+ upgradeRequiredFeatures: FeatureId[];
127
+ /** When status was last fetched */
128
+ fetchedAt: Date;
129
+ }
130
+ /**
131
+ * Input for updating a feature's configuration
132
+ */
133
+ export interface UpdateFeatureConfigInput {
134
+ featureId: FeatureId;
135
+ enabled?: boolean;
136
+ version?: number;
137
+ minVersion?: number;
138
+ maxVersion?: number;
139
+ deprecationMessage?: string;
140
+ requiresAuth?: boolean;
141
+ availablePlatforms?: string[];
142
+ availableProjects?: string[];
143
+ }
144
+ /**
145
+ * Input for updating global flags
146
+ */
147
+ export interface UpdateGlobalFlagsInput {
148
+ globalEnabled?: boolean;
149
+ currentApiVersion?: string;
150
+ supportedApiVersions?: string[];
151
+ maintenanceMode?: boolean;
152
+ maintenanceMessage?: string;
153
+ maintenanceEndTime?: Date | null;
154
+ }
155
+ /**
156
+ * Options for useFeatureFlags hook
157
+ */
158
+ export interface UseFeatureFlagsOptions {
159
+ /** Whether to auto-refresh flags periodically */
160
+ autoRefresh?: boolean;
161
+ /** Refresh interval in milliseconds (default: 5 minutes) */
162
+ refreshInterval?: number;
163
+ /** Whether to fetch immediately on mount (default: true) */
164
+ autoFetch?: boolean;
165
+ }
166
+ /**
167
+ * Result of useFeatureFlags hook
168
+ */
169
+ export interface UseFeatureFlagsResult {
170
+ /** Overall status of shared-features */
171
+ status: SharedFeaturesStatus | null;
172
+ /** Whether flags are being fetched */
173
+ loading: boolean;
174
+ /** Error message if fetch failed */
175
+ error: string | null;
176
+ /** Refetch feature flags */
177
+ refetch: () => Promise<void>;
178
+ /** Check if a specific feature is available */
179
+ isFeatureAvailable: (featureId: FeatureId) => boolean;
180
+ /** Get availability details for a feature */
181
+ getFeatureAvailability: (featureId: FeatureId) => FeatureAvailability | null;
182
+ /** Check if any features are deprecated */
183
+ hasDeprecatedFeatures: boolean;
184
+ /** Check if any features require upgrade */
185
+ hasUpgradeRequired: boolean;
186
+ }
187
+ /**
188
+ * Default feature configuration for new features
189
+ */
190
+ export declare const DEFAULT_FEATURE_CONFIG: FeatureConfig;
191
+ /**
192
+ * Default feature flags document
193
+ */
194
+ export declare const DEFAULT_FEATURE_FLAGS: Omit<FeatureFlagsDocument, 'updatedAt' | 'updatedBy'>;
195
+ /**
196
+ * Firestore collection name for feature flags
197
+ */
198
+ export declare const COLLECTION_FEATURE_FLAGS = "zaions_feature_flags";
199
+ /**
200
+ * Document ID for the main feature flags document
201
+ */
202
+ export declare const FEATURE_FLAGS_DOC_ID = "main";
203
+ //# sourceMappingURL=featureFlags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"featureFlags.d.ts","sourceRoot":"","sources":["../../src/types/featureFlags.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const commonFeatures = require("../commonFeatures-DhWaBEv_.cjs");
3
4
  const DEFAULT_FREQUENCY_DAYS = 20;
4
5
  const DEFAULT_CAMPAIGN_PRIORITY = 50;
5
6
  const VARIANT_NAMES = {
@@ -137,6 +138,22 @@ const EVENT_TYPE_NAMES = {
137
138
  const DEFAULT_BROADCAST_PRIORITY = 50;
138
139
  const MAX_NOTIFICATION_TITLE_LENGTH = 100;
139
140
  const MAX_NOTIFICATION_MESSAGE_LENGTH = 500;
141
+ exports.COLLECTION_FEATURE_FLAGS = commonFeatures.COLLECTION_FEATURE_FLAGS;
142
+ exports.COMMON_FEATURE_COLLECTIONS = commonFeatures.COMMON_FEATURE_COLLECTIONS;
143
+ exports.DEFAULT_ADDRESS_INFO = commonFeatures.DEFAULT_ADDRESS_INFO;
144
+ exports.DEFAULT_CONTACT_INFO = commonFeatures.DEFAULT_CONTACT_INFO;
145
+ exports.DEFAULT_DEVELOPER_INFO = commonFeatures.DEFAULT_DEVELOPER_INFO;
146
+ exports.DEFAULT_FEATURE_CONFIG = commonFeatures.DEFAULT_FEATURE_CONFIG;
147
+ exports.DEFAULT_FEATURE_FLAGS = commonFeatures.DEFAULT_FEATURE_FLAGS;
148
+ exports.FEATURE_FLAGS_DOC_ID = commonFeatures.FEATURE_FLAGS_DOC_ID;
149
+ exports.FEATURE_NAMES = commonFeatures.FEATURE_NAMES;
150
+ exports.PAYMENT_TYPE_NAMES = commonFeatures.PAYMENT_TYPE_NAMES;
151
+ exports.PROJECT_CATEGORY_NAMES = commonFeatures.PROJECT_CATEGORY_NAMES;
152
+ exports.PROJECT_STATUS_NAMES = commonFeatures.PROJECT_STATUS_NAMES;
153
+ exports.SERVICE_CATEGORY_NAMES = commonFeatures.SERVICE_CATEGORY_NAMES;
154
+ exports.SKILL_CATEGORY_NAMES = commonFeatures.SKILL_CATEGORY_NAMES;
155
+ exports.SKILL_LEVEL_NAMES = commonFeatures.SKILL_LEVEL_NAMES;
156
+ exports.SOCIAL_PLATFORM_NAMES = commonFeatures.SOCIAL_PLATFORM_NAMES;
140
157
  exports.CATEGORY_DESCRIPTIONS = CATEGORY_DESCRIPTIONS;
141
158
  exports.CATEGORY_NAMES = CATEGORY_NAMES;
142
159
  exports.COLLECTIONS = COLLECTIONS;