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 ADDED
File without changes
@@ -0,0 +1,2 @@
1
+
2
+ export { }
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,5 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare const ErrorPage: () => react_jsx_runtime.JSX.Element;
4
+
5
+ export { ErrorPage as default };
@@ -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,9 @@
1
+ import React from 'react';
2
+ import { useNavigate } from 'react-router-dom';
3
+
4
+ interface LandingPageProps {
5
+ navigate: ReturnType<typeof useNavigate>;
6
+ }
7
+ declare const LandingPage: React.FC<LandingPageProps>;
8
+
9
+ export { LandingPage as default };
@@ -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,9 @@
1
+ interface LayoutPageProps {
2
+ children: React.ReactNode;
3
+ Header: React.ElementType;
4
+ Footer: React.ElementType;
5
+ username: String;
6
+ }
7
+ declare const LayoutPage: React.FC<LayoutPageProps>;
8
+
9
+ export { LayoutPage as default };
@@ -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
+ };
@@ -0,0 +1,8 @@
1
+ import { useNavigate } from 'react-router-dom';
2
+
3
+ interface LogoutErrorProps {
4
+ navigate: ReturnType<typeof useNavigate>;
5
+ }
6
+ declare const LogoutErrorPage: React.FC<LogoutErrorProps>;
7
+
8
+ export { LogoutErrorPage as default };