@dashadmin/dash-app-common 1.3.25 → 1.3.26
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/DashApp.js +176 -1
- package/dist/DashAppLoader.js +348 -3
- package/dist/DashDefaultResources.js +10 -1
- package/dist/components/DashDefaultPrivateApp.js +150 -1
- package/dist/components/DashDefaultPrivateResources.js +10 -1
- package/dist/components/DashDefaultPublicApp.js +20 -1
- package/dist/components/DashResourceLoader.js +245 -1
- package/dist/defaults/extensions/bootstrap/DashDefaultErrorBoundary.js +78 -1
- package/dist/defaults/extensions/bootstrap/dashDefaultInitializeApp.js +59 -1
- package/dist/defaults/extensions/bootstrap/index.js +24 -1
- package/dist/defaults/extensions/components/DashDefaultLoader.js +43 -2
- package/dist/defaults/extensions/components/dashDefaultAutoAdminComponents.js +67 -1
- package/dist/defaults/extensions/components/dashDefaultNotification.js +28 -1
- package/dist/defaults/extensions/components/dashDefaultStaticComponents.js +15 -1
- package/dist/defaults/extensions/components/index.js +13 -1
- package/dist/defaults/extensions/electron/dashDefaultIpcListeners.js +38 -1
- package/dist/defaults/extensions/electron/index.js +5 -1
- package/dist/defaults/extensions/hooks/index.js +12 -1
- package/dist/defaults/extensions/hooks/useDashDefaultLazyAutoAdminComponents.js +17 -1
- package/dist/defaults/extensions/hooks/useDashDefaultLazyI18nProvider.js +51 -1
- package/dist/defaults/extensions/hooks/useDashDefaultLazyResources.js +19 -1
- package/dist/defaults/extensions/hooks/useDashDefaultMountTracker.js +22 -1
- package/dist/defaults/extensions/hooks/useDashDefaultRoutePath.js +17 -1
- package/dist/defaults/extensions/i18n/dashDefaultI18nProvider.js +44 -1
- package/dist/defaults/extensions/i18n/dashDefaultTranslations.js +87 -1
- package/dist/defaults/extensions/i18n/index.js +24 -1
- package/dist/defaults/extensions/index.js +190 -1
- package/dist/defaults/extensions/layout/dashDefaultDomainAppLayout.js +58 -1
- package/dist/defaults/extensions/layout/index.js +12 -1
- package/dist/defaults/extensions/managers/DashDefaultWSMessagesManager.js +84 -1
- package/dist/defaults/extensions/managers/index.js +5 -1
- package/dist/defaults/extensions/providers/dashDefaultAuthProvider.js +220 -1
- package/dist/defaults/extensions/providers/dashDefaultDataProvider.js +395 -1
- package/dist/defaults/extensions/providers/index.js +24 -1
- package/dist/defaults/extensions/router/DashDefaultLanding.js +46 -1
- package/dist/defaults/extensions/router/dashDefaultPrivateRoutes.js +38 -1
- package/dist/defaults/extensions/router/dashDefaultPublicRoutes.js +65 -1
- package/dist/defaults/extensions/router/dashDefaultRouter.js +39 -1
- package/dist/defaults/extensions/router/dashDefaultSharedRoutes.js +40 -1
- package/dist/defaults/extensions/router/index.js +12 -1
- package/dist/defaults/extensions/state/dashDefaultAppCommon.js +57 -1
- package/dist/defaults/extensions/state/dashDefaultAppSettings.js +38 -1
- package/dist/defaults/extensions/state/dashDefaultInitialAppState.js +31 -1
- package/dist/defaults/extensions/state/dashDefaultLayoutSettings.js +48 -1
- package/dist/defaults/extensions/state/dashDefaultQueryClient.js +58 -1
- package/dist/defaults/extensions/state/dashDefaultResourcesIcons.js +24 -1
- package/dist/defaults/extensions/state/index.js +29 -1
- package/dist/defaults/extensions/styles/index.js +2 -1
- package/dist/defaults/extensions/theme/dashDefaultThemeOptions.js +74 -1
- package/dist/defaults/extensions/theme/index.js +6 -1
- package/dist/defaults/extensions/utils/IPCMessageBrokerContext.js +12 -1
- package/dist/defaults/extensions/utils/dashDefaultAuthProviderUtils.js +29 -1
- package/dist/defaults/extensions/utils/dashDefaultDataProviderUtils.js +37 -1
- package/dist/defaults/extensions/utils/dashDefaultNotificationsProcessor.js +149 -1
- package/dist/defaults/extensions/utils/index.js +44 -1
- package/dist/defaults/filters/demo/dashDefaultDemoFilters.js +36 -1
- package/dist/defaults/filters/demo/index.js +4 -1
- package/dist/defaults/filters/index.js +5 -1
- package/dist/defaults/index.js +14 -1
- package/dist/defaults/pages/Account/DashDefaultRegister.js +282 -1
- package/dist/defaults/pages/Account/DashDefaultSignUp.js +420 -1
- package/dist/defaults/pages/Account/DashDefaultSignUpSuccess.js +101 -1
- package/dist/defaults/pages/Account/index.js +8 -1
- package/dist/defaults/pages/DashDefaultLogin.js +218 -1
- package/dist/defaults/pages/Misc/DashDefaultNotFound.js +74 -1
- package/dist/defaults/pages/Misc/DashDefaultServerError.js +79 -1
- package/dist/defaults/pages/Misc/DashDefaultUnauthorized.js +90 -1
- package/dist/defaults/pages/Misc/index.js +8 -1
- package/dist/defaults/pages/Static/DashDefaultPrivacyPage.js +48 -1
- package/dist/defaults/pages/Static/DashDefaultStaticPage.js +55 -1
- package/dist/defaults/pages/Static/DashDefaultTermsPage.js +52 -1
- package/dist/defaults/pages/Static/index.js +8 -1
- package/dist/defaults/pages/index.js +25 -1
- package/dist/defaults/schemas/dashDefaultSchema.js +14 -1
- package/dist/defaults/schemas/demo/dashDefaultTodoSchema.js +24 -1
- package/dist/defaults/schemas/demo/index.js +4 -1
- package/dist/defaults/schemas/index.js +7 -1
- package/dist/filters/demo/todoFilters.js +36 -1
- package/dist/index.js +56 -5975
- package/dist/resources/demo/todoResource.js +58 -1
- package/dist/schemas/defaultSchema.js +14 -1
- package/dist/schemas/demo/todoSchema.js +24 -1
- package/package.json +132 -77
- package/src/DashApp.tsx +294 -0
- package/src/DashAppLoader.tsx +717 -0
- package/src/DashDefaultResources.tsx +10 -0
- package/src/components/DashDefaultPrivateApp.tsx +358 -0
- package/src/components/DashDefaultPrivateResources.tsx +10 -0
- package/src/components/DashDefaultPublicApp.tsx +40 -0
- package/src/components/DashResourceLoader.tsx +564 -0
- package/src/defaults/extensions/bootstrap/DashDefaultErrorBoundary.tsx +113 -0
- package/src/defaults/extensions/bootstrap/dashDefaultInitializeApp.ts +81 -0
- package/src/defaults/extensions/bootstrap/index.ts +32 -0
- package/src/defaults/extensions/components/DashDefaultLoader.tsx +59 -0
- package/src/defaults/extensions/components/dashDefaultAutoAdminComponents.tsx +49 -0
- package/src/defaults/extensions/components/dashDefaultNotification.tsx +37 -0
- package/src/defaults/extensions/components/dashDefaultStaticComponents.tsx +34 -0
- package/src/defaults/extensions/components/index.ts +17 -0
- package/src/defaults/extensions/electron/dashDefaultIpcListeners.ts +62 -0
- package/src/defaults/extensions/electron/index.ts +7 -0
- package/src/defaults/extensions/hooks/index.ts +11 -0
- package/src/defaults/extensions/hooks/useDashDefaultLazyAutoAdminComponents.ts +25 -0
- package/src/defaults/extensions/hooks/useDashDefaultLazyI18nProvider.ts +38 -0
- package/src/defaults/extensions/hooks/useDashDefaultLazyResources.ts +29 -0
- package/src/defaults/extensions/hooks/useDashDefaultMountTracker.ts +28 -0
- package/src/defaults/extensions/hooks/useDashDefaultRoutePath.ts +27 -0
- package/src/defaults/extensions/i18n/dashDefaultI18nProvider.ts +66 -0
- package/src/defaults/extensions/i18n/dashDefaultTranslations.ts +82 -0
- package/src/defaults/extensions/i18n/index.ts +22 -0
- package/src/defaults/extensions/index.ts +177 -0
- package/src/defaults/extensions/layout/dashDefaultDomainAppLayout.tsx +126 -0
- package/src/defaults/extensions/layout/index.ts +12 -0
- package/src/defaults/extensions/managers/DashDefaultWSMessagesManager.tsx +99 -0
- package/src/defaults/extensions/managers/index.ts +7 -0
- package/src/defaults/extensions/providers/dashDefaultAuthProvider.ts +256 -0
- package/src/defaults/extensions/providers/dashDefaultDataProvider.ts +513 -0
- package/src/defaults/extensions/providers/index.ts +25 -0
- package/src/defaults/extensions/router/DashDefaultLanding.tsx +51 -0
- package/src/defaults/extensions/router/dashDefaultPrivateRoutes.tsx +50 -0
- package/src/defaults/extensions/router/dashDefaultPublicRoutes.tsx +86 -0
- package/src/defaults/extensions/router/dashDefaultRouter.tsx +54 -0
- package/src/defaults/extensions/router/dashDefaultSharedRoutes.tsx +56 -0
- package/src/defaults/extensions/router/index.ts +13 -0
- package/src/defaults/extensions/state/dashDefaultAppCommon.ts +54 -0
- package/src/defaults/extensions/state/dashDefaultAppSettings.ts +29 -0
- package/src/defaults/extensions/state/dashDefaultInitialAppState.ts +75 -0
- package/src/defaults/extensions/state/dashDefaultLayoutSettings.ts +59 -0
- package/src/defaults/extensions/state/dashDefaultQueryClient.ts +59 -0
- package/src/defaults/extensions/state/dashDefaultResourcesIcons.tsx +23 -0
- package/src/defaults/extensions/state/index.ts +29 -0
- package/src/defaults/extensions/styles/index.ts +17 -0
- package/src/defaults/extensions/theme/dashDefaultThemeOptions.ts +89 -0
- package/src/defaults/extensions/theme/index.ts +7 -0
- package/src/defaults/extensions/utils/IPCMessageBrokerContext.tsx +22 -0
- package/src/defaults/extensions/utils/dashDefaultAuthProviderUtils.ts +36 -0
- package/src/defaults/extensions/utils/dashDefaultDataProviderUtils.ts +46 -0
- package/src/defaults/extensions/utils/dashDefaultNotificationsProcessor.tsx +208 -0
- package/src/defaults/extensions/utils/index.ts +42 -0
- package/src/defaults/filters/demo/dashDefaultDemoFilters.tsx +50 -0
- package/src/defaults/filters/demo/index.ts +6 -0
- package/src/defaults/filters/index.ts +11 -0
- package/src/defaults/index.ts +27 -0
- package/src/defaults/pages/Account/DashDefaultRegister.tsx +281 -0
- package/src/defaults/pages/Account/DashDefaultSignUp.tsx +492 -0
- package/src/defaults/pages/Account/DashDefaultSignUpSuccess.tsx +113 -0
- package/src/defaults/pages/Account/index.ts +8 -0
- package/src/defaults/pages/DashDefaultLogin.tsx +224 -0
- package/src/defaults/pages/Misc/DashDefaultNotFound.tsx +96 -0
- package/src/defaults/pages/Misc/DashDefaultServerError.tsx +102 -0
- package/src/defaults/pages/Misc/DashDefaultUnauthorized.tsx +116 -0
- package/src/defaults/pages/Misc/index.ts +8 -0
- package/src/defaults/pages/Static/DashDefaultPrivacyPage.tsx +85 -0
- package/src/defaults/pages/Static/DashDefaultStaticPage.tsx +75 -0
- package/src/defaults/pages/Static/DashDefaultTermsPage.tsx +69 -0
- package/src/defaults/pages/Static/index.ts +8 -0
- package/src/defaults/pages/index.ts +28 -0
- package/src/defaults/schemas/dashDefaultSchema.tsx +25 -0
- package/src/defaults/schemas/demo/dashDefaultTodoSchema.tsx +39 -0
- package/src/defaults/schemas/demo/index.ts +6 -0
- package/src/defaults/schemas/index.ts +14 -0
- package/src/filters/demo/todoFilters.tsx +39 -0
- package/src/index.ts +131 -0
- package/src/resources/demo/todoResource.tsx +68 -0
- package/src/schemas/defaultSchema.tsx +14 -0
- package/src/schemas/demo/todoSchema.tsx +27 -0
|
@@ -1 +1,218 @@
|
|
|
1
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __async = (__this, __arguments, generator) => {
|
|
21
|
+
return new Promise((resolve, reject) => {
|
|
22
|
+
var fulfilled = (value) => {
|
|
23
|
+
try {
|
|
24
|
+
step(generator.next(value));
|
|
25
|
+
} catch (e) {
|
|
26
|
+
reject(e);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
var rejected = (value) => {
|
|
30
|
+
try {
|
|
31
|
+
step(generator.throw(value));
|
|
32
|
+
} catch (e) {
|
|
33
|
+
reject(e);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
37
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
41
|
+
import { useEffect, useState } from "react";
|
|
42
|
+
import { useForm } from "react-hook-form";
|
|
43
|
+
import { Button as LoadingButton } from "@mui/material";
|
|
44
|
+
import Button from "@mui/material/Button";
|
|
45
|
+
import Link from "@mui/material/Link";
|
|
46
|
+
import Alert from "@mui/material/Alert";
|
|
47
|
+
import Box from "@mui/material/Box";
|
|
48
|
+
import { IconButton, InputAdornment, TextField } from "@mui/material";
|
|
49
|
+
import { useNavigate } from "react-router";
|
|
50
|
+
import VisibilityOff from "@mui/icons-material/VisibilityOff";
|
|
51
|
+
import Visibility from "@mui/icons-material/Visibility";
|
|
52
|
+
import FullLayoutMarkup from "dash-admin/src/default-theme/FullLayoutMarkup";
|
|
53
|
+
import { AuthPersistenceService } from "dash-auth";
|
|
54
|
+
import authService from "dash-admin/src/contexts/auth/DASHAuthenticationService";
|
|
55
|
+
import { dashStorage } from "dash-utils";
|
|
56
|
+
const EMAIL_REGEX = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
|
|
57
|
+
const LoginPage = () => {
|
|
58
|
+
var _a, _b, _c, _d;
|
|
59
|
+
const navigate = useNavigate();
|
|
60
|
+
const validateEmail = (value) => {
|
|
61
|
+
return EMAIL_REGEX.test(value);
|
|
62
|
+
};
|
|
63
|
+
const [loggedIn, setLoggedIn] = useState(() => {
|
|
64
|
+
const isValidAuth = AuthPersistenceService.isAuthValid();
|
|
65
|
+
const storageAuthenticated = JSON.parse(dashStorage.getItem("authenticated") || "false");
|
|
66
|
+
return isValidAuth && storageAuthenticated;
|
|
67
|
+
});
|
|
68
|
+
const [loginLoading, setLoginLoading] = useState(false);
|
|
69
|
+
const [errorMessage, setErrorMessage] = useState(null);
|
|
70
|
+
const [showPassword, setShowPassword] = useState(false);
|
|
71
|
+
const form = useForm();
|
|
72
|
+
const {
|
|
73
|
+
register,
|
|
74
|
+
handleSubmit,
|
|
75
|
+
formState: { errors }
|
|
76
|
+
} = form;
|
|
77
|
+
useEffect(() => {
|
|
78
|
+
const isValidAuth = AuthPersistenceService.isAuthValid();
|
|
79
|
+
const storageAuthenticated = JSON.parse(dashStorage.getItem("authenticated") || "false");
|
|
80
|
+
if (isValidAuth && storageAuthenticated) {
|
|
81
|
+
console.log("User is already authenticated");
|
|
82
|
+
setLoggedIn(true);
|
|
83
|
+
} else {
|
|
84
|
+
console.log("User is not authenticated");
|
|
85
|
+
setLoggedIn(false);
|
|
86
|
+
}
|
|
87
|
+
}, []);
|
|
88
|
+
const handleClickShowPassword = () => setShowPassword((show) => !show);
|
|
89
|
+
const handleMouseDownPassword = (event) => {
|
|
90
|
+
event.preventDefault();
|
|
91
|
+
};
|
|
92
|
+
function onSubmit(data) {
|
|
93
|
+
return __async(this, null, function* () {
|
|
94
|
+
var _a2, _b2;
|
|
95
|
+
const password = data.password;
|
|
96
|
+
setLoginLoading(true);
|
|
97
|
+
setErrorMessage(null);
|
|
98
|
+
try {
|
|
99
|
+
console.log("Attempting login with DASHAuthenticationService...");
|
|
100
|
+
const response = yield authService.login({
|
|
101
|
+
username: data.email,
|
|
102
|
+
password,
|
|
103
|
+
redirect: window.location.pathname
|
|
104
|
+
});
|
|
105
|
+
console.log("Login response:", response);
|
|
106
|
+
if (!response.success) {
|
|
107
|
+
throw new Error(response.error || "Login failed");
|
|
108
|
+
}
|
|
109
|
+
console.log("Login successful!");
|
|
110
|
+
setLoginLoading(false);
|
|
111
|
+
setLoggedIn(true);
|
|
112
|
+
if (response.redirectAfterLogin) {
|
|
113
|
+
console.log("Redirecting to:", response.redirectAfterLogin);
|
|
114
|
+
navigate(response.redirectAfterLogin);
|
|
115
|
+
} else {
|
|
116
|
+
navigate("/");
|
|
117
|
+
}
|
|
118
|
+
} catch (error) {
|
|
119
|
+
console.error("Login error:", error);
|
|
120
|
+
setLoginLoading(false);
|
|
121
|
+
let eMessage = "Credenciales inv\xE1lidas";
|
|
122
|
+
if ((_b2 = (_a2 = error == null ? void 0 : error.response) == null ? void 0 : _a2.data) == null ? void 0 : _b2.message) {
|
|
123
|
+
eMessage = error.response.data.message;
|
|
124
|
+
} else if (error == null ? void 0 : error.error) {
|
|
125
|
+
eMessage = error.error;
|
|
126
|
+
} else if (error == null ? void 0 : error.message) {
|
|
127
|
+
eMessage = error.message;
|
|
128
|
+
}
|
|
129
|
+
setErrorMessage(eMessage);
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
const horizontal_logo = (_b = (_a = AuthPersistenceService.getTenantImages()) == null ? void 0 : _a.horizontal_logo) == null ? void 0 : _b.original;
|
|
134
|
+
const banner = (_d = (_c = AuthPersistenceService.getTenantImages()) == null ? void 0 : _c.banner) == null ? void 0 : _d.original;
|
|
135
|
+
return /* @__PURE__ */ jsx(
|
|
136
|
+
FullLayoutMarkup,
|
|
137
|
+
{
|
|
138
|
+
logo: horizontal_logo,
|
|
139
|
+
loginBackground: banner,
|
|
140
|
+
children: /* @__PURE__ */ jsx(Fragment, { children: !loggedIn ? /* @__PURE__ */ jsxs(
|
|
141
|
+
"form",
|
|
142
|
+
{
|
|
143
|
+
onSubmit: handleSubmit(onSubmit),
|
|
144
|
+
className: "dash-app-login-form",
|
|
145
|
+
children: [
|
|
146
|
+
/* @__PURE__ */ jsxs("div", { className: "dash-app-form-item", children: [
|
|
147
|
+
/* @__PURE__ */ jsx(
|
|
148
|
+
TextField,
|
|
149
|
+
__spreadProps(__spreadValues({
|
|
150
|
+
label: "Email",
|
|
151
|
+
placeholder: "Email",
|
|
152
|
+
required: true
|
|
153
|
+
}, register("email", { validate: validateEmail })), {
|
|
154
|
+
className: "dash-app-form-item-input"
|
|
155
|
+
})
|
|
156
|
+
),
|
|
157
|
+
errors.email && /* @__PURE__ */ jsx("span", { style: { color: "red" }, children: errors.email.message ? String(errors.email.message) : "Email inv\xE1lido" })
|
|
158
|
+
] }),
|
|
159
|
+
/* @__PURE__ */ jsxs("div", { className: "dash-app-form-item", children: [
|
|
160
|
+
/* @__PURE__ */ jsx(
|
|
161
|
+
TextField,
|
|
162
|
+
__spreadProps(__spreadValues({
|
|
163
|
+
label: "Contrase\xF1a",
|
|
164
|
+
placeholder: "Contrase\xF1a"
|
|
165
|
+
}, register("password")), {
|
|
166
|
+
className: "dash-app-form-item-input",
|
|
167
|
+
InputProps: {
|
|
168
|
+
autoComplete: "password",
|
|
169
|
+
type: showPassword ? "text" : "password",
|
|
170
|
+
endAdornment: /* @__PURE__ */ jsx(InputAdornment, { position: "end", children: /* @__PURE__ */ jsx(
|
|
171
|
+
IconButton,
|
|
172
|
+
{
|
|
173
|
+
"aria-label": "toggle password visibility",
|
|
174
|
+
onClick: handleClickShowPassword,
|
|
175
|
+
onMouseDown: handleMouseDownPassword,
|
|
176
|
+
edge: "end",
|
|
177
|
+
children: showPassword ? /* @__PURE__ */ jsx(VisibilityOff, {}) : /* @__PURE__ */ jsx(Visibility, {})
|
|
178
|
+
}
|
|
179
|
+
) })
|
|
180
|
+
}
|
|
181
|
+
})
|
|
182
|
+
),
|
|
183
|
+
errors.password && /* @__PURE__ */ jsx("span", { style: { color: "red" }, children: errors.password.message ? String(errors.password.message) : "Contrase\xF1a Inv\xE1lida" }),
|
|
184
|
+
/* @__PURE__ */ jsx(
|
|
185
|
+
Link,
|
|
186
|
+
{
|
|
187
|
+
className: "link link--secondary",
|
|
188
|
+
style: { marginLeft: "auto" },
|
|
189
|
+
href: "/reset-password",
|
|
190
|
+
children: "Resetear contrase\xF1a"
|
|
191
|
+
}
|
|
192
|
+
)
|
|
193
|
+
] }),
|
|
194
|
+
errorMessage && /* @__PURE__ */ jsx(Box, { sx: { mb: 2 }, children: /* @__PURE__ */ jsx(Alert, { severity: "error", variant: "filled", children: errorMessage }) }),
|
|
195
|
+
/* @__PURE__ */ jsx("div", { className: "dash-app-form-item mt-1", children: /* @__PURE__ */ jsx(
|
|
196
|
+
LoadingButton,
|
|
197
|
+
{
|
|
198
|
+
style: { marginBottom: "21px" },
|
|
199
|
+
className: "submit",
|
|
200
|
+
type: "submit",
|
|
201
|
+
disabled: loginLoading,
|
|
202
|
+
variant: "contained",
|
|
203
|
+
children: loginLoading ? "Cargando..." : "Ingresar"
|
|
204
|
+
}
|
|
205
|
+
) })
|
|
206
|
+
]
|
|
207
|
+
}
|
|
208
|
+
) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
209
|
+
/* @__PURE__ */ jsx("div", { className: "dash-app-form-item", children: "Ya se encuentra logueado" }),
|
|
210
|
+
/* @__PURE__ */ jsx(Button, { onClick: () => navigate("/"), children: "Ir al Home" })
|
|
211
|
+
] }) })
|
|
212
|
+
}
|
|
213
|
+
);
|
|
214
|
+
};
|
|
215
|
+
var DashDefaultLogin_default = LoginPage;
|
|
216
|
+
export {
|
|
217
|
+
DashDefaultLogin_default as default
|
|
218
|
+
};
|
|
@@ -1 +1,74 @@
|
|
|
1
|
-
import{jsx
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useNavigate } from "react-router-dom";
|
|
3
|
+
import {
|
|
4
|
+
Box,
|
|
5
|
+
Typography,
|
|
6
|
+
Button,
|
|
7
|
+
Container,
|
|
8
|
+
Paper
|
|
9
|
+
} from "@mui/material";
|
|
10
|
+
import ErrorOutlineIcon from "@mui/icons-material/ErrorOutline";
|
|
11
|
+
import HomeIcon from "@mui/icons-material/Home";
|
|
12
|
+
import ArrowBackIcon from "@mui/icons-material/ArrowBack";
|
|
13
|
+
const DefaultNotFound = ({
|
|
14
|
+
title = "Page Not Found",
|
|
15
|
+
message = "The page you are looking for does not exist or has been moved.",
|
|
16
|
+
showHomeButton = true,
|
|
17
|
+
showBackButton = true
|
|
18
|
+
}) => {
|
|
19
|
+
const navigate = useNavigate();
|
|
20
|
+
const handleGoBack = () => {
|
|
21
|
+
navigate(-1);
|
|
22
|
+
};
|
|
23
|
+
const handleGoHome = () => {
|
|
24
|
+
navigate("/");
|
|
25
|
+
};
|
|
26
|
+
return /* @__PURE__ */ jsx(Container, { maxWidth: "sm", children: /* @__PURE__ */ jsxs(
|
|
27
|
+
Paper,
|
|
28
|
+
{
|
|
29
|
+
elevation: 0,
|
|
30
|
+
sx: {
|
|
31
|
+
p: 4,
|
|
32
|
+
textAlign: "center",
|
|
33
|
+
mt: 8
|
|
34
|
+
},
|
|
35
|
+
children: [
|
|
36
|
+
/* @__PURE__ */ jsx(
|
|
37
|
+
ErrorOutlineIcon,
|
|
38
|
+
{
|
|
39
|
+
color: "warning",
|
|
40
|
+
sx: { fontSize: 100, mb: 3 }
|
|
41
|
+
}
|
|
42
|
+
),
|
|
43
|
+
/* @__PURE__ */ jsx(Typography, { variant: "h1", component: "h1", sx: { fontWeight: "bold", mb: 2 }, children: "404" }),
|
|
44
|
+
/* @__PURE__ */ jsx(Typography, { variant: "h5", component: "h2", gutterBottom: true, children: title }),
|
|
45
|
+
/* @__PURE__ */ jsx(Typography, { variant: "body1", color: "textSecondary", paragraph: true, children: message }),
|
|
46
|
+
/* @__PURE__ */ jsxs(Box, { sx: { mt: 4, display: "flex", justifyContent: "center", gap: 2, flexWrap: "wrap" }, children: [
|
|
47
|
+
showBackButton && /* @__PURE__ */ jsx(
|
|
48
|
+
Button,
|
|
49
|
+
{
|
|
50
|
+
variant: "outlined",
|
|
51
|
+
startIcon: /* @__PURE__ */ jsx(ArrowBackIcon, {}),
|
|
52
|
+
onClick: handleGoBack,
|
|
53
|
+
children: "Go Back"
|
|
54
|
+
}
|
|
55
|
+
),
|
|
56
|
+
showHomeButton && /* @__PURE__ */ jsx(
|
|
57
|
+
Button,
|
|
58
|
+
{
|
|
59
|
+
variant: "contained",
|
|
60
|
+
color: "primary",
|
|
61
|
+
startIcon: /* @__PURE__ */ jsx(HomeIcon, {}),
|
|
62
|
+
onClick: handleGoHome,
|
|
63
|
+
children: "Go to Home"
|
|
64
|
+
}
|
|
65
|
+
)
|
|
66
|
+
] })
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
) });
|
|
70
|
+
};
|
|
71
|
+
var DashDefaultNotFound_default = DefaultNotFound;
|
|
72
|
+
export {
|
|
73
|
+
DashDefaultNotFound_default as default
|
|
74
|
+
};
|
|
@@ -1 +1,79 @@
|
|
|
1
|
-
import{jsx
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useNavigate } from "react-router-dom";
|
|
3
|
+
import {
|
|
4
|
+
Box,
|
|
5
|
+
Typography,
|
|
6
|
+
Button,
|
|
7
|
+
Container,
|
|
8
|
+
Paper
|
|
9
|
+
} from "@mui/material";
|
|
10
|
+
import ReportProblemIcon from "@mui/icons-material/ReportProblem";
|
|
11
|
+
import HomeIcon from "@mui/icons-material/Home";
|
|
12
|
+
import RefreshIcon from "@mui/icons-material/Refresh";
|
|
13
|
+
const DefaultServerError = ({
|
|
14
|
+
title = "Server Error",
|
|
15
|
+
message = "Something went wrong on our end. Please try again later.",
|
|
16
|
+
showHomeButton = true,
|
|
17
|
+
showRetryButton = true,
|
|
18
|
+
onRetry
|
|
19
|
+
}) => {
|
|
20
|
+
const navigate = useNavigate();
|
|
21
|
+
const handleRetry = () => {
|
|
22
|
+
if (onRetry) {
|
|
23
|
+
onRetry();
|
|
24
|
+
} else {
|
|
25
|
+
window.location.reload();
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const handleGoHome = () => {
|
|
29
|
+
navigate("/");
|
|
30
|
+
};
|
|
31
|
+
return /* @__PURE__ */ jsx(Container, { maxWidth: "sm", children: /* @__PURE__ */ jsxs(
|
|
32
|
+
Paper,
|
|
33
|
+
{
|
|
34
|
+
elevation: 0,
|
|
35
|
+
sx: {
|
|
36
|
+
p: 4,
|
|
37
|
+
textAlign: "center",
|
|
38
|
+
mt: 8
|
|
39
|
+
},
|
|
40
|
+
children: [
|
|
41
|
+
/* @__PURE__ */ jsx(
|
|
42
|
+
ReportProblemIcon,
|
|
43
|
+
{
|
|
44
|
+
color: "error",
|
|
45
|
+
sx: { fontSize: 100, mb: 3 }
|
|
46
|
+
}
|
|
47
|
+
),
|
|
48
|
+
/* @__PURE__ */ jsx(Typography, { variant: "h1", component: "h1", sx: { fontWeight: "bold", mb: 2 }, children: "500" }),
|
|
49
|
+
/* @__PURE__ */ jsx(Typography, { variant: "h5", component: "h2", gutterBottom: true, children: title }),
|
|
50
|
+
/* @__PURE__ */ jsx(Typography, { variant: "body1", color: "textSecondary", paragraph: true, children: message }),
|
|
51
|
+
/* @__PURE__ */ jsxs(Box, { sx: { mt: 4, display: "flex", justifyContent: "center", gap: 2, flexWrap: "wrap" }, children: [
|
|
52
|
+
showRetryButton && /* @__PURE__ */ jsx(
|
|
53
|
+
Button,
|
|
54
|
+
{
|
|
55
|
+
variant: "contained",
|
|
56
|
+
color: "primary",
|
|
57
|
+
startIcon: /* @__PURE__ */ jsx(RefreshIcon, {}),
|
|
58
|
+
onClick: handleRetry,
|
|
59
|
+
children: "Try Again"
|
|
60
|
+
}
|
|
61
|
+
),
|
|
62
|
+
showHomeButton && /* @__PURE__ */ jsx(
|
|
63
|
+
Button,
|
|
64
|
+
{
|
|
65
|
+
variant: "outlined",
|
|
66
|
+
startIcon: /* @__PURE__ */ jsx(HomeIcon, {}),
|
|
67
|
+
onClick: handleGoHome,
|
|
68
|
+
children: "Go to Home"
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
] })
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
) });
|
|
75
|
+
};
|
|
76
|
+
var DashDefaultServerError_default = DefaultServerError;
|
|
77
|
+
export {
|
|
78
|
+
DashDefaultServerError_default as default
|
|
79
|
+
};
|
|
@@ -1 +1,90 @@
|
|
|
1
|
-
import{jsx
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useNavigate } from "react-router-dom";
|
|
3
|
+
import {
|
|
4
|
+
Box,
|
|
5
|
+
Typography,
|
|
6
|
+
Button,
|
|
7
|
+
Container,
|
|
8
|
+
Paper
|
|
9
|
+
} from "@mui/material";
|
|
10
|
+
import LockIcon from "@mui/icons-material/Lock";
|
|
11
|
+
import HomeIcon from "@mui/icons-material/Home";
|
|
12
|
+
import ArrowBackIcon from "@mui/icons-material/ArrowBack";
|
|
13
|
+
import LoginIcon from "@mui/icons-material/Login";
|
|
14
|
+
const DefaultUnauthorized = ({
|
|
15
|
+
title = "Access Denied",
|
|
16
|
+
message = "You do not have permission to access this page.",
|
|
17
|
+
showHomeButton = true,
|
|
18
|
+
showBackButton = true,
|
|
19
|
+
showLoginButton = true,
|
|
20
|
+
isLoggedIn = false
|
|
21
|
+
}) => {
|
|
22
|
+
const navigate = useNavigate();
|
|
23
|
+
const handleGoBack = () => {
|
|
24
|
+
navigate(-1);
|
|
25
|
+
};
|
|
26
|
+
const handleGoHome = () => {
|
|
27
|
+
navigate("/");
|
|
28
|
+
};
|
|
29
|
+
const handleGoLogin = () => {
|
|
30
|
+
navigate("/login");
|
|
31
|
+
};
|
|
32
|
+
return /* @__PURE__ */ jsx(Container, { maxWidth: "sm", children: /* @__PURE__ */ jsxs(
|
|
33
|
+
Paper,
|
|
34
|
+
{
|
|
35
|
+
elevation: 0,
|
|
36
|
+
sx: {
|
|
37
|
+
p: 4,
|
|
38
|
+
textAlign: "center",
|
|
39
|
+
mt: 8
|
|
40
|
+
},
|
|
41
|
+
children: [
|
|
42
|
+
/* @__PURE__ */ jsx(
|
|
43
|
+
LockIcon,
|
|
44
|
+
{
|
|
45
|
+
color: "error",
|
|
46
|
+
sx: { fontSize: 100, mb: 3 }
|
|
47
|
+
}
|
|
48
|
+
),
|
|
49
|
+
/* @__PURE__ */ jsx(Typography, { variant: "h1", component: "h1", sx: { fontWeight: "bold", mb: 2 }, children: "403" }),
|
|
50
|
+
/* @__PURE__ */ jsx(Typography, { variant: "h5", component: "h2", gutterBottom: true, children: title }),
|
|
51
|
+
/* @__PURE__ */ jsx(Typography, { variant: "body1", color: "textSecondary", paragraph: true, children: message }),
|
|
52
|
+
/* @__PURE__ */ jsxs(Box, { sx: { mt: 4, display: "flex", justifyContent: "center", gap: 2, flexWrap: "wrap" }, children: [
|
|
53
|
+
showBackButton && /* @__PURE__ */ jsx(
|
|
54
|
+
Button,
|
|
55
|
+
{
|
|
56
|
+
variant: "outlined",
|
|
57
|
+
startIcon: /* @__PURE__ */ jsx(ArrowBackIcon, {}),
|
|
58
|
+
onClick: handleGoBack,
|
|
59
|
+
children: "Go Back"
|
|
60
|
+
}
|
|
61
|
+
),
|
|
62
|
+
showHomeButton && /* @__PURE__ */ jsx(
|
|
63
|
+
Button,
|
|
64
|
+
{
|
|
65
|
+
variant: "contained",
|
|
66
|
+
color: "primary",
|
|
67
|
+
startIcon: /* @__PURE__ */ jsx(HomeIcon, {}),
|
|
68
|
+
onClick: handleGoHome,
|
|
69
|
+
children: "Go to Home"
|
|
70
|
+
}
|
|
71
|
+
),
|
|
72
|
+
showLoginButton && !isLoggedIn && /* @__PURE__ */ jsx(
|
|
73
|
+
Button,
|
|
74
|
+
{
|
|
75
|
+
variant: "outlined",
|
|
76
|
+
color: "primary",
|
|
77
|
+
startIcon: /* @__PURE__ */ jsx(LoginIcon, {}),
|
|
78
|
+
onClick: handleGoLogin,
|
|
79
|
+
children: "Login"
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
] })
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
) });
|
|
86
|
+
};
|
|
87
|
+
var DashDefaultUnauthorized_default = DefaultUnauthorized;
|
|
88
|
+
export {
|
|
89
|
+
DashDefaultUnauthorized_default as default
|
|
90
|
+
};
|
|
@@ -1 +1,8 @@
|
|
|
1
|
-
import{default as
|
|
1
|
+
import { default as default2 } from "./DashDefaultNotFound";
|
|
2
|
+
import { default as default3 } from "./DashDefaultUnauthorized";
|
|
3
|
+
import { default as default4 } from "./DashDefaultServerError";
|
|
4
|
+
export {
|
|
5
|
+
default2 as DashDefaultNotFound,
|
|
6
|
+
default4 as DashDefaultServerError,
|
|
7
|
+
default3 as DashDefaultUnauthorized
|
|
8
|
+
};
|
|
@@ -1 +1,48 @@
|
|
|
1
|
-
import{jsx
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import DashDefaultStaticPage from "./DashDefaultStaticPage";
|
|
3
|
+
const DefaultPrivacyPage = ({
|
|
4
|
+
companyName = "Our Company",
|
|
5
|
+
effectiveDate = (/* @__PURE__ */ new Date()).toLocaleDateString(),
|
|
6
|
+
contactEmail = "privacy@example.com",
|
|
7
|
+
content
|
|
8
|
+
}) => {
|
|
9
|
+
const defaultContent = /* @__PURE__ */ jsxs("div", { children: [
|
|
10
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
11
|
+
/* @__PURE__ */ jsx("strong", { children: "Effective Date:" }),
|
|
12
|
+
" ",
|
|
13
|
+
effectiveDate
|
|
14
|
+
] }),
|
|
15
|
+
/* @__PURE__ */ jsx("h2", { children: "1. Information We Collect" }),
|
|
16
|
+
/* @__PURE__ */ jsx("p", { children: "We collect information you provide directly to us, such as when you create an account, make a purchase, or contact us for support." }),
|
|
17
|
+
/* @__PURE__ */ jsx("h2", { children: "2. How We Use Your Information" }),
|
|
18
|
+
/* @__PURE__ */ jsx("p", { children: "We use the information we collect to provide, maintain, and improve our services, process transactions, and send you technical notices and support messages." }),
|
|
19
|
+
/* @__PURE__ */ jsx("h2", { children: "3. Information Sharing" }),
|
|
20
|
+
/* @__PURE__ */ jsx("p", { children: "We do not share your personal information with third parties except as described in this privacy policy or with your consent." }),
|
|
21
|
+
/* @__PURE__ */ jsx("h2", { children: "4. Data Security" }),
|
|
22
|
+
/* @__PURE__ */ jsx("p", { children: "We take reasonable measures to help protect information about you from loss, theft, misuse, unauthorized access, disclosure, alteration, and destruction." }),
|
|
23
|
+
/* @__PURE__ */ jsx("h2", { children: "5. Your Rights" }),
|
|
24
|
+
/* @__PURE__ */ jsx("p", { children: "You have the right to access, correct, or delete your personal information. You may also have the right to restrict or object to certain processing of your data." }),
|
|
25
|
+
/* @__PURE__ */ jsx("h2", { children: "6. Cookies" }),
|
|
26
|
+
/* @__PURE__ */ jsx("p", { children: "We use cookies and similar tracking technologies to track activity on our service and hold certain information to improve and analyze our service." }),
|
|
27
|
+
/* @__PURE__ */ jsx("h2", { children: "7. Changes to This Policy" }),
|
|
28
|
+
/* @__PURE__ */ jsx("p", { children: "We may update this privacy policy from time to time. We will notify you of any changes by posting the new privacy policy on this page." }),
|
|
29
|
+
/* @__PURE__ */ jsx("h2", { children: "8. Contact Us" }),
|
|
30
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
31
|
+
"If you have any questions about this Privacy Policy, please contact us at",
|
|
32
|
+
" ",
|
|
33
|
+
/* @__PURE__ */ jsx("a", { href: `mailto:${contactEmail}`, children: contactEmail }),
|
|
34
|
+
"."
|
|
35
|
+
] })
|
|
36
|
+
] });
|
|
37
|
+
return /* @__PURE__ */ jsx(
|
|
38
|
+
DashDefaultStaticPage,
|
|
39
|
+
{
|
|
40
|
+
title: "Privacy Policy",
|
|
41
|
+
content: content || defaultContent
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
};
|
|
45
|
+
var DashDefaultPrivacyPage_default = DefaultPrivacyPage;
|
|
46
|
+
export {
|
|
47
|
+
DashDefaultPrivacyPage_default as default
|
|
48
|
+
};
|
|
@@ -1 +1,55 @@
|
|
|
1
|
-
import{jsx
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useNavigate } from "react-router-dom";
|
|
3
|
+
import {
|
|
4
|
+
Box,
|
|
5
|
+
Typography,
|
|
6
|
+
Button,
|
|
7
|
+
Container,
|
|
8
|
+
Paper
|
|
9
|
+
} from "@mui/material";
|
|
10
|
+
import ArrowBackIcon from "@mui/icons-material/ArrowBack";
|
|
11
|
+
const DefaultStaticPage = ({
|
|
12
|
+
title = "Static Page",
|
|
13
|
+
content,
|
|
14
|
+
showBackButton = true,
|
|
15
|
+
maxWidth = "md"
|
|
16
|
+
}) => {
|
|
17
|
+
const navigate = useNavigate();
|
|
18
|
+
const handleGoBack = () => {
|
|
19
|
+
navigate(-1);
|
|
20
|
+
};
|
|
21
|
+
return /* @__PURE__ */ jsx(Container, { maxWidth, children: /* @__PURE__ */ jsxs(
|
|
22
|
+
Paper,
|
|
23
|
+
{
|
|
24
|
+
elevation: 0,
|
|
25
|
+
sx: {
|
|
26
|
+
p: 4,
|
|
27
|
+
my: 4
|
|
28
|
+
},
|
|
29
|
+
children: [
|
|
30
|
+
showBackButton && /* @__PURE__ */ jsx(Box, { sx: { mb: 3 }, children: /* @__PURE__ */ jsx(
|
|
31
|
+
Button,
|
|
32
|
+
{
|
|
33
|
+
variant: "text",
|
|
34
|
+
startIcon: /* @__PURE__ */ jsx(ArrowBackIcon, {}),
|
|
35
|
+
onClick: handleGoBack,
|
|
36
|
+
children: "Back"
|
|
37
|
+
}
|
|
38
|
+
) }),
|
|
39
|
+
/* @__PURE__ */ jsx(Typography, { variant: "h4", component: "h1", gutterBottom: true, children: title }),
|
|
40
|
+
typeof content === "string" ? /* @__PURE__ */ jsx(
|
|
41
|
+
Typography,
|
|
42
|
+
{
|
|
43
|
+
variant: "body1",
|
|
44
|
+
component: "div",
|
|
45
|
+
dangerouslySetInnerHTML: { __html: content }
|
|
46
|
+
}
|
|
47
|
+
) : content
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
) });
|
|
51
|
+
};
|
|
52
|
+
var DashDefaultStaticPage_default = DefaultStaticPage;
|
|
53
|
+
export {
|
|
54
|
+
DashDefaultStaticPage_default as default
|
|
55
|
+
};
|
|
@@ -1 +1,52 @@
|
|
|
1
|
-
import{jsx
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import DashDefaultStaticPage from "./DashDefaultStaticPage";
|
|
3
|
+
const DefaultTermsPage = ({
|
|
4
|
+
companyName = "Our Company",
|
|
5
|
+
effectiveDate = (/* @__PURE__ */ new Date()).toLocaleDateString(),
|
|
6
|
+
content
|
|
7
|
+
}) => {
|
|
8
|
+
const defaultContent = /* @__PURE__ */ jsxs("div", { children: [
|
|
9
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
10
|
+
/* @__PURE__ */ jsx("strong", { children: "Effective Date:" }),
|
|
11
|
+
" ",
|
|
12
|
+
effectiveDate
|
|
13
|
+
] }),
|
|
14
|
+
/* @__PURE__ */ jsx("h2", { children: "1. Acceptance of Terms" }),
|
|
15
|
+
/* @__PURE__ */ jsx("p", { children: "By accessing and using this service, you accept and agree to be bound by the terms and provision of this agreement." }),
|
|
16
|
+
/* @__PURE__ */ jsx("h2", { children: "2. Use License" }),
|
|
17
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
18
|
+
"Permission is granted to temporarily access the materials (information or software) on ",
|
|
19
|
+
companyName,
|
|
20
|
+
"'s website for personal, non-commercial transitory viewing only."
|
|
21
|
+
] }),
|
|
22
|
+
/* @__PURE__ */ jsx("h2", { children: "3. Disclaimer" }),
|
|
23
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
24
|
+
"The materials on ",
|
|
25
|
+
companyName,
|
|
26
|
+
"'s website are provided on an 'as is' basis.",
|
|
27
|
+
companyName,
|
|
28
|
+
" makes no warranties, expressed or implied, and hereby disclaims and negates all other warranties including, without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights."
|
|
29
|
+
] }),
|
|
30
|
+
/* @__PURE__ */ jsx("h2", { children: "4. Limitations" }),
|
|
31
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
32
|
+
"In no event shall ",
|
|
33
|
+
companyName,
|
|
34
|
+
" or its suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption) arising out of the use or inability to use the materials on ",
|
|
35
|
+
companyName,
|
|
36
|
+
"'s website."
|
|
37
|
+
] }),
|
|
38
|
+
/* @__PURE__ */ jsx("h2", { children: "5. Contact Information" }),
|
|
39
|
+
/* @__PURE__ */ jsx("p", { children: "If you have any questions about these Terms, please contact us." })
|
|
40
|
+
] });
|
|
41
|
+
return /* @__PURE__ */ jsx(
|
|
42
|
+
DashDefaultStaticPage,
|
|
43
|
+
{
|
|
44
|
+
title: "Terms of Service",
|
|
45
|
+
content: content || defaultContent
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
};
|
|
49
|
+
var DashDefaultTermsPage_default = DefaultTermsPage;
|
|
50
|
+
export {
|
|
51
|
+
DashDefaultTermsPage_default as default
|
|
52
|
+
};
|