dq-cus-lib 1.0.0
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 +0 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +24 -0
- package/dist/pages/error.page.d.ts +5 -0
- package/dist/pages/error.page.js +67 -0
- package/dist/pages/landing.page.d.ts +9 -0
- package/dist/pages/landing.page.js +202 -0
- package/dist/pages/layout.page.d.ts +9 -0
- package/dist/pages/layout.page.js +21 -0
- package/dist/pages/logout-error.page.d.ts +8 -0
- package/dist/pages/logout-error.page.js +910 -0
- package/dist/pages/signin.page.d.ts +8 -0
- package/dist/pages/signin.page.js +1065 -0
- package/package.json +92 -0
package/README.md
ADDED
|
File without changes
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// #style-inject:#style-inject
|
|
2
|
+
function styleInject(css, { insertAt } = {}) {
|
|
3
|
+
if (!css || typeof document === "undefined") return;
|
|
4
|
+
const head = document.head || document.getElementsByTagName("head")[0];
|
|
5
|
+
const style = document.createElement("style");
|
|
6
|
+
style.type = "text/css";
|
|
7
|
+
if (insertAt === "top") {
|
|
8
|
+
if (head.firstChild) {
|
|
9
|
+
head.insertBefore(style, head.firstChild);
|
|
10
|
+
} else {
|
|
11
|
+
head.appendChild(style);
|
|
12
|
+
}
|
|
13
|
+
} else {
|
|
14
|
+
head.appendChild(style);
|
|
15
|
+
}
|
|
16
|
+
if (style.styleSheet) {
|
|
17
|
+
style.styleSheet.cssText = css;
|
|
18
|
+
} else {
|
|
19
|
+
style.appendChild(document.createTextNode(css));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// src/styles/index.css
|
|
24
|
+
styleInject(":root {\n --primary-color: #4CA8B4;\n --primary-color-hover: #2E8C99;\n --text-color: #003B4F;\n --disabled-color: #d4d4d4;\n --neutral-color: #ffffff;\n --background-color: #f3f3f3;\n --alert-error: rgba(255, 67, 67);\n --alert-error-hover: rgb(223, 0, 0);\n}\n.full-hw-window {\n min-height: 100vh;\n min-width: 100vw;\n}\n.sign-in-logo {\n width: 200px;\n}\n.wrapped-btn {\n width: auto !important;\n}\n.wrapped-btn-neutral.MuiButton-outlined {\n color: red !important;\n border-color: var(--primary-color) !important;\n background: var(--neutral-color) !important;\n}\n.outlined-btn {\n border: 1px solid var(--primary-color) !important;\n color: var(--primary-color) !important;\n background-color: transparent !important;\n padding: 6px 16px !important;\n font-size: 0.875rem !important;\n font-weight: 500 !important;\n line-height: 1.75 !important;\n border-radius: 4px !important;\n text-transform: uppercase !important;\n transition: all 0.3s ease !important;\n cursor: pointer !important;\n outline: none !important;\n}\n.outlined-btn:hover {\n border: 1px solid var(--primary-color-hover) !important;\n color: var(--primary-color-hover) !important;\n background-color: rgba(var(--primary-color-hover), 0.04) !important;\n}\n.user-option {\n background: none;\n border: none;\n cursor: pointer;\n color: var(--text-color);\n text-align: center;\n font-size: 12px;\n}\n.user-option:hover {\n color: var(--primary-color-hover);\n}\n.header-link {\n font-weight: 700;\n font-size: .85rem;\n}\n.logo-navbar {\n width: 28px;\n}\n.header-toolbar {\n min-height: 32px !important;\n height: auto !important;\n padding-top: 2px !important;\n padding-bottom: 2px !important;\n}\n.header-avatar {\n width: 28px !important;\n height: 28px !important;\n font-size: 14px !important;\n}\n.footer-layer {\n box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.05);\n border-top: 1px solid rgb(216, 216, 216, 0.25);\n}\n");
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// #style-inject:#style-inject
|
|
2
|
+
function styleInject(css, { insertAt } = {}) {
|
|
3
|
+
if (!css || typeof document === "undefined") return;
|
|
4
|
+
const head = document.head || document.getElementsByTagName("head")[0];
|
|
5
|
+
const style = document.createElement("style");
|
|
6
|
+
style.type = "text/css";
|
|
7
|
+
if (insertAt === "top") {
|
|
8
|
+
if (head.firstChild) {
|
|
9
|
+
head.insertBefore(style, head.firstChild);
|
|
10
|
+
} else {
|
|
11
|
+
head.appendChild(style);
|
|
12
|
+
}
|
|
13
|
+
} else {
|
|
14
|
+
head.appendChild(style);
|
|
15
|
+
}
|
|
16
|
+
if (style.styleSheet) {
|
|
17
|
+
style.styleSheet.cssText = css;
|
|
18
|
+
} else {
|
|
19
|
+
style.appendChild(document.createTextNode(css));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// src/components/css/error.page.css
|
|
24
|
+
styleInject(".error-404 {\n font-weight: 800;\n letter-spacing: 0.1em;\n}\n.error-text {\n font-weight: 800;\n}\n@media (max-width: 576px) {\n .error-404 {\n color: var(--alert-error);\n font-size: 18vw;\n }\n .error-emoji {\n font-size: 16vw;\n }\n .error-text {\n font-size: 6vw;\n }\n .error-desc {\n font-size: 3.25vw;\n }\n}\n@media (min-width: 576px) {\n .error-404 {\n color: var(--alert-error);\n font-size: 8vw;\n }\n .error-emoji {\n font-size: 7vw;\n }\n .error-text {\n font-size: 4vw;\n }\n .error-desc {\n font-size: 2vw;\n }\n}\n@media (min-width: 992px) {\n .error-desc {\n font-size: 1.5vw;\n }\n}\n.error-wrapper {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n text-align: center;\n}\n");
|
|
25
|
+
|
|
26
|
+
// src/components/error.page/error.tsx
|
|
27
|
+
import Container from "@mui/material/Container";
|
|
28
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
29
|
+
var Error = () => {
|
|
30
|
+
return /* @__PURE__ */ jsx(Container, { className: "error-wrapper", children: /* @__PURE__ */ jsxs("div", { children: [
|
|
31
|
+
/* @__PURE__ */ jsxs("div", { className: "error-404", children: [
|
|
32
|
+
"4",
|
|
33
|
+
/* @__PURE__ */ jsx("span", { className: "error-emoji", role: "img", "aria-label": "0", children: "\u{1F635}" }),
|
|
34
|
+
"4"
|
|
35
|
+
] }),
|
|
36
|
+
/* @__PURE__ */ jsx("div", { className: "error-text", children: "OOPS! PAGE NOT BE FOUND" }),
|
|
37
|
+
/* @__PURE__ */ jsxs("p", { className: "error-desc mt-2", children: [
|
|
38
|
+
"Sorry, but the page you are looking for does not exist. We must have removed, renamed or never created it ",
|
|
39
|
+
/* @__PURE__ */ jsx("span", { "aria-label": "face", role: "img", children: "\u{1F92A}" })
|
|
40
|
+
] })
|
|
41
|
+
] }) });
|
|
42
|
+
};
|
|
43
|
+
var error_default = Error;
|
|
44
|
+
|
|
45
|
+
// src/pages/error.page.tsx
|
|
46
|
+
import { useEffect } from "react";
|
|
47
|
+
|
|
48
|
+
// src/resources/constants.tsx
|
|
49
|
+
var TITLES = {
|
|
50
|
+
LANDING_PAGE_TITLE: "DheQuest | Analyze and Automate Your Trades with Precision, Maximize Profits, and Stay Ahead of the Market",
|
|
51
|
+
DASHBOARD_PAGE_TITLE: "DheQuest | Your Trading Dashboard - Insights, Performance, and Automation",
|
|
52
|
+
SIGN_IN_PAGE_TITLE: "DheQuest | Securely Sign In to Your Automated Trading Platform",
|
|
53
|
+
ERROR_PAGE_TITLE: "DheQuest | Oops! Something Went Wrong"
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
// src/pages/error.page.tsx
|
|
57
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
58
|
+
var ErrorPage = () => {
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
document.title = TITLES.ERROR_PAGE_TITLE;
|
|
61
|
+
}, []);
|
|
62
|
+
return /* @__PURE__ */ jsx2("div", { children: /* @__PURE__ */ jsx2(error_default, {}) });
|
|
63
|
+
};
|
|
64
|
+
var error_page_default = ErrorPage;
|
|
65
|
+
export {
|
|
66
|
+
error_page_default as default
|
|
67
|
+
};
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
// #style-inject:#style-inject
|
|
2
|
+
function styleInject(css, { insertAt } = {}) {
|
|
3
|
+
if (!css || typeof document === "undefined") return;
|
|
4
|
+
const head = document.head || document.getElementsByTagName("head")[0];
|
|
5
|
+
const style = document.createElement("style");
|
|
6
|
+
style.type = "text/css";
|
|
7
|
+
if (insertAt === "top") {
|
|
8
|
+
if (head.firstChild) {
|
|
9
|
+
head.insertBefore(style, head.firstChild);
|
|
10
|
+
} else {
|
|
11
|
+
head.appendChild(style);
|
|
12
|
+
}
|
|
13
|
+
} else {
|
|
14
|
+
head.appendChild(style);
|
|
15
|
+
}
|
|
16
|
+
if (style.styleSheet) {
|
|
17
|
+
style.styleSheet.cssText = css;
|
|
18
|
+
} else {
|
|
19
|
+
style.appendChild(document.createTextNode(css));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// src/components/css/landing.page.css
|
|
24
|
+
styleInject(".header-logo {\n width: 120px;\n}\n@media (max-width: 992px) {\n .landing-info-header {\n font-size: 36px;\n font-weight: 800;\n line-height: 42px;\n }\n}\n@media (min-width: 992px) {\n .landing-info-header {\n font-size: 36px;\n font-weight: 800;\n }\n}\n.landing-info-sub-header {\n font-size: 16px;\n font-weight: 600;\n line-height: 28px;\n}\n.landing-info-button {\n cursor: pointer;\n background-color: rgb(255, 75, 146);\n border-radius: 25px;\n color: var(--neutral-color);\n border: none;\n font-weight: 800;\n padding-left: 25px;\n padding-right: 25px;\n padding-top: 10px;\n padding-bottom: 10px;\n}\n.title-image-demo {\n max-width: 100%;\n width: 100%;\n}\n");
|
|
25
|
+
|
|
26
|
+
// src/pages/landing.page.tsx
|
|
27
|
+
import { useEffect } from "react";
|
|
28
|
+
import Box5 from "@mui/material/Box";
|
|
29
|
+
|
|
30
|
+
// src/components/landing.page/header.tsx
|
|
31
|
+
import Box from "@mui/material/Box";
|
|
32
|
+
import AppBar from "@mui/material/AppBar";
|
|
33
|
+
import Toolbar from "@mui/material/Toolbar";
|
|
34
|
+
import Stack from "@mui/material/Stack";
|
|
35
|
+
import Button from "sspart-fe-lib/Button";
|
|
36
|
+
|
|
37
|
+
// src/resources/images.tsx
|
|
38
|
+
var IMAGE_LINKS = {
|
|
39
|
+
SMALL_ICON: "https://i.ibb.co/24Qy7m1/Dhe-Quest64.png",
|
|
40
|
+
ICON: "https://i.ibb.co/60L36htP/Dhe-Quest128.png",
|
|
41
|
+
NAMELOGO: "https://i.ibb.co/qYhSRLJ4/Dhe-Quest128-Full.png",
|
|
42
|
+
WALLPAPER: "https://i.imgur.com/nBm1Ub3.png"
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
// src/components/landing.page/header.tsx
|
|
46
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
47
|
+
var Header = ({ navigate }) => {
|
|
48
|
+
const onClick = (name) => {
|
|
49
|
+
if (name) navigate(`/${name}`);
|
|
50
|
+
};
|
|
51
|
+
return /* @__PURE__ */ jsx(AppBar, { position: "static", color: "default", children: /* @__PURE__ */ jsxs(Toolbar, { children: [
|
|
52
|
+
/* @__PURE__ */ jsx(Box, { sx: { flexGrow: 1 }, children: /* @__PURE__ */ jsx("img", { className: "header-logo", alt: "...", src: IMAGE_LINKS.NAMELOGO }) }),
|
|
53
|
+
/* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, children: [
|
|
54
|
+
/* @__PURE__ */ jsx(Button, { name: "signup", onClick, variant: "text", text: "Sign Up" }),
|
|
55
|
+
/* @__PURE__ */ jsx(Button, { name: "signin", onClick, variant: "outlined", text: "Login" })
|
|
56
|
+
] }) })
|
|
57
|
+
] }) });
|
|
58
|
+
};
|
|
59
|
+
var header_default = Header;
|
|
60
|
+
|
|
61
|
+
// src/components/landing.page/hero.tsx
|
|
62
|
+
import Box2 from "@mui/material/Box";
|
|
63
|
+
import { useTheme } from "@mui/material/styles";
|
|
64
|
+
import useMediaQuery from "@mui/material/useMediaQuery";
|
|
65
|
+
import Container from "@mui/material/Container";
|
|
66
|
+
import Grid from "@mui/material/Grid";
|
|
67
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
68
|
+
var Hero = ({ navigate }) => {
|
|
69
|
+
const theme = useTheme();
|
|
70
|
+
const isMobile = useMediaQuery(theme.breakpoints.down("md"));
|
|
71
|
+
const onClick = () => {
|
|
72
|
+
navigate("/signup");
|
|
73
|
+
};
|
|
74
|
+
return /* @__PURE__ */ jsx2(Box2, { display: "flex", flexDirection: "column", minHeight: "91.5vh", height: "auto", children: /* @__PURE__ */ jsx2(Container, { style: { flex: "1", display: "flex", alignItems: "center" }, children: /* @__PURE__ */ jsxs2(Grid, { container: true, alignItems: "center", children: [
|
|
75
|
+
/* @__PURE__ */ jsx2(Grid, { size: { xs: 12, md: 5 }, className: "mt-4", children: /* @__PURE__ */ jsxs2(Box2, { children: [
|
|
76
|
+
/* @__PURE__ */ jsx2("div", { className: "landing-info-header", children: "Trading platform with cutting-edge GTT capabilities." }),
|
|
77
|
+
/* @__PURE__ */ jsx2("div", { className: "landing-info-sub-header mt-4", children: "Experience the future of trading with GTT. Elevate your strategies with DheQuest's superior service. The future is here\u2014trade smarter today." }),
|
|
78
|
+
/* @__PURE__ */ jsx2("button", { className: "landing-info-button mt-4", onClick, children: "Sign Up" })
|
|
79
|
+
] }) }),
|
|
80
|
+
/* @__PURE__ */ jsx2(Grid, { size: { xs: 12, md: 7 }, className: "mt-4", children: /* @__PURE__ */ jsx2(Box2, { display: "flex", justifyContent: isMobile ? "center" : "end", children: /* @__PURE__ */ jsx2("img", { className: "title-image-demo", alt: "...", src: IMAGE_LINKS.WALLPAPER }) }) })
|
|
81
|
+
] }) }) });
|
|
82
|
+
};
|
|
83
|
+
var hero_default = Hero;
|
|
84
|
+
|
|
85
|
+
// src/components/landing.page/features.tsx
|
|
86
|
+
import Container2 from "@mui/material/Container";
|
|
87
|
+
import Typography from "@mui/material/Typography";
|
|
88
|
+
import Grid2 from "@mui/material/Grid";
|
|
89
|
+
import Box3 from "@mui/material/Box";
|
|
90
|
+
import CardContent from "@mui/material/CardContent";
|
|
91
|
+
|
|
92
|
+
// src/components/landing.page/constants.tsx
|
|
93
|
+
import CameraAltIcon from "@mui/icons-material/CameraAlt";
|
|
94
|
+
import AddchartIcon from "@mui/icons-material/Addchart";
|
|
95
|
+
import BarChartIcon from "@mui/icons-material/BarChart";
|
|
96
|
+
import TimelineIcon from "@mui/icons-material/Timeline";
|
|
97
|
+
import CalendarMonthIcon from "@mui/icons-material/CalendarMonth";
|
|
98
|
+
import AccountBalanceIcon from "@mui/icons-material/AccountBalance";
|
|
99
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
100
|
+
var FEATURES = [
|
|
101
|
+
{
|
|
102
|
+
title: "Advanced Order Types",
|
|
103
|
+
description: "Execute your trades with precision using a variety of advanced order types, including limit orders, stop-loss orders, take-profit orders, and more.",
|
|
104
|
+
icon: /* @__PURE__ */ jsx3(CameraAltIcon, { sx: { fontSize: "3.5rem" } })
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
title: "Real-time Market Depth",
|
|
108
|
+
description: "Gain valuable insights into market liquidity and order flow with real-time market depth data. See the current buy and sell order.",
|
|
109
|
+
icon: /* @__PURE__ */ jsx3(AddchartIcon, { sx: { fontSize: "3.5rem" } })
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
title: "Margin Trading and Leverage",
|
|
113
|
+
description: "Amplify your trading power with margin trading and leverage. Access greater capital and potentially increase your profits.",
|
|
114
|
+
icon: /* @__PURE__ */ jsx3(BarChartIcon, { sx: { fontSize: "3.5rem" } })
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
title: "Portfolio Analytics",
|
|
118
|
+
description: "Analyze your trading performance with detailed portfolio analytics. improvement and optimize your trading strategies.",
|
|
119
|
+
icon: /* @__PURE__ */ jsx3(TimelineIcon, { sx: { fontSize: "3.5rem" } })
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
title: "Alerts and Notifications",
|
|
123
|
+
description: "Stay informed about critical market events with customizable alerts and notifications. important events to react quickly to market changes.",
|
|
124
|
+
icon: /* @__PURE__ */ jsx3(CalendarMonthIcon, { sx: { fontSize: "3.5rem" } })
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
title: "API Access",
|
|
128
|
+
description: "Integrate our platform with your own trading tools and applications using our powerful API. Develop custom trading strategies.",
|
|
129
|
+
icon: /* @__PURE__ */ jsx3(AccountBalanceIcon, { sx: { fontSize: "3.5rem" } })
|
|
130
|
+
}
|
|
131
|
+
];
|
|
132
|
+
|
|
133
|
+
// src/components/landing.page/features.tsx
|
|
134
|
+
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
135
|
+
var Features = () => {
|
|
136
|
+
return /* @__PURE__ */ jsxs3(Box3, { sx: { padding: 6, backgroundColor: "#f9f9f9" }, children: [
|
|
137
|
+
/* @__PURE__ */ jsxs3(Container2, { children: [
|
|
138
|
+
/* @__PURE__ */ jsx4(Typography, { variant: "h4", align: "center", gutterBottom: true, mb: 4, sx: { fontWeight: "bold" }, children: "Key Features" }),
|
|
139
|
+
/* @__PURE__ */ jsx4(Typography, { variant: "body2", align: "center", gutterBottom: true, mb: 4, sx: { lineHeight: "40px " }, children: "Automate your trading strategies with our robust algorithmic trading capabilities. Develop, backtest, and deploy custom trading bots to execute trades based on predefined rules and parameters, allowing you to capitalize on market opportunities 24/7." })
|
|
140
|
+
] }),
|
|
141
|
+
/* @__PURE__ */ jsx4(Grid2, { container: true, spacing: 6, marginBottom: 4, paddingTop: 4, children: FEATURES.map((feature, index) => /* @__PURE__ */ jsx4(Grid2, { size: { xs: 12, sm: 6, md: 4 }, textAlign: "center", children: /* @__PURE__ */ jsxs3(CardContent, { children: [
|
|
142
|
+
feature.icon,
|
|
143
|
+
/* @__PURE__ */ jsx4(Typography, { variant: "h6", sx: { fontWeight: "bold" }, gutterBottom: true, children: feature.title }),
|
|
144
|
+
/* @__PURE__ */ jsx4(Typography, { variant: "body2", gutterBottom: true, sx: { lineHeight: "40px " }, children: feature.description })
|
|
145
|
+
] }) }, index)) })
|
|
146
|
+
] });
|
|
147
|
+
};
|
|
148
|
+
var features_default = Features;
|
|
149
|
+
|
|
150
|
+
// src/components/landing.page/footer.tsx
|
|
151
|
+
import Typography2 from "@mui/material/Typography";
|
|
152
|
+
import Box4 from "@mui/material/Box";
|
|
153
|
+
import LinkButton from "sspart-fe-lib/LinkButton";
|
|
154
|
+
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
155
|
+
var Footer = ({ navigate }) => {
|
|
156
|
+
const onClick = (name) => {
|
|
157
|
+
if (name) navigate(`/${name}`);
|
|
158
|
+
};
|
|
159
|
+
return /* @__PURE__ */ jsxs4(Box4, { sx: { textAlign: "center", padding: 4, backgroundColor: "#f9f9f9" }, children: [
|
|
160
|
+
/* @__PURE__ */ jsxs4(Typography2, { variant: "body2", gutterBottom: true, children: [
|
|
161
|
+
/* @__PURE__ */ jsx5(LinkButton, { name: "privacy-policy", text: "Privacy Policy", onClick }),
|
|
162
|
+
" | ",
|
|
163
|
+
/* @__PURE__ */ jsx5(LinkButton, { name: "terms-and-conditions", text: "Terms and Conditions", onClick }),
|
|
164
|
+
" | ",
|
|
165
|
+
/* @__PURE__ */ jsx5(LinkButton, { name: "cookie-policy", text: "Cookie Policy", onClick }),
|
|
166
|
+
" "
|
|
167
|
+
] }),
|
|
168
|
+
/* @__PURE__ */ jsxs4(Typography2, { variant: "body2", color: "textSecondary", children: [
|
|
169
|
+
"\xA9 ",
|
|
170
|
+
(/* @__PURE__ */ new Date()).getFullYear(),
|
|
171
|
+
" SSPART Enterprise Pvt Ltd. All rights reserved."
|
|
172
|
+
] }),
|
|
173
|
+
/* @__PURE__ */ jsx5(Box4, { sx: { marginTop: 2 }, children: /* @__PURE__ */ jsx5(LinkButton, { name: "contact-us", text: "Contact Us", className: "wrapped-btn outlined-btn", onClick }) })
|
|
174
|
+
] });
|
|
175
|
+
};
|
|
176
|
+
var footer_default = Footer;
|
|
177
|
+
|
|
178
|
+
// src/resources/constants.tsx
|
|
179
|
+
var TITLES = {
|
|
180
|
+
LANDING_PAGE_TITLE: "DheQuest | Analyze and Automate Your Trades with Precision, Maximize Profits, and Stay Ahead of the Market",
|
|
181
|
+
DASHBOARD_PAGE_TITLE: "DheQuest | Your Trading Dashboard - Insights, Performance, and Automation",
|
|
182
|
+
SIGN_IN_PAGE_TITLE: "DheQuest | Securely Sign In to Your Automated Trading Platform",
|
|
183
|
+
ERROR_PAGE_TITLE: "DheQuest | Oops! Something Went Wrong"
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
// src/pages/landing.page.tsx
|
|
187
|
+
import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
188
|
+
var LandingPage = ({ navigate }) => {
|
|
189
|
+
useEffect(() => {
|
|
190
|
+
document.title = TITLES.LANDING_PAGE_TITLE;
|
|
191
|
+
}, []);
|
|
192
|
+
return /* @__PURE__ */ jsxs5(Box5, { sx: { width: "100%" }, children: [
|
|
193
|
+
/* @__PURE__ */ jsx6(header_default, { navigate }),
|
|
194
|
+
/* @__PURE__ */ jsx6(hero_default, { navigate }),
|
|
195
|
+
/* @__PURE__ */ jsx6(features_default, {}),
|
|
196
|
+
/* @__PURE__ */ jsx6(footer_default, { navigate })
|
|
197
|
+
] });
|
|
198
|
+
};
|
|
199
|
+
var landing_page_default = LandingPage;
|
|
200
|
+
export {
|
|
201
|
+
landing_page_default as default
|
|
202
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// src/pages/layout.page.tsx
|
|
2
|
+
import Resize from "sspart-fe-lib/Resize";
|
|
3
|
+
|
|
4
|
+
// src/resources/constants.tsx
|
|
5
|
+
var ON_RESIZE = 900;
|
|
6
|
+
|
|
7
|
+
// src/pages/layout.page.tsx
|
|
8
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
var LayoutPage = ({ children, Header, Footer, username }) => {
|
|
10
|
+
return /* @__PURE__ */ jsxs("div", { children: [
|
|
11
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
12
|
+
/* @__PURE__ */ jsx(Resize, { maxWidth: ON_RESIZE, ShortElement: /* @__PURE__ */ jsx(Fragment, {}), LongElement: /* @__PURE__ */ jsx(Header, { username }) }),
|
|
13
|
+
children
|
|
14
|
+
] }),
|
|
15
|
+
/* @__PURE__ */ jsx(Resize, { maxWidth: ON_RESIZE, ShortElement: /* @__PURE__ */ jsx(Footer, {}), LongElement: /* @__PURE__ */ jsx(Fragment, {}) })
|
|
16
|
+
] });
|
|
17
|
+
};
|
|
18
|
+
var layout_page_default = LayoutPage;
|
|
19
|
+
export {
|
|
20
|
+
layout_page_default as default
|
|
21
|
+
};
|