dq-cus-lib 1.3.1 → 1.4.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/dist/index.css
CHANGED
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/styles/index.css"],"sourcesContent":[":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\n#footer {\n position: fixed;\n bottom: 0;\n width: 100vw;\n height: 3.5rem;\n z-index: 1000;\n}\n\n.full-hw-window{\n min-height: 100vh;\n min-width: 100vw;\n}\n\n.sign-in-logo{\n width: 200px;\n}\n\n.sign-in-logo-small{\n width: 100px;\n}\n\n.wrapped-btn {\n width: auto !important;\n}\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\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\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\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\n.user-option:hover{\n color: var(--primary-color-hover);\n}\n\n.header-link{\n font-weight: 700;\n font-size: .85rem;\n}\n\n.logo-navbar{\n width: 28px;\n}\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\n.header-avatar{\n width: 28px !important;\n height: 28px !important;\n font-size: 14px !important;\n}\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\n.error-404{\n font-weight: 800;\n letter-spacing: 0.1em;\n}\n\n.error-text {\n font-weight: 800;\n}\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\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\n@media (min-width: 992px) {\n .error-desc{\n font-size: 1.5vw;\n }\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\n.header-logo{\n width: 120px;\n}\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\n@media (min-width: 992px) {\n .landing-info-header{\n font-size: 36px;\n font-weight: 800;\n }\n}\n\n.landing-info-sub-header{\n font-size: 16px;\n font-weight: 600;\n line-height: 28px;\n}\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\n.title-image-demo{\n max-width: 100%;\n width: 100%;\n}\n\n.sign-in-card-wrapper{\n width: auto;\n min-height: auto;\n height: auto;\n margin: auto !important;\n padding: 20px;\n}\n\n.small-btn-link-p {\n font-size: 14px !important;\n}\n\n.broker-auth-sub-message{\n font-weight: 400;\n font-size: 11px;\n}\n\n.broker-auth-wrapper{\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 60vh;\n}\n\n.broker-auth-success {\n min-width: 100%;\n width: auto;\n min-height: auto;\n height: auto;\n margin: auto !important;\n padding: 20px;\n}\n\n.broker-auth-success > .success svg{\n fill: green;\n}\n\n.broker-auth-success-message{\n font-weight: 800;\n}\n\n.broker-login-tile{\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100px !important;\n max-width: 100px !important;\n height: 135px !important;\n border-radius: 8px !important;\n box-shadow: 2px 3px 10px 0px rgba(0,0,0,0.15) !important;\n -webkit-box-shadow: 2px 3px 10px 0px rgba(0,0,0,0.15) !important;\n -moz-box-shadow: 2px 3px 10px 0px rgba(0,0,0,0.15) !important;\n transition: all 0.2s ease-in-out !important;\n}\n\n.broker-login-tile:hover{\n box-shadow: 0px 5px 4px 0px rgba(0,0,0,0.15) !important;\n -webkit-box-shadow: 0px 5px 4px 0px rgba(0,0,0,0.15) !important;\n -moz-box-shadow: 0px 5px 4px 0px rgba(0,0,0,0.15) !important;\n}\n\n.broker-login-tile.disabled {\n pointer-events: none !important;\n box-shadow: none !important;\n -webkit-box-shadow: none !important;\n -moz-box-shadow: none !important;\n}\n\n.broker-login-logo{\n width: 128px;\n height: 80px;\n min-width: 80px;\n min-height: 80px;\n max-width: 80px;\n max-height: 80px;\n border-radius: 8px;\n}\n\n.broker-login-text{\n color: var(--text-color);\n font-weight: 800;\n}\n\n.broker-logout{\n cursor: pointer;\n margin: 0px;\n padding: 0px;\n font-size: 14px;\n color: var(--primary-color);\n border: 0px solid grey;\n background: transparent;\n font-weight: 800;\n transition: all 0.2s ease-in-out;\n}\n\n.broker-logout:hover{\n color: var(--primary-color-hover);\n}\n\n.broker-settings-help{\n font-size: 12px;\n margin-top: 8px;\n}\n\n\n.text-center{\n text-align: center !important;\n}\n\n.no-broker-accounts{\n font-size: 14px;\n color: var(--text-color);\n font-weight: 600;\n}\n\n.pro-tip-text {\n font-size: 11px;\n text-align: justify;\n}\n\n.page-heading{\n text-wrap: nowrap;\n height: 1.6em;\n font-weight: 800;\n opacity: 80%;\n margin: 0;\n margin-right: 8px;\n}\n\n.profile-sub-heading{\n margin: 0;\n}\n\n.broker-card{\n border: 1px solid rgba(76, 168, 180, 0.35);\n border-radius: 8px;\n padding: 12px;\n margin-bottom: 16px;\n}\n\n.segment-name{\n display: block;\n font-size: 18px;\n color: var(--primary-color);\n font-weight: 800;\n /* width: 100%; */\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.segment-desc{\n display: block;\n font-size: 11px;\n color: var(--text-color);\n font-weight: 400;\n width: 100%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.segment-details{\n display: block;\n font-size: 14px;\n color: var(--text-color);\n font-weight: 600;\n width: 100%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.text-end{\n text-align: right;\n}\n\n.trade-mode{\n /* display: inline-block; */\n padding: 4px 8px;\n font-size: 12px;\n font-weight: 600;\n color: var(--neutral-color);\n background-color: var(--primary-color);\n border-radius: 4px;\n margin-left: 8px;\n text-transform: capitalize;\n}\n\n.trade-mode-paper{\n background-color: var(--background-color);\n color: var(--primary-color);\n}"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/styles/index.css"],"sourcesContent":[":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\n#footer {\n position: fixed;\n bottom: 0;\n width: 100vw;\n height: 3.5rem;\n z-index: 500;\n}\n\n.full-hw-window{\n min-height: 100vh;\n min-width: 100vw;\n}\n\n.sign-in-logo{\n width: 200px;\n}\n\n.sign-in-logo-small{\n width: 100px;\n}\n\n.wrapped-btn {\n width: auto !important;\n}\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\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\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\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\n.user-option:hover{\n color: var(--primary-color-hover);\n}\n\n.header-link{\n font-weight: 700;\n font-size: .85rem;\n}\n\n.logo-navbar{\n width: 28px;\n}\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\n.header-avatar{\n width: 28px !important;\n height: 28px !important;\n font-size: 14px !important;\n}\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\n.error-404{\n font-weight: 800;\n letter-spacing: 0.1em;\n}\n\n.error-text {\n font-weight: 800;\n}\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\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\n@media (min-width: 992px) {\n .error-desc{\n font-size: 1.5vw;\n }\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\n.header-logo{\n width: 120px;\n}\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\n@media (min-width: 992px) {\n .landing-info-header{\n font-size: 36px;\n font-weight: 800;\n }\n}\n\n.landing-info-sub-header{\n font-size: 16px;\n font-weight: 600;\n line-height: 28px;\n}\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\n.title-image-demo{\n max-width: 100%;\n width: 100%;\n}\n\n.sign-in-card-wrapper{\n width: auto;\n min-height: auto;\n height: auto;\n margin: auto !important;\n padding: 20px;\n}\n\n.small-btn-link-p {\n font-size: 14px !important;\n}\n\n.broker-auth-sub-message{\n font-weight: 400;\n font-size: 11px;\n}\n\n.broker-auth-wrapper{\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 60vh;\n}\n\n.broker-auth-success {\n min-width: 100%;\n width: auto;\n min-height: auto;\n height: auto;\n margin: auto !important;\n padding: 20px;\n}\n\n.broker-auth-success > .success svg{\n fill: green;\n}\n\n.broker-auth-success-message{\n font-weight: 800;\n}\n\n.broker-login-tile{\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100px !important;\n max-width: 100px !important;\n height: 135px !important;\n border-radius: 8px !important;\n box-shadow: 2px 3px 10px 0px rgba(0,0,0,0.15) !important;\n -webkit-box-shadow: 2px 3px 10px 0px rgba(0,0,0,0.15) !important;\n -moz-box-shadow: 2px 3px 10px 0px rgba(0,0,0,0.15) !important;\n transition: all 0.2s ease-in-out !important;\n}\n\n.broker-login-tile:hover{\n box-shadow: 0px 5px 4px 0px rgba(0,0,0,0.15) !important;\n -webkit-box-shadow: 0px 5px 4px 0px rgba(0,0,0,0.15) !important;\n -moz-box-shadow: 0px 5px 4px 0px rgba(0,0,0,0.15) !important;\n}\n\n.broker-login-tile.disabled {\n pointer-events: none !important;\n box-shadow: none !important;\n -webkit-box-shadow: none !important;\n -moz-box-shadow: none !important;\n}\n\n.broker-login-logo{\n width: 128px;\n height: 80px;\n min-width: 80px;\n min-height: 80px;\n max-width: 80px;\n max-height: 80px;\n border-radius: 8px;\n}\n\n.broker-login-text{\n color: var(--text-color);\n font-weight: 800;\n}\n\n.broker-logout{\n cursor: pointer;\n margin: 0px;\n padding: 0px;\n font-size: 14px;\n color: var(--primary-color);\n border: 0px solid grey;\n background: transparent;\n font-weight: 800;\n transition: all 0.2s ease-in-out;\n}\n\n.broker-logout:hover{\n color: var(--primary-color-hover);\n}\n\n.broker-settings-help{\n font-size: 12px;\n margin-top: 8px;\n}\n\n\n.text-center{\n text-align: center !important;\n}\n\n.no-broker-accounts{\n font-size: 14px;\n color: var(--text-color);\n font-weight: 600;\n}\n\n.pro-tip-text {\n font-size: 11px;\n text-align: justify;\n}\n\n.page-heading{\n text-wrap: nowrap;\n height: 1.6em;\n font-weight: 800;\n opacity: 80%;\n margin: 0;\n margin-right: 8px;\n}\n\n.profile-sub-heading{\n margin: 0;\n}\n\n.broker-card{\n border: 1px solid rgba(76, 168, 180, 0.35);\n border-radius: 8px;\n padding: 12px;\n margin-bottom: 16px;\n}\n\n.segment-name{\n display: block;\n font-size: 18px;\n color: var(--primary-color);\n font-weight: 800;\n /* width: 100%; */\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.segment-desc{\n display: block;\n font-size: 11px;\n color: var(--text-color);\n font-weight: 400;\n width: 100%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.segment-details{\n display: block;\n font-size: 14px;\n color: var(--text-color);\n font-weight: 600;\n width: 100%;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.text-end{\n text-align: right;\n}\n\n.trade-mode{\n /* display: inline-block; */\n padding: 4px 8px;\n font-size: 12px;\n font-weight: 600;\n color: var(--neutral-color);\n background-color: var(--primary-color);\n border-radius: 4px;\n margin-left: 8px;\n text-transform: capitalize;\n}\n\n.trade-mode-paper{\n background-color: var(--background-color);\n color: var(--primary-color);\n}"],"mappings":"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","names":[]}
|
|
@@ -56,7 +56,7 @@ var ProfilePageWrapper = ({ data }) => {
|
|
|
56
56
|
const { telegram: telegram2 } = localdata;
|
|
57
57
|
const response = await updateProfile(telegram2);
|
|
58
58
|
if (response) {
|
|
59
|
-
showValidationAlert(ALERT_TYPES.SUCCESS, STATUS_CODE_MESSAGES.YOUR_PROFILE_SETTINGS_UPDATED_SUCCESSFULLY, "
|
|
59
|
+
showValidationAlert(ALERT_TYPES.SUCCESS, STATUS_CODE_MESSAGES.YOUR_PROFILE_SETTINGS_UPDATED_SUCCESSFULLY, "user-settings");
|
|
60
60
|
}
|
|
61
61
|
};
|
|
62
62
|
const { telegram } = localdata;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/profile.page/api-calls.tsx","../../src/components/profile.page/external-notification.tsx","../../src/components/profile.page/profile-wrapper.tsx","../../src/components/profile.page/broker.tsx","../../src/components/profile.page/brokers-wrapper.tsx","../../src/components/profile.page/data-service.tsx","../../src/components/profile.page/broker-modal.tsx","../../src/pages/profile.page.tsx"],"names":["name","value","Box","telegram","jsx","jsxs","useState","useEffect","Card","CardContent","Grid","options","option","ns","ALERT_TYPES","showValidationAlert","Alerts","Stack","Divider","Button","useCallback"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAGO,IAAM,aAAa,YAA0B;AAChD,EAAA,OAAO,MAAM,OAAA,CAAQ,eAAA,CAAgB,SAAS,GAAG,SAAS,CAAA;AAC9D,CAAA;AAEO,IAAM,aAAA,GAAgB,OAAO,QAAA,KAAmC;AACnE,EAAA,OAAO,MAAM,SAAS,eAAA,CAAgB,SAAS,GAAG,EAAE,QAAA,IAAY,eAAe,CAAA;AACnF,CAAA;AAEO,IAAM,qBAAA,GAAwB,OAAO,UAAA,KAAqC;AAC7E,EAAA,OAAO,MAAM,SAAS,eAAA,CAAgB,UAAU,GAAG,EAAE,UAAA,IAAc,UAAU,CAAA;AACjF,CAAA;AAEO,IAAM,wBAAA,GAA2B,OAAO,UAAA,EAAoB,iBAAA,EAA2B,YAAA,KAAuC;AACjI,EAAA,OAAO,MAAM,SAAA,CAAU,eAAA,CAAgB,UAAU,CAAA,EAAG,EAAE,UAAA,EAAY,iBAAA,EAAmB,YAAA,EAAa,EAAG,UAAU,CAAA;AACnH,CAAA;ACLA,IAAM,oBAAA,GAAuD,CAAC,EAAE,KAAA,EAAO,UAAU,QAAA,EAAU,IAAA,EAAM,OAAM,KAAM;AAEzG,EAAA,MAAM,YAAA,GAAe,CAACA,KAAAA,EAAcC,MAAAA,KAAkB;AAClD,IAAA,QAAA,CAASD,OAAMC,MAAK,CAAA;AAAA,EACxB,CAAA;AAEA,EAAA,4BACK,KAAA,EAAA,EACG,QAAA,EAAA;AAAA,oBAAA,IAAA,CAACC,IAAA,EAAA,EAAI,SAAQ,MAAA,EAAO,aAAA,EAAc,OAAM,UAAA,EAAW,QAAA,EAAS,IAAI,CAAA,EAC5D,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,8BAAA,EACT,QAAA,EAAA,KAAA,EACL,CAAA;AAAA,sBACA,GAAA,CAAC,OAAA,EAAA,EAAQ,SAAA,EAAU,QAAA,EAAS,OAAO,QAAA,EAAS;AAAA,KAAA,EAChD,CAAA;AAAA,wBACC,OAAA,EAAA,EAAQ,IAAA,EAAY,MAAK,MAAA,EAAO,QAAA,EAAU,cAAc,KAAA,EAAc;AAAA,GAAA,EAC3E,CAAA;AAER,CAAA;AAEA,IAAO,6BAAA,GAAQ,oBAAA;ACbf,IAAM,kBAAA,GAAiD,CAAC,EAAE,IAAA,EAAK,KAAM;AAEjE,EAAA,MAAM,CAAC,WAAW,YAAY,CAAA,GAAI,SAAiB,EAAE,QAAA,EAAU,IAAI,CAAA;AAEnE,EAAA,SAAA,CAAU,MAAM;AACZ,IAAA,YAAA,CAAa,IAAI,CAAA;AAAA,EACrB,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAA,MAAM,QAAA,GAAW,CAAC,IAAA,EAAc,KAAA,KAAkB;AAC9C,IAAA,YAAA,CAAa,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,GAAG,KAAA,EAAM,CAAE,CAAA;AAAA,EACvD,CAAA;AAEA,EAAA,MAAM,cAAc,YAAY;AAC5B,IAAA,MAAM,EAAE,QAAA,EAAAC,SAAAA,EAAS,GAAI,SAAA;AACrB,IAAA,MAAM,QAAA,GAAW,MAAM,aAAA,CAAcA,SAAQ,CAAA;AAC7C,IAAA,IAAG,QAAA,EAAU;AACT,MAAA,mBAAA,CAAoB,WAAA,CAAY,OAAA,EAAS,oBAAA,CAAqB,0CAAA,EAA4C,SAAS,CAAA;AAAA,IACvH;AAAA,EACJ,CAAA;AAEA,EAAA,MAAM,EAAE,UAAS,GAAI,SAAA;AAErB,EAAA,uBACIC,GAAAA,CAAC,IAAA,EAAA,EACG,QAAA,kBAAAC,KAAC,WAAA,EAAA,EACG,QAAA,EAAA;AAAA,oBAAAD,GAAAA,CAAC,QACG,QAAA,kBAAAA,GAAAA,CAAC,QAAG,SAAA,EAAU,cAAA,EAAe,2BAAa,CAAA,EAC9C,CAAA;AAAA,oBACAA,GAAAA,CAAC,MAAA,EAAA,EAAO,EAAA,EAAG,eAAA,EAAgB,WAAU,WAAA,EAAY,CAAA;AAAA,oBACjDA,IAAC,IAAA,EAAA,EAAK,EAAA,EAAI,EAAE,EAAA,EAAI,CAAA,IACZ,QAAA,kBAAAA,GAAAA;AAAA,MAAC,6BAAA;AAAA,MAAA;AAAA,QAAqB,IAAA,EAAK,UAAA;AAAA,QAAW,UAAU,kBAAA,CAAmB,QAAA;AAAA,QAC/D,KAAA,EAAO,QAAA;AAAA,QAAU,QAAA;AAAA,QAAoB,KAAA,EAAM;AAAA;AAAA,KAAkB,EACrE,CAAA;AAAA,oBACAA,GAAAA,CAAC,IAAA,EAAA,EAAK,EAAA,EAAI,EAAE,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,UAAA,EAAY,QAAA,EAAU,EAAA,EAAI,CAAA,EAAC,EAC7E,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAO,EAAA,EAAG,MAAA,EAAO,IAAA,EAAK,MAAA,EAAO,SAAA,EAAU,aAAA,EAAc,OAAA,EAAS,WAAA,EAAa,IAAA,EAAK,MAAA,EAAM,CAAA,EAC3F;AAAA,GAAA,EACJ,CAAA,EACJ,CAAA;AAER,CAAA;AAEA,IAAO,uBAAA,GAAQ,kBAAA;AC7Cf,IAAM,MAAA,GAAgC,CAAC,EAAE,IAAA,EAAK,KAAM;AAEhD,EAAA,MAAM,UAAU,MAAM;AAClB,IAAA,EAAA,CAAG,gBAAA,CAAiB,qBAAA,CAAsB,qBAAA,EAAuB,IAAI,CAAA;AAAA,EACzE,CAAA;AAEA,EAAA,uBACIC,IAAAA,CAACH,IAAAA,EAAA,EAAI,WAAU,aAAA,EACX,QAAA,EAAA;AAAA,oBAAAG,IAAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAU,KAAA,EAAM,YAAW,YAAA,EAAa,cAAA,EAAe,eAAA,EAAgB,OAAA,EAAS,CAAA,EAAG,EAAA,EAAI,EAAE,KAAA,EAAO,QAAO,EAC1G,QAAA,EAAA;AAAA,sBAAAA,KAAC,KAAA,EAAA,EAAM,SAAA,EAAU,QAAA,EAAS,UAAA,EAAW,cAAa,cAAA,EAAe,eAAA,EAAgB,OAAA,EAAS,CAAA,EAAG,IAAI,EAAE,IAAA,EAAM,CAAA,EAAG,QAAA,EAAU,GAAE,EACpH,QAAA,EAAA;AAAA,wBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAU,KAAA,EAAM,UAAA,EAAW,OAAA,EAAQ,EAAA,EAAI,EAAE,KAAA,EAAO,MAAA,EAAQ,QAAA,EAAU,CAAA,EAAE,EACvE,QAAA,EAAA;AAAA,0BAAAD,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,cAAA,EACV,eAAK,YAAA,EACV,CAAA;AAAA,UACC,IAAA,CAAK,YAAA,oBAAgBA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,CAAA,sBAAA,EAAyB,IAAA,CAAK,YAAY,CAAA,CAAA,EAC3E,QAAA,EAAA,IAAA,CAAK,YAAA,EACV;AAAA,SAAA,EACJ,CAAA;AAAA,wBACAA,GAAAA,CAAC,KAAA,EAAA,EAAM,EAAA,EAAI,EAAE,OAAO,MAAA,EAAQ,QAAA,EAAU,CAAA,EAAE,EACpC,0BAAAA,GAAAA,CAAC,KAAA,EAAA,EAAI,WAAU,cAAA,EACV,QAAA,EAAA,IAAA,CAAK,cACV,CAAA,EACJ;AAAA,OAAA,EACJ,CAAA;AAAA,sBACAA,IAAC,KAAA,EAAA,EAAM,SAAA,EAAU,OAAM,UAAA,EAAW,QAAA,EAC9B,QAAA,kBAAAA,GAAAA,CAAC,UAAA,EAAA,EAAW,OAAA,EAAS,MAAM,OAAA,EAAQ,EAC/B,QAAA,kBAAAA,GAAAA,CAAC,QAAA,EAAA,EAAS,EAAA,EAAI,EAAE,QAAA,EAAU,EAAA,EAAG,EAAG,CAAA,EACpC,CAAA,EACJ;AAAA,KAAA,EACJ,CAAA;AAAA,oBACAA,GAAAA,CAAC,OAAA,EAAA,EAAQ,IAAI,EAAE,EAAA,EAAI,GAAE,EAAG,CAAA;AAAA,oBACxBC,IAAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAU,KAAA,EAAM,YAAW,YAAA,EAAa,cAAA,EAAe,eAAA,EAAgB,OAAA,EAAS,GAAG,EAAA,EAAI,EAAE,OAAO,MAAA,EAAQ,QAAA,EAAU,GAAE,EACvH,QAAA,EAAA;AAAA,sBAAAD,GAAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAU,QAAA,EAAS,UAAA,EAAW,YAAA,EAAa,cAAA,EAAe,eAAA,EAAgB,OAAA,EAAS,CAAA,EAAG,EAAA,EAAI,EAAE,IAAA,EAAM,GAAG,QAAA,EAAU,CAAA,EAAE,EACpH,QAAA,kBAAAC,IAAAA,CAAC,KAAA,EAAA,EAAM,EAAA,EAAI,EAAE,KAAA,EAAO,MAAA,EAAQ,QAAA,EAAU,CAAA,EAAE,EACpC,QAAA,EAAA;AAAA,wBAAAD,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,cAAA,EAAe,QAAA,EAAA,QAAA,EAE9B,CAAA;AAAA,wBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,WAAU,iBAAA,EACV,QAAA,EAAA,IAAA,CAAK,eAAe,YAAA,EACzB;AAAA,OAAA,EACJ,CAAA,EACJ,CAAA;AAAA,sBACAA,IAAC,KAAA,EAAA,EAAM,SAAA,EAAU,OAAM,EAAA,EAAI,EAAE,QAAA,EAAU,CAAA,EAAG,QAAA,EAAU,KAAA,IAChD,QAAA,kBAAAC,IAAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAU,QAAA,EAAS,UAAA,EAAW,OAAM,EAAA,EAAI,EAAE,QAAA,EAAU,CAAA,EAAE,EACzD,QAAA,EAAA;AAAA,wBAAAD,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uBAAA,EAAwB,QAAA,EAAA,cAAA,EAEvC,CAAA;AAAA,wBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,WAAU,0BAAA,EACV,QAAA,EAAA,IAAA,CAAK,uBAAuB,YAAA,EACjC;AAAA,OAAA,EACJ,CAAA,EACJ;AAAA,KAAA,EACJ;AAAA,GAAA,EACJ,CAAA;AAER,CAAA;AAEA,IAAO,cAAA,GAAQ,MAAA;AC5Df,IAAM,cAAA,GAAgD,CAAC,EAAE,IAAA,EAAK,KAAM;AAEhE,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIE,QAAAA,CAA8B,EAAE,CAAA;AAElE,EAAAC,UAAU,MAAM;AACZ,IAAA,YAAA,CAAa,IAAI,CAAA;AAAA,EACrB,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAA,MAAM,iBAAA,GAAoB,SAAA,CAAU,GAAA,CAAI,CAAC,MAAA,qBACrCH,GAAAA,CAAC,cAAA,EAAA,EAA+B,IAAA,EAAM,MAAA,EAAA,EAAzB,MAAA,CAAO,UAAyB,CAChD,CAAA;AAED,EAAA,uBACIA,GAAAA,CAACI,IAAAA,EAAA,EACG,QAAA,kBAAAH,IAAAA,CAACI,aAAA,EACG,QAAA,EAAA;AAAA,oBAAAL,GAAAA,CAACM,MAAA,EACG,QAAA,kBAAAN,IAAC,IAAA,EAAA,EAAG,SAAA,EAAU,cAAA,EAAe,QAAA,EAAA,oBAAA,EAAkB,CAAA,EACnD,CAAA;AAAA,oBACAA,GAAAA,CAACM,IAAAA,EAAA,EAAK,EAAA,EAAI,EAAE,EAAA,EAAI,CAAA,EAAE,EACb,QAAA,EAAA,SAAA,CAAU,SAAS,CAAA,GAAI,iBAAA,mBAAoBN,GAAAA,CAAC,GAAA,EAAA,EAAE,0CAA4B,CAAA,EAC/E;AAAA,GAAA,EACJ,CAAA,EACJ,CAAA;AAER,CAAA;AAEA,IAAO,uBAAA,GAAQ,cAAA;;;ACnCf,IAAM,kBAAA,GAAN,MAAM,mBAAA,CAAmB;AAAA,EACrB,OAAe,QAAA,GAAsC,IAAA;AAAA,EAC7C,cAA2B,EAAC;AAAA,EAE5B,WAAA,GAAc;AAAA,EAAC;AAAA,EAEvB,OAAO,WAAA,GAAkC;AACrC,IAAA,IAAI,CAAC,oBAAmB,QAAA,EAAU;AAC9B,MAAA,mBAAA,CAAmB,QAAA,GAAW,IAAI,mBAAA,EAAmB;AAAA,IACzD;AACA,IAAA,OAAO,mBAAA,CAAmB,QAAA;AAAA,EAC9B;AAAA,EAEA,OAAA,CAAQ,WAAmB,IAAA,EAAyB;AAChD,IAAA,IAAA,CAAK,WAAA,CAAY,SAAS,CAAA,GAAI,IAAA;AAAA,EAClC;AAAA,EAEA,QAAQ,SAAA,EAAwB;AAC5B,IAAA,OAAO,IAAA,CAAK,YAAY,SAAS,CAAA;AAAA,EACrC;AAAA,EAEA,SAAA,GAAkB;AACd,IAAA,IAAA,CAAK,cAAc,EAAC;AAAA,EACxB;AACJ,CAAA;AAEA,IAAO,oBAAA,GAAQ,mBAAmB,WAAA,EAAY;ACd9C,IAAM,iBAAiB,CAAC,EAAE,OAAO,GAAA,EAAK,IAAA,EAAM,UAAU,CAAA;AAEtD,IAAM,WAAA,GAAmD,CAAC,EAAE,SAAA,EAAU,KAAM;AAExE,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIE,SAAkB,KAAK,CAAA;AAC/C,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIA,SAAiB,GAAG,CAAA;AAChD,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,SAAgB,cAAc,CAAA;AAC5D,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIA,QAAAA,CAA4B;AAAA,IAChD,UAAA,EAAY,CAAA;AAAA,IACZ,YAAA,EAAc,EAAA;AAAA,IACd,YAAA,EAAc,EAAA;AAAA,IACd,YAAA,EAAc,EAAA;AAAA,IACd,iBAAA,EAAmB,IAAA;AAAA,IACnB,YAAA,EAAc,OAAA;AAAA,IACd,mBAAA,EAAqB,IAAA;AAAA,IACrB,WAAA,EAAa;AAAA,GAChB,CAAA;AAED,EAAA,MAAM,eAAA,GAAkB,WAAA,CAAY,OAAO,iBAAA,EAAkC,SAAA,KAAsB;AAC/F,IAAA,IAAIK,QAAAA,GAAU,oBAAA,CAAY,OAAA,CAAQ,SAAS,CAAA;AAE3C,IAAA,IAAI,CAACA,QAAAA,EAAS;AACV,MAAA,MAAM,QAAA,GAAW,MAAM,qBAAA,CAAsB,SAAS,CAAA;AACtD,MAAA,IAAG,CAAC,QAAA,EAAU;AACd,MAAA,MAAM,EAAE,aAAY,GAAI,QAAA;AACxB,MAAAA,QAAAA,GAAU;AAAA,QACN,GAAG,cAAA;AAAA,QACH,GAAG,WAAA,CAAY,GAAA,CAAI,CAACC,OAAAA,MAAiB;AAAA,UACjC,KAAA,EAAO,MAAA,CAAOA,OAAAA,CAAO,iBAAiB,CAAA;AAAA,UACtC,MAAMA,OAAAA,CAAO;AAAA,SACjB,CAAE;AAAA,OACN;AACA,MAAA,oBAAA,CAAY,OAAA,CAAQ,WAAWD,QAAO,CAAA;AAAA,IAC1C;AACA,IAAA,SAAA,CAAU,iBAAA,GAAoB,MAAA,CAAO,iBAAiB,CAAA,GAAI,GAAG,CAAA;AAC7D,IAAA,UAAA,CAAWA,QAAO,CAAA;AAAA,EACtB,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,SAAA,GAAY,WAAA,CAAY,OAAO,SAAA,KAAiC;AAClE,IAAA,OAAA,CAAQ,IAAI,CAAA;AACZ,IAAA,OAAA,CAAQ,SAAS,CAAA;AACjB,IAAA,MAAM,eAAA,CAAgB,SAAA,CAAU,iBAAA,EAAmB,SAAA,CAAU,UAAU,CAAA;AAAA,EAC3E,CAAA,EAAG,CAAC,eAAe,CAAC,CAAA;AAEpB,EAAAJ,UAAU,MAAM;AACZ,IAAAM,EAAAA,CAAG,WAAA,CAAY,qBAAA,CAAsB,qBAAA,EAAuB,MAAM,SAAS,CAAA;AAC3E,IAAA,OAAO,MAAM;AACT,MAAAA,EAAAA,CAAG,cAAA,CAAe,IAAA,EAAM,qBAAA,CAAsB,qBAAqB,CAAA;AAAA,IACvE,CAAA;AAAA,EACJ,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,MAAM,QAAA,GAAW,CAAC,IAAA,EAAc,KAAA,KAAe;AAC3C,IAAA,OAAA,CAAQ,CAAC,QAAA,MAAc;AAAA,MACnB,GAAG,QAAA;AAAA,MAAU,CAAC,IAAI,GAAG;AAAA,KACzB,CAAE,CAAA;AAAA,EACN,CAAA;AAEA,EAAA,MAAM,eAAA,GAAkB,CAAC,IAAA,EAAc,KAAA,KAAe;AAClD,IAAA,SAAA,CAAU,KAAK,CAAA;AAAA,EACnB,CAAA;AAEA,EAAA,MAAM,cAAc,MAAM;AAAE,IAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,EAAG,CAAA;AAE5C,EAAA,MAAM,cAAc,YAAY;AAC5B,IAAA,MAAM,EAAE,UAAA,EAAY,YAAA,EAAa,GAAI,IAAA;AACrC,IAAA,MAAM,WAAW,MAAM,wBAAA,CAAyB,YAAY,MAAA,CAAO,MAAM,GAAG,YAAY,CAAA;AACxF,IAAA,IAAI,QAAA,EAAU;AACV,MAAA,sBAAA,CAAuBC,WAAAA,CAAY,OAAA,EAAS,oBAAA,CAAqB,yBAAyB,CAAA;AAC1F,MAAA,WAAA,EAAY;AACZ,MAAA,SAAA,EAAU;AAAA,IACd,CAAA,MAAO;AACH,MAAAC,mBAAAA,CAAoBD,WAAAA,CAAY,KAAA,EAAO,oBAAA,CAAqB,iCAAiC,UAAU,CAAA;AAAA,IAC3G;AAAA,EACJ,CAAA;AAEA,EAAA,uBACIV,GAAAA,CAAC,MAAA,EAAA,EAAO,IAAA,EAAM,MAAM,OAAA,EAAS,WAAA,EAAa,SAAA,EAAW,IAAA,EAAM,UAAS,IAAA,EAChE,QAAA,kBAAAC,IAAAA,CAAC,KAAA,EAAA,EAAI,WAAU,eAAA,EACX,QAAA,EAAA;AAAA,oBAAAD,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,oBAAA,EACX,QAAA,kBAAAA,GAAAA,CAAC,UAAA,EAAA,EAAW,OAAA,EAAQ,WAAA,EAAY,MAAA,EAAM,IAAA,EAAC,QAAA,EAAA,mBAAA,EAEvC,CAAA,EACJ,CAAA;AAAA,oBACAC,IAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAA,EACX,QAAA,EAAA;AAAA,sBAAAD,IAACY,MAAAA,EAAA,EAAO,EAAA,EAAG,UAAA,EAAW,WAAU,WAAA,EAAY,CAAA;AAAA,sBAC5CX,IAAAA,CAACY,KAAAA,EAAA,EAAM,EAAA,EAAI,EAAE,KAAA,EAAO,MAAA,EAAQ,QAAA,EAAU,CAAA,EAAE,EACpC,QAAA,EAAA;AAAA,wBAAAb,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,cAAA,EAAe,QAAA,EAAA,cAAA,EAE9B,CAAA;AAAA,wBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iBAAA,EACV,eAAK,YAAA,EACV;AAAA,OAAA,EACJ,CAAA;AAAA,sBACAA,IAACF,IAAAA,EAAA,EAAI,IAAI,EAAE,EAAA,EAAI,GAAE,EAAG,CAAA;AAAA,sBACpBG,IAAAA,CAACY,KAAAA,EAAA,EAAM,EAAA,EAAI,EAAE,QAAA,EAAU,CAAA,EAAG,QAAA,EAAU,MAAA,EAAO,EACvC,QAAA,EAAA;AAAA,wBAAAb,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,cAAA,EAAe,QAAA,EAAA,qBAAA,EAE9B,CAAA;AAAA,wBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iBAAA,EACV,eAAK,YAAA,EACV;AAAA,OAAA,EACJ,CAAA;AAAA,sBACAA,IAACF,IAAAA,EAAA,EAAI,IAAI,EAAE,EAAA,EAAI,GAAE,EAAG,CAAA;AAAA,sBACpBE,GAAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UAAO,KAAA,EAAM,cAAA;AAAA,UAAe,IAAA,EAAK,cAAA;AAAA,UAAe,OAAO,IAAA,CAAK,YAAA;AAAA,UACzD,KAAA,EAAM,OAAA;AAAA,UAAQ,MAAA,EAAO,OAAA;AAAA,UAAQ,KAAA,EAAM,MAAA;AAAA,UAAO,MAAA,EAAO,MAAA;AAAA,UAAO;AAAA;AAAA,OAAmB;AAAA,sBAC/EA,IAACF,IAAAA,EAAA,EAAI,IAAI,EAAE,EAAA,EAAI,GAAE,EAAG,CAAA;AAAA,sBACpBE,GAAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UAAS,KAAA,EAAM,gBAAA;AAAA,UAAiB,IAAA,EAAK,mBAAA;AAAA,UAAoB,KAAA,EAAO,GAAG,MAAM,CAAA,CAAA;AAAA,UACtE,OAAA;AAAA,UAAkB,QAAA,EAAU,eAAA;AAAA,UAAiB,WAAA,EAAY;AAAA;AAAA,OAAgB;AAAA,sBAC7EA,GAAAA,CAACc,OAAAA,EAAA,EAAQ,EAAA,EAAI,EAAE,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,CAAA,EAAE,EAAG,CAAA;AAAA,sBAC/Bb,KAACK,IAAAA,EAAA,EAAK,WAAS,IAAA,EAAC,OAAA,EAAS,CAAA,EAAG,SAAA,EAAW,CAAA,EACnC,QAAA,EAAA;AAAA,wBAAAN,GAAAA,CAACM,MAAA,EAAK,IAAA,EAAM,EAAC,EAAA,EAAI,CAAA,IACb,QAAA,kBAAAN,GAAAA,CAACe,QAAA,EAAO,IAAA,EAAK,UAAS,IAAA,EAAK,QAAA,EAAS,SAAQ,MAAA,EAAO,OAAA,EAAS,aAAa,CAAA,EAC7E,CAAA;AAAA,wBACAf,GAAAA,CAACM,IAAAA,EAAA,EAAK,IAAA,EAAM,EAAC,IAAI,CAAA,EAAC,EACd,0BAAAN,GAAAA,CAACe,MAAAA,EAAA,EAAO,IAAA,EAAK,MAAA,EAAO,MAAK,MAAA,EAAO,OAAA,EAAS,aAAa,CAAA,EAC1D;AAAA,OAAA,EACJ;AAAA,KAAA,EACJ;AAAA,GAAA,EACJ,CAAA,EACJ,CAAA;AAER,CAAA;AAEA,IAAO,oBAAA,GAAQ,WAAA;AC9Gf,IAAM,WAAA,GAA0C,CAAC,EAAE,QAAA,EAAS,KAAM;AAE9D,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIb,SAAS,IAAI,CAAA;AAC3C,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIA,SAAsB,EAAE,IAAA,EAAM,EAAE,QAAA,EAAU,EAAA,EAAG,EAAG,WAAA,EAAa,IAAI,CAAA;AAEzF,EAAA,MAAM,YAAA,GAAec,YAAY,YAAY;AACzC,IAAA,MAAM,QAAA,GAAW,MAAM,UAAA,EAAW;AAClC,IAAA,IAAI,QAAA,UAAkB,QAAQ,CAAA;AAC9B,IAAA,UAAA,CAAW,KAAK,CAAA;AAAA,EACpB,CAAA,EAAG,EAAE,CAAA;AAEL,EAAAb,UAAU,MAAM;AACZ,IAAA,QAAA,CAAS,QAAQ,MAAA,CAAO,kBAAA;AACxB,IAAA,YAAA,EAAa;AAAA,EACjB,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AAEjB,EAAA,MAAM,OAAA,GAAU,CAAC,IAAA,KAAkB;AAC/B,IAAA,IAAI,IAAA,EAAM,QAAA,CAAS,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAA;AAAA,EACjC,CAAA;AAEA,EAAA,uBACIF,IAAAA,CAAC,SAAA,EAAA,EAAU,QAAA,EAAS,IAAA,EAAK,EAAA,EAAI,EAAE,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,CAAA,EAAE,EACxC,QAAA,EAAA;AAAA,oBAAAA,IAAAA,CAACK,MAAA,EACG,QAAA,EAAA;AAAA,sBAAAN,GAAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,cAAA,EAAe,QAAA,EAAA,kBAAA,EAAgB,CAAA;AAAA,sBAC7CC,IAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,sBAAA,EAAuB,QAAA,EAAA;AAAA,QAAA,eAAA;AAAA,wBACrBD,GAAAA,CAAC,UAAA,EAAA,EAAW,MAAK,MAAA,EAAO,IAAA,EAAK,QAAO,OAAA,EAAkB,CAAA;AAAA,QAAE;AAAA,OAAA,EACzE;AAAA,KAAA,EACJ,CAAA;AAAA,oBACAA,GAAAA,CAACY,MAAAA,EAAA,EAAO,EAAA,EAAG,SAAA,EAAU,WAAU,WAAA,EAAY,CAAA;AAAA,oBAC3CZ,GAAAA,CAAC,oBAAA,EAAA,EAAY,SAAA,EAAW,YAAA,EAAa,CAAA;AAAA,oBACrCA,IAACF,IAAAA,EAAA,EAAI,IAAI,EAAE,EAAA,EAAI,GAAE,EAAG,CAAA;AAAA,IACnB,OAAA,mBAAUE,GAAAA,CAAC,eAAA,EAAA,EAAY,oBACpBC,IAAAA,CAACH,MAAA,EACG,QAAA,EAAA;AAAA,sBAAAE,GAAAA,CAAC,uBAAA,EAAA,EAAe,IAAA,EAAM,IAAA,CAAK,WAAA,EAAa,CAAA;AAAA,sBACxCA,IAACF,IAAAA,EAAA,EAAI,IAAI,EAAE,EAAA,EAAI,GAAE,EAAG,CAAA;AAAA,sBACpBE,GAAAA,CAAC,uBAAA,EAAA,EAAmB,IAAA,EAAM,KAAK,IAAA,EAAM;AAAA,KAAA,EACzC;AAAA,GAAA,EAER,CAAA;AAER,CAAA;AAEA,IAAO,oBAAA,GAAQ","file":"profile.page.js","sourcesContent":["import { getcall, patchcall, postcall } from \"sspart-fe-lib\";\nimport { CUSTOMER_ROUTES } from \"../../resources/routes\";\n\nexport const getProfile = async (): Promise<any> => {\n return await getcall(CUSTOMER_ROUTES(\"profile\"), \"profile\");\n};\n\nexport const updateProfile = async (telegram: string): Promise<any> => {\n return await postcall(CUSTOMER_ROUTES(\"profile\"), { telegram }, \"user-settings\");\n};\n\nexport const getSegmentPreferences = async (segment_id: number): Promise<any> => {\n return await postcall(CUSTOMER_ROUTES(\"segments\"), { segment_id }, \"segments\");\n};\n\nexport const updateSegmentPreferences = async (segment_id: number, broker_account_id: number, trading_mode: string): Promise<any> => {\n return await patchcall(CUSTOMER_ROUTES(\"segments\"), { segment_id, broker_account_id, trading_mode }, \"segments\");\n};","import { FC } from \"react\";\nimport Box from '@mui/material/Box';\nimport { Textbox, Tooltip } from \"sspart-fe-lib\";\n\ninterface ExternalNotificationProps {\n\tvalue: string;\n\thelpText: string;\n\tonChange: (name: string, value: string) => void;\n\tname: string;\n title: string;\n}\n\nconst ExternalNotification : FC<ExternalNotificationProps> = ({ value, helpText, onChange, name, title }) => {\n\n const handleChange = (name: string, value: string) => {\n onChange(name, value);\n };\n\n return (\n <div>\n <Box display='flex' flexDirection='row' alignItems='center' mb={1}>\n <h4 className=\"profile-sub-heading noselect\">\n {title}\n </h4>\n <Tooltip placement='bottom' title={helpText}/>\n </Box>\n <Textbox name={name} type=\"text\" onChange={handleChange} value={value} />\n </div>\n );\n};\n\nexport default ExternalNotification;\n","import React, { useEffect, useState } from \"react\";\nimport Card from '@mui/material/Card';\nimport CardContent from '@mui/material/CardContent';\nimport Grid from '@mui/material/Grid';\nimport { ALERT_TYPES, Alerts, Button, showValidationAlert } from 'sspart-fe-lib';\nimport { updateProfile } from \"./api-calls\";\nimport ExternalNotification from \"./external-notification\";\nimport { SETTINGS_HELP_TEXT } from \"../broker-settings.page/constants\";\nimport { STATUS_CODE_MESSAGES } from \"../../resources/status\";\n\ninterface Broker {\n telegram: string;\n}\n\ninterface ProfilePageProps {\n data: Broker;\n}\n\nconst ProfilePageWrapper: React.FC<ProfilePageProps> = ({ data }) => {\n\n const [localdata, setLocalData] = useState<Broker>({ telegram: \"\" });\n\n useEffect(() => {\n setLocalData(data);\n }, [data]);\n \n const onChange = (name: string, value: string) => {\n setLocalData((prev) => ({ ...prev, [name]: value }));\n };\n \n const onSaveClick = async () => {\n const { telegram } = localdata;\n const response = await updateProfile(telegram);\n if(response) {\n showValidationAlert(ALERT_TYPES.SUCCESS, STATUS_CODE_MESSAGES.YOUR_PROFILE_SETTINGS_UPDATED_SUCCESSFULLY, 'profile');\n }\n }\n\n const { telegram } = localdata;\n\n return (\n <Card>\n <CardContent>\n <Grid>\n <h4 className=\"page-heading\">User settings</h4>\n </Grid>\n <Alerts id=\"user-settings\" className=\"mt-2 mb-4\" />\n <Grid sx={{ my: 2 }}>\n <ExternalNotification name=\"telegram\" helpText={SETTINGS_HELP_TEXT.telegram} \n value={telegram} onChange={onChange} title=\"Telegram Chat Id\"/>\n </Grid>\n <Grid sx={{ display: 'flex', flexDirection: 'column', alignItems: 'center', mt: 4}}>\n <Button id=\"save\" name=\"save\" className=\"wrapped-btn\" onClick={onSaveClick} text=\"Save\"/>\n </Grid>\n </CardContent>\n </Card>\n );\n};\n\nexport default ProfilePageWrapper;","import React from \"react\";\nimport Box from '@mui/material/Box';\nimport Stack from '@mui/material/Stack';\nimport Divider from \"@mui/material/Divider\";\nimport IconButton from \"@mui/material/IconButton\";\nimport EditIcon from '@mui/icons-material/Edit';\nimport { ns } from \"sspart-fe-lib\";\nimport { NOTIFICATION_SERVICES } from \"../../resources/constants\";\nimport { BrokerPreferences } from \"./infertaces\";\n\ninterface BrokerProps {\n data: BrokerPreferences;\n}\n\nconst Broker: React.FC<BrokerProps> = ({ data }) => {\n\n const onClick = () => {\n ns.postNotification(NOTIFICATION_SERVICES.ADD_BROKER_PREFERENCE, data);\n };\n\n return (\n <Box className=\"broker-card\">\n <Stack direction=\"row\" alignItems=\"flex-start\" justifyContent=\"space-between\" spacing={2} sx={{ width: '100%' }}>\n <Stack direction=\"column\" alignItems=\"flex-start\" justifyContent=\"space-between\" spacing={2} sx={{ flex: 1, minWidth: 0 }}>\n <Stack direction=\"row\" alignItems='start' sx={{ width: '100%', minWidth: 0 }}>\n <div className=\"segment-name\">\n {data.segment_name}\n </div>\n {data.trading_mode && <div className={`trade-mode trade-mode-${data.trading_mode}`}>\n {data.trading_mode}\n </div>}\n </Stack>\n <Stack sx={{ width: '100%', minWidth: 0 }}>\n <div className=\"segment-desc\">\n {data.segment_desc}\n </div>\n </Stack>\n </Stack>\n <Stack direction=\"row\" alignItems='center'>\n <IconButton onClick={() => onClick()}>\n <EditIcon sx={{ fontSize: 16 }} />\n </IconButton>\n </Stack>\n </Stack>\n <Divider sx={{ my: 2 }} />\n <Stack direction=\"row\" alignItems=\"flex-start\" justifyContent=\"space-between\" spacing={2} sx={{ width: '100%', minWidth: 0 }}>\n <Stack direction=\"column\" alignItems=\"flex-start\" justifyContent=\"space-between\" spacing={2} sx={{ flex: 1, minWidth: 0 }}>\n <Stack sx={{ width: '100%', minWidth: 0 }}>\n <div className=\"segment-desc\">\n Broker\n </div>\n <div className=\"segment-details\">\n {data.broker_name ?? \"Not linked\"}\n </div>\n </Stack>\n </Stack>\n <Stack direction=\"row\" sx={{ minWidth: 0, maxWidth: '45%' }}>\n <Stack direction=\"column\" alignItems=\"end\" sx={{ minWidth: 0 }}>\n <div className=\"segment-desc text-end\">\n Account Name\n </div>\n <div className=\"segment-details text-end\">\n {data.broker_account_name ?? \"Not linked\"}\n </div>\n </Stack>\n </Stack>\n </Stack>\n </Box>\n );\n};\n\nexport default Broker;","import React, { useEffect, useState } from \"react\";\nimport Card from '@mui/material/Card';\nimport CardContent from '@mui/material/CardContent';\nimport Grid from '@mui/material/Grid';\nimport Broker from \"./broker\";\nimport { BrokerPreferences } from \"./infertaces\";\n\ninterface BrokersWrapperProps {\n data: BrokerPreferences[];\n}\n\nconst BrokersWrapper: React.FC<BrokersWrapperProps> = ({ data }) => {\n\n const [localdata, setLocalData] = useState<BrokerPreferences[]>([]);\n\n useEffect(() => {\n setLocalData(data);\n }, [data]);\n\n const brokerPreferences = localdata.map((broker) => (\n <Broker key={broker.segment_id} data={broker}/>\n ));\n\n return (\n <Card>\n <CardContent>\n <Grid>\n <h4 className=\"page-heading\">Broker preferences</h4>\n </Grid>\n <Grid sx={{ my: 2 }}>\n {localdata.length > 0 ? brokerPreferences : <p>No broker preferences found.</p>}\n </Grid>\n </CardContent>\n </Card>\n );\n};\n\nexport default BrokersWrapper;","type DataService = Record<number, any>;\n\nclass DataServiceService {\n private static instance: DataServiceService | null = null;\n private dataService: DataService = {};\n\n private constructor() {}\n\n static getInstance(): DataServiceService {\n if (!DataServiceService.instance) {\n DataServiceService.instance = new DataServiceService();\n }\n return DataServiceService.instance;\n }\n\n setData(segmentid: number, data: DataService): void {\n this.dataService[segmentid] = data;\n }\n\n getData(segmentid: number): any {\n return this.dataService[segmentid];\n }\n\n resetData(): void {\n this.dataService = {};\n }\n}\n\nexport default DataServiceService.getInstance();","import React, { useState, useEffect, useCallback } from 'react';\nimport Dialog from '@mui/material/Dialog';\nimport Grid from '@mui/material/Grid';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport Box from \"@mui/material/Box\";\nimport { ALERT_TYPES, Alerts, Button, Dropdown, ns, showValidationAlert, showValidationSnackBar, STATUSES, Toggle } from 'sspart-fe-lib';\nimport { NOTIFICATION_SERVICES } from '../../resources/constants';\nimport Divider from '@mui/material/Divider';\nimport { BrokerPreferences } from './infertaces';\nimport { getSegmentPreferences, updateSegmentPreferences } from './api-calls';\nimport dataService from './data-service';\nimport { STATUS_CODE_MESSAGES } from '../../resources/status';\n\nconst defaultOptions = [{ value: '0', text: 'Select' }];\n\nconst BrokerModal: React.FC<{ onRefresh: () => void }> = ({ onRefresh }) => {\n\n const [show, setShow] = useState<boolean>(false);\n const [option, setOption] = useState<string>('0');\n const [options, setOptions] = useState<any[]>(defaultOptions);\n const [data, setData] = useState<BrokerPreferences>({\n segment_id: 0,\n segment_code: '',\n segment_name: '',\n segment_desc: '',\n broker_account_id: null,\n trading_mode: 'paper',\n broker_account_name: null,\n broker_name: null\n });\n\n const loadPreferences = useCallback(async (broker_account_id: number | null, segmentId: number) => {\n let options = dataService.getData(segmentId);\n\n if (!options) {\n const response = await getSegmentPreferences(segmentId);\n if(!response) return;\n const { preferences } = response;\n options = [\n ...defaultOptions,\n ...preferences.map((option: any) => ({\n value: String(option.broker_account_id),\n text: option.broker_account_name\n }))\n ];\n dataService.setData(segmentId, options);\n }\n setOption(broker_account_id ? String(broker_account_id) : '0');\n setOptions(options);\n }, []);\n\n const openModal = useCallback(async (modalData: BrokerPreferences) => {\n setShow(true);\n setData(modalData);\n await loadPreferences(modalData.broker_account_id, modalData.segment_id);\n }, [loadPreferences]);\n\n useEffect(() => {\n ns.addObserver(NOTIFICATION_SERVICES.ADD_BROKER_PREFERENCE, null, openModal);\n return () => {\n ns.removeObserver(null, NOTIFICATION_SERVICES.ADD_BROKER_PREFERENCE);\n };\n }, [openModal]);\n\n const onChange = (name: string, value: any) => {\n setData((prevData) => ({\n ...prevData, [name]: value\n }));\n }\n\n const onChangeAccount = (name: string, value: any) => {\n setOption(value);\n }\n\n const handleClose = () => { setShow(false); };\n\n const onSureModal = async () => {\n const { segment_id, trading_mode } = data;\n const response = await updateSegmentPreferences(segment_id, Number(option), trading_mode);\n if (response) {\n showValidationSnackBar(ALERT_TYPES.SUCCESS, STATUS_CODE_MESSAGES.BROKER_PREFERENCE_UPDATED);\n handleClose();\n onRefresh();\n } else {\n showValidationAlert(ALERT_TYPES.ERROR, STATUS_CODE_MESSAGES.BROKER_PREFERENCE_UPDATE_FAILED, \"segments\");\n }\n };\n\n return (\n <Dialog open={show} onClose={handleClose} fullWidth={true} maxWidth='xs'>\n <div className='modal-content'>\n <div className='cloud-modal-header'>\n <Typography variant='subtitle2' noWrap>\n Broker Preference\n </Typography>\n </div>\n <div className='modal-body'>\n <Alerts id=\"segments\" className=\"mt-2 mb-2\" />\n <Stack sx={{ width: '100%', minWidth: 0 }}>\n <div className=\"segment-desc\">\n Segment Name\n </div>\n <div className=\"segment-details\">\n {data.segment_name}\n </div>\n </Stack>\n <Box sx={{ my: 2 }} />\n <Stack sx={{ minWidth: 0, maxWidth: '100%' }}>\n <div className=\"segment-desc\">\n Segment Description\n </div>\n <div className=\"segment-details\">\n {data.segment_desc}\n </div>\n </Stack>\n <Box sx={{ my: 2 }} />\n <Toggle label='Trading Mode' name='trading_mode' value={data.trading_mode}\n text1='Paper' value1='paper' text2='Live' value2='live' onChange={onChange}/>\n <Box sx={{ my: 4 }} />\n <Dropdown label='Broker Account' name='broker_account_id' value={`${option}`}\n options={options} onChange={onChangeAccount} placeholder='Broker Account'/>\n <Divider sx={{ mt: 4, mb: 2 }} />\n <Grid container spacing={2} marginTop={2}>\n <Grid size={{xs: 6}}>\n <Button name='Cancel' text='Cancel' variant='text' onClick={handleClose} />\n </Grid>\n <Grid size={{xs: 6}}>\n <Button name='Save' text='Save' onClick={onSureModal} />\n </Grid>\n </Grid>\n </div>\n </div>\n </Dialog>\n );\n};\n\nexport default BrokerModal;\n","import React, { useEffect, useState, useCallback } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Container from \"@mui/material/Container\";\nimport Grid from '@mui/material/Grid';\nimport Box from \"@mui/material/Box\";\nimport { TITLES } from '../resources/constants';\nimport { Alerts, LinkButton } from 'sspart-fe-lib';\nimport LoadingComp from \"../components/common/loading\";\nimport { getProfile } from \"../components/profile.page/api-calls\";\nimport ProfilePageWrapper from \"../components/profile.page/profile-wrapper\";\nimport BrokersWrapper from \"../components/profile.page/brokers-wrapper\";\nimport BrokerModal from \"../components/profile.page/broker-modal\";\nimport { BrokerPreferences } from \"../components/profile.page/infertaces\";\n\ninterface ProfilePageProps {\n navigate: ReturnType<typeof useNavigate>;\n}\n\ninterface UserSettings {\n telegram: string;\n}\n\ninterface UserProfile {\n data: UserSettings;\n preferences: BrokerPreferences[];\n}\n\nconst ProfilePage: React.FC<ProfilePageProps> = ({ navigate }) => {\n\n const [loading, setLoading] = useState(true);\n const [data, setData] = useState<UserProfile>({ data: { telegram: \"\" }, preferences: [] });\n\n const fetchProfile = useCallback(async () => {\n const response = await getProfile();\n if (response) setData(response);\n setLoading(false);\n }, []);\n\n useEffect(() => {\n document.title = TITLES.PROFILE_PAGE_TITLE;\n fetchProfile();\n }, [fetchProfile]);\n\n const onClick = (name?: string) => {\n if (name) navigate(`/${name}`);\n };\n\n return (\n <Container maxWidth=\"sm\" sx={{ mt: 2, mb: 4 }}>\n <Grid>\n <h4 className=\"page-heading\">Profile Settings</h4>\n <div className=\"broker-settings-help\">\n Please click <LinkButton name=\"help\" text=\"here\" onClick={onClick} /> for help to update your profile settings.\n </div>\n </Grid>\n <Alerts id=\"profile\" className=\"mt-2 mb-4\" />\n <BrokerModal onRefresh={fetchProfile}/>\n <Box sx={{ my: 2 }} />\n {loading ? <LoadingComp /> : \n <Box>\n <BrokersWrapper data={data.preferences} />\n <Box sx={{ my: 2 }} />\n <ProfilePageWrapper data={data.data} />\n </Box>\n }\n </Container>\n );\n};\n\nexport default ProfilePage;"]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/profile.page/api-calls.tsx","../../src/components/profile.page/external-notification.tsx","../../src/components/profile.page/profile-wrapper.tsx","../../src/components/profile.page/broker.tsx","../../src/components/profile.page/brokers-wrapper.tsx","../../src/components/profile.page/data-service.tsx","../../src/components/profile.page/broker-modal.tsx","../../src/pages/profile.page.tsx"],"names":["name","value","Box","telegram","jsx","jsxs","useState","useEffect","Card","CardContent","Grid","options","option","ns","ALERT_TYPES","showValidationAlert","Alerts","Stack","Divider","Button","useCallback"],"mappings":"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","file":"profile.page.js","sourcesContent":["import { getcall, patchcall, postcall } from \"sspart-fe-lib\";\nimport { CUSTOMER_ROUTES } from \"../../resources/routes\";\n\nexport const getProfile = async (): Promise<any> => {\n return await getcall(CUSTOMER_ROUTES(\"profile\"), \"profile\");\n};\n\nexport const updateProfile = async (telegram: string): Promise<any> => {\n return await postcall(CUSTOMER_ROUTES(\"profile\"), { telegram }, \"user-settings\");\n};\n\nexport const getSegmentPreferences = async (segment_id: number): Promise<any> => {\n return await postcall(CUSTOMER_ROUTES(\"segments\"), { segment_id }, \"segments\");\n};\n\nexport const updateSegmentPreferences = async (segment_id: number, broker_account_id: number, trading_mode: string): Promise<any> => {\n return await patchcall(CUSTOMER_ROUTES(\"segments\"), { segment_id, broker_account_id, trading_mode }, \"segments\");\n};","import { FC } from \"react\";\nimport Box from '@mui/material/Box';\nimport { Textbox, Tooltip } from \"sspart-fe-lib\";\n\ninterface ExternalNotificationProps {\n\tvalue: string;\n\thelpText: string;\n\tonChange: (name: string, value: string) => void;\n\tname: string;\n title: string;\n}\n\nconst ExternalNotification : FC<ExternalNotificationProps> = ({ value, helpText, onChange, name, title }) => {\n\n const handleChange = (name: string, value: string) => {\n onChange(name, value);\n };\n\n return (\n <div>\n <Box display='flex' flexDirection='row' alignItems='center' mb={1}>\n <h4 className=\"profile-sub-heading noselect\">\n {title}\n </h4>\n <Tooltip placement='bottom' title={helpText}/>\n </Box>\n <Textbox name={name} type=\"text\" onChange={handleChange} value={value} />\n </div>\n );\n};\n\nexport default ExternalNotification;\n","import React, { useEffect, useState } from \"react\";\nimport Card from '@mui/material/Card';\nimport CardContent from '@mui/material/CardContent';\nimport Grid from '@mui/material/Grid';\nimport { ALERT_TYPES, Alerts, Button, showValidationAlert } from 'sspart-fe-lib';\nimport { updateProfile } from \"./api-calls\";\nimport ExternalNotification from \"./external-notification\";\nimport { SETTINGS_HELP_TEXT } from \"../broker-settings.page/constants\";\nimport { STATUS_CODE_MESSAGES } from \"../../resources/status\";\n\ninterface Broker {\n telegram: string;\n}\n\ninterface ProfilePageProps {\n data: Broker;\n}\n\nconst ProfilePageWrapper: React.FC<ProfilePageProps> = ({ data }) => {\n\n const [localdata, setLocalData] = useState<Broker>({ telegram: \"\" });\n\n useEffect(() => {\n setLocalData(data);\n }, [data]);\n \n const onChange = (name: string, value: string) => {\n setLocalData((prev) => ({ ...prev, [name]: value }));\n };\n \n const onSaveClick = async () => {\n const { telegram } = localdata;\n const response = await updateProfile(telegram);\n if(response) {\n showValidationAlert(ALERT_TYPES.SUCCESS, STATUS_CODE_MESSAGES.YOUR_PROFILE_SETTINGS_UPDATED_SUCCESSFULLY, 'user-settings');\n }\n }\n\n const { telegram } = localdata;\n\n return (\n <Card>\n <CardContent>\n <Grid>\n <h4 className=\"page-heading\">User settings</h4>\n </Grid>\n <Alerts id=\"user-settings\" className=\"mt-2 mb-4\" />\n <Grid sx={{ my: 2 }}>\n <ExternalNotification name=\"telegram\" helpText={SETTINGS_HELP_TEXT.telegram} \n value={telegram} onChange={onChange} title=\"Telegram Chat Id\"/>\n </Grid>\n <Grid sx={{ display: 'flex', flexDirection: 'column', alignItems: 'center', mt: 4}}>\n <Button id=\"save\" name=\"save\" className=\"wrapped-btn\" onClick={onSaveClick} text=\"Save\"/>\n </Grid>\n </CardContent>\n </Card>\n );\n};\n\nexport default ProfilePageWrapper;","import React from \"react\";\nimport Box from '@mui/material/Box';\nimport Stack from '@mui/material/Stack';\nimport Divider from \"@mui/material/Divider\";\nimport IconButton from \"@mui/material/IconButton\";\nimport EditIcon from '@mui/icons-material/Edit';\nimport { ns } from \"sspart-fe-lib\";\nimport { NOTIFICATION_SERVICES } from \"../../resources/constants\";\nimport { BrokerPreferences } from \"./infertaces\";\n\ninterface BrokerProps {\n data: BrokerPreferences;\n}\n\nconst Broker: React.FC<BrokerProps> = ({ data }) => {\n\n const onClick = () => {\n ns.postNotification(NOTIFICATION_SERVICES.ADD_BROKER_PREFERENCE, data);\n };\n\n return (\n <Box className=\"broker-card\">\n <Stack direction=\"row\" alignItems=\"flex-start\" justifyContent=\"space-between\" spacing={2} sx={{ width: '100%' }}>\n <Stack direction=\"column\" alignItems=\"flex-start\" justifyContent=\"space-between\" spacing={2} sx={{ flex: 1, minWidth: 0 }}>\n <Stack direction=\"row\" alignItems='start' sx={{ width: '100%', minWidth: 0 }}>\n <div className=\"segment-name\">\n {data.segment_name}\n </div>\n {data.trading_mode && <div className={`trade-mode trade-mode-${data.trading_mode}`}>\n {data.trading_mode}\n </div>}\n </Stack>\n <Stack sx={{ width: '100%', minWidth: 0 }}>\n <div className=\"segment-desc\">\n {data.segment_desc}\n </div>\n </Stack>\n </Stack>\n <Stack direction=\"row\" alignItems='center'>\n <IconButton onClick={() => onClick()}>\n <EditIcon sx={{ fontSize: 16 }} />\n </IconButton>\n </Stack>\n </Stack>\n <Divider sx={{ my: 2 }} />\n <Stack direction=\"row\" alignItems=\"flex-start\" justifyContent=\"space-between\" spacing={2} sx={{ width: '100%', minWidth: 0 }}>\n <Stack direction=\"column\" alignItems=\"flex-start\" justifyContent=\"space-between\" spacing={2} sx={{ flex: 1, minWidth: 0 }}>\n <Stack sx={{ width: '100%', minWidth: 0 }}>\n <div className=\"segment-desc\">\n Broker\n </div>\n <div className=\"segment-details\">\n {data.broker_name ?? \"Not linked\"}\n </div>\n </Stack>\n </Stack>\n <Stack direction=\"row\" sx={{ minWidth: 0, maxWidth: '45%' }}>\n <Stack direction=\"column\" alignItems=\"end\" sx={{ minWidth: 0 }}>\n <div className=\"segment-desc text-end\">\n Account Name\n </div>\n <div className=\"segment-details text-end\">\n {data.broker_account_name ?? \"Not linked\"}\n </div>\n </Stack>\n </Stack>\n </Stack>\n </Box>\n );\n};\n\nexport default Broker;","import React, { useEffect, useState } from \"react\";\nimport Card from '@mui/material/Card';\nimport CardContent from '@mui/material/CardContent';\nimport Grid from '@mui/material/Grid';\nimport Broker from \"./broker\";\nimport { BrokerPreferences } from \"./infertaces\";\n\ninterface BrokersWrapperProps {\n data: BrokerPreferences[];\n}\n\nconst BrokersWrapper: React.FC<BrokersWrapperProps> = ({ data }) => {\n\n const [localdata, setLocalData] = useState<BrokerPreferences[]>([]);\n\n useEffect(() => {\n setLocalData(data);\n }, [data]);\n\n const brokerPreferences = localdata.map((broker) => (\n <Broker key={broker.segment_id} data={broker}/>\n ));\n\n return (\n <Card>\n <CardContent>\n <Grid>\n <h4 className=\"page-heading\">Broker preferences</h4>\n </Grid>\n <Grid sx={{ my: 2 }}>\n {localdata.length > 0 ? brokerPreferences : <p>No broker preferences found.</p>}\n </Grid>\n </CardContent>\n </Card>\n );\n};\n\nexport default BrokersWrapper;","type DataService = Record<number, any>;\n\nclass DataServiceService {\n private static instance: DataServiceService | null = null;\n private dataService: DataService = {};\n\n private constructor() {}\n\n static getInstance(): DataServiceService {\n if (!DataServiceService.instance) {\n DataServiceService.instance = new DataServiceService();\n }\n return DataServiceService.instance;\n }\n\n setData(segmentid: number, data: DataService): void {\n this.dataService[segmentid] = data;\n }\n\n getData(segmentid: number): any {\n return this.dataService[segmentid];\n }\n\n resetData(): void {\n this.dataService = {};\n }\n}\n\nexport default DataServiceService.getInstance();","import React, { useState, useEffect, useCallback } from 'react';\nimport Dialog from '@mui/material/Dialog';\nimport Grid from '@mui/material/Grid';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport Box from \"@mui/material/Box\";\nimport { ALERT_TYPES, Alerts, Button, Dropdown, ns, showValidationAlert, showValidationSnackBar, STATUSES, Toggle } from 'sspart-fe-lib';\nimport { NOTIFICATION_SERVICES } from '../../resources/constants';\nimport Divider from '@mui/material/Divider';\nimport { BrokerPreferences } from './infertaces';\nimport { getSegmentPreferences, updateSegmentPreferences } from './api-calls';\nimport dataService from './data-service';\nimport { STATUS_CODE_MESSAGES } from '../../resources/status';\n\nconst defaultOptions = [{ value: '0', text: 'Select' }];\n\nconst BrokerModal: React.FC<{ onRefresh: () => void }> = ({ onRefresh }) => {\n\n const [show, setShow] = useState<boolean>(false);\n const [option, setOption] = useState<string>('0');\n const [options, setOptions] = useState<any[]>(defaultOptions);\n const [data, setData] = useState<BrokerPreferences>({\n segment_id: 0,\n segment_code: '',\n segment_name: '',\n segment_desc: '',\n broker_account_id: null,\n trading_mode: 'paper',\n broker_account_name: null,\n broker_name: null\n });\n\n const loadPreferences = useCallback(async (broker_account_id: number | null, segmentId: number) => {\n let options = dataService.getData(segmentId);\n\n if (!options) {\n const response = await getSegmentPreferences(segmentId);\n if(!response) return;\n const { preferences } = response;\n options = [\n ...defaultOptions,\n ...preferences.map((option: any) => ({\n value: String(option.broker_account_id),\n text: option.broker_account_name\n }))\n ];\n dataService.setData(segmentId, options);\n }\n setOption(broker_account_id ? String(broker_account_id) : '0');\n setOptions(options);\n }, []);\n\n const openModal = useCallback(async (modalData: BrokerPreferences) => {\n setShow(true);\n setData(modalData);\n await loadPreferences(modalData.broker_account_id, modalData.segment_id);\n }, [loadPreferences]);\n\n useEffect(() => {\n ns.addObserver(NOTIFICATION_SERVICES.ADD_BROKER_PREFERENCE, null, openModal);\n return () => {\n ns.removeObserver(null, NOTIFICATION_SERVICES.ADD_BROKER_PREFERENCE);\n };\n }, [openModal]);\n\n const onChange = (name: string, value: any) => {\n setData((prevData) => ({\n ...prevData, [name]: value\n }));\n }\n\n const onChangeAccount = (name: string, value: any) => {\n setOption(value);\n }\n\n const handleClose = () => { setShow(false); };\n\n const onSureModal = async () => {\n const { segment_id, trading_mode } = data;\n const response = await updateSegmentPreferences(segment_id, Number(option), trading_mode);\n if (response) {\n showValidationSnackBar(ALERT_TYPES.SUCCESS, STATUS_CODE_MESSAGES.BROKER_PREFERENCE_UPDATED);\n handleClose();\n onRefresh();\n } else {\n showValidationAlert(ALERT_TYPES.ERROR, STATUS_CODE_MESSAGES.BROKER_PREFERENCE_UPDATE_FAILED, \"segments\");\n }\n };\n\n return (\n <Dialog open={show} onClose={handleClose} fullWidth={true} maxWidth='xs'>\n <div className='modal-content'>\n <div className='cloud-modal-header'>\n <Typography variant='subtitle2' noWrap>\n Broker Preference\n </Typography>\n </div>\n <div className='modal-body'>\n <Alerts id=\"segments\" className=\"mt-2 mb-2\" />\n <Stack sx={{ width: '100%', minWidth: 0 }}>\n <div className=\"segment-desc\">\n Segment Name\n </div>\n <div className=\"segment-details\">\n {data.segment_name}\n </div>\n </Stack>\n <Box sx={{ my: 2 }} />\n <Stack sx={{ minWidth: 0, maxWidth: '100%' }}>\n <div className=\"segment-desc\">\n Segment Description\n </div>\n <div className=\"segment-details\">\n {data.segment_desc}\n </div>\n </Stack>\n <Box sx={{ my: 2 }} />\n <Toggle label='Trading Mode' name='trading_mode' value={data.trading_mode}\n text1='Paper' value1='paper' text2='Live' value2='live' onChange={onChange}/>\n <Box sx={{ my: 4 }} />\n <Dropdown label='Broker Account' name='broker_account_id' value={`${option}`}\n options={options} onChange={onChangeAccount} placeholder='Broker Account'/>\n <Divider sx={{ mt: 4, mb: 2 }} />\n <Grid container spacing={2} marginTop={2}>\n <Grid size={{xs: 6}}>\n <Button name='Cancel' text='Cancel' variant='text' onClick={handleClose} />\n </Grid>\n <Grid size={{xs: 6}}>\n <Button name='Save' text='Save' onClick={onSureModal} />\n </Grid>\n </Grid>\n </div>\n </div>\n </Dialog>\n );\n};\n\nexport default BrokerModal;\n","import React, { useEffect, useState, useCallback } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Container from \"@mui/material/Container\";\nimport Grid from '@mui/material/Grid';\nimport Box from \"@mui/material/Box\";\nimport { TITLES } from '../resources/constants';\nimport { Alerts, LinkButton } from 'sspart-fe-lib';\nimport LoadingComp from \"../components/common/loading\";\nimport { getProfile } from \"../components/profile.page/api-calls\";\nimport ProfilePageWrapper from \"../components/profile.page/profile-wrapper\";\nimport BrokersWrapper from \"../components/profile.page/brokers-wrapper\";\nimport BrokerModal from \"../components/profile.page/broker-modal\";\nimport { BrokerPreferences } from \"../components/profile.page/infertaces\";\n\ninterface ProfilePageProps {\n navigate: ReturnType<typeof useNavigate>;\n}\n\ninterface UserSettings {\n telegram: string;\n}\n\ninterface UserProfile {\n data: UserSettings;\n preferences: BrokerPreferences[];\n}\n\nconst ProfilePage: React.FC<ProfilePageProps> = ({ navigate }) => {\n\n const [loading, setLoading] = useState(true);\n const [data, setData] = useState<UserProfile>({ data: { telegram: \"\" }, preferences: [] });\n\n const fetchProfile = useCallback(async () => {\n const response = await getProfile();\n if (response) setData(response);\n setLoading(false);\n }, []);\n\n useEffect(() => {\n document.title = TITLES.PROFILE_PAGE_TITLE;\n fetchProfile();\n }, [fetchProfile]);\n\n const onClick = (name?: string) => {\n if (name) navigate(`/${name}`);\n };\n\n return (\n <Container maxWidth=\"sm\" sx={{ mt: 2, mb: 4 }}>\n <Grid>\n <h4 className=\"page-heading\">Profile Settings</h4>\n <div className=\"broker-settings-help\">\n Please click <LinkButton name=\"help\" text=\"here\" onClick={onClick} /> for help to update your profile settings.\n </div>\n </Grid>\n <Alerts id=\"profile\" className=\"mt-2 mb-4\" />\n <BrokerModal onRefresh={fetchProfile}/>\n <Box sx={{ my: 2 }} />\n {loading ? <LoadingComp /> : \n <Box>\n <BrokersWrapper data={data.preferences} />\n <Box sx={{ my: 2 }} />\n <ProfilePageWrapper data={data.data} />\n </Box>\n }\n </Container>\n );\n};\n\nexport default ProfilePage;"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dq-cus-lib",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"react-dom": "^19.0.0",
|
|
50
50
|
"react-router-dom": "^7.13.0",
|
|
51
51
|
"react-window": "^2.2.6",
|
|
52
|
-
"sspart-fe-lib": "^1.2.
|
|
52
|
+
"sspart-fe-lib": "^1.2.32"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@types/react": "^19.0.2",
|