lancer-shared 1.2.0 → 1.2.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 (115) hide show
  1. package/dist/bundle.cjs.js +1 -0
  2. package/dist/schemas/organization/index.d.ts +8 -0
  3. package/dist/schemas/organization/organization.d.ts +22 -118
  4. package/package.json +1 -1
  5. package/dist/constants/collections.js +0 -14
  6. package/dist/constants/common-questions.js +0 -57
  7. package/dist/constants/index.js +0 -18
  8. package/dist/constants/job-filter-options.js +0 -265
  9. package/dist/constants/job-status.js +0 -21
  10. package/dist/constants/mappings/countryMapping.js +0 -120
  11. package/dist/constants/mappings/regionMapping.js +0 -240
  12. package/dist/constants/routes.js +0 -116
  13. package/dist/constants/upwork-accounts.js +0 -18
  14. package/dist/index.js +0 -4
  15. package/dist/schemas/account/account-status.js +0 -8
  16. package/dist/schemas/account/bidder-account.js +0 -35
  17. package/dist/schemas/account/index.js +0 -3
  18. package/dist/schemas/account/scraper-account.js +0 -34
  19. package/dist/schemas/ai/ai-config.d.ts +0 -36
  20. package/dist/schemas/ai/ai-config.js +0 -9
  21. package/dist/schemas/ai/index.d.ts +0 -3
  22. package/dist/schemas/ai/index.js +0 -3
  23. package/dist/schemas/ai/proposal.d.ts +0 -82
  24. package/dist/schemas/ai/proposal.js +0 -13
  25. package/dist/schemas/ai/suitability.d.ts +0 -37
  26. package/dist/schemas/ai/suitability.js +0 -14
  27. package/dist/schemas/bid/bid-result.js +0 -11
  28. package/dist/schemas/bid/bid.js +0 -35
  29. package/dist/schemas/bid/index.js +0 -2
  30. package/dist/schemas/campaign/campaign-ai-metrics.js +0 -6
  31. package/dist/schemas/campaign/campaign-analytics.js +0 -42
  32. package/dist/schemas/campaign/campaign-expenses.js +0 -6
  33. package/dist/schemas/campaign/campaign-insights.js +0 -31
  34. package/dist/schemas/campaign/campaign-integrations.js +0 -13
  35. package/dist/schemas/campaign/campaign-job-count.js +0 -3
  36. package/dist/schemas/campaign/campaign.js +0 -41
  37. package/dist/schemas/campaign/index.js +0 -7
  38. package/dist/schemas/chat-message/chat-message.js +0 -10
  39. package/dist/schemas/chat-message/index.js +0 -1
  40. package/dist/schemas/config/agency-config.js +0 -7
  41. package/dist/schemas/config/index.js +0 -1
  42. package/dist/schemas/event/index.d.ts +0 -58
  43. package/dist/schemas/index.js +0 -17
  44. package/dist/schemas/job/index.d.ts +0 -95
  45. package/dist/schemas/job-filters/index.js +0 -1
  46. package/dist/schemas/job-filters/job-filters.js +0 -84
  47. package/dist/schemas/lead/index.js +0 -173
  48. package/dist/schemas/lead/lead-note.js +0 -27
  49. package/dist/schemas/lead/lead-status.js +0 -23
  50. package/dist/schemas/lead/nuxt.js +0 -287
  51. package/dist/schemas/logger/index.js +0 -1
  52. package/dist/schemas/logger/log-event.js +0 -117
  53. package/dist/schemas/organization/index.js +0 -70
  54. package/dist/schemas/organization/member.js +0 -7
  55. package/dist/schemas/organization/organization.js +0 -16
  56. package/dist/schemas/organization/subscription.js +0 -17
  57. package/dist/schemas/proxy/index.js +0 -3
  58. package/dist/schemas/proxy/proxy-available-replacements.js +0 -3
  59. package/dist/schemas/proxy/proxy-country.js +0 -249
  60. package/dist/schemas/proxy/proxy.js +0 -29
  61. package/dist/schemas/saved-search/index.js +0 -9
  62. package/dist/schemas/scraper/index.js +0 -2
  63. package/dist/schemas/scraper/scrape-payload.js +0 -21
  64. package/dist/schemas/scraper/scrape-result.js +0 -23
  65. package/dist/schemas/shared.js +0 -19
  66. package/dist/schemas/time-filter/index.js +0 -6
  67. package/dist/schemas/transaction/index.js +0 -17
  68. package/dist/schemas/usage/index.js +0 -18
  69. package/dist/schemas/user/index.js +0 -52
  70. package/dist/types/account/account-status.js +0 -1
  71. package/dist/types/account/bidder-account.js +0 -1
  72. package/dist/types/account/index.js +0 -3
  73. package/dist/types/account/scraper-account.js +0 -1
  74. package/dist/types/ai/ai-config.d.ts +0 -6
  75. package/dist/types/ai/ai-config.js +0 -1
  76. package/dist/types/ai/index.d.ts +0 -3
  77. package/dist/types/ai/index.js +0 -3
  78. package/dist/types/ai/proposal.d.ts +0 -10
  79. package/dist/types/ai/proposal.js +0 -1
  80. package/dist/types/ai/suitability.d.ts +0 -6
  81. package/dist/types/ai/suitability.js +0 -1
  82. package/dist/types/bid/bid-result.js +0 -1
  83. package/dist/types/bid/bid.js +0 -1
  84. package/dist/types/bid/index.js +0 -2
  85. package/dist/types/campaign/campaign-analytics.js +0 -1
  86. package/dist/types/campaign/campaign-expenses.js +0 -1
  87. package/dist/types/campaign/campaign-insights.js +0 -1
  88. package/dist/types/campaign/campaign-integrations.js +0 -1
  89. package/dist/types/campaign/campaign-job-count.js +0 -1
  90. package/dist/types/campaign/campaign.js +0 -1
  91. package/dist/types/campaign/index.js +0 -6
  92. package/dist/types/chat-message/chat-message.js +0 -1
  93. package/dist/types/chat-message/index.js +0 -1
  94. package/dist/types/config/agency-config.js +0 -1
  95. package/dist/types/config/index.js +0 -1
  96. package/dist/types/index.js +0 -15
  97. package/dist/types/job/index.js +0 -3
  98. package/dist/types/job/job-note.js +0 -1
  99. package/dist/types/job/job-status.js +0 -9
  100. package/dist/types/job/nuxt.js +0 -1
  101. package/dist/types/job-filters/index.js +0 -1
  102. package/dist/types/job-filters/job-filters.js +0 -1
  103. package/dist/types/logger/index.js +0 -1
  104. package/dist/types/logger/log-event.js +0 -1
  105. package/dist/types/saved-search/index.js +0 -1
  106. package/dist/types/scraper/index.js +0 -2
  107. package/dist/types/scraper/scrape-payload.js +0 -1
  108. package/dist/types/scraper/scrape-result.js +0 -1
  109. package/dist/types/shared.js +0 -1
  110. package/dist/types/time-filter/index.js +0 -1
  111. package/dist/types/transaction/index.js +0 -1
  112. package/dist/types/usage/index.js +0 -1
  113. package/dist/types/user/index.js +0 -1
  114. package/dist/utils/index.js +0 -1
  115. package/dist/utils/try-catch.js +0 -10
