@myrjfa/state 1.0.1 → 1.0.4
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.
- package/dist/lib/actions.d.ts +4 -4
- package/dist/lib/actions.d.ts.map +1 -1
- package/dist/lib/fetcher.d.ts +1 -1
- package/dist/lib/fetcher.d.ts.map +1 -1
- package/dist/lib/fetcher.js +36 -30
- package/dist/lib/models/blog.d.ts +3 -1
- package/dist/lib/models/blog.d.ts.map +1 -1
- package/dist/lib/models/blog.js +134 -143
- package/dist/lib/models/portfolio.d.ts +12 -1
- package/dist/lib/models/portfolio.d.ts.map +1 -1
- package/dist/lib/models/portfolio.js +59 -55
- package/dist/lib/models/review.d.ts +1 -0
- package/dist/lib/models/review.d.ts.map +1 -1
- package/dist/lib/models/volunteerJob.d.ts +3 -0
- package/dist/lib/models/volunteerJob.d.ts.map +1 -1
- package/dist/lib/models/volunteerJob.js +1 -0
- package/package.json +1 -1
package/dist/lib/actions.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Review, reviewType } from "./models/review";
|
|
1
|
+
import { Review, reviewTargetType, reviewType } from "./models/review";
|
|
2
2
|
import { tileType } from "./models/tile";
|
|
3
3
|
import { User } from "./models/user";
|
|
4
4
|
export declare function getCurrentUser(): Promise<User | null>;
|
|
@@ -46,13 +46,13 @@ export declare function getUserContact(username: string, role: string): Promise<
|
|
|
46
46
|
phoneNumber: string;
|
|
47
47
|
} | null;
|
|
48
48
|
}>;
|
|
49
|
-
export declare function getReviewsById(id: string, type:
|
|
49
|
+
export declare function getReviewsById(id: string, type: reviewTargetType): Promise<{
|
|
50
50
|
success: boolean;
|
|
51
51
|
reviews: Review[];
|
|
52
52
|
message?: string;
|
|
53
53
|
error?: string;
|
|
54
54
|
}>;
|
|
55
|
-
export declare function getRatingById(id: string[], type:
|
|
55
|
+
export declare function getRatingById(id: string[], type: reviewTargetType): Promise<{
|
|
56
56
|
success: boolean;
|
|
57
57
|
message?: string;
|
|
58
58
|
error?: string;
|
|
@@ -63,7 +63,7 @@ export declare function getRatingById(id: string[], type: 'opportunity' | 'packa
|
|
|
63
63
|
reviewCount: number;
|
|
64
64
|
}[];
|
|
65
65
|
}>;
|
|
66
|
-
export declare function addReview(id: string, type:
|
|
66
|
+
export declare function addReview(id: string, type: reviewTargetType, formData: reviewType): Promise<{
|
|
67
67
|
success: boolean;
|
|
68
68
|
review: Review | null;
|
|
69
69
|
message?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/lib/actions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/lib/actions.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/fetcher.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
type FetchMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
|
|
2
2
|
export declare function refreshToken<T>(input: string, method: FetchMethod, body?: any): Promise<T>;
|
|
3
|
-
export declare function get<T>(url: string): Promise<T>;
|
|
3
|
+
export declare function get<T>(url: string, includeAuth?: boolean): Promise<T>;
|
|
4
4
|
export declare function post<T>(url: string, body: any): Promise<T>;
|
|
5
5
|
export declare function put<T>(url: string, body: any): Promise<T>;
|
|
6
6
|
export declare function patch<T>(url: string, body: any): Promise<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../src/lib/fetcher.ts"],"names":[],"mappings":"AAKA,KAAK,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../src/lib/fetcher.ts"],"names":[],"mappings":"AAKA,KAAK,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAsE/D,wBAAsB,YAAY,CAAC,CAAC,EAChC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,WAAW,EACnB,IAAI,CAAC,EAAE,GAAG,GACX,OAAO,CAAC,CAAC,CAAC,CAiBZ;AAID,wBAAsB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,GAAE,OAAc,cAEpE;AAED,wBAAsB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,cAEnD;AAED,wBAAsB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,cAElD;AAED,wBAAsB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,cAEpD;AAED,wBAAsB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,cAEnD"}
|
package/dist/lib/fetcher.js
CHANGED
|
@@ -1,33 +1,38 @@
|
|
|
1
1
|
import { ApiError } from "next/dist/server/api-utils";
|
|
2
2
|
import { getCookieHeader, getRole } from "./severActions";
|
|
3
3
|
const baseURL = process.env.NEXT_PUBLIC_API_URL;
|
|
4
|
-
async function customFetch(input, method, body,
|
|
4
|
+
async function customFetch(input, method, body, options = {}) {
|
|
5
|
+
const { includeAuth = false, retry = true } = options;
|
|
5
6
|
const url = `${baseURL}${input}`;
|
|
6
7
|
const isFormData = typeof FormData !== 'undefined' && body instanceof FormData;
|
|
7
|
-
|
|
8
|
+
let headers = isFormData
|
|
9
|
+
? { Accept: 'application/json' }
|
|
10
|
+
: { 'Content-Type': 'application/json', Accept: 'application/json' };
|
|
11
|
+
if (includeAuth) {
|
|
12
|
+
try {
|
|
13
|
+
const cookieHeader = await getCookieHeader();
|
|
14
|
+
headers = { ...headers, Cookie: cookieHeader };
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
// If we can't get cookies (CSR context), credentials: 'include' will handle it
|
|
18
|
+
console.warn('Could not get cookies for auth header:', error);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
8
21
|
const init = {
|
|
9
22
|
method,
|
|
10
23
|
credentials: 'include',
|
|
11
|
-
headers
|
|
12
|
-
? {
|
|
13
|
-
Accept: 'application/json',
|
|
14
|
-
Cookie: cookieHeader,
|
|
15
|
-
} // Let browser set correct Content-Type for FormData
|
|
16
|
-
: {
|
|
17
|
-
'Content-Type': 'application/json',
|
|
18
|
-
Accept: 'application/json',
|
|
19
|
-
Cookie: cookieHeader,
|
|
20
|
-
},
|
|
24
|
+
headers,
|
|
21
25
|
...(body ? { body: isFormData ? body : JSON.stringify(body) } : {}),
|
|
22
26
|
};
|
|
23
27
|
const response = await fetch(url, init);
|
|
24
28
|
if (response.ok) {
|
|
25
29
|
return response.status !== 204 ? (await response.json()) : {};
|
|
26
30
|
}
|
|
27
|
-
// Token refresh logic on 401
|
|
28
|
-
if (response.status === 401 && retry && !input.includes('/login')) {
|
|
29
|
-
return refreshToken(input, method, body);
|
|
31
|
+
// Token refresh logic on 401 (only for authenticated requests)
|
|
32
|
+
if (response.status === 401 && retry && includeAuth && !input.includes('/login')) {
|
|
33
|
+
return await refreshToken(input, method, body);
|
|
30
34
|
}
|
|
35
|
+
// Error handling
|
|
31
36
|
let errorBody;
|
|
32
37
|
try {
|
|
33
38
|
errorBody = (await response.json());
|
|
@@ -40,39 +45,40 @@ async function customFetch(input, method, body, retry = true) {
|
|
|
40
45
|
}
|
|
41
46
|
throw new ApiError(errorBody.statusCode, errorBody.error);
|
|
42
47
|
}
|
|
48
|
+
// Token refresh function
|
|
43
49
|
export async function refreshToken(input, method, body) {
|
|
44
50
|
const role = await getRole();
|
|
45
51
|
try {
|
|
46
|
-
const
|
|
52
|
+
const roleForEndpoint = role == "admin" ? "user" : role;
|
|
53
|
+
const response = await fetch(`${baseURL}/${roleForEndpoint}s/refresh-token`, {
|
|
47
54
|
method: 'POST',
|
|
48
55
|
credentials: 'include',
|
|
49
56
|
});
|
|
50
57
|
const data = await response.json();
|
|
51
|
-
if (response.ok)
|
|
52
|
-
return customFetch(input, method, body, false);
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
};
|
|
58
|
+
if (response.ok) {
|
|
59
|
+
return customFetch(input, method, body, { includeAuth: true, retry: false });
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
throw { statusCode: 401, error: data.error };
|
|
63
|
+
}
|
|
58
64
|
}
|
|
59
65
|
catch (error) {
|
|
60
66
|
throw new ApiError(error.statusCode ?? 500, error.error);
|
|
61
67
|
}
|
|
62
68
|
}
|
|
63
|
-
//
|
|
64
|
-
export async function get(url) {
|
|
65
|
-
return customFetch(url, 'GET');
|
|
69
|
+
// ✅ Sever-safe exported functions
|
|
70
|
+
export async function get(url, includeAuth = true) {
|
|
71
|
+
return customFetch(url, 'GET', undefined, { includeAuth });
|
|
66
72
|
}
|
|
67
73
|
export async function post(url, body) {
|
|
68
|
-
return customFetch(url, 'POST', body);
|
|
74
|
+
return customFetch(url, 'POST', body, { includeAuth: true });
|
|
69
75
|
}
|
|
70
76
|
export async function put(url, body) {
|
|
71
|
-
return customFetch(url, 'PUT', body);
|
|
77
|
+
return customFetch(url, 'PUT', body, { includeAuth: true });
|
|
72
78
|
}
|
|
73
79
|
export async function patch(url, body) {
|
|
74
|
-
return customFetch(url, 'PATCH', body);
|
|
80
|
+
return customFetch(url, 'PATCH', body, { includeAuth: true });
|
|
75
81
|
}
|
|
76
82
|
export async function del(url, body) {
|
|
77
|
-
return customFetch(url, 'DELETE', body);
|
|
83
|
+
return customFetch(url, 'DELETE', body, { includeAuth: true });
|
|
78
84
|
}
|
|
@@ -12,6 +12,7 @@ export declare const BlogSchema: z.ZodObject<{
|
|
|
12
12
|
views: z.ZodNumber;
|
|
13
13
|
likes: z.ZodNumber;
|
|
14
14
|
comments: z.ZodNumber;
|
|
15
|
+
shares: z.ZodNumber;
|
|
15
16
|
createdAt: z.ZodDate;
|
|
16
17
|
updatedAt: z.ZodDate;
|
|
17
18
|
author: z.ZodString;
|
|
@@ -29,6 +30,7 @@ export declare const BlogSchema: z.ZodObject<{
|
|
|
29
30
|
views: number;
|
|
30
31
|
likes: number;
|
|
31
32
|
comments: number;
|
|
33
|
+
shares: number;
|
|
32
34
|
author: string;
|
|
33
35
|
authorImage: string;
|
|
34
36
|
authorRole: "host" | "user" | "admin";
|
|
@@ -45,6 +47,7 @@ export declare const BlogSchema: z.ZodObject<{
|
|
|
45
47
|
views: number;
|
|
46
48
|
likes: number;
|
|
47
49
|
comments: number;
|
|
50
|
+
shares: number;
|
|
48
51
|
author: string;
|
|
49
52
|
authorImage: string;
|
|
50
53
|
authorRole: "host" | "user" | "admin";
|
|
@@ -59,5 +62,4 @@ export type BlogMetaData = {
|
|
|
59
62
|
export declare const hashTagOptions: {
|
|
60
63
|
title: string;
|
|
61
64
|
}[];
|
|
62
|
-
export declare const sampleBlog: Blog[];
|
|
63
65
|
//# sourceMappingURL=blog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blog.d.ts","sourceRoot":"","sources":["../../../src/lib/models/blog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,gBAAgB,iEAA+D,CAAC;AAC7F,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG1D,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"blog.d.ts","sourceRoot":"","sources":["../../../src/lib/models/blog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,gBAAgB,iEAA+D,CAAC;AAC7F,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG1D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBZ,CAAC;AAEZ,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,cAAc;;GAyB1B,CAAA"}
|
package/dist/lib/models/blog.js
CHANGED
|
@@ -13,6 +13,7 @@ export const BlogSchema = z.object({
|
|
|
13
13
|
views: z.number(),
|
|
14
14
|
likes: z.number(),
|
|
15
15
|
comments: z.number(),
|
|
16
|
+
shares: z.number(),
|
|
16
17
|
createdAt: z.date(),
|
|
17
18
|
updatedAt: z.date(),
|
|
18
19
|
author: z.string(),
|
|
@@ -45,146 +46,136 @@ export const hashTagOptions = [
|
|
|
45
46
|
{ title: "Forest" },
|
|
46
47
|
{ title: "Wildlife" },
|
|
47
48
|
];
|
|
48
|
-
export const sampleBlog = [{
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
views: 558,
|
|
182
|
-
likes: 47,
|
|
183
|
-
comments: 17,
|
|
184
|
-
createdAt: new Date('2025-05-01T12:00:00.000Z'),
|
|
185
|
-
updatedAt: new Date('2025-05-01T12:00:00.000Z'),
|
|
186
|
-
author: "trippeaze",
|
|
187
|
-
authorImage: "/images/logoicon.webp",
|
|
188
|
-
authorRole: 'host'
|
|
189
|
-
}
|
|
190
|
-
];
|
|
49
|
+
// export const sampleBlog: Blog[] = [{
|
|
50
|
+
// slug: 'giving-back-to-my-india-through-volunteering',
|
|
51
|
+
// title: 'Giving Back to My India Through Volunteering',
|
|
52
|
+
// overview: "A heartfelt reflection on reconnecting with India's roots through meaningful volunteer experiences across the country.",
|
|
53
|
+
// content: `
|
|
54
|
+
// <h3>A Personal Connection to India</h3>
|
|
55
|
+
// <p>Growing up in India, I’ve been shaped by its vibrant chaos—its festivals, languages, and countless stories. Volunteering across our diverse nation is my way of giving back to the land that raised me. It’s more than just helping; it’s about strengthening the roots that connect us all, from bustling cities to quiet villages.</p>
|
|
56
|
+
// <h3>My First Volunteer Journey</h3>
|
|
57
|
+
// <p>My first volunteering experience was in a small village in Rajasthan, where I helped set up a community library. The days were long, filled with sorting books and painting walls under the desert sun. But when I saw children eagerly reading their first stories, their smiles made every effort worthwhile. That moment ignited my passion for creating opportunities for our people.</p>
|
|
58
|
+
// <h3>Why I Keep Volunteering</h3>
|
|
59
|
+
// <p>Volunteering in India allows me to discover new corners of my country, from the hills of Uttarakhand to the shores of Goa. It’s a chance to connect with communities I might never have known and learn from their resilience. I’m excited to bring my energy and dedication to more projects, contributing to India’s growth while celebrating its spirit.</p>
|
|
60
|
+
// `,
|
|
61
|
+
// blogImages: [
|
|
62
|
+
// 'https://trippeaze-uploads.s3.ap-south-1.amazonaws.com/blog-1.1.jpeg',
|
|
63
|
+
// 'https://trippeaze-uploads.s3.ap-south-1.amazonaws.com/blog-1.2.jpeg',
|
|
64
|
+
// 'https://trippeaze-uploads.s3.ap-south-1.amazonaws.com/blog-1.3.jpeg'
|
|
65
|
+
// ],
|
|
66
|
+
// status: 'posted',
|
|
67
|
+
// views: 786,
|
|
68
|
+
// likes: 54,
|
|
69
|
+
// comments: 18,
|
|
70
|
+
// createdAt: new Date('2025-05-01T10:00:00.000Z'),
|
|
71
|
+
// updatedAt: new Date('2025-05-01T10:00:00.000Z'),
|
|
72
|
+
// author: "trippeaze",
|
|
73
|
+
// authorImage: "/images/logoicon.webp",
|
|
74
|
+
// authorRole: 'host',
|
|
75
|
+
// }, {
|
|
76
|
+
// slug: 'celebrating-indias-diversity-through-volunteering',
|
|
77
|
+
// title: 'Celebrating India’s Diversity Through Volunteering',
|
|
78
|
+
// overview: "A journey across India that highlights the beauty of cultural exchange and community building through volunteer work.",
|
|
79
|
+
// content: `
|
|
80
|
+
// <h3>The Beauty of Our Differences</h3>
|
|
81
|
+
// <p>India’s diversity—its languages, cuisines, and traditions—is what makes it so special. As an Indian volunteer, I’m privileged to experience this richness firsthand. Volunteering in different states feels like a journey of rediscovery, where I learn as much about my country as I contribute to it.</p>
|
|
82
|
+
// <h3>A Memorable Exchange</h3>
|
|
83
|
+
// <p>In Tamil Nadu, I volunteered at a women’s cooperative, teaching digital skills to help artisans sell their crafts online. After sessions, we’d sit together, sharing idlis and stories. They taught me about their traditional weaving, and I shared tips from my urban life. Those moments felt like a true bridge between different Indias—rural and city, tradition and modernity.</p>
|
|
84
|
+
// <h3>Building Bonds Across India</h3>
|
|
85
|
+
// <p>Volunteering lets me celebrate the India I love while giving back. Whether I’m learning Assamese folk songs or savoring Gujarati theplas with new friends, every experience deepens my pride in our nation. I’m eager to keep exploring and serving, forging connections with more communities across our incredible country.</p>
|
|
86
|
+
// `,
|
|
87
|
+
// blogImages: [
|
|
88
|
+
// 'https://trippeaze-uploads.s3.ap-south-1.amazonaws.com/blog-2.1.jpeg',
|
|
89
|
+
// 'https://trippeaze-uploads.s3.ap-south-1.amazonaws.com/blog-2.2.jpeg',
|
|
90
|
+
// 'https://trippeaze-uploads.s3.ap-south-1.amazonaws.com/blog-2.3.jpeg'
|
|
91
|
+
// ],
|
|
92
|
+
// status: 'posted',
|
|
93
|
+
// views: 612,
|
|
94
|
+
// likes: 41,
|
|
95
|
+
// comments: 15,
|
|
96
|
+
// createdAt: new Date('2025-05-01T12:00:00.000Z'),
|
|
97
|
+
// updatedAt: new Date('2025-05-01T12:00:00.000Z'),
|
|
98
|
+
// author: "trippeaze",
|
|
99
|
+
// authorImage: "/images/logoicon.webp",
|
|
100
|
+
// authorRole: 'host'
|
|
101
|
+
// }, {
|
|
102
|
+
// slug: 'overcoming-challenges-as-an-indian-volunteer',
|
|
103
|
+
// title: 'Overcoming Challenges as an Indian Volunteer',
|
|
104
|
+
// overview: 'Volunteering within India brings its own unique set of challenges, from cultural differences to language barriers—but overcoming them builds resilience and deeper connections.',
|
|
105
|
+
// content: `
|
|
106
|
+
// <h3>Facing the Unexpected</h3>
|
|
107
|
+
// <p>Even as an Indian, volunteering in my own country brings challenges—language barriers, remote locations, or cultural differences between regions. These hurdles test my resilience but also make the journey deeply rewarding, pushing me to grow as I serve.</p>
|
|
108
|
+
// <h3>A Lesson in Adaptability</h3>
|
|
109
|
+
// <p>In a remote village in Jharkhand, I worked on a water conservation project. The local tribal dialect was unfamiliar, and the lack of amenities was daunting. At first, I struggled to connect, but I learned a few phrases, shared meals, and worked alongside the community. Slowly, we built trust, turning challenges into opportunities for collaboration.</p>
|
|
110
|
+
// <h3>Growing Through Challenges</h3>
|
|
111
|
+
// <p>These experiences have taught me patience and the value of listening. They’ve also shown me how diverse India is, even within our borders. Overcoming these obstacles has made me a stronger volunteer, ready to tackle new projects and bring people together for a shared purpose.</p>
|
|
112
|
+
// `,
|
|
113
|
+
// blogImages: [
|
|
114
|
+
// 'https://trippeaze-uploads.s3.ap-south-1.amazonaws.com/blog-3.1.jpeg',
|
|
115
|
+
// 'https://trippeaze-uploads.s3.ap-south-1.amazonaws.com/blog-3.2.jpeg',
|
|
116
|
+
// 'https://trippeaze-uploads.s3.ap-south-1.amazonaws.com/blog-3.3.jpeg'
|
|
117
|
+
// ],
|
|
118
|
+
// status: 'posted',
|
|
119
|
+
// views: 505,
|
|
120
|
+
// likes: 34,
|
|
121
|
+
// comments: 10,
|
|
122
|
+
// createdAt: new Date('2025-05-01T12:00:00.000Z'),
|
|
123
|
+
// updatedAt: new Date('2025-05-01T12:00:00.000Z'),
|
|
124
|
+
// author: "trippeaze",
|
|
125
|
+
// authorImage: "/images/logoicon.webp",
|
|
126
|
+
// authorRole: 'host'
|
|
127
|
+
// }, {
|
|
128
|
+
// slug: 'making-a-difference-in-rural-india',
|
|
129
|
+
// title: 'Making a Difference in Rural India',
|
|
130
|
+
// overview: 'Volunteering in rural India allows for meaningful impact, especially through education and connection with communities that form the soul of the nation.',
|
|
131
|
+
// content: `
|
|
132
|
+
// <h3>The Heart of Our Nation</h3>
|
|
133
|
+
// <p>Rural India, with its simplicity and strength, feels like the heartbeat of our country. As an Indian, I’m drawn to volunteering in these areas, where small efforts can spark big changes. It’s about contributing to the communities that form the backbone of our nation.</p>
|
|
134
|
+
// <h3>Empowering Through Education</h3>
|
|
135
|
+
// <p>In a school in Madhya Pradesh, I volunteered to teach basic math to children, many of whom were first-generation learners. Their curiosity was infectious. We spent mornings solving problems and afternoons playing kabbadi, blending learning with joy. By the end, their confidence in numbers—and themselves—had grown, and I felt proud to be part of their progress.</p>
|
|
136
|
+
// <h3>A Commitment to Rural Growth</h3>
|
|
137
|
+
// <p>Rural India teaches me resilience and hope. As a volunteer, I feel a responsibility to uplift these communities, using my skills to create opportunities. I’m committed to more projects, from education to sustainability, helping build a brighter future for our villages.</p>
|
|
138
|
+
// `,
|
|
139
|
+
// blogImages: [
|
|
140
|
+
// 'https://trippeaze-uploads.s3.ap-south-1.amazonaws.com/blog-4.1.jpeg',
|
|
141
|
+
// 'https://trippeaze-uploads.s3.ap-south-1.amazonaws.com/blog-4.2.jpeg',
|
|
142
|
+
// 'https://trippeaze-uploads.s3.ap-south-1.amazonaws.com/blog-4.3.jpeg'
|
|
143
|
+
// ],
|
|
144
|
+
// status: 'posted',
|
|
145
|
+
// views: 480,
|
|
146
|
+
// likes: 38,
|
|
147
|
+
// comments: 12,
|
|
148
|
+
// createdAt: new Date('2025-05-01T12:00:00.000Z'),
|
|
149
|
+
// updatedAt: new Date('2025-05-01T12:00:00.000Z'),
|
|
150
|
+
// author: "trippeaze",
|
|
151
|
+
// authorImage: "/images/logoicon.webp",
|
|
152
|
+
// authorRole: 'host'
|
|
153
|
+
// },
|
|
154
|
+
// {
|
|
155
|
+
// slug: 'lessons-of-gratitude-from-volunteering-in-india',
|
|
156
|
+
// title: 'Lessons of Gratitude from Volunteering in India',
|
|
157
|
+
// overview: 'Through simple acts of kindness and connection, volunteering in India has taught deep lessons of humility, gratitude, and shared humanity.',
|
|
158
|
+
// content: `
|
|
159
|
+
// <h3>Finding Joy in Simplicity</h3>
|
|
160
|
+
// <p>India has a way of teaching gratitude through its people. As an Indian volunteer, I’ve seen how our communities share so much—be it a meal, a smile, or a story—even in tough times. These moments fuel my passion for giving back to my country.</p>
|
|
161
|
+
// <h3>A Moment That Stayed</h3>
|
|
162
|
+
// <p>In a Mumbai slum, I worked on a health awareness campaign. Resources were scarce, but the families’ warmth was boundless. One evening, a mother invited me for tea in her small home. The simple cup of kadak chai, offered with such pride, touched me deeply. It reminded me how much we can share, no matter our circumstances.</p>
|
|
163
|
+
// <h3>Carrying Gratitude Forward</h3>
|
|
164
|
+
// <p>Volunteering across India—from urban slums to rural fields—has shown me the strength of our people. It’s humbling to contribute to my country while learning from its spirit. I’m excited to keep volunteering, carrying these lessons of gratitude and unity to every community I serve.</p>
|
|
165
|
+
// `,
|
|
166
|
+
// blogImages: [
|
|
167
|
+
// 'https://trippeaze-uploads.s3.ap-south-1.amazonaws.com/blog-5.1.jpeg',
|
|
168
|
+
// 'https://trippeaze-uploads.s3.ap-south-1.amazonaws.com/blog-5.2.jpeg',
|
|
169
|
+
// 'https://trippeaze-uploads.s3.ap-south-1.amazonaws.com/blog-5.3.jpeg'
|
|
170
|
+
// ],
|
|
171
|
+
// status: 'posted',
|
|
172
|
+
// views: 558,
|
|
173
|
+
// likes: 47,
|
|
174
|
+
// comments: 17,
|
|
175
|
+
// createdAt: new Date('2025-05-01T12:00:00.000Z'),
|
|
176
|
+
// updatedAt: new Date('2025-05-01T12:00:00.000Z'),
|
|
177
|
+
// author: "trippeaze",
|
|
178
|
+
// authorImage: "/images/logoicon.webp",
|
|
179
|
+
// authorRole: 'host'
|
|
180
|
+
// }
|
|
181
|
+
// ];
|
|
@@ -6,6 +6,10 @@ export declare const PortfolioItemSchema: z.ZodObject<{
|
|
|
6
6
|
url: z.ZodString;
|
|
7
7
|
mainUrl: z.ZodOptional<z.ZodString>;
|
|
8
8
|
caption: z.ZodString;
|
|
9
|
+
views: z.ZodNumber;
|
|
10
|
+
likes: z.ZodNumber;
|
|
11
|
+
comments: z.ZodNumber;
|
|
12
|
+
shares: z.ZodNumber;
|
|
9
13
|
createdAt: z.ZodDate;
|
|
10
14
|
updatedAt: z.ZodDate;
|
|
11
15
|
}, "strict", z.ZodTypeAny, {
|
|
@@ -14,6 +18,10 @@ export declare const PortfolioItemSchema: z.ZodObject<{
|
|
|
14
18
|
_id: string;
|
|
15
19
|
createdAt: Date;
|
|
16
20
|
updatedAt: Date;
|
|
21
|
+
views: number;
|
|
22
|
+
likes: number;
|
|
23
|
+
comments: number;
|
|
24
|
+
shares: number;
|
|
17
25
|
mediaType: "image" | "video";
|
|
18
26
|
caption: string;
|
|
19
27
|
mainUrl?: string | undefined;
|
|
@@ -23,10 +31,13 @@ export declare const PortfolioItemSchema: z.ZodObject<{
|
|
|
23
31
|
_id: string;
|
|
24
32
|
createdAt: Date;
|
|
25
33
|
updatedAt: Date;
|
|
34
|
+
views: number;
|
|
35
|
+
likes: number;
|
|
36
|
+
comments: number;
|
|
37
|
+
shares: number;
|
|
26
38
|
mediaType: "image" | "video";
|
|
27
39
|
caption: string;
|
|
28
40
|
mainUrl?: string | undefined;
|
|
29
41
|
}>;
|
|
30
42
|
export type PortfolioItem = z.infer<typeof PortfolioItemSchema>;
|
|
31
|
-
export declare const samplePortfolio: PortfolioItem[];
|
|
32
43
|
//# sourceMappingURL=portfolio.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../../src/lib/models/portfolio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../../src/lib/models/portfolio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAarB,CAAC;AAEZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -6,61 +6,65 @@ export const PortfolioItemSchema = z.object({
|
|
|
6
6
|
url: z.string(),
|
|
7
7
|
mainUrl: z.string().optional(),
|
|
8
8
|
caption: z.string(),
|
|
9
|
+
views: z.number(),
|
|
10
|
+
likes: z.number(),
|
|
11
|
+
comments: z.number(),
|
|
12
|
+
shares: z.number(),
|
|
9
13
|
createdAt: z.date(),
|
|
10
14
|
updatedAt: z.date(),
|
|
11
15
|
}).strict();
|
|
12
|
-
export const samplePortfolio = [{
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
16
|
+
// export const samplePortfolio: PortfolioItem[] = [{
|
|
17
|
+
// _id: "1",
|
|
18
|
+
// user: "wanderlust_volunteer",
|
|
19
|
+
// mediaType: "image",
|
|
20
|
+
// url: "/images/profile_placeholder.webp",
|
|
21
|
+
// mainUrl: "https://www.google.com",
|
|
22
|
+
// caption: "Documenting traditional fishing techniques in Kerala",
|
|
23
|
+
// createdAt: new Date(2024, 8, 5),
|
|
24
|
+
// updatedAt: new Date(2024, 8, 5),
|
|
25
|
+
// },
|
|
26
|
+
// {
|
|
27
|
+
// _id: "2",
|
|
28
|
+
// user: "wanderlust_volunteer",
|
|
29
|
+
// mediaType: "video",
|
|
30
|
+
// url: "https://videos.pexels.com/video-files/6548176/6548176-hd_1920_1080_24fps.mp4",
|
|
31
|
+
// caption: "Teaching English to local children in Manali",
|
|
32
|
+
// createdAt: new Date(2024, 7, 12),
|
|
33
|
+
// updatedAt: new Date(2024, 7, 12),
|
|
34
|
+
// },
|
|
35
|
+
// {
|
|
36
|
+
// _id: "3",
|
|
37
|
+
// user: "wanderlust_volunteer",
|
|
38
|
+
// mediaType: "image",
|
|
39
|
+
// url: "/images/profile_placeholder.webp",
|
|
40
|
+
// caption: "Helping build eco-friendly accommodations in Goa",
|
|
41
|
+
// createdAt: new Date(2024, 6, 20),
|
|
42
|
+
// updatedAt: new Date(2024, 6, 20),
|
|
43
|
+
// },
|
|
44
|
+
// {
|
|
45
|
+
// _id: "4",
|
|
46
|
+
// user: "wanderlust_volunteer",
|
|
47
|
+
// mediaType: "image",
|
|
48
|
+
// url: "/images/profile_placeholder.webp",
|
|
49
|
+
// caption: "Conducting sustainable tourism workshop in Jaipur",
|
|
50
|
+
// createdAt: new Date(2024, 5, 8),
|
|
51
|
+
// updatedAt: new Date(2024, 5, 8),
|
|
52
|
+
// },
|
|
53
|
+
// {
|
|
54
|
+
// _id: "5",
|
|
55
|
+
// user: "wanderlust_volunteer",
|
|
56
|
+
// mediaType: "video",
|
|
57
|
+
// url: "/images/profile_placeholder.webp",
|
|
58
|
+
// caption: "Guiding international tourists on a cultural heritage tour",
|
|
59
|
+
// createdAt: new Date(2024, 4, 15),
|
|
60
|
+
// updatedAt: new Date(2024, 4, 15)
|
|
61
|
+
// },
|
|
62
|
+
// {
|
|
63
|
+
// _id: "6",
|
|
64
|
+
// user: "wanderlust_volunteer",
|
|
65
|
+
// mediaType: "image",
|
|
66
|
+
// url: "/images/profile_placeholder.webp",
|
|
67
|
+
// caption: "Wildlife photography from Ranthambore volunteering",
|
|
68
|
+
// createdAt: new Date(2024, 3, 28),
|
|
69
|
+
// updatedAt: new Date(2024, 3, 28)
|
|
70
|
+
// }]
|
|
@@ -24,6 +24,7 @@ export declare const ReviewSchema: z.ZodObject<{
|
|
|
24
24
|
createdAt: Date;
|
|
25
25
|
updatedAt: Date;
|
|
26
26
|
}>;
|
|
27
|
+
export type reviewTargetType = 'opportunity' | 'package' | 'host' | 'user' | 'blog' | 'portfolio';
|
|
27
28
|
export type Review = z.infer<typeof ReviewSchema>;
|
|
28
29
|
export declare const reviewBasicSchema: z.ZodObject<{
|
|
29
30
|
rating: z.ZodNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/lib/models/review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;EAQd,CAAC;AAEZ,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,iBAAiB;;;;;;;;;EAQ5B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE3D,eAAO,MAAM,aAAa,EAAE,MAAM,EAuDjC,CAAA"}
|
|
1
|
+
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/lib/models/review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;EAQd,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;AAElG,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,iBAAiB;;;;;;;;;EAQ5B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE3D,eAAO,MAAM,aAAa,EAAE,MAAM,EAuDjC,CAAA"}
|
|
@@ -191,6 +191,7 @@ export declare const OpportunitySchema: z.ZodObject<{
|
|
|
191
191
|
}>, "many">>;
|
|
192
192
|
hostingType: z.ZodOptional<z.ZodString>;
|
|
193
193
|
views: z.ZodNumber;
|
|
194
|
+
shares: z.ZodNumber;
|
|
194
195
|
status: z.ZodEnum<["draft", "archived", "pending", "open", "closed", "denied", "deleted"]>;
|
|
195
196
|
createdAt: z.ZodOptional<z.ZodDate>;
|
|
196
197
|
updatedAt: z.ZodOptional<z.ZodDate>;
|
|
@@ -205,6 +206,7 @@ export declare const OpportunitySchema: z.ZodObject<{
|
|
|
205
206
|
description: string;
|
|
206
207
|
slug: string;
|
|
207
208
|
views: number;
|
|
209
|
+
shares: number;
|
|
208
210
|
images: string[];
|
|
209
211
|
city: string;
|
|
210
212
|
state: string;
|
|
@@ -288,6 +290,7 @@ export declare const OpportunitySchema: z.ZodObject<{
|
|
|
288
290
|
description: string;
|
|
289
291
|
slug: string;
|
|
290
292
|
views: number;
|
|
293
|
+
shares: number;
|
|
291
294
|
images: string[];
|
|
292
295
|
city: string;
|
|
293
296
|
state: string;
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCnB,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"}
|
|
@@ -32,6 +32,7 @@ export const OpportunitySchema = z.object({
|
|
|
32
32
|
})).optional(),
|
|
33
33
|
hostingType: z.string().optional(),
|
|
34
34
|
views: z.number(),
|
|
35
|
+
shares: z.number(),
|
|
35
36
|
status: z.enum(['draft', 'archived', 'pending', 'open', 'closed', 'denied', 'deleted']),
|
|
36
37
|
createdAt: z.date().optional(),
|
|
37
38
|
updatedAt: z.date().optional(),
|