@myrjfa/state 1.1.0 → 1.1.2

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 (82) hide show
  1. package/dist/index.d.ts +3 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +3 -2
  4. package/dist/lib/actions/actions.d.ts +56 -7
  5. package/dist/lib/actions/actions.d.ts.map +1 -1
  6. package/dist/lib/actions/actions.js +50 -10
  7. package/dist/lib/actions/auth.d.ts +12 -2
  8. package/dist/lib/actions/auth.d.ts.map +1 -1
  9. package/dist/lib/actions/chat.d.ts +80 -11
  10. package/dist/lib/actions/chat.d.ts.map +1 -1
  11. package/dist/lib/actions/chat.js +81 -20
  12. package/dist/lib/actions/fetcher.d.ts +0 -3
  13. package/dist/lib/actions/fetcher.d.ts.map +1 -1
  14. package/dist/lib/actions/fetcher.js +44 -6
  15. package/dist/lib/{severActions.d.ts → actions/serverActions.d.ts} +1 -1
  16. package/dist/lib/actions/serverActions.d.ts.map +1 -0
  17. package/dist/lib/actions/{severActions.js → serverActions.js} +3 -0
  18. package/dist/lib/actions/user.d.ts +23 -0
  19. package/dist/lib/actions/user.d.ts.map +1 -0
  20. package/dist/lib/actions/user.js +55 -0
  21. package/dist/lib/authSessionManager.d.ts.map +1 -1
  22. package/dist/lib/authSessionManager.js +14 -7
  23. package/dist/lib/context/ChatContext.d.ts +7 -0
  24. package/dist/lib/context/ChatContext.d.ts.map +1 -1
  25. package/dist/lib/context/ChatContext.js +121 -11
  26. package/dist/lib/models/blog.d.ts +3 -2
  27. package/dist/lib/models/blog.d.ts.map +1 -1
  28. package/dist/lib/models/chat.d.ts +32 -7
  29. package/dist/lib/models/chat.d.ts.map +1 -1
  30. package/dist/lib/models/notifications.d.ts +94 -0
  31. package/dist/lib/models/notifications.d.ts.map +1 -0
  32. package/dist/lib/models/notifications.js +60 -0
  33. package/dist/lib/models/opportunities/freelance.d.ts +48 -20
  34. package/dist/lib/models/opportunities/freelance.d.ts.map +1 -1
  35. package/dist/lib/models/opportunities/internship.d.ts +48 -20
  36. package/dist/lib/models/opportunities/internship.d.ts.map +1 -1
  37. package/dist/lib/models/opportunities/job.d.ts +58 -30
  38. package/dist/lib/models/opportunities/job.d.ts.map +1 -1
  39. package/dist/lib/models/opportunities/opportunity.d.ts +61 -33
  40. package/dist/lib/models/opportunities/opportunity.d.ts.map +1 -1
  41. package/dist/lib/models/opportunities/opportunity.js +1 -0
  42. package/dist/lib/models/opportunities/volunteerJob.d.ts +48 -20
  43. package/dist/lib/models/opportunities/volunteerJob.d.ts.map +1 -1
  44. package/dist/lib/models/portfolio.d.ts +2 -2
  45. package/dist/lib/models/props.d.ts +21 -4
  46. package/dist/lib/models/props.d.ts.map +1 -1
  47. package/dist/lib/models/user.d.ts +19 -4
  48. package/dist/lib/models/user.d.ts.map +1 -1
  49. package/dist/lib/models/user.js +5 -0
  50. package/dist/lib/userAtom.d.ts +24 -4
  51. package/dist/lib/userAtom.d.ts.map +1 -1
  52. package/dist/lib/userAtom.js +13 -11
  53. package/dist/lib/utils/fileCompression.d.ts +16 -0
  54. package/dist/lib/utils/fileCompression.d.ts.map +1 -0
  55. package/dist/lib/utils/fileCompression.js +56 -0
  56. package/dist/lib/utils/socialMediaUrl.d.ts +25 -0
  57. package/dist/lib/utils/socialMediaUrl.d.ts.map +1 -0
  58. package/dist/lib/utils/socialMediaUrl.js +97 -0
  59. package/dist/lib/utils.js +4 -4
  60. package/package.json +3 -1
  61. package/dist/lib/actions/severActions.d.ts +0 -3
  62. package/dist/lib/actions/severActions.d.ts.map +0 -1
  63. package/dist/lib/actions.d.ts +0 -141
  64. package/dist/lib/actions.d.ts.map +0 -1
  65. package/dist/lib/actions.js +0 -307
  66. package/dist/lib/auth.d.ts +0 -150
  67. package/dist/lib/auth.d.ts.map +0 -1
  68. package/dist/lib/auth.js +0 -125
  69. package/dist/lib/fetcher.d.ts +0 -9
  70. package/dist/lib/fetcher.d.ts.map +0 -1
  71. package/dist/lib/fetcher.js +0 -84
  72. package/dist/lib/models/notfications.d.ts +0 -26
  73. package/dist/lib/models/notfications.d.ts.map +0 -1
  74. package/dist/lib/models/notfications.js +0 -46
  75. package/dist/lib/models/volunteerJob.d.ts +0 -398
  76. package/dist/lib/models/volunteerJob.d.ts.map +0 -1
  77. package/dist/lib/models/volunteerJob.js +0 -152
  78. package/dist/lib/severActions.d.ts.map +0 -1
  79. package/dist/lib/severActions.js +0 -19
  80. package/dist/lib/socket.d.ts +0 -7
  81. package/dist/lib/socket.d.ts.map +0 -1
  82. package/dist/lib/socket.js +0 -22
