@churchapps/apphelper 0.3.42 → 0.3.43
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/helpers/FileHelper.d.ts +1 -1
- package/dist/helpers/FileHelper.d.ts.map +1 -1
- package/dist/helpers/FileHelper.js +2 -6
- package/dist/helpers/FileHelper.js.map +1 -1
- package/dist/helpers/UserHelper.d.ts +1 -1
- package/dist/helpers/UserHelper.d.ts.map +1 -1
- package/dist/helpers/UserHelper.js +9 -2
- package/dist/helpers/UserHelper.js.map +1 -1
- package/dist/pageComponents/LoginPage.d.ts +1 -0
- package/dist/pageComponents/LoginPage.d.ts.map +1 -1
- package/dist/pageComponents/LoginPage.js +7 -1
- package/dist/pageComponents/LoginPage.js.map +1 -1
- package/dist/pageComponents/LogoutPage.d.ts +1 -0
- package/dist/pageComponents/LogoutPage.d.ts.map +1 -1
- package/dist/pageComponents/LogoutPage.js +7 -1
- package/dist/pageComponents/LogoutPage.js.map +1 -1
- package/dist/pageComponents/components/SelectChurchModal.d.ts +1 -0
- package/dist/pageComponents/components/SelectChurchModal.d.ts.map +1 -1
- package/dist/pageComponents/components/SelectChurchModal.js +9 -1
- package/dist/pageComponents/components/SelectChurchModal.js.map +1 -1
- package/package.json +1 -1
- package/src/helpers/FileHelper.ts +3 -6
- package/src/helpers/UserHelper.ts +64 -57
- package/src/pageComponents/LoginPage.tsx +223 -217
- package/src/pageComponents/LogoutPage.tsx +23 -18
- package/src/pageComponents/components/SelectChurchModal.tsx +40 -32
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare class FileHelper {
|
|
2
|
-
static postPresignedFile: (presigned: any, uploadedFile: File, progressCallback: (percent: number) => void
|
|
2
|
+
static postPresignedFile: (presigned: any, uploadedFile: File, progressCallback: (percent: number) => void) => Promise<import("axios").AxiosResponse<any, any>>;
|
|
3
3
|
static dataURLtoBlob(dataurl: string): Blob;
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=FileHelper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/FileHelper.ts"],"names":[],"mappings":"AAEA,qBAAa,UAAU;
|
|
1
|
+
{"version":3,"file":"FileHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/FileHelper.ts"],"names":[],"mappings":"AAEA,qBAAa,UAAU;IAErB,MAAM,CAAC,iBAAiB,GAAI,WAAW,GAAG,EAAE,cAAc,IAAI,EAAE,kBAAkB,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,sDAgBzG;IAEF,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM;CAQrC"}
|
|
@@ -15,8 +15,7 @@ class FileHelper {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
exports.FileHelper = FileHelper;
|
|
18
|
-
FileHelper.postPresignedFile = (presigned, uploadedFile, progressCallback
|
|
19
|
-
const axiosToUse = axiosInstance || axios_1.default;
|
|
18
|
+
FileHelper.postPresignedFile = (presigned, uploadedFile, progressCallback) => {
|
|
20
19
|
const formData = new FormData();
|
|
21
20
|
//formData.append("key", presigned.key); //no longer needed with new aws sdk
|
|
22
21
|
formData.append("acl", "public-read");
|
|
@@ -30,9 +29,6 @@ FileHelper.postPresignedFile = (presigned, uploadedFile, progressCallback, axios
|
|
|
30
29
|
progressCallback(Math.round((100 * data.loaded) / data.total));
|
|
31
30
|
}
|
|
32
31
|
};
|
|
33
|
-
|
|
34
|
-
console.log("axios: ", axiosToUse);
|
|
35
|
-
console.log("axios tyeof: ", typeof axiosToUse.post);
|
|
36
|
-
return axiosToUse.post(presigned.url, formData, axiosConfig);
|
|
32
|
+
return axios_1.default.post(presigned.url, formData, axiosConfig);
|
|
37
33
|
};
|
|
38
34
|
//# sourceMappingURL=FileHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileHelper.js","sourceRoot":"","sources":["../../src/helpers/FileHelper.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,MAAa,UAAU;
|
|
1
|
+
{"version":3,"file":"FileHelper.js","sourceRoot":"","sources":["../../src/helpers/FileHelper.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,MAAa,UAAU;IAoBrB,MAAM,CAAC,aAAa,CAAC,OAAe;QAClC,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC7D,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,EAAE,EAAE,CAAC;YACX,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;;AA3BH,gCA4BC;AA1BQ,4BAAiB,GAAG,CAAC,SAAc,EAAE,YAAkB,EAAE,gBAA2C,EAAE,EAAE;IAC7G,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IACnD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,MAAM;QAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/F,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEtC,MAAM,WAAW,GAAG;QAClB,OAAO,EAAE,EAAE,cAAc,EAAE,qBAAqB,EAAE;QAClD,gBAAgB,EAAE,CAAC,IAAS,EAAE,EAAE;YAC9B,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;KACF,CAAC;IAEF,OAAO,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAC1D,CAAC,CAAC"}
|
|
@@ -10,6 +10,6 @@ export declare class UserHelper {
|
|
|
10
10
|
static setupApiHelperNoChurch(user: LoginUserChurchInterface): void;
|
|
11
11
|
static checkAccess({ api, contentType, action }: IApiPermission): boolean;
|
|
12
12
|
static createAppUrl(appUrl: string, returnUrl: string): string;
|
|
13
|
-
static redirectToLogin(returnUrl?: string): void;
|
|
13
|
+
static redirectToLogin(returnUrl?: string, handleRedirect?: (url: string) => void): void;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=UserHelper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/UserHelper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAErI,qBAAa,UAAU;
|
|
1
|
+
{"version":3,"file":"UserHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/UserHelper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAErI,qBAAa,UAAU;IACtB,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;IACnD,MAAM,CAAC,YAAY,EAAE,wBAAwB,EAAE,CAAC;IAChD,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;IAC3B,MAAM,CAAC,aAAa,EAAE,OAAO,CAAS;IACtC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IAE/B,MAAM,CAAC,YAAY,GAAU,UAAU,oBAAoB,EAAE,WAAW,MAAM,EAAE,UAAU,MAAM,mBAoB/F;IAED,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,wBAAwB;IAK1D,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,wBAAwB;IAI5D,MAAM,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,cAAc,GAAG,OAAO;IAYzE,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAUrD,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;CAcjF"}
|
|
@@ -31,11 +31,18 @@ class UserHelper {
|
|
|
31
31
|
return `${appUrl}/login/?returnUrl=${encodeURIComponent(returnUrl)}`;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
static redirectToLogin(returnUrl) {
|
|
34
|
+
static redirectToLogin(returnUrl, handleRedirect) {
|
|
35
35
|
if (typeof window !== "undefined") {
|
|
36
36
|
const currentUrl = returnUrl || window.location.pathname + window.location.search;
|
|
37
37
|
const encodedReturnUrl = encodeURIComponent(currentUrl);
|
|
38
|
-
|
|
38
|
+
const loginUrl = `/login?returnUrl=${encodedReturnUrl}`;
|
|
39
|
+
// Use handleRedirect function if available, otherwise fallback to window.location
|
|
40
|
+
if (handleRedirect) {
|
|
41
|
+
handleRedirect(loginUrl);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
window.location.href = loginUrl;
|
|
45
|
+
}
|
|
39
46
|
}
|
|
40
47
|
}
|
|
41
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserHelper.js","sourceRoot":"","sources":["../../src/helpers/UserHelper.ts"],"names":[],"mappings":";;;;AAAA,2CAAuC;AAGvC,MAAa,UAAU;
|
|
1
|
+
{"version":3,"file":"UserHelper.js","sourceRoot":"","sources":["../../src/helpers/UserHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginPage.d.ts","sourceRoot":"","sources":["../../src/pageComponents/LoginPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAA0B,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAA4B,MAAM,qBAAqB,CAAC;AAO7I,OAAO,EAAc,UAAU,EAAc,MAAM,eAAe,CAAC;AAMnE,UAAU,KAAK;
|
|
1
|
+
{"version":3,"file":"LoginPage.d.ts","sourceRoot":"","sources":["../../src/pageComponents/LoginPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAA0B,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAA4B,MAAM,qBAAqB,CAAC;AAO7I,OAAO,EAAc,UAAU,EAAc,MAAM,eAAe,CAAC;AAMnE,UAAU,KAAK;IACd,OAAO,EAAE,oBAAoB,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB,CAAC,EAAE,UAAU,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA0OrC,CAAC"}
|
|
@@ -205,7 +205,13 @@ const LoginPage = ({ showLogo = true, loginContainerCssProps, ...props }) => {
|
|
|
205
205
|
const search = new URLSearchParams(location?.search);
|
|
206
206
|
const returnUrl = search.get("returnUrl") || props.returnUrl;
|
|
207
207
|
if (returnUrl && typeof window !== "undefined") {
|
|
208
|
-
window.location
|
|
208
|
+
// Use handleRedirect function if available, otherwise fallback to window.location
|
|
209
|
+
if (props.handleRedirect) {
|
|
210
|
+
props.handleRedirect(returnUrl);
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
window.location.href = returnUrl;
|
|
214
|
+
}
|
|
209
215
|
}
|
|
210
216
|
}
|
|
211
217
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginPage.js","sourceRoot":"","sources":["../../src/pageComponents/LoginPage.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LoginPage.js","sourceRoot":"","sources":["../../src/pageComponents/LoginPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogoutPage.d.ts","sourceRoot":"","sources":["../../src/pageComponents/LogoutPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAa,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE7D,UAAU,KAAK;IAAG,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAAE;
|
|
1
|
+
{"version":3,"file":"LogoutPage.d.ts","sourceRoot":"","sources":["../../src/pageComponents/LogoutPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAa,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE7D,UAAU,KAAK;IAAG,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAAC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE;AAE1F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA0BtC,CAAA"}
|
|
@@ -18,7 +18,13 @@ const LogoutPage = (props) => {
|
|
|
18
18
|
setTimeout(() => {
|
|
19
19
|
// a must check for Nextjs
|
|
20
20
|
if (typeof window !== "undefined") {
|
|
21
|
-
window.location
|
|
21
|
+
// Use handleRedirect function if available, otherwise fallback to window.location
|
|
22
|
+
if (props.handleRedirect) {
|
|
23
|
+
props.handleRedirect("/");
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
window.location.href = "/";
|
|
27
|
+
}
|
|
22
28
|
}
|
|
23
29
|
}, 300);
|
|
24
30
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogoutPage.js","sourceRoot":"","sources":["../../src/pageComponents/LogoutPage.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;AAGb,+CAAyC;AACzC,wCAA6D;AAItD,MAAM,UAAU,GAAoB,CAAC,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"LogoutPage.js","sourceRoot":"","sources":["../../src/pageComponents/LogoutPage.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;AAGb,+CAAyC;AACzC,wCAA6D;AAItD,MAAM,UAAU,GAAoB,CAAC,KAAK,EAAE,EAAE;IACpD,MAAM,CAAC,EAAE,AAAD,EAAG,YAAY,CAAC,GAAG,IAAA,yBAAU,EAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAEhF,YAAY,CAAC,KAAK,CAAC,CAAC;IACpB,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,YAAY,CAAC,MAAM,CAAC,CAAC;IACrB,YAAY,CAAC,cAAc,CAAC,CAAC;IAE7B,mBAAS,CAAC,gBAAgB,EAAE,CAAC;IAC7B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAEnC,UAAU,CAAC,GAAG,EAAE;QACf,0BAA0B;QAC1B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YACnC,kFAAkF;YAClF,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBAC1B,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;YAC5B,CAAC;QACF,CAAC;IACF,CAAC,EAAE,GAAG,CAAC,CAAC;IACR,OAAO,IAAI,CAAC;AACb,CAAC,CAAA;AA1BY,QAAA,UAAU,cA0BtB"}
|
|
@@ -7,6 +7,7 @@ interface Props {
|
|
|
7
7
|
selectChurch: (churchId: string) => void;
|
|
8
8
|
registeredChurchCallback?: (church: ChurchInterface) => void;
|
|
9
9
|
errors?: string[];
|
|
10
|
+
handleRedirect?: (url: string) => void;
|
|
10
11
|
}
|
|
11
12
|
export declare const SelectChurchModal: React.FC<Props>;
|
|
12
13
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectChurchModal.d.ts","sourceRoot":"","sources":["../../../src/pageComponents/components/SelectChurchModal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAOhF,UAAU,KAAK;
|
|
1
|
+
{"version":3,"file":"SelectChurchModal.d.ts","sourceRoot":"","sources":["../../../src/pageComponents/components/SelectChurchModal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAOhF,UAAU,KAAK;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC1C,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC7D,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CACtC;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAqC7C,CAAC"}
|
|
@@ -23,7 +23,15 @@ const SelectChurchModal = (props) => {
|
|
|
23
23
|
else
|
|
24
24
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [props.userChurches?.map(uc => ((0, jsx_runtime_1.jsx)(SelectableChurch_1.SelectableChurch, { church: uc.church, selectChurch: props.selectChurch }, uc.church.id))), (0, jsx_runtime_1.jsx)("a", { href: "about:blank", style: { display: "block", textAlign: "center" }, onClick: (e) => { e.preventDefault(); setShowSearch(true); }, children: helpers_1.Locale.label("selectChurch.another") })] }));
|
|
25
25
|
};
|
|
26
|
-
return ((0, jsx_runtime_1.jsxs)(material_1.Dialog, { open: props.show, onClose: handleClose, children: [(0, jsx_runtime_1.jsx)(material_1.DialogTitle, { children: helpers_1.Locale.label("selectChurch.selectChurch") }), (0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: "Logout", arrow: true, children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { sx: { position: "absolute", right: 8, top: 8 }, color: "error", onClick: () => {
|
|
26
|
+
return ((0, jsx_runtime_1.jsxs)(material_1.Dialog, { open: props.show, onClose: handleClose, children: [(0, jsx_runtime_1.jsx)(material_1.DialogTitle, { children: helpers_1.Locale.label("selectChurch.selectChurch") }), (0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: "Logout", arrow: true, children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { sx: { position: "absolute", right: 8, top: 8 }, color: "error", onClick: () => {
|
|
27
|
+
// Use handleRedirect function if available, otherwise fallback to window.location
|
|
28
|
+
if (props.handleRedirect) {
|
|
29
|
+
props.handleRedirect("/logout");
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
window.location.href = "/logout";
|
|
33
|
+
}
|
|
34
|
+
}, children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "logout" }) }) }), (0, jsx_runtime_1.jsxs)(material_1.DialogContent, { sx: { width: 500, maxWidth: "100%" }, children: [(0, jsx_runtime_1.jsx)(components_1.ErrorMessages, { errors: props.errors }), getContents()] })] }));
|
|
27
35
|
};
|
|
28
36
|
exports.SelectChurchModal = SelectChurchModal;
|
|
29
37
|
//# sourceMappingURL=SelectChurchModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectChurchModal.js","sourceRoot":"","sources":["../../../src/pageComponents/components/SelectChurchModal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,kDAA0B;AAE1B,6DAA0D;AAC1D,yDAAsD;AACtD,iDAAgD;AAChD,4CAA8F;AAC9F,2CAAuC;
|
|
1
|
+
{"version":3,"file":"SelectChurchModal.js","sourceRoot":"","sources":["../../../src/pageComponents/components/SelectChurchModal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,kDAA0B;AAE1B,6DAA0D;AAC1D,yDAAsD;AACtD,iDAAgD;AAChD,4CAA8F;AAC9F,2CAAuC;AAYhC,MAAM,iBAAiB,GAAoB,CAAC,KAAK,EAAE,EAAE;IAC3D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1D,MAAM,WAAW,GAAG,GAAG,EAAE;QACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,GAAG,EAAE;QACxB,IAAI,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,MAAM,KAAK,CAAC;YAAE,OAAO,uBAAC,uCAAkB,IAAC,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,wBAAwB,EAAE,KAAK,CAAC,wBAAwB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAA;;YAChM,OAAO,CAAC,6DACX,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,uBAAC,mCAAgB,IAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,IAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAI,CAAC,CAAC,EAC9H,8BAAG,IAAI,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAG,gBAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAK,IAC9K,CAAC,CAAC;IACN,CAAC,CAAA;IAED,OAAO,CACN,wBAAC,iBAAM,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,aAC7C,uBAAC,sBAAW,cAAE,gBAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,GACzC,EACd,uBAAC,kBAAO,IAAC,KAAK,EAAC,QAAQ,EAAC,KAAK,kBAC5B,uBAAC,qBAAU,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE;wBACvF,kFAAkF;wBAClF,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;4BAC1B,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;wBACjC,CAAC;6BAAM,CAAC;4BACP,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;wBAClC,CAAC;oBACF,CAAC,YACA,uBAAC,eAAI,yBAAc,GACP,GACJ,EACV,wBAAC,wBAAa,IAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,aAClD,uBAAC,0BAAa,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAI,EACtC,WAAW,EAAE,IACC,IACR,CACT,CAAC;AACH,CAAC,CAAC;AArCW,QAAA,iBAAiB,qBAqC5B"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import axios from "axios";
|
|
2
2
|
|
|
3
3
|
export class FileHelper {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
|
|
5
|
+
static postPresignedFile = (presigned: any, uploadedFile: File, progressCallback: (percent: number) => void) => {
|
|
6
6
|
const formData = new FormData();
|
|
7
7
|
//formData.append("key", presigned.key); //no longer needed with new aws sdk
|
|
8
8
|
formData.append("acl", "public-read");
|
|
@@ -17,10 +17,7 @@ export class FileHelper {
|
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
console.log("axios: ", axiosToUse);
|
|
22
|
-
console.log("axios tyeof: ", typeof axiosToUse.post);
|
|
23
|
-
return axiosToUse.post(presigned.url, formData, axiosConfig);
|
|
20
|
+
return axios.post(presigned.url, formData, axiosConfig);
|
|
24
21
|
};
|
|
25
22
|
|
|
26
23
|
static dataURLtoBlob(dataurl: string) {
|
|
@@ -2,70 +2,77 @@ import { ApiHelper } from "./ApiHelper"
|
|
|
2
2
|
import { UserInterface, UserContextInterface, IApiPermission, PersonInterface, LoginUserChurchInterface } from "@churchapps/helpers";
|
|
3
3
|
|
|
4
4
|
export class UserHelper {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
static currentUserChurch: LoginUserChurchInterface;
|
|
6
|
+
static userChurches: LoginUserChurchInterface[];
|
|
7
|
+
static user: UserInterface;
|
|
8
|
+
static churchChanged: boolean = false;
|
|
9
|
+
static person: PersonInterface;
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
static selectChurch = async (context?: UserContextInterface, churchId?: string, keyName?: string) => {
|
|
12
|
+
let userChurch = null;
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
14
|
+
if (churchId) {
|
|
15
|
+
UserHelper.userChurches.forEach(uc => {
|
|
16
|
+
if (uc.church.id === churchId) userChurch = uc;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
else if (keyName) UserHelper.userChurches.forEach(uc => { if (uc.church.subDomain === keyName) userChurch = uc; });
|
|
20
|
+
else userChurch = UserHelper.userChurches[0];
|
|
21
|
+
if (!userChurch) return;
|
|
22
|
+
else {
|
|
23
|
+
UserHelper.currentUserChurch = userChurch;
|
|
24
|
+
UserHelper.setupApiHelper(UserHelper.currentUserChurch);
|
|
25
|
+
// TODO - remove context code from here and perform the logic in the component itself.
|
|
26
|
+
if (context) {
|
|
27
|
+
if (context.userChurch !== null) UserHelper.churchChanged = true;
|
|
28
|
+
context.setUserChurch(UserHelper.currentUserChurch);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
static setupApiHelper(userChurch: LoginUserChurchInterface) {
|
|
34
|
+
ApiHelper.setDefaultPermissions(userChurch.jwt);
|
|
35
|
+
userChurch.apis.forEach(api => { ApiHelper.setPermissions(api.keyName, api.jwt, api.permissions); });
|
|
36
|
+
}
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
static setupApiHelperNoChurch(user: LoginUserChurchInterface) {
|
|
39
|
+
ApiHelper.setDefaultPermissions(user.jwt);
|
|
40
|
+
}
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
static checkAccess({ api, contentType, action }: IApiPermission): boolean {
|
|
43
|
+
const permissions = ApiHelper.getConfig(api)?.permisssions || [];
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
let result = false;
|
|
46
|
+
if (permissions !== undefined) {
|
|
47
|
+
permissions.forEach(element => {
|
|
48
|
+
if (element.contentType === contentType && element.action === action) result = true;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
53
|
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
static createAppUrl(appUrl: string, returnUrl: string) {
|
|
55
|
+
const jwt = ApiHelper.getConfig("MembershipApi")?.jwt;
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
57
|
+
if (jwt) {
|
|
58
|
+
return `${appUrl}/login/?jwt=${jwt}&returnUrl=${encodeURIComponent(returnUrl)}`;
|
|
59
|
+
} else {
|
|
60
|
+
return `${appUrl}/login/?returnUrl=${encodeURIComponent(returnUrl)}`;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
64
|
+
static redirectToLogin(returnUrl?: string, handleRedirect?: (url: string) => void) {
|
|
65
|
+
if (typeof window !== "undefined") {
|
|
66
|
+
const currentUrl = returnUrl || window.location.pathname + window.location.search;
|
|
67
|
+
const encodedReturnUrl = encodeURIComponent(currentUrl);
|
|
68
|
+
const loginUrl = `/login?returnUrl=${encodedReturnUrl}`;
|
|
69
|
+
|
|
70
|
+
// Use handleRedirect function if available, otherwise fallback to window.location
|
|
71
|
+
if (handleRedirect) {
|
|
72
|
+
handleRedirect(loginUrl);
|
|
73
|
+
} else {
|
|
74
|
+
window.location.href = loginUrl;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
71
78
|
}
|
|
@@ -16,251 +16,257 @@ import { CommonEnvironmentHelper } from "../helpers/CommonEnvironmentHelper";
|
|
|
16
16
|
import ga4 from "react-ga4";
|
|
17
17
|
|
|
18
18
|
interface Props {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
19
|
+
context: UserContextInterface,
|
|
20
|
+
jwt: string,
|
|
21
|
+
auth: string,
|
|
22
|
+
keyName?: string,
|
|
23
|
+
logo?: string,
|
|
24
|
+
appName?: string,
|
|
25
|
+
appUrl?: string,
|
|
26
|
+
returnUrl?: string,
|
|
27
|
+
loginSuccessOverride?: () => void,
|
|
28
|
+
userRegisteredCallback?: (user: UserInterface) => Promise<void>;
|
|
29
|
+
churchRegisteredCallback?: (church: ChurchInterface) => Promise<void>;
|
|
30
|
+
callbackErrors?: string[];
|
|
31
|
+
showLogo?: boolean;
|
|
32
|
+
loginContainerCssProps?: PaperProps;
|
|
33
|
+
defaultEmail?: string;
|
|
34
|
+
defaultPassword?: string;
|
|
35
|
+
handleRedirect?: (url: string) => void; // Function to handle redirects from parent component
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
export const LoginPage: React.FC<Props> = ({ showLogo = true, loginContainerCssProps, ...props }) => {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
39
|
+
const [welcomeBackName, setWelcomeBackName] = React.useState("");
|
|
40
|
+
const [pendingAutoLogin, setPendingAutoLogin] = React.useState(false);
|
|
41
|
+
const [errors, setErrors] = React.useState([]);
|
|
42
|
+
const [cookies, setCookie] = useCookies(["jwt", "name", "email", "lastChurchId"]);
|
|
43
|
+
const [showForgot, setShowForgot] = React.useState(false);
|
|
44
|
+
const [showRegister, setShowRegister] = React.useState(false);
|
|
45
|
+
const [showSelectModal, setShowSelectModal] = React.useState(false);
|
|
46
|
+
const [loginResponse, setLoginResponse] = React.useState<LoginResponseInterface>(null)
|
|
47
|
+
const [userJwt, setUserJwt] = React.useState("");
|
|
48
|
+
const [isSubmitting, setIsSubmitting] = React.useState(false);
|
|
48
49
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
const loginFormRef = React.useRef(null);
|
|
51
|
+
const location = typeof window !== "undefined" && window.location;
|
|
52
|
+
let selectedChurchId = "";
|
|
53
|
+
let registeredChurch: ChurchInterface = null;
|
|
54
|
+
let userJwtBackup = ""; //use state copy for storing between page updates. This copy for instant availability.
|
|
54
55
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
56
|
+
const cleanAppUrl = () => {
|
|
57
|
+
if (!props.appUrl) return null;
|
|
58
|
+
else {
|
|
59
|
+
const index = props.appUrl.indexOf("/", 9);
|
|
60
|
+
if (index === -1) return props.appUrl;
|
|
61
|
+
else return props.appUrl.substring(0, index);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
63
64
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
React.useEffect(() => {
|
|
66
|
+
if (props.callbackErrors?.length > 0) {
|
|
67
|
+
setErrors(props.callbackErrors)
|
|
68
|
+
}
|
|
69
|
+
}, [props.callbackErrors])
|
|
69
70
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
71
|
+
const init = () => {
|
|
72
|
+
const search = new URLSearchParams(location?.search);
|
|
73
|
+
const action = search.get("action");
|
|
74
|
+
if (action === "forgot") setShowForgot(true);
|
|
75
|
+
else if (action === "register") setShowRegister(true);
|
|
76
|
+
else {
|
|
77
|
+
if (!props.auth && props.jwt) {
|
|
78
|
+
console.log("JWT IS", props.jwt)
|
|
79
|
+
setWelcomeBackName(cookies.name);
|
|
80
|
+
login({ jwt: props.jwt });
|
|
81
|
+
setPendingAutoLogin(true);
|
|
82
|
+
} else {
|
|
83
|
+
setPendingAutoLogin(false);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
86
87
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
88
|
+
const handleLoginSuccess = async (resp: LoginResponseInterface) => {
|
|
89
|
+
userJwtBackup = resp.user.jwt;
|
|
90
|
+
setUserJwt(userJwtBackup);
|
|
91
|
+
ApiHelper.setDefaultPermissions(resp.user.jwt);
|
|
92
|
+
setLoginResponse(resp)
|
|
93
|
+
resp.userChurches.forEach(uc => { if (!uc.apis) uc.apis = []; });
|
|
94
|
+
UserHelper.userChurches = resp.userChurches;
|
|
94
95
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
setCookie("name", `${resp.user.firstName} ${resp.user.lastName}`, { path: "/" });
|
|
97
|
+
setCookie("email", resp.user.email, { path: "/" });
|
|
98
|
+
UserHelper.user = resp.user;
|
|
98
99
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
if (props.jwt) {
|
|
101
|
+
const decoded: any = jwt_decode(userJwtBackup)
|
|
102
|
+
selectedChurchId = decoded.churchId
|
|
103
|
+
}
|
|
103
104
|
|
|
104
|
-
|
|
105
|
-
|
|
105
|
+
const search = new URLSearchParams(location?.search);
|
|
106
|
+
const churchIdInParams = search.get("churchId");
|
|
106
107
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
108
|
+
if (props.keyName) selectChurchByKeyName();
|
|
109
|
+
else if (selectedChurchId) selectChurchById();
|
|
110
|
+
else if (churchIdInParams) selectChurch(churchIdInParams);
|
|
111
|
+
else if (props.jwt && cookies.lastChurchId && ArrayHelper.getOne(resp.userChurches, "church.id", cookies.lastChurchId)) {
|
|
112
|
+
selectedChurchId = cookies.lastChurchId;
|
|
113
|
+
selectChurchById();
|
|
114
|
+
}
|
|
115
|
+
else setShowSelectModal(true);
|
|
116
|
+
}
|
|
116
117
|
|
|
117
|
-
|
|
118
|
-
|
|
118
|
+
const selectChurchById = async () => {
|
|
119
|
+
await UserHelper.selectChurch(props.context, selectedChurchId, undefined);
|
|
119
120
|
|
|
120
|
-
|
|
121
|
+
setCookie("lastChurchId", selectedChurchId, { path: "/" });
|
|
121
122
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
123
|
+
if (registeredChurch) {
|
|
124
|
+
AnalyticsHelper.logEvent("Church", "Register", UserHelper.currentUserChurch.church.name);
|
|
125
|
+
try {
|
|
126
|
+
if (CommonEnvironmentHelper.GoogleAnalyticsTag && typeof (window) !== "undefined") {
|
|
127
|
+
ga4.gtag("event", "conversion", { send_to: "AW-427967381/Ba2qCLrXgJoYEJWHicwB" });
|
|
128
|
+
}
|
|
129
|
+
} catch { }
|
|
130
|
+
}
|
|
131
|
+
else AnalyticsHelper.logEvent("Church", "Select", UserHelper.currentUserChurch.church.name);
|
|
131
132
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
133
|
+
if (props.churchRegisteredCallback && registeredChurch) {
|
|
134
|
+
await props.churchRegisteredCallback(registeredChurch)
|
|
135
|
+
registeredChurch = null;
|
|
136
|
+
login({ jwt: userJwt || userJwtBackup });
|
|
137
|
+
} else await continueLoginProcess();
|
|
138
|
+
}
|
|
138
139
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
140
|
+
const selectChurchByKeyName = async () => {
|
|
141
|
+
if (!ArrayHelper.getOne(UserHelper.userChurches, "church.subDomain", props.keyName)) {
|
|
142
|
+
const userChurch: LoginUserChurchInterface = await ApiHelper.post("/churches/select", { subDomain: props.keyName }, "MembershipApi");
|
|
143
|
+
UserHelper.setupApiHelper(userChurch);
|
|
144
|
+
setCookie("lastChurchId", userChurch.church.id, { path: "/" });
|
|
145
|
+
//create/claim the person record and relogin
|
|
146
|
+
await ApiHelper.get("/people/claim/" + userChurch.church.id, "MembershipApi");
|
|
147
|
+
login({ jwt: userJwt || userJwtBackup });
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
await UserHelper.selectChurch(props.context, undefined, props.keyName);
|
|
151
|
+
const selectedChurch = ArrayHelper.getOne(UserHelper.userChurches, "church.subDomain", props.keyName);
|
|
152
|
+
if (selectedChurch) setCookie("lastChurchId", selectedChurch.church.id, { path: "/" });
|
|
153
|
+
await continueLoginProcess()
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
155
156
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
157
|
+
async function continueLoginProcess() {
|
|
158
|
+
if (UserHelper.currentUserChurch) {
|
|
159
|
+
UserHelper.currentUserChurch.apis.forEach(api => {
|
|
160
|
+
if (api.keyName === "MembershipApi") setCookie("jwt", api.jwt, { path: "/" });
|
|
161
|
+
})
|
|
162
|
+
try {
|
|
163
|
+
if (UserHelper.currentUserChurch.church.id) ApiHelper.patch(`/userChurch/${UserHelper.user.id}`, { churchId: UserHelper.currentUserChurch.church.id, appName: props.appName, lastAccessed: new Date() }, "MembershipApi")
|
|
164
|
+
} catch (e) {
|
|
165
|
+
console.log("Could not update user church accessed date")
|
|
166
|
+
}
|
|
167
|
+
}
|
|
167
168
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
169
|
+
if (props.loginSuccessOverride !== undefined) props.loginSuccessOverride();
|
|
170
|
+
else {
|
|
171
|
+
props.context.setUser(UserHelper.user);
|
|
172
|
+
props.context.setUserChurches(UserHelper.userChurches)
|
|
173
|
+
props.context.setUserChurch(UserHelper.currentUserChurch)
|
|
174
|
+
try {
|
|
175
|
+
const p = await ApiHelper.get(`/people/${UserHelper.currentUserChurch.person?.id}`, "MembershipApi");
|
|
176
|
+
if (p) props.context.setPerson(p);
|
|
177
|
+
} catch {
|
|
178
|
+
console.log("claiming person");
|
|
179
|
+
const personClaim = await ApiHelper.get("/people/claim/" + UserHelper.currentUserChurch.church.id, "MembershipApi");
|
|
180
|
+
props.context.setPerson(personClaim);
|
|
181
|
+
}
|
|
181
182
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
183
|
+
const search = new URLSearchParams(location?.search);
|
|
184
|
+
const returnUrl = search.get("returnUrl") || props.returnUrl;
|
|
185
|
+
if (returnUrl && typeof window !== "undefined") {
|
|
186
|
+
// Use handleRedirect function if available, otherwise fallback to window.location
|
|
187
|
+
if (props.handleRedirect) {
|
|
188
|
+
props.handleRedirect(returnUrl);
|
|
189
|
+
} else {
|
|
190
|
+
window.location.href = returnUrl;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
189
195
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
196
|
+
async function selectChurch(churchId: string) {
|
|
197
|
+
try {
|
|
198
|
+
setErrors([])
|
|
199
|
+
selectedChurchId = churchId;
|
|
200
|
+
setCookie("lastChurchId", churchId, { path: "/" });
|
|
201
|
+
if (!ArrayHelper.getOne(UserHelper.userChurches, "church.id", churchId)) {
|
|
202
|
+
const userChurch: LoginUserChurchInterface = await ApiHelper.post("/churches/select", { churchId: churchId }, "MembershipApi");
|
|
203
|
+
UserHelper.setupApiHelper(userChurch);
|
|
198
204
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
205
|
+
//create/claim the person record and relogin
|
|
206
|
+
await ApiHelper.get("/people/claim/" + churchId, "MembershipApi");
|
|
207
|
+
login({ jwt: userJwt || userJwtBackup });
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
UserHelper.selectChurch(props.context, churchId, null).then(() => { continueLoginProcess() });
|
|
211
|
+
} catch (err) {
|
|
212
|
+
console.log("Error in selecting church: ", err)
|
|
213
|
+
setErrors([Locale.label("login.validate.selectingChurch")])
|
|
214
|
+
loginFormRef?.current?.setSubmitting(false);
|
|
215
|
+
}
|
|
210
216
|
|
|
211
|
-
|
|
217
|
+
}
|
|
212
218
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
219
|
+
const handleLoginErrors = (errors: string[]) => {
|
|
220
|
+
setWelcomeBackName("");
|
|
221
|
+
console.log(errors);
|
|
222
|
+
setErrors([Locale.label("login.validate.invalid")]);
|
|
223
|
+
}
|
|
218
224
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
225
|
+
const login = async (data: any) => {
|
|
226
|
+
setErrors([])
|
|
227
|
+
setIsSubmitting(true);
|
|
228
|
+
try {
|
|
229
|
+
const resp: LoginResponseInterface = await ApiHelper.postAnonymous("/users/login", data, "MembershipApi");
|
|
230
|
+
setIsSubmitting(false);
|
|
231
|
+
handleLoginSuccess(resp);
|
|
232
|
+
} catch (e: any) {
|
|
233
|
+
setPendingAutoLogin(false);
|
|
234
|
+
if (!data.jwt) handleLoginErrors([e.toString()]);
|
|
235
|
+
else setWelcomeBackName("");
|
|
236
|
+
setIsSubmitting(false);
|
|
237
|
+
}
|
|
238
|
+
};
|
|
233
239
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
240
|
+
const getWelcomeBack = () => { if (welcomeBackName !== "") return (<><Alert severity="info"><div dangerouslySetInnerHTML={{ __html: Locale.label("login.welcomeName")?.replace("{}", welcomeBackName) }} /></Alert><Loading /></>); }
|
|
241
|
+
const getCheckEmail = () => { if (new URLSearchParams(location?.search).get("checkEmail") === "1") return <Alert severity="info">{Locale.label("login.registerThankYou")}</Alert> }
|
|
242
|
+
const handleRegisterCallback = () => { setShowForgot(false); setShowRegister(true); }
|
|
243
|
+
const handleLoginCallback = () => { setShowForgot(false); setShowRegister(false); }
|
|
244
|
+
const handleChurchRegistered = (church: ChurchInterface) => { registeredChurch = church; setShowRegister(false); console.log("Updated VERSION********") }
|
|
239
245
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
246
|
+
const getInputBox = () => {
|
|
247
|
+
if (showRegister) return (
|
|
248
|
+
<Box id="loginBox" sx={{ backgroundColor: "#FFF", border: "1px solid #CCC", borderRadius: "5px", padding: "20px" }}>
|
|
249
|
+
<Typography component="h2" sx={{ fontSize: "32px", fontWeight: 500, lineHeight: 1.2, margin: "0 0 8px 0" }}>{Locale.label("login.createAccount")}</Typography>
|
|
250
|
+
<Register updateErrors={setErrors} appName={props.appName} appUrl={cleanAppUrl()} loginCallback={handleLoginCallback} userRegisteredCallback={props.userRegisteredCallback} />
|
|
251
|
+
</Box>
|
|
252
|
+
);
|
|
253
|
+
else if (showForgot) return (<Forgot registerCallback={handleRegisterCallback} loginCallback={handleLoginCallback} />);
|
|
254
|
+
else if (props.auth) return (<LoginSetPassword setErrors={setErrors} setShowForgot={setShowForgot} isSubmitting={isSubmitting} auth={props.auth} login={login} appName={props.appName} appUrl={cleanAppUrl()} />)
|
|
255
|
+
else return <Login setShowRegister={setShowRegister} setShowForgot={setShowForgot} setErrors={setErrors} isSubmitting={isSubmitting} login={login} mainContainerCssProps={loginContainerCssProps} defaultEmail={props.defaultEmail} defaultPassword={props.defaultPassword} />;
|
|
256
|
+
}
|
|
251
257
|
|
|
252
|
-
|
|
258
|
+
React.useEffect(init, []); //eslint-disable-line
|
|
253
259
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
260
|
+
return (
|
|
261
|
+
<Box sx={{ maxWidth: "382px" }} px="16px" mx="auto">
|
|
262
|
+
{showLogo && <img src={props.logo || "/images/logo-login.png"} alt="logo" style={{ width: "100%", marginTop: 100, marginBottom: 60 }} />}
|
|
263
|
+
<ErrorMessages errors={errors} />
|
|
264
|
+
{getWelcomeBack()}
|
|
265
|
+
{getCheckEmail()}
|
|
266
|
+
{!pendingAutoLogin && getInputBox()}
|
|
267
|
+
<SelectChurchModal show={showSelectModal} userChurches={loginResponse?.userChurches} selectChurch={selectChurch} registeredChurchCallback={handleChurchRegistered} errors={errors} appName={props.appName} />
|
|
268
|
+
<FloatingSupport appName={props.appName} />
|
|
269
|
+
</Box>
|
|
270
|
+
);
|
|
265
271
|
|
|
266
272
|
};
|
|
@@ -4,27 +4,32 @@ import React from "react";
|
|
|
4
4
|
import { useCookies } from "react-cookie"
|
|
5
5
|
import { ApiHelper, UserContextInterface } from "../helpers";
|
|
6
6
|
|
|
7
|
-
interface Props { context?: UserContextInterface, }
|
|
7
|
+
interface Props { context?: UserContextInterface, handleRedirect?: (url: string) => void }
|
|
8
8
|
|
|
9
9
|
export const LogoutPage: React.FC<Props> = (props) => {
|
|
10
|
-
|
|
10
|
+
const [, , removeCookie] = useCookies(["jwt", "email", "name", "lastChurchId"]);
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
removeCookie("jwt");
|
|
13
|
+
removeCookie("email");
|
|
14
|
+
removeCookie("name");
|
|
15
|
+
removeCookie("lastChurchId");
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
ApiHelper.clearPermissions();
|
|
18
|
+
props.context?.setUser(null);
|
|
19
|
+
props.context?.setPerson(null);
|
|
20
|
+
props.context?.setUserChurches(null);
|
|
21
|
+
props.context?.setUserChurch(null);
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
setTimeout(() => {
|
|
24
|
+
// a must check for Nextjs
|
|
25
|
+
if (typeof window !== "undefined") {
|
|
26
|
+
// Use handleRedirect function if available, otherwise fallback to window.location
|
|
27
|
+
if (props.handleRedirect) {
|
|
28
|
+
props.handleRedirect("/");
|
|
29
|
+
} else {
|
|
30
|
+
window.location.href = "/";
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}, 300);
|
|
34
|
+
return null;
|
|
30
35
|
}
|
|
@@ -9,42 +9,50 @@ import { Dialog, DialogContent, DialogTitle, Icon, IconButton, Tooltip } from "@
|
|
|
9
9
|
import { Locale } from "../../helpers";
|
|
10
10
|
|
|
11
11
|
interface Props {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
appName: string,
|
|
13
|
+
show: boolean,
|
|
14
|
+
userChurches?: LoginUserChurchInterface[],
|
|
15
|
+
selectChurch: (churchId: string) => void,
|
|
16
|
+
registeredChurchCallback?: (church: ChurchInterface) => void,
|
|
17
|
+
errors?: string[],
|
|
18
|
+
handleRedirect?: (url: string) => void
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
export const SelectChurchModal: React.FC<Props> = (props) => {
|
|
21
|
-
|
|
22
|
+
const [showSearch, setShowSearch] = React.useState(false);
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
const handleClose = () => {
|
|
25
|
+
window.location.reload();
|
|
26
|
+
}
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
const getContents = () => {
|
|
29
|
+
if (showSearch || props.userChurches?.length === 0) return <SelectChurchSearch selectChurch={props.selectChurch} registeredChurchCallback={props.registeredChurchCallback} appName={props.appName} />
|
|
30
|
+
else return (<>
|
|
31
|
+
{props.userChurches?.map(uc => (<SelectableChurch church={uc.church} selectChurch={props.selectChurch} key={uc.church.id} />))}
|
|
32
|
+
<a href="about:blank" style={{ display: "block", textAlign: "center" }} onClick={(e) => { e.preventDefault(); setShowSearch(true); }}>{Locale.label("selectChurch.another")}</a>
|
|
33
|
+
</>);
|
|
34
|
+
}
|
|
34
35
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
36
|
+
return (
|
|
37
|
+
<Dialog open={props.show} onClose={handleClose}>
|
|
38
|
+
<DialogTitle>{Locale.label("selectChurch.selectChurch")}
|
|
39
|
+
</DialogTitle>
|
|
40
|
+
<Tooltip title="Logout" arrow>
|
|
41
|
+
<IconButton sx={{ position: "absolute", right: 8, top: 8 }} color="error" onClick={() => {
|
|
42
|
+
// Use handleRedirect function if available, otherwise fallback to window.location
|
|
43
|
+
if (props.handleRedirect) {
|
|
44
|
+
props.handleRedirect("/logout");
|
|
45
|
+
} else {
|
|
46
|
+
window.location.href = "/logout";
|
|
47
|
+
}
|
|
48
|
+
}}>
|
|
49
|
+
<Icon>logout</Icon>
|
|
50
|
+
</IconButton>
|
|
51
|
+
</Tooltip>
|
|
52
|
+
<DialogContent sx={{ width: 500, maxWidth: "100%" }}>
|
|
53
|
+
<ErrorMessages errors={props.errors} />
|
|
54
|
+
{getContents()}
|
|
55
|
+
</DialogContent>
|
|
56
|
+
</Dialog>
|
|
57
|
+
);
|
|
50
58
|
};
|