@myrjfa/state 3.0.6 → 3.0.8
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/adminDashboard.d.ts.map +1 -1
- package/dist/lib/actions/adminDashboard.js +2 -1
- package/dist/lib/actions/adventure.d.ts.map +1 -1
- package/dist/lib/actions/adventure.js +3 -2
- package/dist/lib/actions/application.d.ts.map +1 -1
- package/dist/lib/actions/application.js +3 -2
- package/dist/lib/actions/blog.d.ts.map +1 -1
- package/dist/lib/actions/blog.js +3 -2
- package/dist/lib/actions/community.d.ts +5 -2
- package/dist/lib/actions/community.d.ts.map +1 -1
- package/dist/lib/actions/community.js +10 -3
- package/dist/lib/actions/companion.d.ts +14 -8
- package/dist/lib/actions/companion.d.ts.map +1 -1
- package/dist/lib/actions/companion.js +16 -11
- package/dist/lib/actions/companionUpload.d.ts +10 -0
- package/dist/lib/actions/companionUpload.d.ts.map +1 -0
- package/dist/lib/actions/companionUpload.js +13 -0
- package/dist/lib/actions/event.d.ts.map +1 -1
- package/dist/lib/actions/event.js +3 -2
- package/dist/lib/actions/fetcher.d.ts +2 -2
- package/dist/lib/actions/fetcher.d.ts.map +1 -1
- package/dist/lib/actions/fetcher.js +4 -4
- package/dist/lib/actions/guide.d.ts.map +1 -1
- package/dist/lib/actions/guide.js +3 -2
- package/dist/lib/actions/notification.d.ts +52 -0
- package/dist/lib/actions/notification.d.ts.map +1 -1
- package/dist/lib/actions/notification.js +13 -1
- package/dist/lib/actions/opportunity.d.ts.map +1 -1
- package/dist/lib/actions/opportunity.js +3 -2
- package/dist/lib/actions/package.d.ts.map +1 -1
- package/dist/lib/actions/package.js +6 -5
- package/dist/lib/actions/portfolio.d.ts.map +1 -1
- package/dist/lib/actions/portfolio.js +2 -1
- package/dist/lib/actions/profile.d.ts.map +1 -1
- package/dist/lib/actions/profile.js +3 -2
- package/dist/lib/actions/rental.d.ts.map +1 -1
- package/dist/lib/actions/rental.js +3 -2
- package/dist/lib/actions/review.d.ts.map +1 -1
- package/dist/lib/actions/review.js +3 -2
- package/dist/lib/actions/room.d.ts +0 -4
- package/dist/lib/actions/room.d.ts.map +1 -1
- package/dist/lib/actions/room.js +3 -2
- package/dist/lib/actions/socialAutomation.d.ts.map +1 -1
- package/dist/lib/actions/socialAutomation.js +3 -2
- package/dist/lib/actions/stay.d.ts.map +1 -1
- package/dist/lib/actions/stay.js +3 -2
- package/dist/lib/companion/discoveryPrefill.d.ts +17 -0
- package/dist/lib/companion/discoveryPrefill.d.ts.map +1 -1
- package/dist/lib/companion/discoveryPrefill.js +20 -0
- package/dist/lib/context/ChatContext.d.ts.map +1 -1
- package/dist/lib/context/ChatContext.js +59 -51
- package/dist/lib/hooks/useSubmissionGuard.d.ts +2 -0
- package/dist/lib/hooks/useSubmissionGuard.d.ts.map +1 -0
- package/dist/lib/hooks/useSubmissionGuard.js +12 -0
- package/dist/lib/hooks/useUploadTasks.d.ts +7 -0
- package/dist/lib/hooks/useUploadTasks.d.ts.map +1 -0
- package/dist/lib/hooks/useUploadTasks.js +11 -0
- package/dist/lib/models/blog.d.ts +2 -2
- package/dist/lib/models/community.d.ts +28 -0
- package/dist/lib/models/community.d.ts.map +1 -1
- package/dist/lib/models/companion.d.ts +4 -0
- package/dist/lib/models/companion.d.ts.map +1 -1
- package/dist/lib/models/discount.d.ts +12 -12
- package/dist/lib/models/notifications.d.ts +28 -0
- package/dist/lib/models/notifications.d.ts.map +1 -1
- package/dist/lib/models/notifications.js +6 -0
- package/dist/lib/utils/text.d.ts +2 -0
- package/dist/lib/utils/text.d.ts.map +1 -1
- package/dist/lib/utils/text.js +13 -0
- package/dist/lib/utils/uploadTasks.d.ts +76 -0
- package/dist/lib/utils/uploadTasks.d.ts.map +1 -0
- package/dist/lib/utils/uploadTasks.js +94 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adminDashboard.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/adminDashboard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adminDashboard.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/adminDashboard.ts"],"names":[],"mappings":"AAKA,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,wBAAsB,mBAAmB,iBAOxC;AAED,wBAAsB,gBAAgB,iBAOrC;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,gBAO1D;AAED,wBAAsB,mBAAmB;;;;;;;;GAOxC;AAED,wBAAsB,sBAAsB;;;;;;;;GAO3C;AAED,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,GAAG,EAAE;;;;;;;;GAO3D;AAED,wBAAsB,yBAAyB,CAAC,mBAAmB,EAAE,GAAG,EAAE;;;;;;;;GAOzE;AAED,wBAAsB,4BAA4B,CAAC,sBAAsB,EAAE,GAAG,EAAE;;;;;;;;GAO/E;AAED,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IAAE,cAAc,CAAC,EAAE,GAAG,CAAC;IAAC,kBAAkB,CAAC,EAAE,GAAG,CAAA;CAAE;;;;;;;;GAOpG;AAED,wBAAsB,wBAAwB,CAAC,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;GAW5F;AAED,wBAAsB,kBAAkB,CAAC,OAAO,CAAC,EAAE;IACjD,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAC/B,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;;;;;;;;GAYA;AAED,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,MAAM;;;;;;;;GAO7D;AAED,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;GAO7E;AAED,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,MAAM;;;;;;;;GAO7D;AAED,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;GAO7E"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// --- Payouts actions --- //
|
|
2
2
|
import { get, post, put } from "./fetcher";
|
|
3
|
+
import { runUploadTask } from "../utils/uploadTasks";
|
|
3
4
|
export async function getPayoutRecipients() {
|
|
4
5
|
try {
|
|
5
6
|
const data = await get("/admin/payouts/recipients");
|
|
@@ -20,7 +21,7 @@ export async function getPayoutHistory() {
|
|
|
20
21
|
}
|
|
21
22
|
export async function recordManualPayout(formData) {
|
|
22
23
|
try {
|
|
23
|
-
const data = await post("/admin/payouts/record", formData);
|
|
24
|
+
const data = await runUploadTask({ title: "Payout receipt", body: formData, href: typeof window === "undefined" ? undefined : window.location.pathname, operation: ({ progress }) => post("/admin/payouts/record", formData, true, { onUploadProgress: progress }) });
|
|
24
25
|
return { success: true, ...data };
|
|
25
26
|
}
|
|
26
27
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adventure.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/adventure.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adventure.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/adventure.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,wBAAsB,iBAAiB,CACrC,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;CAAE,GACpF,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAmBD;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAED;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5D,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAUD;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7D,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAsBD;AAED,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CASD;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAOpI;AAID,wBAAsB,gBAAgB,IAAI,OAAO,CAAC;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CASD;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IACjE,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CASD;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CASjE;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAO/C;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAOjE;AAID,wBAAsB,oBAAoB,IAAI,OAAO,CAAC;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CASD;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAUjE;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAUjE;AAED,wBAAsB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAOD;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAUjE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { runUploadTask } from "../utils/uploadTasks";
|
|
1
2
|
import { get, patch, post, del } from "./fetcher";
|
|
2
3
|
import { calculatePricingStrategyDisplayUnitPrice, getPrimaryPricingStrategy, getPricingCurrency } from "../models/pricing";
|
|
3
4
|
// ─── Public ───────────────────────────────────────────────────────────────────
|
|
@@ -92,7 +93,7 @@ export async function adventuresByHost() {
|
|
|
92
93
|
}
|
|
93
94
|
export async function createAdventure(formData) {
|
|
94
95
|
try {
|
|
95
|
-
const data = await post(`/adventures/create`, formData);
|
|
96
|
+
const data = await runUploadTask({ title: 'Adventure listing', retrySafe: false, href: "/dashboard/host/adventures", body: formData, operation: ({ progress }) => post(`/adventures/create`, formData, true, { onUploadProgress: progress }) });
|
|
96
97
|
return { success: true, slug: data.data, message: data.message };
|
|
97
98
|
}
|
|
98
99
|
catch (error) {
|
|
@@ -101,7 +102,7 @@ export async function createAdventure(formData) {
|
|
|
101
102
|
}
|
|
102
103
|
export async function editAdventure(formData, slug) {
|
|
103
104
|
try {
|
|
104
|
-
const data = await patch(`/adventures/update/${slug}`, formData);
|
|
105
|
+
const data = await runUploadTask({ title: 'Adventure listing', retrySafe: false, href: "/dashboard/host/adventures", body: formData, operation: ({ progress }) => patch(`/adventures/update/${slug}`, formData, { onUploadProgress: progress }) });
|
|
105
106
|
return { success: true, message: data.message };
|
|
106
107
|
}
|
|
107
108
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/application.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/application.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;CACjC,CAAC,CAYD;AACD,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;CACjC,CAAC,CAYD;AAED,wBAAsB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B,CAAC,CAYD;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBjE;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,GACT,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBjE;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBjE;AAED,wBAAsB,0BAA0B,IAAI,OAAO,CAAC;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B,CAAC,CAYD;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,MAAM,GACT,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAcjE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { runUploadTask } from "../utils/uploadTasks";
|
|
1
2
|
import { del, get, patch, post } from "./fetcher";
|
|
2
3
|
export async function getVolunteerApplicationForm(slug) {
|
|
3
4
|
try {
|
|
@@ -44,7 +45,7 @@ export async function getApplicationsForOpportunity(slug) {
|
|
|
44
45
|
export async function saveApplicationForm(formData) {
|
|
45
46
|
try {
|
|
46
47
|
const endpoint = `/applications/applyForOpportunity`;
|
|
47
|
-
const data = await post(endpoint, formData);
|
|
48
|
+
const data = await runUploadTask({ title: 'Application', retrySafe: false, href: typeof window === "undefined" ? undefined : window.location.pathname, operation: ({ progress }) => post(endpoint, formData, true, { onUploadProgress: progress }) });
|
|
48
49
|
return {
|
|
49
50
|
success: true,
|
|
50
51
|
message: data.message,
|
|
@@ -78,7 +79,7 @@ export async function updateApplicationStatus(status, id) {
|
|
|
78
79
|
export async function editApplication(formData, id) {
|
|
79
80
|
try {
|
|
80
81
|
const endpoint = `/applications/updateApplication/${id}`;
|
|
81
|
-
const data = await patch(endpoint, formData);
|
|
82
|
+
const data = await runUploadTask({ title: 'Application', retrySafe: true, href: typeof window === "undefined" ? undefined : window.location.pathname, operation: ({ progress }) => patch(endpoint, formData, { onUploadProgress: progress }) });
|
|
82
83
|
return {
|
|
83
84
|
success: true,
|
|
84
85
|
message: data.message,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blog.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/blog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"blog.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/blog.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/actions/blog.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { runUploadTask } from "../utils/uploadTasks";
|
|
1
2
|
import { del, get, patch, post } from "./fetcher";
|
|
2
3
|
import { convertBlogToTileProps } from "../utils/entityTiles";
|
|
3
4
|
export async function getBlogTilesByStatus(status, limit) {
|
|
@@ -191,7 +192,7 @@ export async function blogMetaData(slug) {
|
|
|
191
192
|
export async function createBlog(formData) {
|
|
192
193
|
try {
|
|
193
194
|
const endpoint = `/blog/create`;
|
|
194
|
-
const data = await post(endpoint, formData);
|
|
195
|
+
const data = await runUploadTask({ title: 'Blog', retrySafe: false, href: "/dashboard/host/blogs", body: formData, operation: ({ progress }) => post(endpoint, formData, true, { onUploadProgress: progress }) });
|
|
195
196
|
return {
|
|
196
197
|
success: true,
|
|
197
198
|
slug: data.data,
|
|
@@ -209,7 +210,7 @@ export async function createBlog(formData) {
|
|
|
209
210
|
export async function editBlog(formData, slug) {
|
|
210
211
|
try {
|
|
211
212
|
const endpoint = `/blog/update/${slug}`;
|
|
212
|
-
const data = await patch(endpoint, formData);
|
|
213
|
+
const data = await runUploadTask({ title: 'Blog', retrySafe: false, href: "/dashboard/host/blogs", body: formData, operation: ({ progress }) => patch(endpoint, formData, { onUploadProgress: progress }) });
|
|
213
214
|
return {
|
|
214
215
|
success: true,
|
|
215
216
|
slug: data.data,
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { CommunityComment, CommunityContent, CommunityEntitySearchKind, CommunityEntitySearchPage, CommunityModerationQueue, CommunityPlaceContentPage, CommunityPreferences, CommunitySearchPage, CommunityVideoPosterUpload, ContentPage, CreateCommunityContentInput, FeedPage } from "../models/community";
|
|
2
2
|
export declare const getCommunityFeed: (mode?: "for_you" | "following", cursor?: string, sessionId?: string) => Promise<FeedPage>;
|
|
3
3
|
export declare const getCommunityContent: (slug: string, authenticated?: boolean) => Promise<CommunityContent>;
|
|
4
|
+
export declare const getSavedCommunityContent: (cursor?: string) => Promise<ContentPage>;
|
|
4
5
|
export declare const getAuthorCommunityContent: (actorType: "user" | "host", username: string, cursor?: string) => Promise<ContentPage>;
|
|
5
6
|
export declare const getPlaceCommunityContent: (slugPath: string, cursor?: string) => Promise<CommunityPlaceContentPage>;
|
|
6
7
|
export declare const searchCommunityContent: (query: string, cursor?: string) => Promise<CommunitySearchPage>;
|
|
7
8
|
export declare const searchCommunityEntities: (type: CommunityEntitySearchKind, query?: string, limit?: number) => Promise<CommunityEntitySearchPage>;
|
|
8
9
|
export declare const createCommunityContent: (input: CreateCommunityContentInput) => Promise<CommunityContent>;
|
|
9
|
-
export declare const uploadCommunityAssets: (files: File[], videoPosters?: CommunityVideoPosterUpload[]) => Promise<import("../models/community").CommunityMedia[]>;
|
|
10
|
+
export declare const uploadCommunityAssets: (files: File[], videoPosters?: CommunityVideoPosterUpload[], onUploadProgress?: (percent: number) => void) => Promise<import("../models/community").CommunityMedia[]>;
|
|
10
11
|
export declare const updateCommunityContent: (id: string, input: Partial<CreateCommunityContentInput>) => Promise<CommunityContent>;
|
|
11
12
|
export declare const deleteCommunityContent: (id: string) => Promise<unknown>;
|
|
12
13
|
export declare const setCommunityReaction: (contentId: string, kind: "like" | "bookmark", enabled: boolean) => Promise<{
|
|
@@ -31,7 +32,9 @@ export declare const saveCommunityPreferences: (input: Partial<CommunityPreferen
|
|
|
31
32
|
export declare const getCommunityPreferences: () => Promise<CommunityPreferences>;
|
|
32
33
|
export declare const reportCommunityContent: (contentId: string, reason: string) => Promise<unknown>;
|
|
33
34
|
export declare const getCommunityModerationQueue: (limit?: number) => Promise<CommunityModerationQueue>;
|
|
34
|
-
export declare const moderateCommunityContent: (contentId: string, moderationState: "approved" | "rejected" | "hidden", reason?: string) => Promise<CommunityContent>;
|
|
35
|
+
export declare const moderateCommunityContent: (contentId: string, moderationState: "approved" | "rejected" | "hidden", reason?: string, processingVersion?: number) => Promise<CommunityContent>;
|
|
35
36
|
export declare const moderateCommunityComment: (commentId: string, moderationState: "approved" | "rejected" | "hidden", reason?: string) => Promise<CommunityComment>;
|
|
36
37
|
export declare const recordCommunityShare: (contentId: string) => Promise<unknown>;
|
|
38
|
+
export declare const retryCommunityAutomatedReview: (contentId: string, processingVersion: number) => Promise<CommunityContent>;
|
|
39
|
+
export declare const retryOwnCommunityProcessing: (contentId: string, processingVersion: number) => Promise<CommunityContent>;
|
|
37
40
|
//# sourceMappingURL=community.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"community.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/community.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"community.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/community.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
import { runUploadTask } from "../utils/uploadTasks";
|
|
1
2
|
import { del, get, patch, post, put } from "./fetcher";
|
|
2
3
|
export const getCommunityFeed = async (mode = "for_you", cursor, sessionId) => (await get(`/community/feed?mode=${mode}${cursor ? `&cursor=${encodeURIComponent(cursor)}` : ""}${sessionId ? `&sessionId=${encodeURIComponent(sessionId)}` : ""}`)).data;
|
|
3
4
|
export const getCommunityContent = async (slug, authenticated = true) => (await get(`/community/content/${encodeURIComponent(slug)}`, authenticated)).data;
|
|
5
|
+
export const getSavedCommunityContent = async (cursor) => (await get(`/community/saved${cursor ? `?cursor=${encodeURIComponent(cursor)}` : ""}`)).data;
|
|
4
6
|
export const getAuthorCommunityContent = async (actorType, username, cursor) => (await get(`/community/authors/${actorType}/${encodeURIComponent(username)}/content${cursor ? `?cursor=${encodeURIComponent(cursor)}` : ""}`)).data;
|
|
5
7
|
export const getPlaceCommunityContent = async (slugPath, cursor) => (await get(`/community/places/content?slugPath=${encodeURIComponent(slugPath)}${cursor ? `&cursor=${encodeURIComponent(cursor)}` : ""}`)).data;
|
|
6
8
|
export const searchCommunityContent = async (query, cursor) => (await get(`/community/search?q=${encodeURIComponent(query)}${cursor ? `&cursor=${encodeURIComponent(cursor)}` : ""}`)).data;
|
|
7
9
|
export const searchCommunityEntities = async (type, query = "", limit = 12) => (await get(`/community/entities?type=${type}&q=${encodeURIComponent(query)}&limit=${Math.max(1, Math.min(limit, 20))}`)).data;
|
|
8
10
|
export const createCommunityContent = async (input) => (await post("/community/content", input)).data;
|
|
9
|
-
export const uploadCommunityAssets = async (files, videoPosters = []) => {
|
|
11
|
+
export const uploadCommunityAssets = async (files, videoPosters = [], onUploadProgress) => {
|
|
10
12
|
const form = new FormData();
|
|
11
13
|
files.slice(0, 10).forEach((file) => form.append("portfolio", file));
|
|
12
14
|
const validPosters = videoPosters
|
|
@@ -16,7 +18,10 @@ export const uploadCommunityAssets = async (files, videoPosters = []) => {
|
|
|
16
18
|
form.append("videoPosterIndexes", JSON.stringify(validPosters.map(({ assetIndex }) => assetIndex)));
|
|
17
19
|
validPosters.forEach(({ file }) => form.append("videoPoster", file));
|
|
18
20
|
}
|
|
19
|
-
|
|
21
|
+
const upload = (progress) => post("/community/assets", form, true, { onUploadProgress: progress });
|
|
22
|
+
if (onUploadProgress)
|
|
23
|
+
return (await upload(onUploadProgress)).data;
|
|
24
|
+
return (await runUploadTask({ title: 'Community media', retrySafe: true, href: typeof window === "undefined" ? undefined : window.location.pathname, operation: ({ progress }) => upload(progress), resultHref: result => result.data[0]?.url })).data;
|
|
20
25
|
};
|
|
21
26
|
export const updateCommunityContent = async (id, input) => (await patch(`/community/content/${id}`, input)).data;
|
|
22
27
|
export const deleteCommunityContent = async (id) => (await del(`/community/content/${id}`)).data;
|
|
@@ -30,6 +35,8 @@ export const saveCommunityPreferences = async (input) => (await put("/community/
|
|
|
30
35
|
export const getCommunityPreferences = async () => (await get("/community/preferences")).data;
|
|
31
36
|
export const reportCommunityContent = async (contentId, reason) => (await post(`/community/content/${contentId}/report`, { reason })).data;
|
|
32
37
|
export const getCommunityModerationQueue = async (limit = 40) => (await get(`/community/moderation/queue?limit=${Math.max(1, Math.min(limit, 100))}`)).data;
|
|
33
|
-
export const moderateCommunityContent = async (contentId, moderationState, reason = "") => (await put(`/community/moderation/content/${contentId}`, { moderationState, reason })).data;
|
|
38
|
+
export const moderateCommunityContent = async (contentId, moderationState, reason = "", processingVersion = 0) => (await put(`/community/moderation/content/${contentId}`, { moderationState, reason, processingVersion })).data;
|
|
34
39
|
export const moderateCommunityComment = async (commentId, moderationState, reason = "") => (await put(`/community/moderation/comments/${commentId}`, { moderationState, reason })).data;
|
|
35
40
|
export const recordCommunityShare = async (contentId) => (await post(`/community/content/${contentId}/share`, {})).data;
|
|
41
|
+
export const retryCommunityAutomatedReview = async (contentId, processingVersion) => (await post(`/community/moderation/content/${encodeURIComponent(contentId)}/retry`, { processingVersion })).data;
|
|
42
|
+
export const retryOwnCommunityProcessing = async (contentId, processingVersion) => (await post(`/community/content/${encodeURIComponent(contentId)}/retry`, { processingVersion })).data;
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import type { CompanionListingCard, CompanionListingSuggestions, CompanionSavedType, CompanionStandaloneKind } from "../models/companion";
|
|
2
|
+
export declare function getCompanionEligibility(): Promise<{
|
|
3
|
+
eligible: boolean;
|
|
4
|
+
missingFields: string[];
|
|
5
|
+
success: true;
|
|
6
|
+
error?: undefined;
|
|
7
|
+
} | {
|
|
8
|
+
success: false;
|
|
9
|
+
error: string;
|
|
10
|
+
}>;
|
|
2
11
|
export declare function getCompanionSavedStatus(type: CompanionSavedType, targetId: string): Promise<{
|
|
3
12
|
success: boolean;
|
|
4
13
|
saved: boolean;
|
|
@@ -30,19 +39,14 @@ export declare function getCompanionSavedItems(type: CompanionSavedType, cursor?
|
|
|
30
39
|
}>;
|
|
31
40
|
export declare function getMyTravelProfile(): Promise<{
|
|
32
41
|
success: boolean;
|
|
42
|
+
missing: boolean;
|
|
33
43
|
error: any;
|
|
34
44
|
profile?: undefined;
|
|
35
|
-
missing?: undefined;
|
|
36
45
|
} | {
|
|
37
46
|
success: boolean;
|
|
38
47
|
profile: any;
|
|
39
|
-
error?: undefined;
|
|
40
48
|
missing?: undefined;
|
|
41
|
-
|
|
42
|
-
success: boolean;
|
|
43
|
-
missing: boolean;
|
|
44
|
-
error: string;
|
|
45
|
-
profile?: undefined;
|
|
49
|
+
error?: undefined;
|
|
46
50
|
}>;
|
|
47
51
|
export declare function saveMyTravelProfile(profileData: any): Promise<{
|
|
48
52
|
success: boolean;
|
|
@@ -266,10 +270,12 @@ export declare function swipeTraveler(targetUserId: string, action: "like" | "pa
|
|
|
266
270
|
success: boolean;
|
|
267
271
|
error: any;
|
|
268
272
|
matched?: undefined;
|
|
273
|
+
status?: undefined;
|
|
269
274
|
matchScore?: undefined;
|
|
270
275
|
} | {
|
|
271
276
|
success: boolean;
|
|
272
|
-
matched:
|
|
277
|
+
matched: boolean;
|
|
278
|
+
status: any;
|
|
273
279
|
matchScore: any;
|
|
274
280
|
error?: undefined;
|
|
275
281
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"companion.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/companion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"companion.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/companion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
"use server";
|
|
2
2
|
import { del, get, post, put } from "./fetcher";
|
|
3
|
+
import { uploadCompanionTripCover as uploadTripCover } from "./companionUpload";
|
|
3
4
|
const BASE_PATH = "/companion";
|
|
5
|
+
export async function getCompanionEligibility() {
|
|
6
|
+
try {
|
|
7
|
+
const response = await get(`${BASE_PATH}/eligibility`);
|
|
8
|
+
if (typeof response.data?.eligible !== "boolean" || !Array.isArray(response.data.missingFields))
|
|
9
|
+
throw new Error("Invalid eligibility response");
|
|
10
|
+
return { success: true, ...response.data };
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return { success: false, error: "Could not check your profile. Please try again." };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
4
16
|
export async function getCompanionSavedStatus(type, targetId) {
|
|
5
17
|
try {
|
|
6
18
|
const data = await get(`${BASE_PATH}/saved/${type}/${encodeURIComponent(targetId)}`);
|
|
@@ -34,7 +46,7 @@ export async function getMyTravelProfile() {
|
|
|
34
46
|
try {
|
|
35
47
|
const data = await get(`${BASE_PATH}/profile/me`);
|
|
36
48
|
if (data.statusCode >= 400)
|
|
37
|
-
return { success: false, error: data.message };
|
|
49
|
+
return { success: false, missing: data.statusCode === 404, error: data.message };
|
|
38
50
|
return { success: true, profile: data.data };
|
|
39
51
|
}
|
|
40
52
|
catch (error) {
|
|
@@ -66,15 +78,7 @@ export async function createTravelPlan(planData) {
|
|
|
66
78
|
}
|
|
67
79
|
}
|
|
68
80
|
export async function uploadCompanionTripCover(file) {
|
|
69
|
-
|
|
70
|
-
const body = new FormData();
|
|
71
|
-
body.append("images", file);
|
|
72
|
-
const data = await post(`${BASE_PATH}/uploads/trip-cover`, body);
|
|
73
|
-
return { success: true, url: data.data.url };
|
|
74
|
-
}
|
|
75
|
-
catch (error) {
|
|
76
|
-
return { success: false, error: error instanceof Error ? error.message : "Could not upload the trip cover." };
|
|
77
|
-
}
|
|
81
|
+
return uploadTripCover(file);
|
|
78
82
|
}
|
|
79
83
|
export async function createTravelPlanFromItinerary(itineraryId, inviteCount, joinPolicy = "approval_required", options = {}) {
|
|
80
84
|
try {
|
|
@@ -309,7 +313,8 @@ export async function swipeTraveler(targetUserId, action) {
|
|
|
309
313
|
return { success: false, error: data.message };
|
|
310
314
|
return {
|
|
311
315
|
success: true,
|
|
312
|
-
matched: data.data?.matched
|
|
316
|
+
matched: Boolean(data.data?.matched || data.data?.status === "matched"),
|
|
317
|
+
status: data.data?.status,
|
|
313
318
|
matchScore: data.data?.matchScore ?? 0,
|
|
314
319
|
};
|
|
315
320
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"companionUpload.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/companionUpload.ts"],"names":[],"mappings":"AAGA,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,IAAI;;;;;;;;GASxD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { post } from "./fetcher";
|
|
2
|
+
import { runUploadTask } from "../utils/uploadTasks";
|
|
3
|
+
export async function uploadCompanionTripCover(file) {
|
|
4
|
+
const body = new FormData();
|
|
5
|
+
body.append("images", file);
|
|
6
|
+
try {
|
|
7
|
+
const response = await runUploadTask({ title: "Trip cover", recoveryKey: "companion-cover", retrySafe: true, href: "/find-companion/create", operation: ({ progress }) => post("/companion/uploads/trip-cover", body, true, { onUploadProgress: progress }) });
|
|
8
|
+
return { success: true, url: response.data.url };
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
return { success: false, error: error instanceof Error ? error.message : "Could not upload the trip cover." };
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/event.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/event.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { runUploadTask } from "../utils/uploadTasks";
|
|
1
2
|
import { post, get, patch, del } from "./fetcher";
|
|
2
3
|
import { calculatePricingStrategyDisplayUnitPrice, getPrimaryPricingStrategy } from "../models/pricing";
|
|
3
4
|
function formatTrendingEventDate(value) {
|
|
@@ -126,7 +127,7 @@ export async function cancelEventBookingApi(bookingId) {
|
|
|
126
127
|
// ── Host Event Management ─────────────────────────────────────────────────────
|
|
127
128
|
export async function createEventListing(formData) {
|
|
128
129
|
try {
|
|
129
|
-
const data = await post(`/events/host/create`, formData);
|
|
130
|
+
const data = await runUploadTask({ title: 'Event listing', retrySafe: false, href: "/dashboard/host/events", body: formData, operation: ({ progress }) => post(`/events/host/create`, formData, true, { onUploadProgress: progress }) });
|
|
130
131
|
return {
|
|
131
132
|
success: true,
|
|
132
133
|
slug: data.data?.slug,
|
|
@@ -140,7 +141,7 @@ export async function createEventListing(formData) {
|
|
|
140
141
|
}
|
|
141
142
|
export async function updateEventListing(eventId, formData) {
|
|
142
143
|
try {
|
|
143
|
-
const data = await patch(`/events/host/${eventId}`, formData);
|
|
144
|
+
const data = await runUploadTask({ title: 'Event listing', retrySafe: false, href: "/dashboard/host/events", body: formData, operation: ({ progress }) => patch(`/events/host/${eventId}`, formData, { onUploadProgress: progress }) });
|
|
144
145
|
return { success: true, event: data.data, message: data.message };
|
|
145
146
|
}
|
|
146
147
|
catch (err) {
|
|
@@ -8,8 +8,8 @@ interface FetchOptions {
|
|
|
8
8
|
}
|
|
9
9
|
export declare function get<T>(url: string, includeAuth?: boolean): Promise<T>;
|
|
10
10
|
export declare function post<T>(url: string, body: any, includeAuth?: boolean, options?: Pick<FetchOptions, 'signal' | 'headers' | 'retry' | 'keepalive' | 'onUploadProgress'>): Promise<T>;
|
|
11
|
-
export declare function put<T>(url: string, body: any): Promise<T>;
|
|
12
|
-
export declare function patch<T>(url: string, body: any): Promise<T>;
|
|
11
|
+
export declare function put<T>(url: string, body: any, options?: Pick<FetchOptions, 'onUploadProgress'>): Promise<T>;
|
|
12
|
+
export declare function patch<T>(url: string, body: any, options?: Pick<FetchOptions, 'onUploadProgress'>): Promise<T>;
|
|
13
13
|
export declare function del<T>(url: string, body?: any, includeAuth?: boolean, options?: Pick<FetchOptions, 'signal' | 'headers' | 'retry'>): Promise<T>;
|
|
14
14
|
export {};
|
|
15
15
|
//# sourceMappingURL=fetcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/fetcher.ts"],"names":[],"mappings":"AAyBA,UAAU,YAAY;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAChD;AA0MD,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,EAAE,WAAW,GAAE,OAAc,EAAE,OAAO,GAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,kBAAkB,CAAM,cAErL;AAED,wBAAsB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/fetcher.ts"],"names":[],"mappings":"AAyBA,UAAU,YAAY;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAChD;AA0MD,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,EAAE,WAAW,GAAE,OAAc,EAAE,OAAO,GAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,kBAAkB,CAAM,cAErL;AAED,wBAAsB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAE,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAM,cAExG;AAED,wBAAsB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAE,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAM,cAE1G;AAED,wBAAsB,GAAG,CAAC,CAAC,EACvB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,WAAW,GAAE,OAAc,EAC3B,OAAO,GAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAM,cAGnE"}
|
|
@@ -193,11 +193,11 @@ export async function get(url, includeAuth = true) {
|
|
|
193
193
|
export async function post(url, body, includeAuth = true, options = {}) {
|
|
194
194
|
return customFetch(url, 'POST', body, { includeAuth, ...options });
|
|
195
195
|
}
|
|
196
|
-
export async function put(url, body) {
|
|
197
|
-
return customFetch(url, 'PUT', body, { includeAuth: true });
|
|
196
|
+
export async function put(url, body, options = {}) {
|
|
197
|
+
return customFetch(url, 'PUT', body, { includeAuth: true, ...options });
|
|
198
198
|
}
|
|
199
|
-
export async function patch(url, body) {
|
|
200
|
-
return customFetch(url, 'PATCH', body, { includeAuth: true });
|
|
199
|
+
export async function patch(url, body, options = {}) {
|
|
200
|
+
return customFetch(url, 'PATCH', body, { includeAuth: true, ...options });
|
|
201
201
|
}
|
|
202
202
|
export async function del(url, body, includeAuth = true, options = {}) {
|
|
203
203
|
return customFetch(url, 'DELETE', body, { includeAuth, ...options });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guide.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/guide.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"guide.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/guide.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,wBAAsB,aAAa,CACjC,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAgBD;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAUD;AAID,wBAAsB,YAAY,IAAI,OAAO,CAAC;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAcD;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7D,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAUD;AAED,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAUjE;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAOjE;AAID,wBAAsB,gBAAgB,IAAI,OAAO,CAAC;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAQD;AAGD,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAUjE;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAUjE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { runUploadTask } from "../utils/uploadTasks";
|
|
1
2
|
import { del, get, patch, post } from "./fetcher";
|
|
2
3
|
import { calculatePricingStrategyDisplayUnitPrice, getPrimaryPricingStrategy, getPricingCurrency } from "../models/pricing";
|
|
3
4
|
// ─── Public ───────────────────────────────────────────────────────────────────
|
|
@@ -47,7 +48,7 @@ export async function guidesByHost() {
|
|
|
47
48
|
}
|
|
48
49
|
export async function createGuide(formData) {
|
|
49
50
|
try {
|
|
50
|
-
const data = await post(`/guides/create`, formData);
|
|
51
|
+
const data = await runUploadTask({ title: 'Guide listing', retrySafe: false, href: "/dashboard/host/guides", body: formData, operation: ({ progress }) => post(`/guides/create`, formData, true, { onUploadProgress: progress }) });
|
|
51
52
|
return { success: true, slug: data.data, message: data.message };
|
|
52
53
|
}
|
|
53
54
|
catch (error) {
|
|
@@ -57,7 +58,7 @@ export async function createGuide(formData) {
|
|
|
57
58
|
}
|
|
58
59
|
export async function editGuide(formData, slug) {
|
|
59
60
|
try {
|
|
60
|
-
const data = await patch(`/guides/update/${slug}`, formData);
|
|
61
|
+
const data = await runUploadTask({ title: 'Guide listing', retrySafe: false, href: "/dashboard/host/guides", body: formData, operation: ({ progress }) => patch(`/guides/update/${slug}`, formData, { onUploadProgress: progress }) });
|
|
61
62
|
return { success: true, message: data.message };
|
|
62
63
|
}
|
|
63
64
|
catch (error) {
|
|
@@ -8,12 +8,18 @@ export declare function getAllNotifications(): Promise<{
|
|
|
8
8
|
type?: "new_message" | "milestone_completed" | "expense_added" | "group_invite" | "mention" | "application_received" | "application_status" | "application_shortlisted" | "id_verification_request" | "id_verified" | "id_rejected" | "package_enquiry" | "package_approval" | "package_denial" | "package_rating" | "package_review" | "opportunity_assigned" | "opportunity_approval" | "opportunity_denial" | "opportunity_rating" | "opportunity_review" | "blog_like" | "blog_comment" | "blog_posted" | "blog_approval" | "blog_denial" | "booking_confirmed" | "system" | "general" | undefined;
|
|
9
9
|
userId?: string | undefined;
|
|
10
10
|
timestamp?: any;
|
|
11
|
+
visitedAt?: string | null | undefined;
|
|
11
12
|
link?: string | undefined;
|
|
12
13
|
category?: "booking" | "opportunity" | "package" | "blog" | "system" | "general" | "chat" | "application" | "account" | undefined;
|
|
13
14
|
metadata?: {
|
|
14
15
|
status?: string | undefined;
|
|
15
16
|
rating?: number | undefined;
|
|
16
17
|
title?: string | undefined;
|
|
18
|
+
uploadTaskId?: string | undefined;
|
|
19
|
+
uploadOutcome?: "failed" | "complete" | undefined;
|
|
20
|
+
uploadEventId?: string | undefined;
|
|
21
|
+
contentId?: string | undefined;
|
|
22
|
+
outcome?: string | undefined;
|
|
17
23
|
conversationId?: string | undefined;
|
|
18
24
|
messageId?: string | undefined;
|
|
19
25
|
senderId?: string | undefined;
|
|
@@ -44,12 +50,18 @@ export declare function getNotifications(limit: number): Promise<{
|
|
|
44
50
|
type?: "new_message" | "milestone_completed" | "expense_added" | "group_invite" | "mention" | "application_received" | "application_status" | "application_shortlisted" | "id_verification_request" | "id_verified" | "id_rejected" | "package_enquiry" | "package_approval" | "package_denial" | "package_rating" | "package_review" | "opportunity_assigned" | "opportunity_approval" | "opportunity_denial" | "opportunity_rating" | "opportunity_review" | "blog_like" | "blog_comment" | "blog_posted" | "blog_approval" | "blog_denial" | "booking_confirmed" | "system" | "general" | undefined;
|
|
45
51
|
userId?: string | undefined;
|
|
46
52
|
timestamp?: any;
|
|
53
|
+
visitedAt?: string | null | undefined;
|
|
47
54
|
link?: string | undefined;
|
|
48
55
|
category?: "booking" | "opportunity" | "package" | "blog" | "system" | "general" | "chat" | "application" | "account" | undefined;
|
|
49
56
|
metadata?: {
|
|
50
57
|
status?: string | undefined;
|
|
51
58
|
rating?: number | undefined;
|
|
52
59
|
title?: string | undefined;
|
|
60
|
+
uploadTaskId?: string | undefined;
|
|
61
|
+
uploadOutcome?: "failed" | "complete" | undefined;
|
|
62
|
+
uploadEventId?: string | undefined;
|
|
63
|
+
contentId?: string | undefined;
|
|
64
|
+
outcome?: string | undefined;
|
|
53
65
|
conversationId?: string | undefined;
|
|
54
66
|
messageId?: string | undefined;
|
|
55
67
|
senderId?: string | undefined;
|
|
@@ -88,4 +100,44 @@ export declare function toggleAllNotification(read: boolean): Promise<{
|
|
|
88
100
|
error: any;
|
|
89
101
|
message?: undefined;
|
|
90
102
|
}>;
|
|
103
|
+
export declare const subscribeNotificationChanges: (listener: () => void) => () => void;
|
|
104
|
+
export declare const notificationsChanged: () => void;
|
|
105
|
+
export declare function saveUploadNotification(input: {
|
|
106
|
+
eventId: string;
|
|
107
|
+
taskId: string;
|
|
108
|
+
outcome: 'complete' | 'failed';
|
|
109
|
+
title: string;
|
|
110
|
+
link?: string;
|
|
111
|
+
resolveOnly?: boolean;
|
|
112
|
+
}): Promise<{
|
|
113
|
+
_id: string;
|
|
114
|
+
message: string;
|
|
115
|
+
read: boolean;
|
|
116
|
+
type?: "new_message" | "milestone_completed" | "expense_added" | "group_invite" | "mention" | "application_received" | "application_status" | "application_shortlisted" | "id_verification_request" | "id_verified" | "id_rejected" | "package_enquiry" | "package_approval" | "package_denial" | "package_rating" | "package_review" | "opportunity_assigned" | "opportunity_approval" | "opportunity_denial" | "opportunity_rating" | "opportunity_review" | "blog_like" | "blog_comment" | "blog_posted" | "blog_approval" | "blog_denial" | "booking_confirmed" | "system" | "general" | undefined;
|
|
117
|
+
userId?: string | undefined;
|
|
118
|
+
timestamp?: any;
|
|
119
|
+
visitedAt?: string | null | undefined;
|
|
120
|
+
link?: string | undefined;
|
|
121
|
+
category?: "booking" | "opportunity" | "package" | "blog" | "system" | "general" | "chat" | "application" | "account" | undefined;
|
|
122
|
+
metadata?: {
|
|
123
|
+
status?: string | undefined;
|
|
124
|
+
rating?: number | undefined;
|
|
125
|
+
title?: string | undefined;
|
|
126
|
+
uploadTaskId?: string | undefined;
|
|
127
|
+
uploadOutcome?: "failed" | "complete" | undefined;
|
|
128
|
+
uploadEventId?: string | undefined;
|
|
129
|
+
contentId?: string | undefined;
|
|
130
|
+
outcome?: string | undefined;
|
|
131
|
+
conversationId?: string | undefined;
|
|
132
|
+
messageId?: string | undefined;
|
|
133
|
+
senderId?: string | undefined;
|
|
134
|
+
senderName?: string | undefined;
|
|
135
|
+
conversationName?: string | undefined;
|
|
136
|
+
milestoneId?: string | undefined;
|
|
137
|
+
expenseId?: string | undefined;
|
|
138
|
+
referenceId?: string | undefined;
|
|
139
|
+
referenceType?: string | undefined;
|
|
140
|
+
} | undefined;
|
|
141
|
+
}>;
|
|
142
|
+
export declare function visitNotificationTargets(destination: string): Promise<string[]>;
|
|
91
143
|
//# sourceMappingURL=notification.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/notification.ts"],"names":[],"mappings":"AAuBA,wBAAgB,mBAAmB
|
|
1
|
+
{"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/notification.ts"],"names":[],"mappings":"AAuBA,wBAAgB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAElC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAE7C;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;;;;;;;;GAWjE;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,OAAO;;;;;;;;GAQxD;AAID,eAAO,MAAM,4BAA4B,GAAI,UAAU,MAAM,IAAI,eAAuG,CAAC;AACzK,eAAO,MAAM,oBAAoB,YAA8D,CAAC;AAChG,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAI3K;AACD,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,MAAM,qBAGjE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { get, patch } from "./fetcher";
|
|
1
|
+
import { get, patch, post } from "./fetcher";
|
|
2
2
|
async function getNotificationList(endpoint) {
|
|
3
3
|
try {
|
|
4
4
|
const data = await get(endpoint);
|
|
@@ -40,3 +40,15 @@ export async function toggleAllNotification(read) {
|
|
|
40
40
|
return { success: false, error: error.message };
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
+
const notificationListeners = new Set();
|
|
44
|
+
export const subscribeNotificationChanges = (listener) => { notificationListeners.add(listener); return () => { notificationListeners.delete(listener); }; };
|
|
45
|
+
export const notificationsChanged = () => notificationListeners.forEach(listener => listener());
|
|
46
|
+
export async function saveUploadNotification(input) {
|
|
47
|
+
const response = await post('/notification', { uploadOutcome: input });
|
|
48
|
+
notificationsChanged();
|
|
49
|
+
return response.data;
|
|
50
|
+
}
|
|
51
|
+
export async function visitNotificationTargets(destination) {
|
|
52
|
+
const response = await patch('/notification/visit', { destination });
|
|
53
|
+
return response.data.ids;
|
|
54
|
+
}
|