@@ -5733,6 +5733,7 @@ const aiConfigOldSchema = objectType({
5733
5733
  const aiConfigSchema = objectType({
5734
5734
  suitabilityRules: stringType().nullable(),
5735
5735
  coverLetterRules: stringType().nullable(),
5736
+ coverLetterTemplate: stringType().nullable(),
5736
5737
  questionRules: stringType().nullable(),
5737
5738
  });
5738
5739
  const knowledgeBaseSchema = objectType({
@@ -218,14 +218,17 @@ export declare const aiConfigOldSchema: z.ZodObject<{
218
218
  export declare const aiConfigSchema: z.ZodObject<{
219
219
  suitabilityRules: z.ZodNullable<z.ZodString>;
220
220
  coverLetterRules: z.ZodNullable<z.ZodString>;
221
+ coverLetterTemplate: z.ZodNullable<z.ZodString>;
221
222
  questionRules: z.ZodNullable<z.ZodString>;
222
223
  }, "strip", z.ZodTypeAny, {
223
224
  suitabilityRules: string | null;
224
225
  coverLetterRules: string | null;
226
+ coverLetterTemplate: string | null;
225
227
  questionRules: string | null;
226
228
  }, {
227
229
  suitabilityRules: string | null;
228
230
  coverLetterRules: string | null;
231
+ coverLetterTemplate: string | null;
229
232
  questionRules: string | null;
230
233
  }>;
231
234
  export declare const knowledgeBaseSchema: z.ZodObject<{
@@ -255,14 +258,17 @@ export declare const organizationSettingsSchema: z.ZodObject<{
255
258
  aiConfig: z.ZodObject<{
256
259
  suitabilityRules: z.ZodNullable<z.ZodString>;
257
260
  coverLetterRules: z.ZodNullable<z.ZodString>;
261
+ coverLetterTemplate: z.ZodNullable<z.ZodString>;
258
262
  questionRules: z.ZodNullable<z.ZodString>;
259
263
  }, "strip", z.ZodTypeAny, {
260
264
  suitabilityRules: string | null;
261
265
  coverLetterRules: string | null;
266
+ coverLetterTemplate: string | null;
262
267
  questionRules: string | null;
263
268
  }, {
264
269
  suitabilityRules: string | null;
265
270
  coverLetterRules: string | null;
271
+ coverLetterTemplate: string | null;
266
272
  questionRules: string | null;
267
273
  }>;
268
274
  knowledgeBase: z.ZodObject<{
@@ -296,6 +302,7 @@ export declare const organizationSettingsSchema: z.ZodObject<{
296
302
  aiConfig: {
297
303
  suitabilityRules: string | null;
298
304
  coverLetterRules: string | null;
305
+ coverLetterTemplate: string | null;
299
306
  questionRules: string | null;
300
307
  };
301
308
  notifications: {
@@ -311,6 +318,7 @@ export declare const organizationSettingsSchema: z.ZodObject<{
311
318
  aiConfig: {
312
319
  suitabilityRules: string | null;
313
320
  coverLetterRules: string | null;
321
+ coverLetterTemplate: string | null;
314
322
  questionRules: string | null;
315
323
  };
316
324
  notifications: {
@@ -6,13 +6,13 @@ export declare const bidConfigSchema: z.ZodObject<{
6
6
  specialisedProfile: z.ZodNullable<z.ZodString>;
7
7
  }, "strip", z.ZodTypeAny, {
8
8
  agencyName: string | null;
9
- bidderId: string | null;
10
9
  contractorName: string | null;
10
+ bidderId: string | null;
11
11
  specialisedProfile: string | null;
12
12
  }, {
13
13
  agencyName: string | null;
14
- bidderId: string | null;
15
14
  contractorName: string | null;
15
+ bidderId: string | null;
16
16
  specialisedProfile: string | null;
17
17
  }>;
18
18
  export declare const organizationTypeSchema: z.ZodEnum<["agency", "freelancer"]>;
@@ -27,149 +27,54 @@ export declare const organizationSchema: z.ZodObject<{
27
27
  specialisedProfile: z.ZodNullable<z.ZodString>;
28
28
  }, "strip", z.ZodTypeAny, {
29
29
  agencyName: string | null;
30
- bidderId: string | null;
31
30
  contractorName: string | null;
31
+ bidderId: string | null;
32
32
  specialisedProfile: string | null;
33
33
  }, {
34
34
  agencyName: string | null;
35
- bidderId: string | null;
36
35
  contractorName: string | null;
36
+ bidderId: string | null;
37
37
  specialisedProfile: string | null;
38
38
  }>;
39
- tierId: z.ZodEnum<["free", "premium"]>;
40
- active: z.ZodBoolean;
41
- limits: z.ZodNullable<z.ZodObject<{
42
- monthlyCredits: z.ZodNumber;
43
- usedCredits: z.ZodNumber;
44
- extraCredits: z.ZodNumber;
45
- }, "strip", z.ZodTypeAny, {
46
- monthlyCredits: number;
47
- usedCredits: number;
48
- extraCredits: number;
49
- }, {
50
- monthlyCredits: number;
51
- usedCredits: number;
52
- extraCredits: number;
53
- }>>;
54
- billing: z.ZodNullable<z.ZodObject<{
55
- stripeCustomerId: z.ZodString;
56
- savedCard: z.ZodBoolean;
57
- creditsRemaining: z.ZodNumber;
58
- }, "strip", z.ZodTypeAny, {
59
- stripeCustomerId: string;
60
- savedCard: boolean;
61
- creditsRemaining: number;
62
- }, {
63
- stripeCustomerId: string;
64
- savedCard: boolean;
65
- creditsRemaining: number;
66
- }>>;
67
- subscription: z.ZodNullable<z.ZodObject<{
68
- tierId: z.ZodString;
69
- status: z.ZodEnum<["active", "trialing", "cancelled", "paused"]>;
70
- creditsRemaining: z.ZodNumber;
71
- startedAt: z.ZodNumber;
72
- currentPeriodEnd: z.ZodNumber;
73
- stripeSubscriptionId: z.ZodString;
74
- source: z.ZodEnum<["stripe", "manual"]>;
75
- }, "strip", z.ZodTypeAny, {
76
- status: "active" | "trialing" | "cancelled" | "paused";
77
- creditsRemaining: number;
78
- tierId: string;
79
- startedAt: number;
80
- currentPeriodEnd: number;
81
- stripeSubscriptionId: string;
82
- source: "stripe" | "manual";
83
- }, {
84
- status: "active" | "trialing" | "cancelled" | "paused";
85
- creditsRemaining: number;
86
- tierId: string;
87
- startedAt: number;
88
- currentPeriodEnd: number;
89
- stripeSubscriptionId: string;
90
- source: "stripe" | "manual";
91
- }>>;
92
- createdAt: z.ZodNumber;
93
- updatedAt: z.ZodNumber;
39
+ createdAt: z.ZodDate;
40
+ updatedAt: z.ZodDate;
94
41
  }, "strip", z.ZodTypeAny, {
95
- type: "agency" | "freelancer";
96
42
  id: string;
43
+ type: "agency" | "freelancer";
44
+ createdAt: Date;
45
+ updatedAt: Date;
97
46
  name: string;
98
47
  bidConfig: {
99
48
  agencyName: string | null;
100
- bidderId: string | null;
101
49
  contractorName: string | null;
50
+ bidderId: string | null;
102
51
  specialisedProfile: string | null;
103
52
  };
104
- tierId: "free" | "premium";
105
- active: boolean;
106
- limits: {
107
- monthlyCredits: number;
108
- usedCredits: number;
109
- extraCredits: number;
110
- } | null;
111
- billing: {
112
- stripeCustomerId: string;
113
- savedCard: boolean;
114
- creditsRemaining: number;
115
- } | null;
116
- subscription: {
117
- status: "active" | "trialing" | "cancelled" | "paused";
118
- creditsRemaining: number;
119
- tierId: string;
120
- startedAt: number;
121
- currentPeriodEnd: number;
122
- stripeSubscriptionId: string;
123
- source: "stripe" | "manual";
124
- } | null;
125
- createdAt: number;
126
- updatedAt: number;
127
53
  }, {
128
- type: "agency" | "freelancer";
129
54
  id: string;
55
+ type: "agency" | "freelancer";
56
+ createdAt: Date;
57
+ updatedAt: Date;
130
58
  name: string;
131
59
  bidConfig: {
132
60
  agencyName: string | null;
133
- bidderId: string | null;
134
61
  contractorName: string | null;
62
+ bidderId: string | null;
135
63
  specialisedProfile: string | null;
136
64
  };
137
- tierId: "free" | "premium";
138
- active: boolean;
139
- limits: {
140
- monthlyCredits: number;
141
- usedCredits: number;
142
- extraCredits: number;
143
- } | null;
144
- billing: {
145
- stripeCustomerId: string;
146
- savedCard: boolean;
147
- creditsRemaining: number;
148
- } | null;
149
- subscription: {
150
- status: "active" | "trialing" | "cancelled" | "paused";
151
- creditsRemaining: number;
152
- tierId: string;
153
- startedAt: number;
154
- currentPeriodEnd: number;
155
- stripeSubscriptionId: string;
156
- source: "stripe" | "manual";
157
- } | null;
158
- createdAt: number;
159
- updatedAt: number;
160
65
  }>;
161
66
  export declare const aiConfigSchema: z.ZodObject<{
162
67
  suitabilityRules: z.ZodNullable<z.ZodString>;
163
- proposalRules: z.ZodNullable<z.ZodString>;
68
+ coverLetterRules: z.ZodNullable<z.ZodString>;
164
69
  questionRules: z.ZodNullable<z.ZodString>;
165
70
  }, "strip", z.ZodTypeAny, {
166
71
  suitabilityRules: string | null;
167
- proposalRules: string | null;
168
72
  questionRules: string | null;
73
+ coverLetterRules: string | null;
169
74
  }, {
170
75
  suitabilityRules: string | null;
171
- proposalRules: string | null;
172
76
  questionRules: string | null;
77
+ coverLetterRules: string | null;
173
78
  }>;
174
79
  export declare const knowledgeBaseSchema: z.ZodObject<{
175
80
  about: z.ZodString;
@@ -184,16 +89,16 @@ export declare const knowledgeBaseSchema: z.ZodObject<{
184
89
  export declare const organizationSettingsSchema: z.ZodObject<{
185
90
  aiConfig: z.ZodObject<{
186
91
  suitabilityRules: z.ZodNullable<z.ZodString>;
187
- proposalRules: z.ZodNullable<z.ZodString>;
92
+ coverLetterRules: z.ZodNullable<z.ZodString>;
188
93
  questionRules: z.ZodNullable<z.ZodString>;
189
94
  }, "strip", z.ZodTypeAny, {
190
95
  suitabilityRules: string | null;
191
- proposalRules: string | null;
192
96
  questionRules: string | null;
97
+ coverLetterRules: string | null;
193
98
  }, {
194
99
  suitabilityRules: string | null;
195
- proposalRules: string | null;
196
100
  questionRules: string | null;
101
+ coverLetterRules: string | null;
197
102
  }>;
198
103
  knowledgeBase: z.ZodObject<{
199
104
  about: z.ZodString;
@@ -208,8 +113,8 @@ export declare const organizationSettingsSchema: z.ZodObject<{
208
113
  }, "strip", z.ZodTypeAny, {
209
114
  aiConfig: {
210
115
  suitabilityRules: string | null;
211
- proposalRules: string | null;
212
116
  questionRules: string | null;
117
+ coverLetterRules: string | null;
213
118
  };
214
119
  knowledgeBase: {
215
120
  about: string;
@@ -218,8 +123,8 @@ export declare const organizationSettingsSchema: z.ZodObject<{
218
123
  }, {
219
124
  aiConfig: {
220
125
  suitabilityRules: string | null;
221
- proposalRules: string | null;
222
126
  questionRules: string | null;
127
+ coverLetterRules: string | null;
223
128
  };
224
129
  knowledgeBase: {
225
130
  about: string;
@@ -237,4 +142,3 @@ export interface OrganizationSettings extends z.infer<typeof organizationSetting
237
142
  export interface BidConfig extends z.infer<typeof bidConfigSchema> {
238
143
  }
239
144
  export type OrganizationType = z.infer<typeof organizationTypeSchema>;
240
- export * from "./subscription";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lancer-shared",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "This package contains shared stuff.",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "dist/bundle.cjs.js",
@@ -1,14 +0,0 @@
1
- // Base collection names
2
- export const COLLECTIONS = {
3
- USERS: "users",
4
- SETTINGS: "settings",
5
- CAMPAIGNS: "campaigns",
6
- LEADS: "leads",
7
- EVENTS: "events",
8
- SCRAPER_ACCOUNTS: "scrapers",
9
- BIDDER_ACCOUNTS: "bidders",
10
- CAMPAIGN_ACTIVITIES: (userId, campaignId) => `users/${userId}/campaigns/${campaignId}/activities`,
11
- ORGANIZATIONS: "organizations",
12
- PROXIES: "proxies",
13
- TRANSACTIONS: "transactions",
14
- };
@@ -1,57 +0,0 @@
1
- export const commonQuestions = [
2
- {
3
- id: 'similar_experience',
4
- question: 'Describe your recent experience with similar projects',
5
- placeholder: 'ex: [Answer the question based on case studies, if not certain ask to discuss in DMs]',
6
- },
7
- {
8
- id: 'profile_links',
9
- question: 'Include a link to your GitHub profile and/or website',
10
- placeholder: 'ex: [https://github.com/yourusername or https://yourwebsite.com]',
11
- },
12
- {
13
- id: 'frameworks',
14
- question: 'What frameworks have you worked with?',
15
- placeholder: 'ex: [NextJS, React, TailwindCSS, etc...]',
16
- },
17
- {
18
- id: 'testing_approach',
19
- question: 'Describe your approach to testing and improving QA',
20
- placeholder: 'ex: [We are using test-driven development, and we are using Jest for testing]',
21
- },
22
- {
23
- id: 'certifications',
24
- question: 'Please list any certifications related to this project',
25
- placeholder: 'ex: [Certification in React, Certification in NextJS, etc...]',
26
- },
27
- {
28
- id: 'similar_project',
29
- question: 'What past project or job have you had that is most like this one and why?',
30
- placeholder: "ex: [Describe a similar project and explain the key similarities... If you can't answer based on the case studies, ask to discuss in DMs]",
31
- },
32
- {
33
- id: 'project_fit',
34
- question: 'Why do you think you are a good fit for this particular project?',
35
- placeholder: 'ex: [Explain how your skills and experience match the project requirements...]',
36
- },
37
- {
38
- id: 'job_questions',
39
- question: 'Do you have any questions about the job description?',
40
- placeholder: 'ex: [Ask for any clarifications needed about the role or requirements...]',
41
- },
42
- {
43
- id: 'project_questions',
44
- question: 'What questions do you have about the project?',
45
- placeholder: 'ex: [Ask about project scope, timeline, team structure...]',
46
- },
47
- {
48
- id: 'project_suggestions',
49
- question: 'Do you have suggestions to make this project run successfully?',
50
- placeholder: 'ex: [Ask to discuss in DMs]',
51
- },
52
- {
53
- id: 'company_info',
54
- question: 'What is your company website URL? . . . Company size?',
55
- placeholder: 'ex: [https://company.com | Number of employees: ...]',
56
- },
57
- ];
@@ -1,18 +0,0 @@
1
- export const paths = {
2
- auth: {
3
- register: `auth/register`,
4
- },
5
- users: {
6
- root: 'users',
7
- details: (id) => `users/${id}`,
8
- },
9
- };
10
- export * from './job-filter-options';
11
- export { default as countryMapping } from './mappings/countryMapping';
12
- export { default as regionMapping } from './mappings/regionMapping';
13
- export * from './job-filter-options';
14
- export * from './common-questions';
15
- export * from './job-status';
16
- export * from './routes';
17
- export * from './collections';
18
- export * from './upwork-accounts';
@@ -1,265 +0,0 @@
1
- export const JOB_FILTER_OPTIONS = {
2
- REGIONS: ["Worldwide", "UKOnly", "USOnly"],
3
- PROJECT_DURATION: [
4
- "Less than 1 month",
5
- "1 to 3 months",
6
- "3 to 6 months",
7
- "More than 6 months",
8
- "Unspecified",
9
- ],
10
- ENGAGEMENT_TYPE: [
11
- "Less than 30 hrs/week",
12
- "More than 30 hrs/week",
13
- "Unspecified",
14
- ],
15
- VENDOR_TYPE: ["Independent", "Agency", "Unspecified"],
16
- PAYMENT_TYPE: ["Fixed-price", "Hourly", "Unspecified"],
17
- TALENT_TYPE: ["Agency", "Independent", "Unspecified"],
18
- ENGLISH_LEVELS: [
19
- "Fluent",
20
- "Conversational",
21
- "Native or Bilingual",
22
- "Unspecified",
23
- ],
24
- EXPERIENCE_LEVELS: ["Entry level", "Intermediate", "Expert"],
25
- REQUIRED_EARNINGS: [100, 1000, 10000],
26
- REQUIRED_JSS: [">80%", ">90%", "100%", "RT"],
27
- HIERARCHICAL_CATEGORIES: [
28
- {
29
- label: "Accounting & Consulting",
30
- value: "accounting-consulting",
31
- children: [
32
- "Accounting & Bookkeeping",
33
- "Financial Planning",
34
- "Management Consulting & Analysis",
35
- "Other - Accounting & Consulting",
36
- "Personal & Professional Coaching",
37
- "Recruiting & Human Resources",
38
- ],
39
- },
40
- {
41
- label: "Admin Support",
42
- value: "admin-support",
43
- children: [
44
- "Data Entry & Transcription Services",
45
- "Market Research & Product Reviews",
46
- "Project Management",
47
- "Virtual Assistance",
48
- ],
49
- },
50
- {
51
- label: "Customer Service",
52
- value: "customer-service",
53
- children: [
54
- "Community Management & Tagging",
55
- "Customer Service & Tech Support",
56
- ],
57
- },
58
- {
59
- label: "Data Science & Analytics",
60
- value: "data-science-analytics",
61
- children: [
62
- "AI & Machine Learning",
63
- "Data Analysis & Testing",
64
- "Data Extraction/ETL",
65
- "Data Mining & Management",
66
- ],
67
- },
68
- {
69
- label: "Design & Creative",
70
- value: "design-creative",
71
- children: [
72
- "Art & Illustration",
73
- "Audio & Music Production",
74
- "Branding & Logo Design",
75
- "Graphic, Editorial & Presentation Design",
76
- "NFT, AR/VR & Game Art",
77
- "Performing Arts",
78
- "Photography",
79
- "Product Design",
80
- "Video & Animation",
81
- ],
82
- },
83
- {
84
- label: "Engineering & Architecture",
85
- value: "engineering-architecture",
86
- children: [
87
- "3D Modeling & CAD",
88
- "Building & Landscape Architecture",
89
- "Chemical Engineering",
90
- "Civil & Structural Engineering",
91
- "Contract Manufacturing",
92
- "Electrical & Electronic Engineering",
93
- "Energy & Mechanical Engineering",
94
- ],
95
- },
96
- {
97
- label: "IT & Networking",
98
- value: "it-networking",
99
- children: [
100
- "Database Management & Administration",
101
- "DevOps & Solution Architecture",
102
- "ERP/CRM Software",
103
- "Information Security & Compliance",
104
- "Network & System Administration",
105
- ],
106
- },
107
- {
108
- label: "Legal",
109
- value: "legal",
110
- children: [
111
- "Corporate & Contract Law",
112
- "Finance & Tax Law",
113
- "International & Immigration Law",
114
- "Public Law",
115
- ],
116
- },
117
- {
118
- label: "Sales & Marketing",
119
- value: "sales-marketing",
120
- children: [
121
- "Digital Marketing",
122
- "Lead Generation & Telemarketing",
123
- "Marketing, PR & Brand Strategy",
124
- ],
125
- },
126
- {
127
- label: "Translation",
128
- value: "translation",
129
- children: [
130
- "Language Tutoring & Interpretation",
131
- "Translation & Localization Services",
132
- ],
133
- },
134
- {
135
- label: "Software Development",
136
- value: "software-development",
137
- children: [
138
- "AI Apps & Integration",
139
- "Blockchain, NFT & Cryptocurrency",
140
- "Desktop Application Development",
141
- "Ecommerce Development",
142
- "Game Design & Development",
143
- "Mobile Development",
144
- "Other - Software Development",
145
- "Product Management & Scrum",
146
- "QA Testing",
147
- "Scripts & Utilities",
148
- "Web & Mobile Design",
149
- "Web Development",
150
- ],
151
- },
152
- {
153
- label: "Writing",
154
- value: "writing",
155
- children: [
156
- "Content Writing",
157
- "Editing & Proofreading Services",
158
- "Professional & Business Writing",
159
- "Sales & Marketing Copywriting",
160
- ],
161
- },
162
- ],
163
- CATEGORIES: [
164
- "Personal & Professional Coaching",
165
- "Accounting & Bookkeeping",
166
- "Financial Planning",
167
- "Recruiting & Human Resources",
168
- "Management Consulting & Analysis",
169
- "Other - Accounting & Consulting",
170
- "Data Entry & Transcription Services",
171
- "Virtual Assistance",
172
- "Project Management",
173
- "Market Research & Product Reviews",
174
- "Community Management & Tagging",
175
- "Customer Service & Tech Support",
176
- "Data Analysis & Testing",
177
- "Data Extraction/ETL",
178
- "Data Mining & Management",
179
- "AI & Machine Learning",
180
- "Art & Illustration",
181
- "Audio & Music Production",
182
- "Branding & Logo Design",
183
- "NFT, AR/VR & Game Art",
184
- "Graphic, Editorial & Presentation Design",
185
- "Performing Arts",
186
- "Photography",
187
- "Product Design",
188
- "Video & Animation",
189
- "Building & Landscape Architecture",
190
- "Chemical Engineering",
191
- "Civil & Structural Engineering",
192
- "Contract Manufacturing",
193
- "Electrical & Electronic Engineering",
194
- "Energy & Mechanical Engineering",
195
- "3D Modeling & CAD",
196
- "Database Management & Administration",
197
- "ERP/CRM Software",
198
- "Information Security & Compliance",
199
- "Network & System Administration",
200
- "DevOps & Solution Architecture",
201
- "Corporate & Contract Law",
202
- "International & Immigration Law",
203
- "Finance & Tax Law",
204
- "Public Law",
205
- "Digital Marketing",
206
- "Lead Generation & Telemarketing",
207
- "Marketing, PR & Brand Strategy",
208
- "Language Tutoring & Interpretation",
209
- "Translation & Localization Services",
210
- "Blockchain, NFT & Cryptocurrency",
211
- "AI Apps & Integration",
212
- "Desktop Application Development",
213
- "Ecommerce Development",
214
- "Game Design & Development",
215
- "Mobile Development",
216
- "Other - Software Development",
217
- "Product Management & Scrum",
218
- "QA Testing",
219
- "Scripts & Utilities",
220
- "Web & Mobile Design",
221
- "Web Development",
222
- "Sales & Marketing Copywriting",
223
- "Content Writing",
224
- "Editing & Proofreading Services",
225
- "Professional & Business Writing",
226
- ],
227
- CLIENT_INDUSTRY: [
228
- "Aerospace",
229
- "Agriculture & Forestry",
230
- "Art & Design",
231
- "Automotive",
232
- "Aviation",
233
- "Education",
234
- "Energy & Utilities",
235
- "Engineering & Architecture",
236
- "Fashion & Beauty",
237
- "Finance & Accounting",
238
- "Food & Beverage",
239
- "Government & Public Sector",
240
- "Health & Fitness",
241
- "HR & Business Services",
242
- "Legal",
243
- "Manufacturing & Construction",
244
- "Media & Entertainment",
245
- "Military & Defense",
246
- "Mining",
247
- "Real Estate",
248
- "Retail & Consumer Goods",
249
- "Sales & Marketing",
250
- "Science & Medicine",
251
- "Sports & Recreation",
252
- "Supply Chain & Logistics",
253
- "Tech & IT",
254
- "Transportation & Warehousing",
255
- "Travel & Hospitality",
256
- ],
257
- CLIENT_SIZE: [
258
- "Individual client",
259
- "Small company (2-9 people)",
260
- "Mid-sized company (10-99 people)",
261
- "Large company (100-1,000 people)",
262
- "Large company (1,000+ people)",
263
- "Unspecified",
264
- ],
265
- };
@@ -1,21 +0,0 @@
1
- export const jobStatusOrder = [
2
- "leads",
3
- "contacted",
4
- "viewed",
5
- "replied",
6
- "negotiations",
7
- "won",
8
- "lost",
9
- ];
10
- export const getPreviousStatus = (status) => {
11
- if (status === "won")
12
- return "negotiations";
13
- if (status === "lost")
14
- return "negotiations";
15
- const index = jobStatusOrder.indexOf(status);
16
- return index > 0 ? jobStatusOrder[index - 1] : null;
17
- };
18
- export const getNextStatus = (status) => {
19
- const index = jobStatusOrder.indexOf(status);
20
- return index < jobStatusOrder.length - 1 ? jobStatusOrder[index + 1] : null;
21
- };