dq-cus-lib 1.3.1 → 1.3.2
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.
|
@@ -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":"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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, '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;"]}
|