@churchapps/apphelper-login 0.4.13
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/README.md +104 -0
- package/dist/LoginPage.d.ts +25 -0
- package/dist/LoginPage.d.ts.map +1 -0
- package/dist/LoginPage.js +248 -0
- package/dist/LoginPage.js.map +1 -0
- package/dist/LogoutPage.d.ts +9 -0
- package/dist/LogoutPage.d.ts.map +1 -0
- package/dist/LogoutPage.js +33 -0
- package/dist/LogoutPage.js.map +1 -0
- package/dist/components/Forgot.d.ts +8 -0
- package/dist/components/Forgot.d.ts.map +1 -0
- package/dist/components/Forgot.js +127 -0
- package/dist/components/Forgot.js.map +1 -0
- package/dist/components/Login.d.ts +15 -0
- package/dist/components/Login.d.ts.map +1 -0
- package/dist/components/Login.js +126 -0
- package/dist/components/Login.js.map +1 -0
- package/dist/components/LoginSetPassword.d.ts +13 -0
- package/dist/components/LoginSetPassword.d.ts.map +1 -0
- package/dist/components/LoginSetPassword.js +167 -0
- package/dist/components/LoginSetPassword.js.map +1 -0
- package/dist/components/Register.d.ts +12 -0
- package/dist/components/Register.d.ts.map +1 -0
- package/dist/components/Register.js +217 -0
- package/dist/components/Register.js.map +1 -0
- package/dist/components/SelectChurchModal.d.ts +14 -0
- package/dist/components/SelectChurchModal.d.ts.map +1 -0
- package/dist/components/SelectChurchModal.js +39 -0
- package/dist/components/SelectChurchModal.js.map +1 -0
- package/dist/components/SelectChurchRegister.d.ts +11 -0
- package/dist/components/SelectChurchRegister.d.ts.map +1 -0
- package/dist/components/SelectChurchRegister.js +83 -0
- package/dist/components/SelectChurchRegister.js.map +1 -0
- package/dist/components/SelectChurchSearch.d.ts +10 -0
- package/dist/components/SelectChurchSearch.d.ts.map +1 -0
- package/dist/components/SelectChurchSearch.js +61 -0
- package/dist/components/SelectChurchSearch.js.map +1 -0
- package/dist/components/SelectableChurch.d.ts +9 -0
- package/dist/components/SelectableChurch.d.ts.map +1 -0
- package/dist/components/SelectableChurch.js +34 -0
- package/dist/components/SelectableChurch.js.map +1 -0
- package/dist/helpers/AnalyticsHelper.d.ts +7 -0
- package/dist/helpers/AnalyticsHelper.d.ts.map +1 -0
- package/dist/helpers/AnalyticsHelper.js +30 -0
- package/dist/helpers/AnalyticsHelper.js.map +1 -0
- package/dist/helpers/Locale.d.ts +13 -0
- package/dist/helpers/Locale.d.ts.map +1 -0
- package/dist/helpers/Locale.js +200 -0
- package/dist/helpers/Locale.js.map +1 -0
- package/dist/helpers/index.d.ts +3 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/index.js +3 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/package.json +57 -0
- package/src/LoginPage.tsx +283 -0
- package/src/LogoutPage.tsx +43 -0
- package/src/components/Forgot.tsx +247 -0
- package/src/components/Login.tsx +250 -0
- package/src/components/LoginSetPassword.tsx +298 -0
- package/src/components/Register.tsx +371 -0
- package/src/components/SelectChurchModal.tsx +82 -0
- package/src/components/SelectChurchRegister.tsx +88 -0
- package/src/components/SelectChurchSearch.tsx +85 -0
- package/src/components/SelectableChurch.tsx +72 -0
- package/src/helpers/AnalyticsHelper.ts +32 -0
- package/src/helpers/Locale.ts +233 -0
- package/src/helpers/index.ts +2 -0
- package/src/index.ts +10 -0
- package/tsconfig.json +30 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ChurchInterface, LoginUserChurchInterface } from "@churchapps/helpers";
|
|
3
|
+
interface Props {
|
|
4
|
+
appName: string;
|
|
5
|
+
show: boolean;
|
|
6
|
+
userChurches?: LoginUserChurchInterface[];
|
|
7
|
+
selectChurch: (churchId: string) => void;
|
|
8
|
+
registeredChurchCallback?: (church: ChurchInterface) => void;
|
|
9
|
+
errors?: string[];
|
|
10
|
+
handleRedirect?: (url: string) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare const SelectChurchModal: React.FC<Props>;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=SelectChurchModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectChurchModal.d.ts","sourceRoot":"","sources":["../../src/components/SelectChurchModal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAQhF,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,CA4D7C,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { SelectChurchSearch } from "./SelectChurchSearch";
|
|
5
|
+
import { SelectableChurch } from "./SelectableChurch";
|
|
6
|
+
import { ErrorMessages } from "@churchapps/apphelper";
|
|
7
|
+
import { Dialog, DialogContent, DialogTitle, IconButton, Tooltip } from "@mui/material";
|
|
8
|
+
import { Logout } from "@mui/icons-material";
|
|
9
|
+
import { Locale } from "../helpers";
|
|
10
|
+
export const SelectChurchModal = (props) => {
|
|
11
|
+
const [showSearch, setShowSearch] = React.useState(false);
|
|
12
|
+
const handleClose = () => {
|
|
13
|
+
window.location.reload();
|
|
14
|
+
};
|
|
15
|
+
const getContents = () => {
|
|
16
|
+
if (showSearch || props.userChurches?.length === 0)
|
|
17
|
+
return _jsx(SelectChurchSearch, { selectChurch: props.selectChurch, registeredChurchCallback: props.registeredChurchCallback, appName: props.appName });
|
|
18
|
+
else
|
|
19
|
+
return (_jsxs(_Fragment, { children: [props.userChurches?.map(uc => (_jsx(SelectableChurch, { church: uc.church, selectChurch: props.selectChurch }, uc.church.id))), _jsx("button", { type: "button", style: {
|
|
20
|
+
display: "block",
|
|
21
|
+
textAlign: "center",
|
|
22
|
+
background: "none",
|
|
23
|
+
border: "none",
|
|
24
|
+
color: "#3b82f6",
|
|
25
|
+
cursor: "pointer",
|
|
26
|
+
textDecoration: "underline"
|
|
27
|
+
}, onClick: (e) => { e.preventDefault(); setShowSearch(true); }, children: Locale.label("selectChurch.another") })] }));
|
|
28
|
+
};
|
|
29
|
+
return (_jsxs(Dialog, { open: props.show, onClose: handleClose, "aria-labelledby": "select-church-title", "aria-describedby": "select-church-content", children: [_jsx(DialogTitle, { id: "select-church-title", children: Locale.label("selectChurch.selectChurch") }), _jsx(Tooltip, { title: "Logout", arrow: true, children: _jsx(IconButton, { sx: { position: "absolute", right: 8, top: 8 }, color: "error", "aria-label": "Logout", onClick: () => {
|
|
30
|
+
// Use handleRedirect function if available, otherwise fallback to window.location
|
|
31
|
+
if (props.handleRedirect) {
|
|
32
|
+
props.handleRedirect("/logout");
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
window.location.href = "/logout";
|
|
36
|
+
}
|
|
37
|
+
}, children: _jsx(Logout, {}) }) }), _jsxs(DialogContent, { id: "select-church-content", sx: { width: 500, maxWidth: "100%" }, children: [_jsx(ErrorMessages, { errors: props.errors }), getContents()] })] }));
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=SelectChurchModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectChurchModal.js","sourceRoot":"","sources":["../../src/components/SelectChurchModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ChurchInterface } from "@churchapps/helpers";
|
|
3
|
+
interface Props {
|
|
4
|
+
initialChurchName: string;
|
|
5
|
+
registeredChurchCallback?: (church: ChurchInterface) => void;
|
|
6
|
+
selectChurch: (churchId: string) => void;
|
|
7
|
+
appName: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const SelectChurchRegister: React.FC<Props>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=SelectChurchRegister.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectChurchRegister.d.ts","sourceRoot":"","sources":["../../src/components/SelectChurchRegister.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,eAAe,EAAkC,MAAM,qBAAqB,CAAC;AAItF,UAAU,KAAK;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC7D,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAsEhD,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { ApiHelper } from "@churchapps/helpers";
|
|
5
|
+
import { Locale } from "../helpers";
|
|
6
|
+
import { ErrorMessages, InputBox } from "@churchapps/apphelper";
|
|
7
|
+
import { Grid, TextField } from "@mui/material";
|
|
8
|
+
export const SelectChurchRegister = (props) => {
|
|
9
|
+
const suggestSubDomain = (name) => {
|
|
10
|
+
let result = name.toLowerCase().replaceAll("christian", "").replaceAll("church", "").replaceAll(" ", "");
|
|
11
|
+
return result;
|
|
12
|
+
};
|
|
13
|
+
const [church, setChurch] = React.useState({ name: props.initialChurchName, appName: props.appName, subDomain: suggestSubDomain(props.initialChurchName) });
|
|
14
|
+
const [errors, setErrors] = React.useState([]);
|
|
15
|
+
const [isSubmitting, setIsSubmitting] = React.useState(false);
|
|
16
|
+
const handleChange = (e) => {
|
|
17
|
+
const c = { ...church };
|
|
18
|
+
switch (e.target.name) {
|
|
19
|
+
case "churchName":
|
|
20
|
+
c.name = e.target.value;
|
|
21
|
+
break;
|
|
22
|
+
case "subDomain":
|
|
23
|
+
c.subDomain = e.target.value;
|
|
24
|
+
break;
|
|
25
|
+
case "address1":
|
|
26
|
+
c.address1 = e.target.value;
|
|
27
|
+
break;
|
|
28
|
+
case "address2":
|
|
29
|
+
c.address2 = e.target.value;
|
|
30
|
+
break;
|
|
31
|
+
case "city":
|
|
32
|
+
c.city = e.target.value;
|
|
33
|
+
break;
|
|
34
|
+
case "state":
|
|
35
|
+
c.state = e.target.value;
|
|
36
|
+
break;
|
|
37
|
+
case "zip":
|
|
38
|
+
c.zip = e.target.value;
|
|
39
|
+
break;
|
|
40
|
+
case "country":
|
|
41
|
+
c.country = e.target.value;
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
setChurch(c);
|
|
45
|
+
};
|
|
46
|
+
const validate = () => {
|
|
47
|
+
let errors = [];
|
|
48
|
+
if (!church.name?.trim())
|
|
49
|
+
errors.push(Locale.label("selectChurch.validate.name"));
|
|
50
|
+
if (!church.address1?.trim())
|
|
51
|
+
errors.push(Locale.label("selectChurch.validate.address"));
|
|
52
|
+
if (!church.city?.trim())
|
|
53
|
+
errors.push(Locale.label("selectChurch.validate.city"));
|
|
54
|
+
if (!church.state?.trim())
|
|
55
|
+
errors.push(Locale.label("selectChurch.validate.state"));
|
|
56
|
+
if (!church.zip?.trim())
|
|
57
|
+
errors.push(Locale.label("selectChurch.validate.zip"));
|
|
58
|
+
if (!church.country?.trim())
|
|
59
|
+
errors.push(Locale.label("selectChurch.validate.country"));
|
|
60
|
+
setErrors(errors);
|
|
61
|
+
return errors.length === 0;
|
|
62
|
+
};
|
|
63
|
+
const handleSave = () => {
|
|
64
|
+
if (validate()) {
|
|
65
|
+
setIsSubmitting(true);
|
|
66
|
+
const c = { ...church };
|
|
67
|
+
if (!c.subDomain)
|
|
68
|
+
c.subDomain = suggestSubDomain(c.name);
|
|
69
|
+
ApiHelper.post("/churches/add", church, "MembershipApi").then(async (resp) => {
|
|
70
|
+
setIsSubmitting(false);
|
|
71
|
+
if (resp.errors !== undefined)
|
|
72
|
+
setErrors(errors);
|
|
73
|
+
else {
|
|
74
|
+
if (props.registeredChurchCallback)
|
|
75
|
+
props.registeredChurchCallback(resp);
|
|
76
|
+
props.selectChurch(resp.id);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
return (_jsxs(InputBox, { id: "churchBox", saveFunction: handleSave, headerText: Locale.label("selectChurch.register"), headerIcon: "church", isSubmitting: isSubmitting, children: [_jsx(ErrorMessages, { errors: errors }), _jsx(TextField, { required: true, fullWidth: true, name: "churchName", label: Locale.label("selectChurch.name"), value: church.name, onChange: handleChange }), _jsx(TextField, { required: true, fullWidth: true, name: "address1", label: Locale.label("selectChurch.address1"), value: church.address1, onChange: handleChange }), _jsxs(Grid, { container: true, spacing: 3, children: [_jsx(Grid, { size: 6, children: _jsx(TextField, { fullWidth: true, name: "address2", label: Locale.label("selectChurch.address2"), value: church.address2, onChange: handleChange }) }), _jsx(Grid, { size: 6, children: _jsx(TextField, { required: true, fullWidth: true, name: "city", label: Locale.label("selectChurch.city"), value: church.city, onChange: handleChange }) })] }), _jsxs(Grid, { container: true, spacing: 3, children: [_jsx(Grid, { size: 6, children: _jsx(TextField, { required: true, fullWidth: true, name: "state", label: Locale.label("selectChurch.state"), value: church.state, onChange: handleChange }) }), _jsx(Grid, { size: 6, children: _jsx(TextField, { required: true, fullWidth: true, name: "zip", label: Locale.label("selectChurch.zip"), value: church.zip, onChange: handleChange }) })] }), _jsx(TextField, { required: true, fullWidth: true, name: "country", label: Locale.label("selectChurch.country"), value: church.country, onChange: handleChange })] }));
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=SelectChurchRegister.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectChurchRegister.js","sourceRoot":"","sources":["../../src/components/SelectChurchRegister.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ChurchInterface } from "@churchapps/helpers";
|
|
3
|
+
interface Props {
|
|
4
|
+
selectChurch: (churchId: string) => void;
|
|
5
|
+
registeredChurchCallback?: (church: ChurchInterface) => void;
|
|
6
|
+
appName: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const SelectChurchSearch: React.FC<Props>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=SelectChurchSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectChurchSearch.d.ts","sourceRoot":"","sources":["../../src/components/SelectChurchSearch.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAItD,UAAU,KAAK;IACd,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC7D,OAAO,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAoE9C,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Button, TextField } from "@mui/material";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { ApiHelper } from "@churchapps/helpers";
|
|
6
|
+
import { Locale } from "../helpers";
|
|
7
|
+
import { SelectableChurch } from "./SelectableChurch";
|
|
8
|
+
import { SelectChurchRegister } from "./SelectChurchRegister";
|
|
9
|
+
export const SelectChurchSearch = (props) => {
|
|
10
|
+
const [searchText, setSearchText] = React.useState("");
|
|
11
|
+
const [churches, setChurches] = React.useState(null);
|
|
12
|
+
const [showRegister, setShowRegister] = React.useState(false);
|
|
13
|
+
const handleSubmit = (e) => {
|
|
14
|
+
if (e !== null)
|
|
15
|
+
e.preventDefault();
|
|
16
|
+
let term = searchText.trim();
|
|
17
|
+
ApiHelper.post("/churches/search", { name: term }, "MembershipApi").then(data => setChurches(data));
|
|
18
|
+
};
|
|
19
|
+
const handleChange = (e) => setSearchText(e.currentTarget.value);
|
|
20
|
+
const handleKeyDown = (e) => { if (e.key === "Enter") {
|
|
21
|
+
e.preventDefault();
|
|
22
|
+
handleSubmit(null);
|
|
23
|
+
} };
|
|
24
|
+
const handleRegisterClick = (e) => {
|
|
25
|
+
e.preventDefault();
|
|
26
|
+
if (window.confirm(Locale.label("selectChurch.confirmRegister"))) {
|
|
27
|
+
setShowRegister(true);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const getRegisterLink = () => (_jsx("div", { children: _jsx("button", { type: "button", style: {
|
|
31
|
+
display: "block",
|
|
32
|
+
textAlign: "center",
|
|
33
|
+
background: "none",
|
|
34
|
+
border: "none",
|
|
35
|
+
color: "#3b82f6",
|
|
36
|
+
cursor: "pointer",
|
|
37
|
+
textDecoration: "underline",
|
|
38
|
+
width: "100%"
|
|
39
|
+
}, onClick: handleRegisterClick, children: Locale.label("selectChurch.register") }) }));
|
|
40
|
+
const getChurches = () => {
|
|
41
|
+
const result = [];
|
|
42
|
+
churches.forEach(church => {
|
|
43
|
+
result.push(_jsx(SelectableChurch, { church: church, selectChurch: props.selectChurch }));
|
|
44
|
+
});
|
|
45
|
+
result.push(getRegisterLink());
|
|
46
|
+
return result;
|
|
47
|
+
};
|
|
48
|
+
const getResults = () => {
|
|
49
|
+
if (churches === null)
|
|
50
|
+
return;
|
|
51
|
+
else if (churches.length === 0)
|
|
52
|
+
return _jsxs(_Fragment, { children: [_jsx("p", { children: Locale.label("selectChurch.noMatches") }), getRegisterLink()] });
|
|
53
|
+
else
|
|
54
|
+
return getChurches();
|
|
55
|
+
};
|
|
56
|
+
if (showRegister)
|
|
57
|
+
return (_jsx(SelectChurchRegister, { selectChurch: props.selectChurch, registeredChurchCallback: props.registeredChurchCallback, appName: props.appName, initialChurchName: searchText }));
|
|
58
|
+
else
|
|
59
|
+
return (_jsxs(_Fragment, { children: [_jsx(TextField, { fullWidth: true, name: "searchText", label: "Name", value: searchText, onChange: handleChange, onKeyDown: handleKeyDown, InputProps: { endAdornment: _jsx(Button, { variant: "contained", id: "searchButton", "data-testid": "search-button", onClick: handleSubmit, children: Locale.label("common.search") }) } }), getResults()] }));
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=SelectChurchSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectChurchSearch.js","sourceRoot":"","sources":["../../src/components/SelectChurchSearch.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ChurchInterface } from "@churchapps/helpers";
|
|
3
|
+
interface Props {
|
|
4
|
+
selectChurch: (churchId: string) => void;
|
|
5
|
+
church: ChurchInterface;
|
|
6
|
+
}
|
|
7
|
+
export declare const SelectableChurch: React.FC<Props>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=SelectableChurch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectableChurch.d.ts","sourceRoot":"","sources":["../../src/components/SelectableChurch.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAA2B,MAAM,qBAAqB,CAAC;AAE/E,UAAU,KAAK;IACb,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA2D5C,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Grid } from "@mui/material";
|
|
4
|
+
import { ArrayHelper } from "@churchapps/helpers";
|
|
5
|
+
export const SelectableChurch = (props) => {
|
|
6
|
+
let logo = "/images/logo.png";
|
|
7
|
+
if (props.church.settings) {
|
|
8
|
+
let l = ArrayHelper.getOne(props.church.settings, "keyName", "logoLight");
|
|
9
|
+
if (l?.value)
|
|
10
|
+
logo = l.value;
|
|
11
|
+
}
|
|
12
|
+
return (_jsxs(Grid, { container: true, spacing: 3, children: [_jsx(Grid, { size: { xs: 12, md: 6 }, children: _jsx("button", { type: "button", style: {
|
|
13
|
+
fontSize: "1.125rem",
|
|
14
|
+
display: "block",
|
|
15
|
+
marginTop: 15,
|
|
16
|
+
marginBottom: 15,
|
|
17
|
+
background: "none",
|
|
18
|
+
border: "none",
|
|
19
|
+
cursor: "pointer",
|
|
20
|
+
padding: 0,
|
|
21
|
+
width: "100%"
|
|
22
|
+
}, onClick: (e) => { e.preventDefault(); props.selectChurch(props.church.id); }, "aria-label": `Select church: ${props.church.name}`, children: _jsx("img", { src: logo, alt: "church logo", className: "w-100 img-fluid" }) }) }), _jsx(Grid, { size: { xs: 12, md: 6 }, children: _jsxs("div", { children: [_jsx("button", { type: "button", style: {
|
|
23
|
+
fontSize: "1.125rem",
|
|
24
|
+
display: "block",
|
|
25
|
+
background: "none",
|
|
26
|
+
border: "none",
|
|
27
|
+
color: "#3b82f6",
|
|
28
|
+
cursor: "pointer",
|
|
29
|
+
textDecoration: "underline",
|
|
30
|
+
padding: 0,
|
|
31
|
+
textAlign: "left"
|
|
32
|
+
}, onClick: (e) => { e.preventDefault(); props.selectChurch(props.church.id); }, "aria-label": `Select church: ${props.church.name}`, children: props.church.name }), (props.church.address1) && _jsx("div", { children: props.church.address1 }), (props.church.city || props.church.state) && _jsxs("div", { children: [props.church.city && props.church.city + ", ", props.church.state] })] }) }), _jsx("span", { style: { display: "block", width: "100%", borderTop: "1px solid #ccc", margin: "1rem" } })] }));
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=SelectableChurch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectableChurch.js","sourceRoot":"","sources":["../../src/components/SelectableChurch.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAQlD,MAAM,CAAC,MAAM,gBAAgB,GAAoB,CAAC,KAAK,EAAE,EAAE;IAEzD,IAAI,IAAI,GAAG,kBAAkB,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,GAA4B,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACnG,IAAI,CAAC,EAAE,KAAK;YAAE,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;IAC/B,CAAC;IACD,OAAO,CACL,MAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,aACxB,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,YAC3B,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;wBACL,QAAQ,EAAE,UAAU;wBACpB,OAAO,EAAE,OAAO;wBAChB,SAAS,EAAE,EAAE;wBACb,YAAY,EAAE,EAAE;wBAChB,UAAU,EAAE,MAAM;wBAClB,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,CAAC;wBACV,KAAK,EAAE,MAAM;qBACd,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,gBAC/D,kBAAkB,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,YAEjD,cAAK,GAAG,EAAE,IAAI,EAAE,GAAG,EAAC,aAAa,EAAC,SAAS,EAAC,iBAAiB,GAAG,GACzD,GACJ,EACP,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,YAC3B,0BACE,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;gCACL,QAAQ,EAAE,UAAU;gCACpB,OAAO,EAAE,OAAO;gCAChB,UAAU,EAAE,MAAM;gCAClB,MAAM,EAAE,MAAM;gCACd,KAAK,EAAE,SAAS;gCAChB,MAAM,EAAE,SAAS;gCACjB,cAAc,EAAE,WAAW;gCAC3B,OAAO,EAAE,CAAC;gCACV,SAAS,EAAE,MAAM;6BAClB,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,gBAC/D,kBAAkB,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,YAEhD,KAAK,CAAC,MAAM,CAAC,IAAI,GACX,EACR,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,wBAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAO,EAC7D,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,0BAC3C,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,EAC7C,KAAK,CAAC,MAAM,CAAC,KAAK,IACf,IACF,GACD,EACP,eAAM,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAS,IACjG,CACR,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnalyticsHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/AnalyticsHelper.ts"],"names":[],"mappings":"AAGA,qBAAa,eAAe;IAE1B,MAAM,CAAC,IAAI,aAKV;IAED,MAAM,CAAC,WAAW,aAKjB;IAED,MAAM,CAAC,QAAQ,GAAI,UAAU,MAAM,EAAE,QAAQ,MAAM,EAAE,QAAO,MAAM,UAKjE;IAED,OAAO,CAAC,MAAM,CAAC,YAAY,CAG1B;CAEF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var _a;
|
|
2
|
+
import ReactGA from "react-ga4";
|
|
3
|
+
import { CommonEnvironmentHelper, UserHelper } from "@churchapps/helpers";
|
|
4
|
+
export class AnalyticsHelper {
|
|
5
|
+
}
|
|
6
|
+
_a = AnalyticsHelper;
|
|
7
|
+
AnalyticsHelper.init = () => {
|
|
8
|
+
if (CommonEnvironmentHelper.GoogleAnalyticsTag !== "" && typeof (window) !== "undefined") {
|
|
9
|
+
ReactGA.initialize([{ trackingId: CommonEnvironmentHelper.GoogleAnalyticsTag }]);
|
|
10
|
+
_a.logPageView();
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
AnalyticsHelper.logPageView = () => {
|
|
14
|
+
if (CommonEnvironmentHelper.GoogleAnalyticsTag !== "" && typeof (window) !== "undefined") {
|
|
15
|
+
_a.setChurchKey();
|
|
16
|
+
ReactGA.send({ hitType: "pageview", page: window.location.pathname + window.location.search });
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
AnalyticsHelper.logEvent = (category, action, label) => {
|
|
20
|
+
if (CommonEnvironmentHelper.GoogleAnalyticsTag !== "" && typeof (window) !== "undefined") {
|
|
21
|
+
_a.setChurchKey();
|
|
22
|
+
ReactGA.event({ category, action, label });
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
AnalyticsHelper.setChurchKey = () => {
|
|
26
|
+
const churchKey = UserHelper?.currentUserChurch?.church?.subDomain;
|
|
27
|
+
if (churchKey)
|
|
28
|
+
ReactGA.set({ church_key: churchKey });
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=AnalyticsHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnalyticsHelper.js","sourceRoot":"","sources":["../../src/helpers/AnalyticsHelper.ts"],"names":[],"mappings":";AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE1E,MAAM,OAAO,eAAe;;;AAEnB,oBAAI,GAAG,GAAG,EAAE;IACjB,IAAI,uBAAuB,CAAC,kBAAkB,KAAK,EAAE,IAAI,OAAM,CAAC,MAAM,CAAC,KAAG,WAAW,EAAE,CAAC;QACtF,OAAO,CAAC,UAAU,CAAC,CAAC,EAAC,UAAU,EAAE,uBAAuB,CAAC,kBAAkB,EAAC,CAAC,CAAC,CAAC;QAC/E,EAAe,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;AACH,CAAC,AALU,CAKV;AAEM,2BAAW,GAAG,GAAG,EAAE;IACxB,IAAI,uBAAuB,CAAC,kBAAkB,KAAK,EAAE,IAAI,OAAM,CAAC,MAAM,CAAC,KAAG,WAAW,EAAE,CAAC;QACtF,EAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACjG,CAAC;AACH,CAAC,AALiB,CAKjB;AAEM,wBAAQ,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,EAAE;IACpE,IAAI,uBAAuB,CAAC,kBAAkB,KAAK,EAAE,IAAI,OAAM,CAAC,MAAM,CAAC,KAAG,WAAW,EAAE,CAAC;QACtF,EAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC,AALc,CAKd;AAEc,4BAAY,GAAG,GAAG,EAAE;IACjC,MAAM,SAAS,GAAG,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,CAAC;IACnE,IAAI,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,EAAC,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;AACvD,CAAC,AAH0B,CAG1B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare class Locale {
|
|
2
|
+
private static readonly supportedLanguages;
|
|
3
|
+
private static readonly extraCodes;
|
|
4
|
+
private static readonly fallbacks;
|
|
5
|
+
static init: (backends: string[]) => Promise<void>;
|
|
6
|
+
private static deepMerge;
|
|
7
|
+
private static isObject;
|
|
8
|
+
static t(key: string, options?: Record<string, unknown>): string;
|
|
9
|
+
static label(key: string): string;
|
|
10
|
+
static isInitialized(): boolean;
|
|
11
|
+
static initFallbackMode(): void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=Locale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Locale.d.ts","sourceRoot":"","sources":["../../src/helpers/Locale.ts"],"names":[],"mappings":"AAgBA,qBAAa,MAAM;IAClB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAaxC;IACF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAA4C;IAG9E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CA0D/B;IAEF,MAAM,CAAC,IAAI,GAAU,UAAU,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAiErD;IAEF,OAAO,CAAC,MAAM,CAAC,SAAS;IAgBxB,OAAO,CAAC,MAAM,CAAC,QAAQ;IAKvB,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAqChE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAKjC,MAAM,CAAC,aAAa,IAAI,OAAO;IAK/B,MAAM,CAAC,gBAAgB,IAAI,IAAI;CAG/B"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
var _a;
|
|
2
|
+
import i18n from "i18next";
|
|
3
|
+
import { initReactI18next } from "react-i18next/initReactI18next";
|
|
4
|
+
import LanguageDetector from "i18next-browser-languagedetector";
|
|
5
|
+
import Backend from "i18next-chained-backend";
|
|
6
|
+
export class Locale {
|
|
7
|
+
static deepMerge(target, source) {
|
|
8
|
+
for (const key in source) {
|
|
9
|
+
if (this.isObject(source[key])) {
|
|
10
|
+
if (!target[key])
|
|
11
|
+
Object.assign(target, { [key]: {} });
|
|
12
|
+
this.deepMerge(target[key], source[key]);
|
|
13
|
+
}
|
|
14
|
+
else
|
|
15
|
+
Object.assign(target, { [key]: source[key] });
|
|
16
|
+
}
|
|
17
|
+
return target;
|
|
18
|
+
}
|
|
19
|
+
static isObject(obj) {
|
|
20
|
+
return obj !== null && typeof obj === "object" && !Array.isArray(obj);
|
|
21
|
+
}
|
|
22
|
+
// New helper method that uses i18n with fallback
|
|
23
|
+
static t(key, options) {
|
|
24
|
+
try {
|
|
25
|
+
// Check if i18n is initialized and has the key
|
|
26
|
+
if (i18n && i18n.isInitialized && i18n.exists(key)) {
|
|
27
|
+
const translation = i18n.t(key, options);
|
|
28
|
+
// If translation is not just the key (which indicates missing translation)
|
|
29
|
+
if (translation !== key) {
|
|
30
|
+
return translation;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
console.warn(`Error getting translation for key "${key}":`, error);
|
|
36
|
+
}
|
|
37
|
+
// Fall back to our local fallbacks
|
|
38
|
+
const fallback = this.fallbacks[key];
|
|
39
|
+
if (fallback) {
|
|
40
|
+
// Handle simple string replacement like {} placeholders
|
|
41
|
+
if (options && typeof options === 'object') {
|
|
42
|
+
let result = fallback;
|
|
43
|
+
Object.entries(options).forEach(([placeholder, value]) => {
|
|
44
|
+
if (typeof value === 'string' || typeof value === 'number') {
|
|
45
|
+
result = result.replace(`{${placeholder}}`, String(value));
|
|
46
|
+
result = result.replace('{}', String(value)); // Handle unnamed placeholders
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
return fallback;
|
|
52
|
+
}
|
|
53
|
+
// Ultimate fallback - return the key itself with a warning
|
|
54
|
+
console.warn(`No translation found for key: ${key}`);
|
|
55
|
+
return key;
|
|
56
|
+
}
|
|
57
|
+
// Keep the old method for backward compatibility
|
|
58
|
+
static label(key) {
|
|
59
|
+
return this.t(key);
|
|
60
|
+
}
|
|
61
|
+
// Helper method to check if translations are available
|
|
62
|
+
static isInitialized() {
|
|
63
|
+
return i18n && i18n.isInitialized;
|
|
64
|
+
}
|
|
65
|
+
// Method to set up basic fallback-only mode (no i18n)
|
|
66
|
+
static initFallbackMode() {
|
|
67
|
+
console.info("Locale: Running in fallback mode with English labels only");
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
_a = Locale;
|
|
71
|
+
Locale.supportedLanguages = [
|
|
72
|
+
"de",
|
|
73
|
+
"en",
|
|
74
|
+
"es",
|
|
75
|
+
"fr",
|
|
76
|
+
"hi",
|
|
77
|
+
"it",
|
|
78
|
+
"ko",
|
|
79
|
+
"no",
|
|
80
|
+
"pt",
|
|
81
|
+
"ru",
|
|
82
|
+
"tl",
|
|
83
|
+
"zh",
|
|
84
|
+
];
|
|
85
|
+
Locale.extraCodes = { no: ["nb", "nn"] };
|
|
86
|
+
// English fallbacks for all login-related labels
|
|
87
|
+
Locale.fallbacks = {
|
|
88
|
+
// Common
|
|
89
|
+
"common.pleaseWait": "Please wait...",
|
|
90
|
+
"common.search": "Search",
|
|
91
|
+
// Login
|
|
92
|
+
"login.createAccount": "Create an Account",
|
|
93
|
+
"login.email": "Email",
|
|
94
|
+
"login.expiredLink": "The current link is expired.",
|
|
95
|
+
"login.forgot": "Forgot Password",
|
|
96
|
+
"login.goLogin": "Go to Login",
|
|
97
|
+
"login.login": "Login",
|
|
98
|
+
"login.password": "Password",
|
|
99
|
+
"login.register": "Register",
|
|
100
|
+
"login.registerThankYou": "Thank you for registering! Please check your email to verify your account.",
|
|
101
|
+
"login.requestLink": "Request a new reset link",
|
|
102
|
+
"login.reset": "Reset",
|
|
103
|
+
"login.resetInstructions": "Enter your email address to request a password reset.",
|
|
104
|
+
"login.resetPassword": "Reset Password",
|
|
105
|
+
"login.resetSent": "Password reset email sent!",
|
|
106
|
+
"login.setPassword": "Set Password",
|
|
107
|
+
"login.signIn": "Sign In",
|
|
108
|
+
"login.signInTitle": "Please Sign In",
|
|
109
|
+
"login.verifyPassword": "Verify Password",
|
|
110
|
+
"login.welcomeName": "Welcome back, {}!",
|
|
111
|
+
"login.welcomeBack": "Welcome back",
|
|
112
|
+
// Login validation
|
|
113
|
+
"login.validate.email": "Please enter a valid email address.",
|
|
114
|
+
"login.validate.firstName": "Please enter your first name.",
|
|
115
|
+
"login.validate.invalid": "Invalid login. Please check your email or password.",
|
|
116
|
+
"login.validate.lastName": "Please enter your last name.",
|
|
117
|
+
"login.validate.password": "Please enter a password.",
|
|
118
|
+
"login.validate.passwordLength": "Password must be at least 8 characters long.",
|
|
119
|
+
"login.validate.passwordMatch": "Passwords do not match.",
|
|
120
|
+
"login.validate.selectingChurch": "Please select a church.",
|
|
121
|
+
// Church selection
|
|
122
|
+
"selectChurch.address1": "Address Line 1",
|
|
123
|
+
"selectChurch.address2": "Address Line 2",
|
|
124
|
+
"selectChurch.another": "Choose another church",
|
|
125
|
+
"selectChurch.city": "City",
|
|
126
|
+
"selectChurch.confirmRegister": "Are you sure you wish to register a new church?",
|
|
127
|
+
"selectChurch.country": "Country",
|
|
128
|
+
"selectChurch.name": "Church Name",
|
|
129
|
+
"selectChurch.noMatches": "No matches found.",
|
|
130
|
+
"selectChurch.register": "Register a New Church",
|
|
131
|
+
"selectChurch.selectChurch": "Select a Church",
|
|
132
|
+
"selectChurch.state": "State / Province",
|
|
133
|
+
"selectChurch.zip": "Zip / Postal Code",
|
|
134
|
+
// Church selection validation
|
|
135
|
+
"selectChurch.validate.address": "Address cannot be blank.",
|
|
136
|
+
"selectChurch.validate.city": "City cannot be blank.",
|
|
137
|
+
"selectChurch.validate.country": "Country cannot be blank.",
|
|
138
|
+
"selectChurch.validate.name": "Church name cannot be blank.",
|
|
139
|
+
"selectChurch.validate.state": "State/Province cannot be blank.",
|
|
140
|
+
"selectChurch.validate.zip": "Zip/Postal code cannot be blank."
|
|
141
|
+
};
|
|
142
|
+
Locale.init = async (backends) => {
|
|
143
|
+
const resources = {};
|
|
144
|
+
let langs = ["en"];
|
|
145
|
+
if (typeof navigator !== "undefined") {
|
|
146
|
+
const browserLang = navigator.language.split("-")[0];
|
|
147
|
+
const mappedLang = Object.keys(_a.extraCodes).find((code) => _a.extraCodes[code].includes(browserLang)) || browserLang;
|
|
148
|
+
const notSupported = _a.supportedLanguages.indexOf(mappedLang) === -1;
|
|
149
|
+
langs = mappedLang === "en" || notSupported ? ["en"] : ["en", mappedLang];
|
|
150
|
+
}
|
|
151
|
+
// Initialize resources with fallbacks
|
|
152
|
+
resources["en"] = { translation: _a.fallbacks };
|
|
153
|
+
// Load translations for each language
|
|
154
|
+
for (const lang of langs) {
|
|
155
|
+
if (!resources[lang]) {
|
|
156
|
+
resources[lang] = { translation: {} };
|
|
157
|
+
}
|
|
158
|
+
try {
|
|
159
|
+
for (const backend of backends) {
|
|
160
|
+
const url = backend.replace("{{lng}}", lang);
|
|
161
|
+
try {
|
|
162
|
+
const response = await fetch(url);
|
|
163
|
+
if (response.ok) {
|
|
164
|
+
const data = await response.json();
|
|
165
|
+
resources[lang].translation = _a.deepMerge(resources[lang].translation, data);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
console.warn(`Failed to load translations from ${url}:`, error);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
console.warn(`Failed to load translations for language ${lang}:`, error);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
// Initialize i18n
|
|
178
|
+
try {
|
|
179
|
+
await i18n
|
|
180
|
+
.use(Backend)
|
|
181
|
+
.use(LanguageDetector)
|
|
182
|
+
.use(initReactI18next)
|
|
183
|
+
.init({
|
|
184
|
+
resources,
|
|
185
|
+
fallbackLng: "en",
|
|
186
|
+
debug: false,
|
|
187
|
+
interpolation: {
|
|
188
|
+
escapeValue: false,
|
|
189
|
+
},
|
|
190
|
+
detection: {
|
|
191
|
+
order: ["navigator"],
|
|
192
|
+
caches: ["localStorage"],
|
|
193
|
+
},
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
console.warn("Failed to initialize i18n:", error);
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
//# sourceMappingURL=Locale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Locale.js","sourceRoot":"","sources":["../../src/helpers/Locale.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|