@myrjfa/state 1.1.1 → 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 (73) hide show
  1. package/dist/index.d.ts +18 -18
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +18 -18
  4. package/dist/lib/actions/actions.d.ts +189 -170
  5. package/dist/lib/actions/actions.d.ts.map +1 -1
  6. package/dist/lib/actions/actions.js +347 -307
  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/fetcher.d.ts +0 -3
  10. package/dist/lib/actions/fetcher.d.ts.map +1 -1
  11. package/dist/lib/actions/fetcher.js +122 -84
  12. package/dist/lib/actions/{severActions.d.ts → serverActions.d.ts} +1 -1
  13. package/dist/lib/actions/serverActions.d.ts.map +1 -0
  14. package/dist/lib/actions/{severActions.js → serverActions.js} +3 -0
  15. package/dist/lib/authSessionManager.d.ts.map +1 -1
  16. package/dist/lib/authSessionManager.js +41 -34
  17. package/dist/lib/context/ChatContext.d.ts +1 -1
  18. package/dist/lib/context/ChatContext.d.ts.map +1 -1
  19. package/dist/lib/context/ChatContext.js +338 -338
  20. package/dist/lib/models/blog.d.ts +3 -2
  21. package/dist/lib/models/blog.d.ts.map +1 -1
  22. package/dist/lib/models/{notfications.d.ts → notifications.d.ts} +94 -94
  23. package/dist/lib/models/notifications.d.ts.map +1 -0
  24. package/dist/lib/models/opportunities/freelance.d.ts +48 -20
  25. package/dist/lib/models/opportunities/freelance.d.ts.map +1 -1
  26. package/dist/lib/models/opportunities/internship.d.ts +48 -20
  27. package/dist/lib/models/opportunities/internship.d.ts.map +1 -1
  28. package/dist/lib/models/opportunities/job.d.ts +58 -30
  29. package/dist/lib/models/opportunities/job.d.ts.map +1 -1
  30. package/dist/lib/models/opportunities/opportunity.d.ts +61 -33
  31. package/dist/lib/models/opportunities/opportunity.d.ts.map +1 -1
  32. package/dist/lib/models/opportunities/opportunity.js +1 -0
  33. package/dist/lib/models/opportunities/volunteerJob.d.ts +48 -20
  34. package/dist/lib/models/opportunities/volunteerJob.d.ts.map +1 -1
  35. package/dist/lib/models/portfolio.d.ts +42 -42
  36. package/dist/lib/models/props.d.ts +21 -4
  37. package/dist/lib/models/props.d.ts.map +1 -1
  38. package/dist/lib/models/tile.d.ts +28 -28
  39. package/dist/lib/models/user.d.ts +19 -4
  40. package/dist/lib/models/user.d.ts.map +1 -1
  41. package/dist/lib/models/user.js +5 -0
  42. package/dist/lib/userAtom.d.ts +218 -198
  43. package/dist/lib/userAtom.d.ts.map +1 -1
  44. package/dist/lib/userAtom.js +129 -127
  45. package/dist/lib/utils.js +4 -4
  46. package/package.json +3 -1
  47. package/dist/lib/actions/property.d.ts +0 -77
  48. package/dist/lib/actions/property.d.ts.map +0 -1
  49. package/dist/lib/actions/property.js +0 -133
  50. package/dist/lib/actions/severActions.d.ts.map +0 -1
  51. package/dist/lib/actions.d.ts +0 -141
  52. package/dist/lib/actions.d.ts.map +0 -1
  53. package/dist/lib/actions.js +0 -307
  54. package/dist/lib/auth.d.ts +0 -150
  55. package/dist/lib/auth.d.ts.map +0 -1
  56. package/dist/lib/auth.js +0 -125
  57. package/dist/lib/fetcher.d.ts +0 -9
  58. package/dist/lib/fetcher.d.ts.map +0 -1
  59. package/dist/lib/fetcher.js +0 -84
  60. package/dist/lib/models/notfications.d.ts.map +0 -1
  61. package/dist/lib/models/property.d.ts +0 -79
  62. package/dist/lib/models/property.d.ts.map +0 -1
  63. package/dist/lib/models/property.js +0 -134
  64. package/dist/lib/models/volunteerJob.d.ts +0 -398
  65. package/dist/lib/models/volunteerJob.d.ts.map +0 -1
  66. package/dist/lib/models/volunteerJob.js +0 -152
  67. package/dist/lib/severActions.d.ts +0 -3
  68. package/dist/lib/severActions.d.ts.map +0 -1
  69. package/dist/lib/severActions.js +0 -19
  70. package/dist/lib/socket.d.ts +0 -7
  71. package/dist/lib/socket.d.ts.map +0 -1
  72. package/dist/lib/socket.js +0 -22
  73. /package/dist/lib/models/{notfications.js → notifications.js} +0 -0
@@ -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,3 +0,0 @@
1
- export declare function getCookieHeader(): Promise<string>;
2
- export declare function getRole(): Promise<string | null>;
3
- //# sourceMappingURL=severActions.d.ts.map
@@ -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
- };