@@ -1,398 +0,0 @@
1
- import { z } from "zod";
2
- import { DisplayItem } from "./props";
3
- export declare const OpportunitySchema: z.ZodObject<{
4
- slug: z.ZodString;
5
- title: z.ZodString;
6
- skills: z.ZodArray<z.ZodString, "many">;
7
- description: z.ZodString;
8
- images: z.ZodArray<z.ZodString, "many">;
9
- categoryId: z.ZodOptional<z.ZodString>;
10
- city: z.ZodString;
11
- state: z.ZodString;
12
- country: z.ZodString;
13
- address: z.ZodOptional<z.ZodString>;
14
- availableFrom: z.ZodDate;
15
- minDuration: z.ZodNumber;
16
- maxDuration: z.ZodNumber;
17
- urgent: z.ZodBoolean;
18
- applicationCount: z.ZodNumber;
19
- peopleRequired: z.ZodNumber;
20
- facilities: z.ZodArray<z.ZodString, "many">;
21
- responsibilities: z.ZodArray<z.ZodString, "many">;
22
- questions: z.ZodArray<z.ZodObject<{
23
- question: z.ZodString;
24
- answer: z.ZodString;
25
- }, "strict", z.ZodTypeAny, {
26
- question: string;
27
- answer: string;
28
- }, {
29
- question: string;
30
- answer: string;
31
- }>, "many">;
32
- rating: z.ZodNumber;
33
- ratingCount: z.ZodNumber;
34
- reviewCount: z.ZodNumber;
35
- hostId: z.ZodLazy<z.ZodObject<{
36
- username: z.ZodString;
37
- firstName: z.ZodString;
38
- lastName: z.ZodString;
39
- email: z.ZodString;
40
- password: z.ZodString;
41
- phoneNumber: z.ZodString;
42
- countryCode: z.ZodString;
43
- country: z.ZodString;
44
- location: z.ZodOptional<z.ZodString>;
45
- pinCode: z.ZodOptional<z.ZodString>;
46
- dob: z.ZodOptional<z.ZodDate>;
47
- gender: z.ZodEnum<["male", "female", "other"]>;
48
- profilePic: z.ZodOptional<z.ZodString>;
49
- rating: z.ZodNumber;
50
- ratingCount: z.ZodNumber;
51
- reviewCount: z.ZodNumber;
52
- blogsCount: z.ZodOptional<z.ZodNumber>;
53
- joinedDate: z.ZodDate;
54
- isActive: z.ZodBoolean;
55
- lastActive: z.ZodDate;
56
- userBio: z.ZodOptional<z.ZodString>;
57
- userIdCard: z.ZodOptional<z.ZodString>;
58
- watchHistory: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
59
- accessToken: z.ZodOptional<z.ZodString>;
60
- refreshToken: z.ZodOptional<z.ZodString>;
61
- verifiedEmail: z.ZodBoolean;
62
- verifiedMobile: z.ZodBoolean;
63
- verifiedIdCard: z.ZodOptional<z.ZodBoolean>;
64
- role: z.ZodEnum<["host", "user", "admin", "hr", "sales"]>;
65
- socialLinks: z.ZodOptional<z.ZodRecord<z.ZodEnum<[string, ...string[]]>, z.ZodString>>;
66
- userResume: z.ZodOptional<z.ZodString>;
67
- skills: z.ZodOptional<z.ZodArray<z.ZodObject<{
68
- skill: z.ZodString;
69
- skillExpertise: z.ZodNumber;
70
- }, "strip", z.ZodTypeAny, {
71
- skill: string;
72
- skillExpertise: number;
73
- }, {
74
- skill: string;
75
- skillExpertise: number;
76
- }>, "many">>;
77
- wishlist: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
78
- favBlogs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
79
- favPackages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
80
- id: z.ZodOptional<z.ZodString>;
81
- selfie: z.ZodOptional<z.ZodString>;
82
- selfieAction: z.ZodOptional<z.ZodString>;
83
- jobCount: z.ZodOptional<z.ZodNumber>;
84
- travelPackageCount: z.ZodOptional<z.ZodNumber>;
85
- gstNumber: z.ZodOptional<z.ZodString>;
86
- panCard: z.ZodOptional<z.ZodString>;
87
- verifiedBusiness: z.ZodOptional<z.ZodEnum<["true", "false", "inProgress"]>>;
88
- }, "strict", z.ZodTypeAny, {
89
- username: string;
90
- firstName: string;
91
- lastName: string;
92
- email: string;
93
- password: string;
94
- phoneNumber: string;
95
- countryCode: string;
96
- country: string;
97
- gender: "male" | "female" | "other";
98
- rating: number;
99
- ratingCount: number;
100
- reviewCount: number;
101
- joinedDate: Date;
102
- isActive: boolean;
103
- lastActive: Date;
104
- verifiedEmail: boolean;
105
- verifiedMobile: boolean;
106
- role: "host" | "user" | "admin" | "hr" | "sales";
107
- location?: string | undefined;
108
- pinCode?: string | undefined;
109
- dob?: Date | undefined;
110
- profilePic?: string | undefined;
111
- blogsCount?: number | undefined;
112
- userBio?: string | undefined;
113
- userIdCard?: string | undefined;
114
- watchHistory?: string[] | undefined;
115
- accessToken?: string | undefined;
116
- refreshToken?: string | undefined;
117
- verifiedIdCard?: boolean | undefined;
118
- socialLinks?: Record<string, string> | undefined;
119
- userResume?: string | undefined;
120
- skills?: {
121
- skill: string;
122
- skillExpertise: number;
123
- }[] | undefined;
124
- wishlist?: string[] | undefined;
125
- favBlogs?: string[] | undefined;
126
- favPackages?: string[] | undefined;
127
- id?: string | undefined;
128
- selfie?: string | undefined;
129
- selfieAction?: string | undefined;
130
- jobCount?: number | undefined;
131
- travelPackageCount?: number | undefined;
132
- gstNumber?: string | undefined;
133
- panCard?: string | undefined;
134
- verifiedBusiness?: "true" | "false" | "inProgress" | undefined;
135
- }, {
136
- username: string;
137
- firstName: string;
138
- lastName: string;
139
- email: string;
140
- password: string;
141
- phoneNumber: string;
142
- countryCode: string;
143
- country: string;
144
- gender: "male" | "female" | "other";
145
- rating: number;
146
- ratingCount: number;
147
- reviewCount: number;
148
- joinedDate: Date;
149
- isActive: boolean;
150
- lastActive: Date;
151
- verifiedEmail: boolean;
152
- verifiedMobile: boolean;
153
- role: "host" | "user" | "admin" | "hr" | "sales";
154
- location?: string | undefined;
155
- pinCode?: string | undefined;
156
- dob?: Date | undefined;
157
- profilePic?: string | undefined;
158
- blogsCount?: number | undefined;
159
- userBio?: string | undefined;
160
- userIdCard?: string | undefined;
161
- watchHistory?: string[] | undefined;
162
- accessToken?: string | undefined;
163
- refreshToken?: string | undefined;
164
- verifiedIdCard?: boolean | undefined;
165
- socialLinks?: Record<string, string> | undefined;
166
- userResume?: string | undefined;
167
- skills?: {
168
- skill: string;
169
- skillExpertise: number;
170
- }[] | undefined;
171
- wishlist?: string[] | undefined;
172
- favBlogs?: string[] | undefined;
173
- favPackages?: string[] | undefined;
174
- id?: string | undefined;
175
- selfie?: string | undefined;
176
- selfieAction?: string | undefined;
177
- jobCount?: number | undefined;
178
- travelPackageCount?: number | undefined;
179
- gstNumber?: string | undefined;
180
- panCard?: string | undefined;
181
- verifiedBusiness?: "true" | "false" | "inProgress" | undefined;
182
- }>>;
183
- applicationObservers: z.ZodOptional<z.ZodArray<z.ZodObject<{
184
- username: z.ZodString;
185
- role: z.ZodEnum<["host", "user", "admin", "hr", "sales"]>;
186
- countryCode: z.ZodString;
187
- phoneNumber: z.ZodString;
188
- email: z.ZodString;
189
- }, "strip", z.ZodTypeAny, {
190
- username: string;
191
- email: string;
192
- phoneNumber: string;
193
- countryCode: string;
194
- role: "host" | "user" | "admin" | "hr" | "sales";
195
- }, {
196
- username: string;
197
- email: string;
198
- phoneNumber: string;
199
- countryCode: string;
200
- role: "host" | "user" | "admin" | "hr" | "sales";
201
- }>, "many">>;
202
- hostingType: z.ZodOptional<z.ZodString>;
203
- views: z.ZodNumber;
204
- shares: z.ZodNumber;
205
- status: z.ZodEnum<["draft", "archived", "pending", "open", "closed", "denied", "deleted"]>;
206
- createdAt: z.ZodOptional<z.ZodDate>;
207
- updatedAt: z.ZodOptional<z.ZodDate>;
208
- adminApproval: z.ZodBoolean;
209
- }, "strict", z.ZodTypeAny, {
210
- country: string;
211
- status: "draft" | "archived" | "pending" | "denied" | "open" | "closed" | "deleted";
212
- rating: number;
213
- ratingCount: number;
214
- reviewCount: number;
215
- skills: string[];
216
- title: string;
217
- description: string;
218
- slug: string;
219
- views: number;
220
- shares: number;
221
- images: string[];
222
- city: string;
223
- state: string;
224
- availableFrom: Date;
225
- minDuration: number;
226
- maxDuration: number;
227
- urgent: boolean;
228
- applicationCount: number;
229
- peopleRequired: number;
230
- facilities: string[];
231
- responsibilities: string[];
232
- questions: {
233
- question: string;
234
- answer: string;
235
- }[];
236
- hostId: {
237
- username: string;
238
- firstName: string;
239
- lastName: string;
240
- email: string;
241
- password: string;
242
- phoneNumber: string;
243
- countryCode: string;
244
- country: string;
245
- gender: "male" | "female" | "other";
246
- rating: number;
247
- ratingCount: number;
248
- reviewCount: number;
249
- joinedDate: Date;
250
- isActive: boolean;
251
- lastActive: Date;
252
- verifiedEmail: boolean;
253
- verifiedMobile: boolean;
254
- role: "host" | "user" | "admin" | "hr" | "sales";
255
- location?: string | undefined;
256
- pinCode?: string | undefined;
257
- dob?: Date | undefined;
258
- profilePic?: string | undefined;
259
- blogsCount?: number | undefined;
260
- userBio?: string | undefined;
261
- userIdCard?: string | undefined;
262
- watchHistory?: string[] | undefined;
263
- accessToken?: string | undefined;
264
- refreshToken?: string | undefined;
265
- verifiedIdCard?: boolean | undefined;
266
- socialLinks?: Record<string, string> | undefined;
267
- userResume?: string | undefined;
268
- skills?: {
269
- skill: string;
270
- skillExpertise: number;
271
- }[] | undefined;
272
- wishlist?: string[] | undefined;
273
- favBlogs?: string[] | undefined;
274
- favPackages?: string[] | undefined;
275
- id?: string | undefined;
276
- selfie?: string | undefined;
277
- selfieAction?: string | undefined;
278
- jobCount?: number | undefined;
279
- travelPackageCount?: number | undefined;
280
- gstNumber?: string | undefined;
281
- panCard?: string | undefined;
282
- verifiedBusiness?: "true" | "false" | "inProgress" | undefined;
283
- };
284
- adminApproval: boolean;
285
- createdAt?: Date | undefined;
286
- updatedAt?: Date | undefined;
287
- categoryId?: string | undefined;
288
- address?: string | undefined;
289
- applicationObservers?: {
290
- username: string;
291
- email: string;
292
- phoneNumber: string;
293
- countryCode: string;
294
- role: "host" | "user" | "admin" | "hr" | "sales";
295
- }[] | undefined;
296
- hostingType?: string | undefined;
297
- }, {
298
- country: string;
299
- status: "draft" | "archived" | "pending" | "denied" | "open" | "closed" | "deleted";
300
- rating: number;
301
- ratingCount: number;
302
- reviewCount: number;
303
- skills: string[];
304
- title: string;
305
- description: string;
306
- slug: string;
307
- views: number;
308
- shares: number;
309
- images: string[];
310
- city: string;
311
- state: string;
312
- availableFrom: Date;
313
- minDuration: number;
314
- maxDuration: number;
315
- urgent: boolean;
316
- applicationCount: number;
317
- peopleRequired: number;
318
- facilities: string[];
319
- responsibilities: string[];
320
- questions: {
321
- question: string;
322
- answer: string;
323
- }[];
324
- hostId: {
325
- username: string;
326
- firstName: string;
327
- lastName: string;
328
- email: string;
329
- password: string;
330
- phoneNumber: string;
331
- countryCode: string;
332
- country: string;
333
- gender: "male" | "female" | "other";
334
- rating: number;
335
- ratingCount: number;
336
- reviewCount: number;
337
- joinedDate: Date;
338
- isActive: boolean;
339
- lastActive: Date;
340
- verifiedEmail: boolean;
341
- verifiedMobile: boolean;
342
- role: "host" | "user" | "admin" | "hr" | "sales";
343
- location?: string | undefined;
344
- pinCode?: string | undefined;
345
- dob?: Date | undefined;
346
- profilePic?: string | undefined;
347
- blogsCount?: number | undefined;
348
- userBio?: string | undefined;
349
- userIdCard?: string | undefined;
350
- watchHistory?: string[] | undefined;
351
- accessToken?: string | undefined;
352
- refreshToken?: string | undefined;
353
- verifiedIdCard?: boolean | undefined;
354
- socialLinks?: Record<string, string> | undefined;
355
- userResume?: string | undefined;
356
- skills?: {
357
- skill: string;
358
- skillExpertise: number;
359
- }[] | undefined;
360
- wishlist?: string[] | undefined;
361
- favBlogs?: string[] | undefined;
362
- favPackages?: string[] | undefined;
363
- id?: string | undefined;
364
- selfie?: string | undefined;
365
- selfieAction?: string | undefined;
366
- jobCount?: number | undefined;
367
- travelPackageCount?: number | undefined;
368
- gstNumber?: string | undefined;
369
- panCard?: string | undefined;
370
- verifiedBusiness?: "true" | "false" | "inProgress" | undefined;
371
- };
372
- adminApproval: boolean;
373
- createdAt?: Date | undefined;
374
- updatedAt?: Date | undefined;
375
- categoryId?: string | undefined;
376
- address?: string | undefined;
377
- applicationObservers?: {
378
- username: string;
379
- email: string;
380
- phoneNumber: string;
381
- countryCode: string;
382
- role: "host" | "user" | "admin" | "hr" | "sales";
383
- }[] | undefined;
384
- hostingType?: string | undefined;
385
- }>;
386
- export type OppMetaData = {
387
- image: string;
388
- title: string;
389
- location: string;
390
- skills: string[];
391
- hostingType: string;
392
- };
393
- export type Opportunity = z.infer<typeof OpportunitySchema>;
394
- export declare const facilitiesOptions: DisplayItem[];
395
- export declare const otherFacilitiesOptions: DisplayItem[];
396
- export declare const responsibilitiesOptions: DisplayItem[];
397
- export declare const otherResponsibilitiesOptions: DisplayItem[];
398
- //# sourceMappingURL=volunteerJob.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"volunteerJob.d.ts","sourceRoot":"","sources":["../../../src/lib/models/volunteerJob.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAkB,MAAM,SAAS,CAAC;AAEtD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCnB,CAAC;AAEZ,MAAM,MAAM,WAAW,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D,eAAO,MAAM,iBAAiB,EAuBzB,WAAW,EAAE,CAAC;AAEnB,eAAO,MAAM,sBAAsB,EAqC9B,WAAW,EAAE,CAAC;AAGnB,eAAO,MAAM,uBAAuB,EAiB/B,WAAW,EAAE,CAAC;AAEnB,eAAO,MAAM,4BAA4B,EA2BpC,WAAW,EAAE,CAAC"}
@@ -1,152 +0,0 @@
1
- import { z } from "zod";
2
- import { UserSchema, zroles } from "./user";
3
- import { QuestionSchema } from "./props";
4
- export const OpportunitySchema = z.object({
5
- slug: z.string(),
6
- title: z.string(),
7
- skills: z.array(z.string()),
8
- description: z.string(),
9
- images: z.array(z.string()),
10
- categoryId: z.string().optional(),
11
- city: z.string(),
12
- state: z.string(),
13
- country: z.string(),
14
- address: z.string().optional(),
15
- availableFrom: z.date(),
16
- minDuration: z.number(),
17
- maxDuration: z.number(),
18
- urgent: z.boolean(),
19
- applicationCount: z.number(),
20
- peopleRequired: z.number(),
21
- facilities: z.array(z.string()),
22
- responsibilities: z.array(z.string()),
23
- questions: z.array(QuestionSchema), // 👈 use validated QuestionSchema
24
- rating: z.number(),
25
- ratingCount: z.number(),
26
- reviewCount: z.number(),
27
- hostId: z.lazy(() => UserSchema), // 👈 assuming user validation
28
- applicationObservers: z.array(z.object({
29
- username: z.string(),
30
- role: zroles,
31
- countryCode: z.string(),
32
- phoneNumber: z.string(),
33
- email: z.string(),
34
- })).optional(),
35
- hostingType: z.string().optional(),
36
- views: z.number(),
37
- shares: z.number(),
38
- status: z.enum(['draft', 'archived', 'pending', 'open', 'closed', 'denied', 'deleted']),
39
- createdAt: z.date().optional(),
40
- updatedAt: z.date().optional(),
41
- adminApproval: z.boolean(),
42
- }).strict();
43
- // options for what volunteers get
44
- export const facilitiesOptions = [
45
- { icon: "/images/facilities/room.webp", title: "Shared Room" },
46
- { icon: "/images/facilities/room.webp", title: "Private Room" },
47
- { icon: "/images/facilities/room.webp", title: "Dormitory" },
48
- { icon: "/images/facilities/room.webp", title: "Accomodation" },
49
- { icon: "/images/facilities/meal.webp", title: "1 Meal/Day" },
50
- { icon: "/images/facilities/meal.webp", title: "2 Meals/Day" },
51
- { icon: "/images/facilities/meal.webp", title: "3 Meals/Day" },
52
- { icon: "/images/facilities/meal.webp", title: "Food" },
53
- { icon: "/images/facilities/meal.webp", title: "Snacks / Tea" },
54
- { icon: "/images/facilities/meal.webp", title: "Cooking Facilities" },
55
- { icon: "/images/facilities/laundry.webp", title: "Free Laundry" },
56
- { icon: "/images/facilities/laundry.webp", title: "Paid Laundry" },
57
- { icon: "/images/facilities/internet.webp", title: "Wi-Fi" },
58
- { icon: "/images/facilities/transport.webp", title: "Airport Pickup" },
59
- { icon: "/images/facilities/transport.webp", title: "Local Transport" },
60
- { icon: "/images/facilities/study.webp", title: "Study/Work Space" },
61
- { icon: "/images/facilities/events.webp", title: "Free Events" },
62
- { icon: "/images/facilities/events.webp", title: "Paid Events" },
63
- { icon: "/images/facilities/fitness.webp", title: "Gym or Yoga" },
64
- { icon: "/images/facilities/recreation.webp", title: "Recreational Activities" },
65
- { icon: "/images/facilities/tours.webp", title: "Guided Tours" },
66
- { icon: "/images/facilities/certificate.webp", title: "Certificate" },
67
- ];
68
- export const otherFacilitiesOptions = [
69
- { icon: "/images/facilities/room.webp", title: "room" },
70
- { icon: "/images/facilities/room.webp", title: "dorm" },
71
- { icon: "/images/facilities/room.webp", title: "accomodation" },
72
- { icon: "/images/facilities/meal.webp", title: "meal" },
73
- { icon: "/images/facilities/meal.webp", title: "breakfast" },
74
- { icon: "/images/facilities/meal.webp", title: "dinner" },
75
- { icon: "/images/facilities/meal.webp", title: "food" },
76
- { icon: "/images/facilities/meal.webp", title: "snack" },
77
- { icon: "/images/facilities/meal.webp", title: "cook" },
78
- { icon: "/images/facilities/laundry.webp", title: "laundry" },
79
- { icon: "/images/facilities/internet.webp", title: "internet" },
80
- { icon: "/images/facilities/transport.webp", title: "pickup" },
81
- { icon: "/images/facilities/transport.webp", title: "transport" },
82
- { icon: "/images/facilities/transport.webp", title: "vehicle" },
83
- { icon: "/images/facilities/transport.webp", title: "bus" },
84
- { icon: "/images/facilities/study.webp", title: "study" },
85
- { icon: "/images/facilities/study.webp", title: "work" },
86
- { icon: "/images/facilities/events.webp", title: "event" },
87
- { icon: "/images/facilities/events.webp", title: "function" },
88
- { icon: "/images/facilities/fitness.webp", title: "gym" },
89
- { icon: "/images/facilities/fitness.webp", title: "yoga" },
90
- { icon: "/images/facilities/fitness.webp", title: "fit" },
91
- { icon: "/images/facilities/recreation.webp", title: "recreational" },
92
- { icon: "/images/facilities/tours.webp", title: "guide" },
93
- { icon: "/images/facilities/tours.webp", title: "tour" },
94
- { icon: "/images/facilities/certificate.webp", title: "certificate" },
95
- { icon: "/images/facilities/certificate.webp", title: "award" },
96
- { icon: "/images/facilities/certificate.webp", title: "recognition" },
97
- { icon: "/images/facilities/certificate.webp", title: "appreciation" },
98
- { icon: "/images/facilities/certificate.webp", title: "letter" },
99
- { icon: "/images/facilities/money.webp", title: "stipend" },
100
- { icon: "/images/facilities/money.webp", title: "cash" },
101
- { icon: "/images/facilities/money.webp", title: "payment" },
102
- { icon: "/images/facilities/money.webp", title: "salary" },
103
- { icon: "/images/facilities/money.webp", title: "compensation" },
104
- { icon: "/images/facilities/money.webp", title: "pay" },
105
- ];
106
- // options for what volunteers offer
107
- export const responsibilitiesOptions = [
108
- { icon: "/images/responsibilities/timer.webp", title: "4 Hours/Day" },
109
- { icon: "/images/responsibilities/timer.webp", title: "5 Hours/Day" },
110
- { icon: "/images/responsibilities/timer.webp", title: "6 Hours/Day" },
111
- { icon: "/images/responsibilities/timer.webp", title: "Flexible Schedule" },
112
- { icon: "/images/responsibilities/teamwork.webp", title: "Team Work" },
113
- { icon: "/images/responsibilities/initiative.webp", title: "Take Initiative" },
114
- { icon: "/images/responsibilities/communication.webp", title: "Good Communication" },
115
- { icon: "/images/responsibilities/adaptability.webp", title: "Stay Flexible" },
116
- { icon: "/images/responsibilities/punctuality.webp", title: "Be On Time" },
117
- { icon: "/images/responsibilities/punctuality.webp", title: "Punctuality" },
118
- { icon: "/images/responsibilities/rules.webp", title: "Respect House Rules" },
119
- { icon: "/images/responsibilities/learning.webp", title: "Willing to Learn" },
120
- { icon: "/images/responsibilities/events.webp", title: "Support Events" },
121
- { icon: "/images/responsibilities/cleanliness.webp", title: "Maintain cleanliness" },
122
- { icon: "/images/responsibilities/mindset.webp", title: "Positive Attitude" },
123
- { icon: "/images/responsibilities/ethics.webp", title: "Respect Culture" },
124
- ];
125
- export const otherResponsibilitiesOptions = [
126
- { icon: "/images/responsibilities/timer.webp", title: "hour" },
127
- { icon: "/images/responsibilities/timer.webp", title: "minute" },
128
- { icon: "/images/responsibilities/timer.webp", title: "schedule" },
129
- { icon: "/images/responsibilities/teamwork.webp", title: "team" },
130
- { icon: "/images/responsibilities/teamwork.webp", title: "social" },
131
- { icon: "/images/responsibilities/initiative.webp", title: "initiative" },
132
- { icon: "/images/responsibilities/initiative.webp", title: "idea" },
133
- { icon: "/images/responsibilities/communication.webp", title: "communication" },
134
- { icon: "/images/responsibilities/communication.webp", title: "spoke" },
135
- { icon: "/images/responsibilities/communication.webp", title: "speak" },
136
- { icon: "/images/responsibilities/communication.webp", title: "talk" },
137
- { icon: "/images/responsibilities/adaptability.webp", title: "flexible" },
138
- { icon: "/images/responsibilities/punctuality.webp", title: "time" },
139
- { icon: "/images/responsibilities/punctuality.webp", title: "punctual" },
140
- { icon: "/images/responsibilities/rules.webp", title: "rule" },
141
- { icon: "/images/responsibilities/learning.webp", title: "learn" },
142
- { icon: "/images/responsibilities/learning.webp", title: "grow" },
143
- { icon: "/images/responsibilities/events.webp", title: "event" },
144
- { icon: "/images/responsibilities/cleanliness.webp", title: "clean" },
145
- { icon: "/images/responsibilities/cleanliness.webp", title: "tidy" },
146
- { icon: "/images/responsibilities/mindset.webp", title: "mind" },
147
- { icon: "/images/responsibilities/mindset.webp", title: "brain" },
148
- { icon: "/images/responsibilities/ethics.webp", title: "respect" },
149
- { icon: "/images/responsibilities/ethics.webp", title: "culture" },
150
- { icon: "/images/responsibilities/ethics.webp", title: "ethics" },
151
- { icon: "/images/responsibilities/ethics.webp", title: "rules" },
152
- ];
@@ -1 +0,0 @@
1
- {"version":3,"file":"severActions.d.ts","sourceRoot":"","sources":["../../src/lib/severActions.ts"],"names":[],"mappings":"AAKA,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAKvD;AAED,wBAAsB,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQtD"}
@@ -1,19 +0,0 @@
1
- 'use server';
2
- import { cookies } from 'next/headers';
3
- import { validRoles } from './utils';
4
- export async function getCookieHeader() {
5
- const cookieStore = await cookies();
6
- return Array.from(cookieStore)
7
- .map(([name, cookie]) => `${name}=${cookie.value}`)
8
- .join('; ');
9
- }
10
- export async function getRole() {
11
- try {
12
- const role = (await cookies()).get("role")?.value ?? null;
13
- return (role && validRoles.includes(role)) ? role : null;
14
- }
15
- catch (err) {
16
- console.error('Invalid token', err);
17
- return null;
18
- }
19
- }
@@ -1,7 +0,0 @@
1
- import { Socket } from "socket.io-client";
2
- import { type PrimitiveAtom } from "jotai";
3
- export declare const socketAtom: PrimitiveAtom<Socket | null>;
4
- export declare const isConnectedAtom: PrimitiveAtom<boolean>;
5
- export declare const getSocket: () => Socket;
6
- export declare const disconnectSocket: () => void;
7
- //# sourceMappingURL=socket.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/lib/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAMjD,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAA6B,CAAC;AAClF,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,OAAO,CAAwB,CAAC;AAE5E,eAAO,MAAM,SAAS,QAAO,MAS5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAK5B,CAAA"}
@@ -1,22 +0,0 @@
1
- import { io } from "socket.io-client";
2
- import { atom } from "jotai";
3
- const SOCKET_URL = process.env.NEXT_PUBLIC_BACKEND_URL || "http://localhost:8000";
4
- let socket = null;
5
- export const socketAtom = atom(null);
6
- export const isConnectedAtom = atom(false);
7
- export const getSocket = () => {
8
- if (!socket) {
9
- socket = io(SOCKET_URL, {
10
- autoConnect: false,
11
- withCredentials: true,
12
- transports: ["websocket", "polling"],
13
- });
14
- }
15
- return socket;
16
- };
17
- export const disconnectSocket = () => {
18
- if (socket?.connected) {
19
- socket.disconnect();
20
- }
21
- socket = null;
22
- };