@zyacreatives/shared 2.1.86 → 2.1.87

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.
@@ -346,7 +346,7 @@ export declare const ANALYTICS_EVENTS: {
346
346
  readonly LIKE: "post_like";
347
347
  readonly BOOKMARK: "post_bookmark";
348
348
  readonly VIEW_LIKES_LIST: "post_view_likes_list";
349
- readonly TAG_CLICK: "post_tag_click";
349
+ readonly TAG_CLICK: (tag: string) => string;
350
350
  readonly LINK_PREVIEW_CLICK: "post_link_preview_click";
351
351
  readonly MEDIA_EXPAND: "post_media_expand";
352
352
  readonly LIGHTBOX_NAV: "post_lightbox_nav";
@@ -354,7 +354,10 @@ export declare const ANALYTICS_EVENTS: {
354
354
  readonly VIDEO_VIEW: "post_video_view";
355
355
  readonly SHARE_MENU_OPEN: "post_share_menu_open";
356
356
  readonly LINK_COPIED: "post_link_copied";
357
- readonly EXTERNAL_SHARE: "post_external_share";
357
+ readonly SHARE_TWITTER: "post_shared_twitter";
358
+ readonly SHARE_FACEBOOK: "post_shared_facebook";
359
+ readonly SHARE_LINKEDIN: "post_shared_linkedin";
360
+ readonly SHARE_INSTAGRAM: "post_shared_instagram";
358
361
  readonly DM_CLICK: "post_dm_click";
359
362
  readonly FOLLOW: "post_creator_follow";
360
363
  readonly UNFOLLOW: "post_creator_unfollow";
package/dist/constants.js CHANGED
@@ -383,7 +383,7 @@ exports.ANALYTICS_EVENTS = {
383
383
  LIKE: "post_like",
384
384
  BOOKMARK: "post_bookmark",
385
385
  VIEW_LIKES_LIST: "post_view_likes_list",
386
- TAG_CLICK: "post_tag_click",
386
+ TAG_CLICK: (tag) => `post_tag_click_${tag}`,
387
387
  LINK_PREVIEW_CLICK: "post_link_preview_click",
388
388
  MEDIA_EXPAND: "post_media_expand",
389
389
  LIGHTBOX_NAV: "post_lightbox_nav",
@@ -391,7 +391,10 @@ exports.ANALYTICS_EVENTS = {
391
391
  VIDEO_VIEW: "post_video_view",
392
392
  SHARE_MENU_OPEN: "post_share_menu_open",
393
393
  LINK_COPIED: "post_link_copied",
394
- EXTERNAL_SHARE: "post_external_share",
394
+ SHARE_TWITTER: "post_shared_twitter",
395
+ SHARE_FACEBOOK: "post_shared_facebook",
396
+ SHARE_LINKEDIN: "post_shared_linkedin",
397
+ SHARE_INSTAGRAM: "post_shared_instagram",
395
398
  DM_CLICK: "post_dm_click",
396
399
  FOLLOW: "post_creator_follow",
397
400
  UNFOLLOW: "post_creator_unfollow",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zyacreatives/shared",
3
- "version": "2.1.86",
3
+ "version": "2.1.87",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/constants.ts CHANGED
@@ -1,483 +1,487 @@
1
1
  export const ROLES = {
2
- CREATIVE: "CREATIVE",
3
- BRAND: "BRAND",
4
- INVESTOR: "INVESTOR",
5
- ADMIN: "ADMIN",
2
+ CREATIVE: "CREATIVE",
3
+ BRAND: "BRAND",
4
+ INVESTOR: "INVESTOR",
5
+ ADMIN: "ADMIN",
6
6
  } as const;
7
7
 
8
8
  export const USER_STATUSES = {
9
- ACTIVE: "ACTIVE",
10
- SUSPENDED: "SUSPENDED",
11
- DELETED: "DELETED",
9
+ ACTIVE: "ACTIVE",
10
+ SUSPENDED: "SUSPENDED",
11
+ DELETED: "DELETED",
12
12
  } as const;
13
13
 
14
14
  export const CLIENT_TYPES = {
15
- CREATIVE: "CREATIVE",
16
- BRAND: "BRAND",
17
- NONE: "NONE",
15
+ CREATIVE: "CREATIVE",
16
+ BRAND: "BRAND",
17
+ NONE: "NONE",
18
18
  } as const;
19
19
 
20
20
  export const EXPERIENCE_LEVELS = {
21
- YEAR_0_1: "0-1 year",
22
- YEAR_1_3: "1-3 years",
23
- YEAR_3_5: "3-5 years",
24
- YEAR_5_PLUS: "5+ years",
21
+ YEAR_0_1: "0-1 year",
22
+ YEAR_1_3: "1-3 years",
23
+ YEAR_3_5: "3-5 years",
24
+ YEAR_5_PLUS: "5+ years",
25
25
  } as const;
26
26
 
27
27
  export const ONBOARDING_PAGES = {
28
- EMAIL_VERIFICATION: "EMAIL_VERIFICATION",
29
- USERNAME_SELECTION: "USERNAME_SELECTION",
30
- ACCOUNT_TYPE_SELECTION: "ACCOUNT_TYPE_SELECTION",
31
- CREATIVE_PROFILE_DETAILS: "CREATIVE_PROFILE_DETAILS",
32
- BRAND_PROFILE_DETAILS: "BRAND_PROFILE_DETAILS",
33
- INVESTOR_PROFILE_DETAILS: "INVESTOR_PROFILE_DETAILS",
34
- INVESTOR_INVESTMENT_FOCUS: "INVESTOR_INVESTMENT_FOCUS",
35
- INVESTOR_VERIFICATION: "INVESTOR_VERIFICATION",
36
- DONE: "DONE",
28
+ EMAIL_VERIFICATION: "EMAIL_VERIFICATION",
29
+ USERNAME_SELECTION: "USERNAME_SELECTION",
30
+ ACCOUNT_TYPE_SELECTION: "ACCOUNT_TYPE_SELECTION",
31
+ CREATIVE_PROFILE_DETAILS: "CREATIVE_PROFILE_DETAILS",
32
+ BRAND_PROFILE_DETAILS: "BRAND_PROFILE_DETAILS",
33
+ INVESTOR_PROFILE_DETAILS: "INVESTOR_PROFILE_DETAILS",
34
+ INVESTOR_INVESTMENT_FOCUS: "INVESTOR_INVESTMENT_FOCUS",
35
+ INVESTOR_VERIFICATION: "INVESTOR_VERIFICATION",
36
+ DONE: "DONE",
37
37
  } as const;
38
38
 
39
39
  export const INVESTOR_TYPES = {
40
- ANGEL_INVESTOR: "Angel Investor",
41
- VENTURE_CAPITALIST: "Venture Capitalist",
42
- PRIVATE_EQUITY_FIRM: "Private Equity Firm",
43
- VENTURE_DEBT_PROVIDER: "Venture Debt Provider",
44
- BANK: "Bank",
45
- CONVERTIBLE_NOTE_INVESTOR: "Convertible Note Investor",
46
- REVENUE_BASED_FINANCING_INVESTOR: "Revenue Based Financing Investor",
47
- CORPORATE_VENTURE_CAPITALIST: "Corporate Venture Capitalist",
48
- GOVERNMENT: "Government",
49
- SOCIAL_IMPACT_INVESTOR: "Social Impact Investor",
40
+ ANGEL_INVESTOR: "Angel Investor",
41
+ VENTURE_CAPITALIST: "Venture Capitalist",
42
+ PRIVATE_EQUITY_FIRM: "Private Equity Firm",
43
+ VENTURE_DEBT_PROVIDER: "Venture Debt Provider",
44
+ BANK: "Bank",
45
+ CONVERTIBLE_NOTE_INVESTOR: "Convertible Note Investor",
46
+ REVENUE_BASED_FINANCING_INVESTOR: "Revenue Based Financing Investor",
47
+ CORPORATE_VENTURE_CAPITALIST: "Corporate Venture Capitalist",
48
+ GOVERNMENT: "Government",
49
+ SOCIAL_IMPACT_INVESTOR: "Social Impact Investor",
50
50
  } as const;
51
51
 
52
52
  export const INVESTMENT_SIZES = {
53
- UNDER_5K: "Under 5k USD",
54
- BETWEEN_5K_25K: "5k - 25k USD",
55
- BETWEEN_25K_100K: "25k - 100k USD",
56
- BETWEEN_100K_500K: "100k - 500k USD",
57
- BETWEEN_500K_1M: "500k - 1M USD",
58
- OVER_1M: "1M+ USD",
53
+ UNDER_5K: "Under 5k USD",
54
+ BETWEEN_5K_25K: "5k - 25k USD",
55
+ BETWEEN_25K_100K: "25k - 100k USD",
56
+ BETWEEN_100K_500K: "100k - 500k USD",
57
+ BETWEEN_500K_1M: "500k - 1M USD",
58
+ OVER_1M: "1M+ USD",
59
59
  } as const;
60
60
 
61
61
  export const GEOGRAPHIC_FOCUS = {
62
- AFRICA: "Africa",
63
- ASIA: "Asia",
64
- EUROPE: "Europe",
65
- NORTH_AMERICA: "North America",
66
- SOUTH_AMERICA: "South America",
67
- MIDDLE_EAST: "Middle East",
68
- OCEANIA: "Oceania",
69
- UK: "United Kingdom (UK)",
70
- US: "United States (US)",
71
- GLOBAL: "Global",
72
- OTHER: "Other",
62
+ AFRICA: "Africa",
63
+ ASIA: "Asia",
64
+ EUROPE: "Europe",
65
+ NORTH_AMERICA: "North America",
66
+ SOUTH_AMERICA: "South America",
67
+ MIDDLE_EAST: "Middle East",
68
+ OCEANIA: "Oceania",
69
+ UK: "United Kingdom (UK)",
70
+ US: "United States (US)",
71
+ GLOBAL: "Global",
72
+ OTHER: "Other",
73
73
  } as const;
74
74
 
75
75
  export const INVESTOR_VERIFICATION_DOCUMENT_STATUSES = {
76
- PENDING: "PENDING",
77
- APPROVED: "APPROVED",
78
- REJECTED: "REJECTED",
76
+ PENDING: "PENDING",
77
+ APPROVED: "APPROVED",
78
+ REJECTED: "REJECTED",
79
79
  } as const;
80
80
 
81
81
  export const INVESTOR_VERIFICATION_DOCUMENT_TYPES = {
82
- ID_PROOF: "ID_PROOF",
83
- BANK_STATEMENT: "BANK_STATEMENT",
84
- TAX_DOCUMENT: "TAX_DOCUMENT",
85
- BUSINESS_REGISTRATION: "BUSINESS_REGISTRATION",
86
- OTHER_CERTIFICATE: "OTHER_CERTIFICATE",
82
+ ID_PROOF: "ID_PROOF",
83
+ BANK_STATEMENT: "BANK_STATEMENT",
84
+ TAX_DOCUMENT: "TAX_DOCUMENT",
85
+ BUSINESS_REGISTRATION: "BUSINESS_REGISTRATION",
86
+ OTHER_CERTIFICATE: "OTHER_CERTIFICATE",
87
87
  } as const;
88
88
 
89
89
  export const ACTIVITY_PARENT_TYPES = {
90
- PROJECT: "PROJECT",
91
- USER: "USER",
92
- JOB: "JOB",
93
- POST: "POST",
94
- COMMENT: "COMMENT",
95
- JOB_APPLICATION: "JOB_APPLICATION",
90
+ PROJECT: "PROJECT",
91
+ USER: "USER",
92
+ JOB: "JOB",
93
+ POST: "POST",
94
+ COMMENT: "COMMENT",
95
+ JOB_APPLICATION: "JOB_APPLICATION",
96
96
  } as const;
97
97
 
98
98
  export const POST_TYPES = {
99
- MARKETPLACE: "MARKETPLACE",
100
- PROJECT: "PROJECT",
101
- JOB_OPENING: "JOB_OPENING",
102
- DEFAULT_POST: "DEFAULT_POST",
103
- POST_WITH_LINKS: "POST_WITH_LINKS",
104
- POST_WITH_MEDIA: "POST_WITH_MEDIA",
105
- POST_WITH_MEDIA_AND_LINKS: "POST_WITH_MEDIA_AND_LINKS",
99
+ MARKETPLACE: "MARKETPLACE",
100
+ PROJECT: "PROJECT",
101
+ JOB_OPENING: "JOB_OPENING",
102
+ DEFAULT_POST: "DEFAULT_POST",
103
+ POST_WITH_LINKS: "POST_WITH_LINKS",
104
+ POST_WITH_MEDIA: "POST_WITH_MEDIA",
105
+ POST_WITH_MEDIA_AND_LINKS: "POST_WITH_MEDIA_AND_LINKS",
106
106
  } as const;
107
107
 
108
108
  export const JOB_TYPE = {
109
- GIG: "GIG",
110
- ROLE: "ROLE",
109
+ GIG: "GIG",
110
+ ROLE: "ROLE",
111
111
  } as const;
112
112
 
113
113
  export const WORK_MODE = {
114
- REMOTE: "Remote",
115
- HYBRID: "Hybrid",
116
- ON_SITE: "On Site",
114
+ REMOTE: "Remote",
115
+ HYBRID: "Hybrid",
116
+ ON_SITE: "On Site",
117
117
  } as const;
118
118
  export const EMPLOYMENT_TYPE = {
119
- FULL_TIME: "Full Time",
120
- PART_TIME: "Part Time",
121
- FREELANCE: "Freelance",
122
- INTERNSHIP: "Internship",
119
+ FULL_TIME: "Full Time",
120
+ PART_TIME: "Part Time",
121
+ FREELANCE: "Freelance",
122
+ INTERNSHIP: "Internship",
123
123
  } as const;
124
124
 
125
125
  export const JOB_AVAILABILITY_TYPES = {
126
- IMMEDIATE: "Immediate (Within 1 week)",
127
- TWO_WEEKS_NOTICE: "2 weeks notice",
128
- ONE_MONTH_NOTICE: "1 month notice",
129
- FLEXIBLE: "Flexible",
126
+ IMMEDIATE: "Immediate (Within 1 week)",
127
+ TWO_WEEKS_NOTICE: "2 weeks notice",
128
+ ONE_MONTH_NOTICE: "1 month notice",
129
+ FLEXIBLE: "Flexible",
130
130
  } as const;
131
131
 
132
132
  export const WAGE_TYPES = {
133
- HOURLY: "Hourly",
134
- DAILY: "Daily",
135
- WEEKLY: "Weekly",
136
- MONTHLY: "Monthly",
137
- PROJECT_BASED: "Project Based",
133
+ HOURLY: "Hourly",
134
+ DAILY: "Daily",
135
+ WEEKLY: "Weekly",
136
+ MONTHLY: "Monthly",
137
+ PROJECT_BASED: "Project Based",
138
138
  } as const;
139
139
 
140
140
  export const JOB_SECTIONS = {
141
- PERSONAL_INFORMATION: "PERSONAL_INFORMATION",
142
- PHONE_NO: "PHONE_NO",
143
- PROFESSIONAL_INFORMATION: "PROFESSIONAL_INFORMATION",
144
- RESUME: "RESUME",
145
- COVER_LETTER: "COVER_LETTER",
146
- PORTFOLIO_OR_WORK_SAMPLES: "PORTFOLIO_OR_WORK_SAMPLES",
147
- AVAILABILITY: "AVAILABILITY",
148
- WAGES: "WAGES",
141
+ PERSONAL_INFORMATION: "PERSONAL_INFORMATION",
142
+ PHONE_NO: "PHONE_NO",
143
+ PROFESSIONAL_INFORMATION: "PROFESSIONAL_INFORMATION",
144
+ RESUME: "RESUME",
145
+ COVER_LETTER: "COVER_LETTER",
146
+ PORTFOLIO_OR_WORK_SAMPLES: "PORTFOLIO_OR_WORK_SAMPLES",
147
+ AVAILABILITY: "AVAILABILITY",
148
+ WAGES: "WAGES",
149
149
  } as const;
150
150
 
151
151
  export const JOB_LOCATIONS = {
152
- AFRICA: "Africa",
153
- REMOTE: "Remote",
154
- EUROPE: "Europe",
155
- ASIA: "Asia",
156
- NORTH_AMERICA: "North America",
157
- SOUTH_AMERICA: "South America",
158
- MIDDLE_EAST: "Middle East",
159
- OCEANIA: "Oceania",
160
- EMEA: "EMEA", // Europe, Middle East, Africa
161
- ASIA_PACIFIC: "Asia Pacific", // Asia Pacific
162
- GLOBAL: "Global",
163
- OTHER: "Other",
152
+ AFRICA: "Africa",
153
+ REMOTE: "Remote",
154
+ EUROPE: "Europe",
155
+ ASIA: "Asia",
156
+ NORTH_AMERICA: "North America",
157
+ SOUTH_AMERICA: "South America",
158
+ MIDDLE_EAST: "Middle East",
159
+ OCEANIA: "Oceania",
160
+ EMEA: "EMEA", // Europe, Middle East, Africa
161
+ ASIA_PACIFIC: "Asia Pacific", // Asia Pacific
162
+ GLOBAL: "Global",
163
+ OTHER: "Other",
164
164
  } as const;
165
165
 
166
166
  export const MESSAGE_TYPES = {
167
- MARKETPLACE: "MARKETPLACE",
168
- PROJECT: "PROJECT",
169
- JOB_OPENING: "JOB_OPENING",
170
- DEFAULT_MESSAGE: "DEFAULT_MESSAGE",
171
- MESSAGE_WITH_LINKS: "MESSAGE_WITH_LINKS",
172
- MESSAGE_WITH_MEDIA: "MESSAGE_WITH_MEDIA",
173
- MESSAGE_WITH_MEDIA_AND_LINKS: "MESSAGE_WITH_MEDIA_AND_LINKS",
167
+ MARKETPLACE: "MARKETPLACE",
168
+ PROJECT: "PROJECT",
169
+ JOB_OPENING: "JOB_OPENING",
170
+ DEFAULT_MESSAGE: "DEFAULT_MESSAGE",
171
+ MESSAGE_WITH_LINKS: "MESSAGE_WITH_LINKS",
172
+ MESSAGE_WITH_MEDIA: "MESSAGE_WITH_MEDIA",
173
+ MESSAGE_WITH_MEDIA_AND_LINKS: "MESSAGE_WITH_MEDIA_AND_LINKS",
174
174
  } as const;
175
175
 
176
176
  export type JobLocation = (typeof JOB_LOCATIONS)[keyof typeof JOB_LOCATIONS];
177
177
 
178
178
  export const GIG_TYPE = {
179
- ONE_TIME: "One Time",
180
- RECURRING: "Recurring",
179
+ ONE_TIME: "One Time",
180
+ RECURRING: "Recurring",
181
181
  } as const;
182
182
 
183
183
  export const WAGES_CURRENCY = {
184
- USD: "USD (United States Dollar)",
185
- EUR: "EUR (Euro)",
186
- GBP: "GBP (British Pound Sterling)",
187
- NGN: "NGN (Nigerian Naira)",
188
- CAD: "CAD (Canadian Dollar)",
189
- AUD: "AUD (Australian Dollar)",
190
- JPY: "JPY (Japanese Yen)",
191
- CHF: "CHF (Swiss Franc)",
192
- INR: "INR (Indian Rupee)",
193
- ZAR: "ZAR (South African Rand)",
184
+ USD: "USD (United States Dollar)",
185
+ EUR: "EUR (Euro)",
186
+ GBP: "GBP (British Pound Sterling)",
187
+ NGN: "NGN (Nigerian Naira)",
188
+ CAD: "CAD (Canadian Dollar)",
189
+ AUD: "AUD (Australian Dollar)",
190
+ JPY: "JPY (Japanese Yen)",
191
+ CHF: "CHF (Swiss Franc)",
192
+ INR: "INR (Indian Rupee)",
193
+ ZAR: "ZAR (South African Rand)",
194
194
  } as const;
195
195
 
196
196
  export const JOB_STATUS = {
197
- ACTIVE: "ACTIVE",
198
- DRAFT: "DRAFT",
199
- ARCHIVED: "ARCHIVED",
200
- DELETED: "DELETED",
197
+ ACTIVE: "ACTIVE",
198
+ DRAFT: "DRAFT",
199
+ ARCHIVED: "ARCHIVED",
200
+ DELETED: "DELETED",
201
201
  } as const;
202
202
 
203
203
  export const POST_BADGE_TYPES = {
204
- NETWORKING: "Networking",
205
- FUNDING: "Funding",
206
- COLLABORATION: "Collaboration",
207
- OPPORTUNITIES: "Opportunities",
208
- SHOWCASE: "Showcase",
209
- LEARNING: "Learning",
210
- DISCUSSION: "Discussion",
211
- MENTORSHIP: "Mentorship",
204
+ NETWORKING: "Networking",
205
+ FUNDING: "Funding",
206
+ COLLABORATION: "Collaboration",
207
+ OPPORTUNITIES: "Opportunities",
208
+ SHOWCASE: "Showcase",
209
+ LEARNING: "Learning",
210
+ DISCUSSION: "Discussion",
211
+ MENTORSHIP: "Mentorship",
212
212
  } as const;
213
213
 
214
214
  export const ACTIVITY_TYPES = {
215
- LIKE: "LIKE",
216
- UNLIKE: "UNLIKE",
217
- BOOKMARK: "BOOKMARK",
218
- UNBOOKMARK: "UNBOOKMARK",
219
- VIEW: "VIEW",
215
+ LIKE: "LIKE",
216
+ UNLIKE: "UNLIKE",
217
+ BOOKMARK: "BOOKMARK",
218
+ UNBOOKMARK: "UNBOOKMARK",
219
+ VIEW: "VIEW",
220
220
  } as const;
221
221
 
222
222
  export const LINK_TYPES = {
223
- INSTAGRAM: "Instagram",
224
- LINKEDIN: "LinkedIn",
225
- TWITTER: "Twitter",
226
- YOUTUBE: "Youtube",
227
- PORTFOLIO: "Portfolio Website",
228
- GENERIC_WEBSITE: "Generic Website",
223
+ INSTAGRAM: "Instagram",
224
+ LINKEDIN: "LinkedIn",
225
+ TWITTER: "Twitter",
226
+ YOUTUBE: "Youtube",
227
+ PORTFOLIO: "Portfolio Website",
228
+ GENERIC_WEBSITE: "Generic Website",
229
229
  } as const;
230
230
 
231
231
  export const APPLICATION_STATUS = {
232
- SENT: "Application Sent",
233
- OPENED: "Opened",
234
- REJECTED: "Rejected",
235
- DECLINED: "Declined",
236
- OFFERED: "Offered",
237
- HIRED: "Hired",
232
+ SENT: "Application Sent",
233
+ OPENED: "Opened",
234
+ REJECTED: "Rejected",
235
+ DECLINED: "Declined",
236
+ OFFERED: "Offered",
237
+ HIRED: "Hired",
238
238
  } as const;
239
239
 
240
240
  export const NOTIFICATION_TYPES = {
241
- FOLLOW: "Follow",
242
- LIKE: "Like",
243
- COMMENT: "Comment",
244
- REPLY: "Reply",
245
- MESSAGE: "Message",
246
- BOOKMARK: "Bookmark",
247
- JOB_APPLICATION: "Job Application",
248
- APPLICATION_STATUS_CHANGE: "Application Status Change",
249
- SYSTEM_STRIKE: "System Strike",
250
- PROJECT_FEATURED: "Project Featured",
241
+ FOLLOW: "Follow",
242
+ LIKE: "Like",
243
+ COMMENT: "Comment",
244
+ REPLY: "Reply",
245
+ MESSAGE: "Message",
246
+ BOOKMARK: "Bookmark",
247
+ JOB_APPLICATION: "Job Application",
248
+ APPLICATION_STATUS_CHANGE: "Application Status Change",
249
+ SYSTEM_STRIKE: "System Strike",
250
+ PROJECT_FEATURED: "Project Featured",
251
251
  } as const;
252
252
 
253
253
  export type NotificationType =
254
- (typeof NOTIFICATION_TYPES)[keyof typeof NOTIFICATION_TYPES];
254
+ (typeof NOTIFICATION_TYPES)[keyof typeof NOTIFICATION_TYPES];
255
255
 
256
256
  export type ApplicationStatus =
257
- (typeof APPLICATION_STATUS)[keyof typeof APPLICATION_STATUS];
257
+ (typeof APPLICATION_STATUS)[keyof typeof APPLICATION_STATUS];
258
258
  export type ActivityType = (typeof ACTIVITY_TYPES)[keyof typeof ACTIVITY_TYPES];
259
259
  export type PostBadgeType =
260
- (typeof POST_BADGE_TYPES)[keyof typeof POST_BADGE_TYPES];
260
+ (typeof POST_BADGE_TYPES)[keyof typeof POST_BADGE_TYPES];
261
261
  export type JobSections = (typeof JOB_SECTIONS)[keyof typeof JOB_SECTIONS];
262
262
  export type WagesCurrency =
263
- (typeof WAGES_CURRENCY)[keyof typeof WAGES_CURRENCY];
263
+ (typeof WAGES_CURRENCY)[keyof typeof WAGES_CURRENCY];
264
264
  export type JobStatus = (typeof JOB_STATUS)[keyof typeof JOB_STATUS];
265
265
  export type Role = (typeof ROLES)[keyof typeof ROLES];
266
266
  export type JobType = (typeof JOB_TYPE)[keyof typeof JOB_TYPE];
267
267
  export type WorkMode = (typeof WORK_MODE)[keyof typeof WORK_MODE];
268
268
  export type GigType = (typeof GIG_TYPE)[keyof typeof GIG_TYPE];
269
269
  export type EmploymentType =
270
- (typeof EMPLOYMENT_TYPE)[keyof typeof EMPLOYMENT_TYPE];
270
+ (typeof EMPLOYMENT_TYPE)[keyof typeof EMPLOYMENT_TYPE];
271
271
  export type JobAvailabilityTypes =
272
- (typeof JOB_AVAILABILITY_TYPES)[keyof typeof JOB_AVAILABILITY_TYPES];
272
+ (typeof JOB_AVAILABILITY_TYPES)[keyof typeof JOB_AVAILABILITY_TYPES];
273
273
  export type WageTypes = (typeof WAGE_TYPES)[keyof typeof WAGE_TYPES];
274
274
  export type PostType = (typeof POST_TYPES)[keyof typeof POST_TYPES];
275
275
  export type MessageType = (typeof MESSAGE_TYPES)[keyof typeof MESSAGE_TYPES];
276
276
  export type LinkType = (typeof LINK_TYPES)[keyof typeof LINK_TYPES];
277
277
  export type ActivityParentType =
278
- (typeof ACTIVITY_PARENT_TYPES)[keyof typeof ACTIVITY_PARENT_TYPES];
278
+ (typeof ACTIVITY_PARENT_TYPES)[keyof typeof ACTIVITY_PARENT_TYPES];
279
279
  export type UserStatus = (typeof USER_STATUSES)[keyof typeof USER_STATUSES];
280
280
  export type ClientType = (typeof CLIENT_TYPES)[keyof typeof CLIENT_TYPES];
281
281
  export type ExperienceLevel =
282
- (typeof EXPERIENCE_LEVELS)[keyof typeof EXPERIENCE_LEVELS];
282
+ (typeof EXPERIENCE_LEVELS)[keyof typeof EXPERIENCE_LEVELS];
283
283
  export type OnboardingPage =
284
- (typeof ONBOARDING_PAGES)[keyof typeof ONBOARDING_PAGES];
284
+ (typeof ONBOARDING_PAGES)[keyof typeof ONBOARDING_PAGES];
285
285
  export type InvestorType = (typeof INVESTOR_TYPES)[keyof typeof INVESTOR_TYPES];
286
286
  export type InvestmentSize =
287
- (typeof INVESTMENT_SIZES)[keyof typeof INVESTMENT_SIZES];
287
+ (typeof INVESTMENT_SIZES)[keyof typeof INVESTMENT_SIZES];
288
288
  export type GeographicFocus =
289
- (typeof GEOGRAPHIC_FOCUS)[keyof typeof GEOGRAPHIC_FOCUS];
289
+ (typeof GEOGRAPHIC_FOCUS)[keyof typeof GEOGRAPHIC_FOCUS];
290
290
  export type InvestorVerificationDocumentStatus =
291
- (typeof INVESTOR_VERIFICATION_DOCUMENT_STATUSES)[keyof typeof INVESTOR_VERIFICATION_DOCUMENT_STATUSES];
291
+ (typeof INVESTOR_VERIFICATION_DOCUMENT_STATUSES)[keyof typeof INVESTOR_VERIFICATION_DOCUMENT_STATUSES];
292
292
  export type InvestorVerificationDocumentType =
293
- (typeof INVESTOR_VERIFICATION_DOCUMENT_TYPES)[keyof typeof INVESTOR_VERIFICATION_DOCUMENT_TYPES];
293
+ (typeof INVESTOR_VERIFICATION_DOCUMENT_TYPES)[keyof typeof INVESTOR_VERIFICATION_DOCUMENT_TYPES];
294
294
 
295
295
  export const API_ROUTES = {
296
- healthCheck: "/health",
297
- username: {
298
- base: "/usernames",
299
- checkAvailability: "/:username/availability",
300
- },
301
- personal: {
302
- base: "/me",
303
- getUser: "",
304
- getProfile: "/profile",
305
- getProjects: "/projects",
306
- getProjectBookmarks: "/project-bookmarks",
307
- getFollowers: "/followers",
308
- getFollowing: "/following",
309
- },
310
- user: {
311
- base: "/users",
312
- getUser: "/:value",
313
- getProfile: "/:value/profile",
314
- getProjects: "/:value/projects",
315
- getFollowers: "/:userId/followers",
316
- getFollowing: "/:userId/following",
317
- followUser: "/:userId/follow",
318
- unfollowUser: "/:userId/unfollow",
319
- reserveUsername: "/reserve-username",
320
- },
321
- redirect: {
322
- base: "/redirect",
323
- passwordReset: "/password-reset",
324
- verifiedUser: "/verified-user",
325
- googleProfile: "/google-profile",
326
- newGoogleProfile: "/new-google-profile",
327
- },
328
- file: {
329
- base: "/files",
330
- getPresignedUploadUrl: "/get-upload-url",
331
- getPresignedDownloadUrl: "/:fileId/download-url",
332
- getPublicUrl: "/:fileId/public-url",
333
- createFile: "",
334
- deleteFile: "/:fileId",
335
- },
336
- disciplines: {
337
- base: "/disciplines",
338
- getDisciplines: "",
339
- getSingleDiscipline: "/:slug",
340
- addDisciplines: "",
341
- deleteDiscipline: "/:slug",
342
- },
343
- creatives: {
344
- base: "/creatives",
345
- createCreative: "",
346
- getCreative: "/:value",
347
- updateCreative: "",
348
- },
349
- brands: {
350
- base: "/brands",
351
- createBrand: "",
352
- getBrand: "/:value",
353
- updateBrand: "",
354
- },
355
- investors: {
356
- base: "/investors",
357
- createInvestor: "",
358
- getInvestor: "/:value",
359
- updateInvestor: "",
360
- },
361
- projects: {
362
- base: "/projects",
363
- createProject: "",
364
- updateProject: "",
365
- listProjects: "",
366
- getProject: "/:projectId",
367
- deleteProject: "/:projectId",
368
- commentOnProject: "/:projectId/comment",
369
- deleteCommentOnProject: "/:projectId/comments/:commentId",
370
- bookmarkProject: "/:projectId/bookmark",
371
- unbookmarkProject: "/:projectId/unbookmark",
372
- likeProject: "/:projectId/like",
373
- unlikeProject: "/:projectId/unlike",
374
- viewProject: "/:projectId/view",
375
- getProjectComments: "/:projectId/comments",
376
- getProjectLikes: "/:projectId/likes",
377
- getProjectBookmarks: "/:projectId/bookmarks",
378
- getProjectViews: "/:projectId/views",
379
- getProjectUser: "/:projectId/user",
380
- },
296
+ healthCheck: "/health",
297
+ username: {
298
+ base: "/usernames",
299
+ checkAvailability: "/:username/availability",
300
+ },
301
+ personal: {
302
+ base: "/me",
303
+ getUser: "",
304
+ getProfile: "/profile",
305
+ getProjects: "/projects",
306
+ getProjectBookmarks: "/project-bookmarks",
307
+ getFollowers: "/followers",
308
+ getFollowing: "/following",
309
+ },
310
+ user: {
311
+ base: "/users",
312
+ getUser: "/:value",
313
+ getProfile: "/:value/profile",
314
+ getProjects: "/:value/projects",
315
+ getFollowers: "/:userId/followers",
316
+ getFollowing: "/:userId/following",
317
+ followUser: "/:userId/follow",
318
+ unfollowUser: "/:userId/unfollow",
319
+ reserveUsername: "/reserve-username",
320
+ },
321
+ redirect: {
322
+ base: "/redirect",
323
+ passwordReset: "/password-reset",
324
+ verifiedUser: "/verified-user",
325
+ googleProfile: "/google-profile",
326
+ newGoogleProfile: "/new-google-profile",
327
+ },
328
+ file: {
329
+ base: "/files",
330
+ getPresignedUploadUrl: "/get-upload-url",
331
+ getPresignedDownloadUrl: "/:fileId/download-url",
332
+ getPublicUrl: "/:fileId/public-url",
333
+ createFile: "",
334
+ deleteFile: "/:fileId",
335
+ },
336
+ disciplines: {
337
+ base: "/disciplines",
338
+ getDisciplines: "",
339
+ getSingleDiscipline: "/:slug",
340
+ addDisciplines: "",
341
+ deleteDiscipline: "/:slug",
342
+ },
343
+ creatives: {
344
+ base: "/creatives",
345
+ createCreative: "",
346
+ getCreative: "/:value",
347
+ updateCreative: "",
348
+ },
349
+ brands: {
350
+ base: "/brands",
351
+ createBrand: "",
352
+ getBrand: "/:value",
353
+ updateBrand: "",
354
+ },
355
+ investors: {
356
+ base: "/investors",
357
+ createInvestor: "",
358
+ getInvestor: "/:value",
359
+ updateInvestor: "",
360
+ },
361
+ projects: {
362
+ base: "/projects",
363
+ createProject: "",
364
+ updateProject: "",
365
+ listProjects: "",
366
+ getProject: "/:projectId",
367
+ deleteProject: "/:projectId",
368
+ commentOnProject: "/:projectId/comment",
369
+ deleteCommentOnProject: "/:projectId/comments/:commentId",
370
+ bookmarkProject: "/:projectId/bookmark",
371
+ unbookmarkProject: "/:projectId/unbookmark",
372
+ likeProject: "/:projectId/like",
373
+ unlikeProject: "/:projectId/unlike",
374
+ viewProject: "/:projectId/view",
375
+ getProjectComments: "/:projectId/comments",
376
+ getProjectLikes: "/:projectId/likes",
377
+ getProjectBookmarks: "/:projectId/bookmarks",
378
+ getProjectViews: "/:projectId/views",
379
+ getProjectUser: "/:projectId/user",
380
+ },
381
381
  } as const;
382
382
 
383
383
  export const DEFAULT_DISCIPLINES = [
384
- { name: "3D Art", slug: "3d_art" },
385
- { name: "Advertising & Marketing", slug: "advertising_marketing" },
386
- { name: "AI & Machine Learning Art", slug: "ai_machine_learning_art" },
387
- { name: "Animation & Motion", slug: "animation_motion" },
388
- { name: "Architecture & Interior", slug: "architecture_interior" },
389
- { name: "Art Business", slug: "art_business" },
390
- { name: "Art Challenges & Community", slug: "art_challenges_community" },
391
- { name: "Art Education", slug: "art_education" },
392
- { name: "Book & Editorial Design", slug: "book_editorial_design" },
393
- { name: "Brand Strategy", slug: "brand_strategy" },
394
- { name: "Business & Consulting", slug: "business_consulting" },
395
- { name: "Calligraphy & Penmanship", slug: "calligraphy_penmanship" },
396
- {
397
- name: "Character Rigging & Animation Setup",
398
- slug: "character_rigging_setup",
399
- },
400
- { name: "Comics & Webtoons", slug: "comics_webtoons" },
401
- { name: "Concept Art", slug: "concept_art" },
402
- { name: "Content Creation", slug: "content_creation" },
403
- {
404
- name: "Copywriting & Content Writing",
405
- slug: "copywriting_content_writing",
406
- },
407
- { name: "Crafts & DIY", slug: "crafts_diy" },
408
- { name: "Creative Coding", slug: "creative_coding" },
409
- { name: "Data Science & Analysis", slug: "data_science_analysis" },
410
- { name: "Data Visualization", slug: "data_visualization" },
411
- { name: "Digital Art", slug: "digital_art" },
412
- {
413
- name: "Digital Painting & Matte Painting",
414
- slug: "digital_painting_matte",
415
- },
416
- { name: "E-commerce & Store Design", slug: "ecommerce_store_design" },
417
- { name: "Fashion & Style", slug: "fashion_style" },
418
- { name: "Food Content", slug: "food_content" },
419
- { name: "Game Development", slug: "game_development" },
420
- { name: "Graphic Design", slug: "graphic_design" },
421
- { name: "Illustration", slug: "illustration" },
422
- { name: "Lettering & Typography", slug: "lettering_typography" },
423
- { name: "Miniature & Model Making", slug: "miniature_model_making" },
424
- { name: "Music Performance", slug: "music_performance" },
425
- { name: "Music Production", slug: "music_production" },
426
- { name: "Photography", slug: "photography" },
427
- { name: "Pixel Art", slug: "pixel_art" },
428
- {
429
- name: "Product Strategy & Management",
430
- slug: "product_strategy_management",
431
- },
432
- { name: "Sculpture & 3D Crafts", slug: "sculpture_3d_crafts" },
433
- { name: "Sound Design & Audio", slug: "sound_design_audio" },
434
- { name: "Storyboarding & Pre-Vis", slug: "storyboarding_previs" },
435
- { name: "Street Art & Murals", slug: "street_art_murals" },
436
- { name: "Tattoo Art", slug: "tattoo_art" },
437
- { name: "Technical Illustration", slug: "technical_illustration" },
438
- { name: "Technical Writing", slug: "technical_writing" },
439
- { name: "Traditional Art", slug: "traditional_art" },
440
- { name: "Translation & Localization", slug: "translation_localization" },
441
- { name: "UI/UX Design", slug: "ui_ux_design" },
442
- { name: "Video Content", slug: "video_content" },
443
- { name: "Virtual/Augmented Reality", slug: "virtual_augmented_reality" },
444
- { name: "Visual Effects (VFX)", slug: "visual_effects_vfx" },
445
- { name: "Web Development (Back-End)", slug: "web_development_backend" },
446
- { name: "Web Development (Front-End)", slug: "web_development_frontend" },
447
- { name: "Writing & Storytelling", slug: "writing_storytelling" },
384
+ { name: "3D Art", slug: "3d_art" },
385
+ { name: "Advertising & Marketing", slug: "advertising_marketing" },
386
+ { name: "AI & Machine Learning Art", slug: "ai_machine_learning_art" },
387
+ { name: "Animation & Motion", slug: "animation_motion" },
388
+ { name: "Architecture & Interior", slug: "architecture_interior" },
389
+ { name: "Art Business", slug: "art_business" },
390
+ { name: "Art Challenges & Community", slug: "art_challenges_community" },
391
+ { name: "Art Education", slug: "art_education" },
392
+ { name: "Book & Editorial Design", slug: "book_editorial_design" },
393
+ { name: "Brand Strategy", slug: "brand_strategy" },
394
+ { name: "Business & Consulting", slug: "business_consulting" },
395
+ { name: "Calligraphy & Penmanship", slug: "calligraphy_penmanship" },
396
+ {
397
+ name: "Character Rigging & Animation Setup",
398
+ slug: "character_rigging_setup",
399
+ },
400
+ { name: "Comics & Webtoons", slug: "comics_webtoons" },
401
+ { name: "Concept Art", slug: "concept_art" },
402
+ { name: "Content Creation", slug: "content_creation" },
403
+ {
404
+ name: "Copywriting & Content Writing",
405
+ slug: "copywriting_content_writing",
406
+ },
407
+ { name: "Crafts & DIY", slug: "crafts_diy" },
408
+ { name: "Creative Coding", slug: "creative_coding" },
409
+ { name: "Data Science & Analysis", slug: "data_science_analysis" },
410
+ { name: "Data Visualization", slug: "data_visualization" },
411
+ { name: "Digital Art", slug: "digital_art" },
412
+ {
413
+ name: "Digital Painting & Matte Painting",
414
+ slug: "digital_painting_matte",
415
+ },
416
+ { name: "E-commerce & Store Design", slug: "ecommerce_store_design" },
417
+ { name: "Fashion & Style", slug: "fashion_style" },
418
+ { name: "Food Content", slug: "food_content" },
419
+ { name: "Game Development", slug: "game_development" },
420
+ { name: "Graphic Design", slug: "graphic_design" },
421
+ { name: "Illustration", slug: "illustration" },
422
+ { name: "Lettering & Typography", slug: "lettering_typography" },
423
+ { name: "Miniature & Model Making", slug: "miniature_model_making" },
424
+ { name: "Music Performance", slug: "music_performance" },
425
+ { name: "Music Production", slug: "music_production" },
426
+ { name: "Photography", slug: "photography" },
427
+ { name: "Pixel Art", slug: "pixel_art" },
428
+ {
429
+ name: "Product Strategy & Management",
430
+ slug: "product_strategy_management",
431
+ },
432
+ { name: "Sculpture & 3D Crafts", slug: "sculpture_3d_crafts" },
433
+ { name: "Sound Design & Audio", slug: "sound_design_audio" },
434
+ { name: "Storyboarding & Pre-Vis", slug: "storyboarding_previs" },
435
+ { name: "Street Art & Murals", slug: "street_art_murals" },
436
+ { name: "Tattoo Art", slug: "tattoo_art" },
437
+ { name: "Technical Illustration", slug: "technical_illustration" },
438
+ { name: "Technical Writing", slug: "technical_writing" },
439
+ { name: "Traditional Art", slug: "traditional_art" },
440
+ { name: "Translation & Localization", slug: "translation_localization" },
441
+ { name: "UI/UX Design", slug: "ui_ux_design" },
442
+ { name: "Video Content", slug: "video_content" },
443
+ { name: "Virtual/Augmented Reality", slug: "virtual_augmented_reality" },
444
+ { name: "Visual Effects (VFX)", slug: "visual_effects_vfx" },
445
+ { name: "Web Development (Back-End)", slug: "web_development_backend" },
446
+ { name: "Web Development (Front-End)", slug: "web_development_frontend" },
447
+ { name: "Writing & Storytelling", slug: "writing_storytelling" },
448
448
  ];
449
449
 
450
450
  export const ANALYTICS_EVENTS = {
451
- POST: {
452
- VIEW_DETAILS: "post_view_details",
453
- LIKE: "post_like",
454
- BOOKMARK: "post_bookmark",
455
- VIEW_LIKES_LIST: "post_view_likes_list",
456
- TAG_CLICK: "post_tag_click",
457
- LINK_PREVIEW_CLICK: "post_link_preview_click",
458
- MEDIA_EXPAND: "post_media_expand",
459
- LIGHTBOX_NAV: "post_lightbox_nav",
460
- LIGHTBOX_THUMB_SELECT: "post_lightbox_thumb_select",
461
- VIDEO_VIEW: "post_video_view",
462
- SHARE_MENU_OPEN: "post_share_menu_open",
463
- LINK_COPIED: "post_link_copied",
464
- EXTERNAL_SHARE: "post_external_share",
465
- DM_CLICK: "post_dm_click",
466
- FOLLOW: "post_creator_follow",
467
- UNFOLLOW: "post_creator_unfollow",
468
- VIEW_OWN_ANALYTICS: "post_creator_view_analytics",
469
- REPORT: "post_report",
470
- NOT_INTERESTED: "post_not_interested",
471
- },
472
- COMMENT: {
473
- FORM_FOCUS: "comment_form_focus",
474
- SUBMIT_SUCCESS: "comment_submit_success",
475
- LIST_LOAD_MORE: "comment_list_load_more",
476
- ITEM_LIKE: "comment_item_like",
477
- ITEM_REPLY_CLICK: "comment_item_reply_click",
478
- ITEM_REPLIES_TOGGLE: "comment_item_replies_toggle",
479
- ITEM_SHARE: "comment_item_share",
480
- ITEM_PROFILE_CLICK: "comment_item_profile_click",
481
- EMPTY_STATE_VIEW: "comment_empty_state_view",
482
- },
451
+ POST: {
452
+ VIEW_DETAILS: "post_view_details",
453
+ LIKE: "post_like",
454
+ BOOKMARK: "post_bookmark",
455
+ VIEW_LIKES_LIST: "post_view_likes_list",
456
+ TAG_CLICK: (tag: string) => `post_tag_click_${tag}`,
457
+ LINK_PREVIEW_CLICK: "post_link_preview_click",
458
+ MEDIA_EXPAND: "post_media_expand",
459
+ LIGHTBOX_NAV: "post_lightbox_nav",
460
+ LIGHTBOX_THUMB_SELECT: "post_lightbox_thumb_select",
461
+ VIDEO_VIEW: "post_video_view",
462
+ SHARE_MENU_OPEN: "post_share_menu_open",
463
+ LINK_COPIED: "post_link_copied",
464
+ SHARE_TWITTER: "post_shared_twitter",
465
+ SHARE_FACEBOOK: "post_shared_facebook",
466
+ SHARE_LINKEDIN: "post_shared_linkedin",
467
+ SHARE_INSTAGRAM: "post_shared_instagram",
468
+
469
+ DM_CLICK: "post_dm_click",
470
+ FOLLOW: "post_creator_follow",
471
+ UNFOLLOW: "post_creator_unfollow",
472
+ VIEW_OWN_ANALYTICS: "post_creator_view_analytics",
473
+ REPORT: "post_report",
474
+ NOT_INTERESTED: "post_not_interested",
475
+ },
476
+ COMMENT: {
477
+ FORM_FOCUS: "comment_form_focus",
478
+ SUBMIT_SUCCESS: "comment_submit_success",
479
+ LIST_LOAD_MORE: "comment_list_load_more",
480
+ ITEM_LIKE: "comment_item_like",
481
+ ITEM_REPLY_CLICK: "comment_item_reply_click",
482
+ ITEM_REPLIES_TOGGLE: "comment_item_replies_toggle",
483
+ ITEM_SHARE: "comment_item_share",
484
+ ITEM_PROFILE_CLICK: "comment_item_profile_click",
485
+ EMPTY_STATE_VIEW: "comment_empty_state_view",
486
+ },
483
487
  } as const;