-
Notifications
You must be signed in to change notification settings - Fork 0
/
6405dc29b3f3e6afa947f5c18311e0cf305f21a8-bf13a281407520fe534b.js.map
1 lines (1 loc) · 36.9 KB
/
6405dc29b3f3e6afa947f5c18311e0cf305f21a8-bf13a281407520fe534b.js.map
1
{"version":3,"file":"6405dc29b3f3e6afa947f5c18311e0cf305f21a8-bf13a281407520fe534b.js","mappings":"gLACWA,EAAiB,4CACjBC,EAAkB,6CAClBC,EAAa,wCACbC,EAAQ,mCCgBJ,SAASC,EAAWC,GAAsF,IAArF,OAAEC,EAAM,eAAEC,EAAc,oBAAEC,EAAmB,kCAAEC,GAAmCJ,EACrH,MAAK,CAAC,UAAW,YAAa,SAAU,cAAcK,SAASJ,GAE9DK,EAAAA,cAAAA,EAAAA,SAAA,KAKCA,EAAAA,cAACC,EAAAA,EAAM,MACPD,EAAAA,cAAA,OAAKE,GAAIC,GACRH,EAAAA,cAAA,WACEJ,GAA4C,mBAAnBA,EACzBI,EAAAA,cAAA,UAAQI,UAAWD,EAAuBE,QAAST,GACtC,YAAXD,GAAwBK,EAAAA,cAAA,OAAKM,IAAI,qBAAqBC,IAAI,iBAC/C,cAAXZ,GAA0BK,EAAAA,cAAA,OAAKM,IAAI,0BAA0BC,IAAI,cACtD,WAAXZ,GAAuBK,EAAAA,cAAA,OAAKM,IAAI,wBAAwBC,IAAI,WAC7DP,EAAAA,cAAA,YAAM,aAAWL,IAGlBK,EAAAA,cAAA,KAAGI,UAAWD,EAAuBK,KAAMX,EAAqBY,OAAO,SAASC,IAAI,uBACvE,YAAXf,GAAwBK,EAAAA,cAAA,OAAKM,IAAI,qBAAqBC,IAAI,iBAC/C,cAAXZ,GAA0BK,EAAAA,cAAA,OAAKM,IAAI,0BAA0BC,IAAI,cACtD,WAAXZ,GAAuBK,EAAAA,cAAA,OAAKM,IAAI,wBAAwBC,IAAI,WAC7DP,EAAAA,cAAA,YAAM,aAAWL,IAkBlBG,GAC6C,iBAAtCA,GACsC,KAA7CA,EAAkCa,QACjCX,EAAAA,cAAA,SAAG,8BAC+BL,EAAO,IAAE,IAC1CK,EAAAA,cAACY,EAAAA,EAAY,CAACJ,KAAMV,EAAmCW,OAAO,SAASC,IAAI,uBAAsB,iBAKpGV,EAAAA,cAAA,OAAKI,UAAWD,GAAc,MAC9BH,EAAAA,cAACa,EAAAA,KAAI,CAACT,UAAWD,EAAwBW,GAAG,QACd,8BApD6C,IA2DhF,C,6GC/EWC,EAAU,uCACVC,EAAiB,8CACjBC,EAAU,uCACVC,EAAc,2CACdC,EAAS,sCCsBL,SAASC,EAAa1B,GAejC,IAdH2B,eAAgBC,EAAU,MAAK,cAC/BC,EAAa,WACbC,EAAU,SACVC,EAAQ,QACRC,EAAO,IACPC,EAAG,WACHC,EAAU,UACVxB,EAAS,eACTyB,EAAc,YACdC,EAAW,WACXC,EAAU,cACVC,EAAa,kBACbC,KACGC,GACHxC,EACA,MAAM,OAAEyC,IAAWC,EAAAA,EAAAA,YAAWC,EAAAA,GAC9B,OACCrC,EAAAA,cAACsB,EAAOgB,OAAAC,OAAA,CAACnC,UAAY,GAAED,IAAgBC,GAAkC,iBAAdA,GAA+C,KAArBA,EAAUO,OAAgB,IAAMP,EAAY,MAAU8B,GAC1IlC,EAAAA,cAAA,OAAKI,UAAWD,GACfH,EAAAA,cAAA,YAAOuB,GAEPvB,EAAAA,cAACwC,EAAAA,EAAoB,CAACC,WAAYd,EAAKe,QAASd,KAEjD5B,EAAAA,cAAA,OAAKI,UAAWD,GACfH,EAAAA,cAAA,YAAQ,GAAEyB,IAAWD,EAAa,MAAQA,EAAa,MAEvDxB,EAAAA,cAAA,aAGE2C,EAAAA,EAAAA,IAAyBhB,EAAMC,KAGjCC,GACA7B,EAAAA,cAAA,OAAKI,UAAWD,GACfH,EAAAA,cAAC4C,EAAAA,GAAM,CACNC,QAAQ,WACRC,QAAQ,EACRC,KAAK,aACL1C,QAAU2C,IACTf,SAAAA,IACAe,EAAEC,iBAAiB,IA2BrBjD,EAAAA,cAAC4C,EAAAA,GAAM,CACNC,QAAQ,OACRzC,UAAWD,EACXE,QAASA,KACR8B,EAAO,kCAAkC,GAE1C,QAGDnC,EAAAA,cAAC4C,EAAAA,GAAM,CACNC,QAAQ,MACRzC,UAAWD,EACXE,QAAU2C,IACTjB,SAAAA,IACAE,SAAAA,IACAe,EAAEC,iBAAiB,GAEpB,OAGDjD,EAAAA,cAAC4C,EAAAA,GAAM,CACNC,QAAQ,WACRC,QAAQ,EACRC,KAAK,UACL1C,QAAU2C,IACThB,SAAAA,IACAgB,EAAEC,iBAAiB,KAO1B,C,gIC/HWC,EAAS,gDACTC,EAAU,iDACVC,EAAW,kDACXC,EAAqB,4DCsBjB,SAASC,EAAuB5D,GAU3C,IAV4C,cAC/C6B,EAAa,SACbE,EAAQ,YACR8B,EAAW,QACXC,EAAU,EAAC,cACXC,EAAa,IACb9B,EAAG,UACH+B,EAAY,IAAG,mBACfC,EAAkB,YAClBC,GACAlE,EACA,MAAM,EAACmE,EAAI,EAACC,IAAUC,EAAAA,EAAAA,UAAgCR,IAChD,EAACS,EAAO,EAACC,IAAaF,EAAAA,EAAAA,UAAgC,KACtD,EAACG,EAAM,EAACC,IAAYJ,EAAAA,EAAAA,WAAiC,IAErD,OAAE5B,IAAWC,EAAAA,EAAAA,YAAWC,EAAAA,IACxB,kBAAE+B,IAAsBhC,EAAAA,EAAAA,YAAWiC,EAAAA,IACnC,aAAEC,IAAiBlC,EAAAA,EAAAA,YAAWmC,EAAAA,GAG9BC,EAAkBC,GAEnBC,MAAMC,OAAOF,IAAmB,8BAC/BE,OAAOC,UAAUH,GAClBA,EAAWlB,EAAoB,2BAA6BA,EAC5DkB,EAAWjB,EAAgB,4CAA8CA,EACzEiB,EAAWjB,GAAY,EAAU,oCAAsCA,EACpE,GAJiC,gCA+CzC,OACCxD,EAAAA,cAAA,OAAKI,UAAWD,GAKfH,EAAAA,cAAC6E,EAAAA,EAAgB,CAChBzE,UAAWD,EACXoB,cAAeA,EACfE,SAAUA,EACVoC,IAAKN,EACLuB,IAAKrB,EACL9B,IAAKA,EACL+B,UAAWA,IAEZ1D,EAAAA,cAAA,WACCA,EAAAA,cAAC+E,EAAAA,EAAS,CACTC,KAAK,SACLC,MAAM,gBACNC,YAAY,gBACZC,MAAOtB,EAAIuB,WACXC,SA9DuBrC,IAC1BiB,EAAUO,EAAeG,OAAO3B,EAAEvC,OAAO0E,SACzCrB,EAAOa,OAAO3B,EAAEvC,OAAO0E,OAAO,EA6D3BG,MAAOtB,EACPuB,WAAYA,IAAMvF,EAAAA,cAAA,QAAMI,UAAWD,GAAkBoD,MAGvDvD,EAAAA,cAAA,OAAKI,UAAWD,GAOfH,EAAAA,cAAC4C,EAAAA,GAAM,CAACC,QAAQ,UAAU2C,KAAK,MAAMnF,QAjEzBoF,UACd,IAAK9D,EAEJ,OADAQ,EAAO,6BAA8B,QAC9B,EAER,MAAM6B,EAASQ,EAAeX,GAC9B,GAAIK,EAAO,OAAO,EAClB,GAAe,KAAXF,EAEH,OADA7B,EAAO6B,EAAQ,QACR,EAER,IAEC,UAD2BI,IACR,MAAM,IAAIsB,MAAM,iBACnCvB,GAAS,GACT,MAAMwB,QAAkBrB,EAAa/C,EAAeE,EAAwB,MAAdiC,EAAmB/B,EAAKkC,GACtF,IAAK8B,EAAW,MAAM,IAAID,MAAM,2BAMhC,OAJA/B,GAAoD,mBAAvBA,GAAqCA,EAAmBgC,GAErFxD,EAAO,qCAAsC,WAC7CyB,GAAsC,mBAAhBA,GAA8BA,KAC7C,CACR,CAAE,MAAOgC,GAER,OADAzD,EAAOyD,EAAIC,SAAW,+BAAgC,QAC/C,CACR,CAAC,QACA1B,GAAS,EACV,GAqCwDD,MAAOA,EAAO4B,QAAQ,WAAU,SAM1F,C,uHCtIW5C,EAAS,+CACTC,EAAU,gDACV4C,EAAc,oDACd1C,EAAqB,2DCoBjB,SAAS2C,EAAsBtG,GAAwG,IAAvG,cAAE6B,EAAa,SAAEE,EAAQ,QAAE+B,EAAO,IAAE7B,EAAG,WAAEC,EAAU,uBAAEqE,EAAsB,SAAEC,EAAQ,YAAEtC,GAAalE,EAClJ,MAAM,EAACmE,EAAI,EAACC,IAAUC,EAAAA,EAAAA,UAAgCP,IAChD,EAACQ,EAAO,EAACC,IAAaF,EAAAA,EAAAA,UAAgC,KACtD,EAACG,EAAM,EAACC,IAAYJ,EAAAA,EAAAA,WAAiC,IAErD,OAAE5B,IAAWC,EAAAA,EAAAA,YAAWC,EAAAA,IACxB,kBAAE+B,IAAsBhC,EAAAA,EAAAA,YAAWiC,EAAAA,GAOnCG,EAAkBC,GAGnBC,MAAMC,OAAOF,IAAmB,8BAC/BE,OAAOC,UAAUD,OAAOF,IACzBA,EAAWjB,EAAgB,wCAC3BiB,EAAWjB,GAAY,EAAU,4CAC9B,GAHyC,gCAoEjD,OACCxD,EAAAA,cAAA,OAAKI,UAAWD,GACfH,EAAAA,cAAA,OAAKI,UAAWD,GACfH,EAAAA,cAAA,YAAOuB,GACPvB,EAAAA,cAACwC,EAAAA,EAAoB,CAACC,WAAYd,EAAKe,QAASd,KAEjD5B,EAAAA,cAAA,MAAII,UAAWD,GACdH,EAAAA,cAAA,UACCA,EAAAA,cAAC+E,EAAAA,EAAS,CAACC,KAAK,SAASC,MAAM,WAAWC,YAAY,WAAWC,MAAOtB,EAAIuB,WAAYC,SAvEjErC,IAC1BiB,EAAUO,EAAeG,OAAO3B,EAAEvC,OAAO0E,SACzCrB,EAAOa,OAAO3B,EAAEvC,OAAO0E,OAAO,EAqE0FG,MAAOtB,MAI9HhE,EAAAA,cAAA,OAAKI,UAAWD,GACfH,EAAAA,cAAC4C,EAAAA,GAAM,CAACC,QAAQ,WAAWC,QAAQ,EAAMzC,QAAS6F,GAAU,UAG5DlG,EAAAA,cAAC4C,EAAAA,GAAM,CAACC,QAAQ,MAAMxC,QAtEXoF,UACb,MAAMzB,EAASQ,EAAeX,GAC9B,GAAIK,EAAO,OAAO,EAClB,GAAe,KAAXF,EAEH,OADA7B,EAAO6B,EAAQ,QACR,EAER,IAEC,UAD2BI,IACR,MAAM,IAAIsB,MAAM,iBACnCvB,GAAS,GA6BT,UADyB8B,EAAuB1E,EAAeE,EAAUE,EAAKgD,OAAOd,GAAMc,OAAOnB,IACjF,MAAM,IAAIkC,MAAM,qCAKjC,OAFAvD,EAAO,qCAAsC,WAC7CyB,KACO,CACR,CAAE,MAAOgC,GAER,OADAzD,EAAOyD,EAAIC,SAAW,qCAAsC,QACrD,CACR,CAAC,QACA1B,GAAS,EACV,GAoBwCD,MAAOA,EAAO4B,QAAQ,WAAU,QAM1E,C,+EClIW,EAAM,sCACN/E,EAAU,0CACVoF,EAAQ,wCACRC,EAAS,yCACT,EAAM,sCACNlF,EAAc,8CACdmF,EAAY,4CACZ,EAAM,sCCUF,SAASxB,EAAgBnF,GAAuH,IAApH2B,eAAgBC,EAAU,MAAK,cAAEC,EAAa,SAAEE,EAAQ,IAAEoC,EAAG,IAAEiB,EAAG,IAAEnD,EAAG,UAAE+B,EAAS,OAAE4C,EAAM,UAAElG,KAAc8B,GAAOxC,EAGvJ6G,EAAS,KAIb,OAHI5E,IACH4E,GAAwB,MAAd7C,EAAoBoB,EAAMnD,EAAMA,EAAMmD,GAAOjB,GAGvD7D,EAAAA,cAACsB,EAAOgB,OAAAC,OAAA,CACPnC,UAAY,GAAED,KAAkC,MAAduD,EAAoBvD,EAAgBA,IACrEC,GAAkC,iBAAdA,GAA+C,KAArBA,EAAUO,OAAgB,IAAMP,EAAY,MAEvF8B,GAEJlC,EAAAA,cAAA,OAAKI,UAAWD,GACdsB,EAAWzB,EAAAA,cAAA,QAAM,gBAAeyB,GAAWF,GAAwBvB,EAAAA,cAAA,YAAOuB,GAC3EvB,EAAAA,cAACwC,EAAAA,EAAoB,CAACC,WAAY8D,EAAQ7D,QAAS,KAEpD1C,EAAAA,cAAA,OAAKI,UAAWD,GACfH,EAAAA,cAAA,QAAMI,UAAWD,GAAa0D,GAC9B7D,EAAAA,cAAA,QAAMI,UAAWD,GAAa2E,GAC9B9E,EAAAA,cAAA,QAAMI,UAAWD,GAEfwB,IAMN,C,4GC9CW6E,EAAmB,oDCMf,SAASC,EAAiB/G,GAAgB,IAAf,SAAEgH,GAAUhH,EACrD,MAAM,IAAEiH,EAAG,aAAEC,EAAY,kBAAExC,IAAsBhC,EAAAA,EAAAA,YAAWiC,EAAAA,GAiB5D,OAXAwC,EAAAA,EAAAA,YAAU,KAGJzC,GAAkD,mBAAtBA,GACjC,iBAEOA,GAGN,EALD,EAKI,GACF,CAACuC,EAAKC,IACF5G,EAAAA,cAAA,OAAKI,UAAWD,GAA0ByG,EAAeF,EAAW1G,EAAAA,cAAC8G,EAAAA,EAAsB,MACnG,CCzBO,IAAIC,EAA4B,sEAC5BC,EAAO,iDCWH,SAASC,EAAgCvH,GAAgB,IAAf,SAAEgH,GAAUhH,EACpE,MAAM,GAAEQ,IAAOkC,EAAAA,EAAAA,YAAWiC,EAAAA,GAW1B,OAAKnE,EAqBJF,EAAAA,cAAA,OAAKE,GAAIC,GACRH,EAAAA,cAACyG,EAAiB,KAAEC,IApBpB1G,EAAAA,cAAA,OAAKE,GAAIC,GACRH,EAAAA,cAACC,EAAAA,EAAM,MACPD,EAAAA,cAAA,OAAKE,GAAIC,GACRH,EAAAA,cAACkH,EAAAA,EAAU,OAoBhB,C","sources":["webpack://kaagzi/./src/app/codeSharedAcrossBrokers/components/BrokerLogin/brokerLogin.module.css","webpack://kaagzi/./src/app/codeSharedAcrossBrokers/components/BrokerLogin/index.js","webpack://kaagzi/./src/app/codeSharedAcrossBrokers/components/WatchlistItem/watchlistItem.module.css","webpack://kaagzi/./src/app/codeSharedAcrossBrokers/components/WatchlistItem/index.js","webpack://kaagzi/./src/app/codeSharedAcrossBrokers/components/tradePosition/ExitTradePositionDialog/exitTradePositionDialog.module.css","webpack://kaagzi/./src/app/codeSharedAcrossBrokers/components/tradePosition/ExitTradePositionDialog/index.js","webpack://kaagzi/./src/app/codeSharedAcrossBrokers/components/tradePosition/NewTradePositionDialog/newTradePositionDialog.module.css","webpack://kaagzi/./src/app/codeSharedAcrossBrokers/components/tradePosition/NewTradePositionDialog/index.js","webpack://kaagzi/./src/app/codeSharedAcrossBrokers/components/tradePosition/PositionListItem/positionListItem.module.css","webpack://kaagzi/./src/app/codeSharedAcrossBrokers/components/tradePosition/PositionListItem/index.js","webpack://kaagzi/./src/containers/PlanExpiryGateway/planExpiryGateway.module.css","webpack://kaagzi/./src/containers/PlanExpiryGateway/index.js","webpack://kaagzi/./src/layouts/FullWidthAppRestrictedPage/fullWidthAppRestrictedPage.module.css","webpack://kaagzi/./src/layouts/FullWidthAppRestrictedPage/index.js"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport var brokerLoginCta = \"brokerLogin-module--brokerLoginCta--39fcf\";\nexport var brokerSwitchBtn = \"brokerLogin-module--brokerSwitchBtn--d6123\";\nexport var noUserWrap = \"brokerLogin-module--noUserWrap--c07af\";\nexport var orSep = \"brokerLogin-module--orSep--5a79b\";","import React from 'react';\nimport { Link } from 'gatsby';\nimport { OutboundLink } from 'gatsby-plugin-google-gtag'; //for analytics\n// import UserDropDown from '@components/userControlPanel/UserDropdown';\nimport Header from '@components/Header';\n// import { LinkButton } from '@ui/Button';\n// import KaagziLogo from '@img/logo.svg';\n// import KiteLogo from '@img/logo-kite.png';\n// import AngelOneLogo from '@img/logo-angelOne.webp';\n\nimport * as styles from './brokerLogin.module.css';\n\n/**\n * Displays login page for broker\n * @param {Object} prop Prop passed to this component\n * @param {('Zerodha'| 'Angel One'| 'Upstox'| 'Alice Blue')} prop.broker Stock Broker\n * @param {?()=>{}} [prop.doOnLoginClick] Callback fn to execute once user clicks the login btn\n * @param {?string} [prop.goToUrlOnLoginClick] Go to broker login page once user clicks the login btn. Ignored if 'doOnLoginClick' callback fn is provided\n * @param {?string} [prop.referralUrlForNewSignupWithBroker] Go to broker account signup page (referral link).\n */\nexport default function BrokerLogin({ broker, doOnLoginClick, goToUrlOnLoginClick, referralUrlForNewSignupWithBroker }) {\n\tif (!['Zerodha', 'Angel One', 'Upstox', 'Alice Blue'].includes(broker)) return null;\n\treturn (\n\t\t<>\n\t\t\t{/* <header className={styles.brokerLoginHdr}>\n\t\t\t\t<img src=\"/img/logo.svg\" alt=\"Kaagzi\" />\n\t\t\t\t<UserDropDown />\n\t\t\t</header> */}\n\t\t\t<Header />\n\t\t\t<div id={styles.noUserWrap}>\n\t\t\t\t<div>\n\t\t\t\t\t{doOnLoginClick && typeof doOnLoginClick === 'function' ? (\n\t\t\t\t\t\t<button className={styles.brokerLoginCta} onClick={doOnLoginClick}>\n\t\t\t\t\t\t\t{broker === 'Zerodha' && <img src=\"/img/logo-kite.png\" alt=\"Zerodha Kite\" />}\n\t\t\t\t\t\t\t{broker === 'Angel One' && <img src=\"/img/logo-angelOne.webp\" alt=\"Angel One\" />}\n\t\t\t\t\t\t\t{broker === 'Upstox' && <img src=\"/img/logo-upstox.webp\" alt=\"Upstox\" />}\n\t\t\t\t\t\t\t<span>Sign into {broker}</span>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<a className={styles.brokerLoginCta} href={goToUrlOnLoginClick} target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t\t\t\t\t{broker === 'Zerodha' && <img src=\"/img/logo-kite.png\" alt=\"Zerodha Kite\" />}\n\t\t\t\t\t\t\t{broker === 'Angel One' && <img src=\"/img/logo-angelOne.webp\" alt=\"Angel One\" />}\n\t\t\t\t\t\t\t{broker === 'Upstox' && <img src=\"/img/logo-upstox.webp\" alt=\"Upstox\" />}\n\t\t\t\t\t\t\t<span>Sign into {broker}</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t)}\n\t\t\t\t\t{/* <p>\n\t\t\t\t\t\tDon't have an account with {broker}? <a href=\"#\">Open Account</a>\n\t\t\t\t\t</p> */}\n\t\t\t\t\t{/*<p>\n\t\t\t\t\t\t\tDon't yet have an account with {broker}?{' '}\n\t\t\t\t\t\t\t<OutboundLink\n\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\tbroker === 'Angel One'\n\t\t\t\t\t\t\t\t\t\t? 'https://www.angelone.in/register/?referrer=NX66694QFZ'\n\t\t\t\t\t\t\t\t\t\t: 'https://zerodha.com/open-account?c=YB3190'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tOpen Account\n\t\t\t\t\t\t\t</OutboundLink>\n\t\t\t\t\t\t</p>*/}\n\t\t\t\t\t{referralUrlForNewSignupWithBroker &&\n\t\t\t\t\t\ttypeof referralUrlForNewSignupWithBroker === 'string' &&\n\t\t\t\t\t\treferralUrlForNewSignupWithBroker.trim() !== '' && (\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\tDon't have an account with {broker}?{' '}\n\t\t\t\t\t\t\t\t<OutboundLink href={referralUrlForNewSignupWithBroker} target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t\t\t\t\t\t\tOpen Account\n\t\t\t\t\t\t\t\t</OutboundLink>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t)}\n\t\t\t\t\t<div className={styles.orSep}>OR</div>\n\t\t\t\t\t<Link className={styles.brokerSwitchBtn} to=\"/app\">\n\t\t\t\t\t\t{/* Choose another broker */}\n\t\t\t\t\t\tChoose different broker\n\t\t\t\t\t</Link>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n","// extracted by mini-css-extract-plugin\nexport var dataRow = \"watchlistItem-module--dataRow--452e1\";\nexport var instrumentCtaC = \"watchlistItem-module--instrumentCtaC--06fbf\";\nexport var mainBtn = \"watchlistItem-module--mainBtn--e4424\";\nexport var metaDataRow = \"watchlistItem-module--metaDataRow--a70e4\";\nexport var wlItmC = \"watchlistItem-module--wlItmC--83bb6\";","import React, { useContext } from 'react';\n\nimport ColoredNumberDisplay from '@appSharedComponents/ColoredNumberDisplay';\n// import PreventRerenderIfValueInvalid from '@components/PreventRerenderIfValueInvalid';\nimport { formatPriceInIndianStyle } from '@utils';\nimport Button from '@components/ui/Button';\nimport { ToastNotificationContext } from '@providers/ToastNotification';\n\nimport * as styles from './watchlistItem.module.css';\n\n/**\n * Displays the marketwatch instrument (as part of watchlist)\n * @param {Object} props Props passed to this component\n * @param {?('div'|'li'|'button')} [props.wrapperElement='div'] HTML element to use for the wrapping elm, Defaualts to 'div'\n * @param {string} props.tradingsymbol Trading symbol of the instrument\n * @param {string} props.entityName Name of the company or INDEX for the instrument\n * @param {('NSE'|'BSE'|'NFO'|'CDS'|'MCX')} props.exchange Exchange the instrument is listed under\n * @param {('INDICES'|'NFO-OPT'|'NFO-FUT'|'NSE-EQ'|'BSE-EQ')} props.segment Segment the instrument belongs to\n * @param {number} props.ltp Last Traded Price\n * @param {number} props.closePrice Close price from last trading day session\n * @param {string} [props.className] Additional classname to append to the container\n * @param {boolean} [props.isExpandedView=false] Whether to show the expanded view with buttons for buy or sell and remove from listing\n * @param {()=>{}} props.onSellClick Callback function to execute when user clicks on SELL button in expanded view\n * @param {()=>{}} props.onBuyClick Callback function to execute when user clicks on BUY button in expanded view\n * @param {()=>{}} props.onRemoveClick Callback function to execute when user clicks on remove button in expanded view\n * @param {()=>{}} props.closeExpandedView Callback function to execute to close expanded view\n */\nexport default function WatchlistItem({\n\twrapperElement: WrapElm = 'div',\n\ttradingsymbol,\n\tentityName,\n\texchange,\n\tsegment,\n\tltp,\n\tclosePrice,\n\tclassName,\n\tisExpandedView,\n\tonSellClick,\n\tonBuyClick,\n\tonRemoveClick,\n\tcloseExpandedView,\n\t...props\n}) {\n\tconst { notify } = useContext(ToastNotificationContext);\n\treturn (\n\t\t<WrapElm className={`${styles.wlItmC}${className && typeof className === 'string' && className.trim() !== '' ? ' ' + className : ''}`} {...props}>\n\t\t\t<div className={styles.dataRow}>\n\t\t\t\t<span>{tradingsymbol}</span>\n\t\t\t\t{/* <span>{exchange === 'NSE' ? entityName : tradingsymbol}</span> */}\n\t\t\t\t<ColoredNumberDisplay currentVal={ltp} baseVal={closePrice} />\n\t\t\t</div>\n\t\t\t<div className={styles.metaDataRow}>\n\t\t\t\t<span>{`${exchange}${entityName ? ' | ' + entityName : ''}`}</span>\n\t\t\t\t{/* <span>{`${exchange}${exchange === 'NFO' || exchange === 'MCX' ? (entityName ? ' | ' + entityName : '') : ''}`}</span> */}\n\t\t\t\t<span>\n\t\t\t\t\t{/* <PreventRerenderIfValueInvalid value={formatPriceInIndianStyle(ltp - closePrice)} /> */}\n\t\t\t\t\t{/* We use memo for above value wherein we prevent rerender if value is null, thus displaying previous tick value instead of null*/}\n\t\t\t\t\t{formatPriceInIndianStyle(ltp - closePrice)}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t{isExpandedView && (\n\t\t\t\t<div className={styles.instrumentCtaC}>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tisDark={true}\n\t\t\t\t\t\ticon=\"chevron-up\"\n\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\tcloseExpandedView?.();\n\t\t\t\t\t\t\te.stopPropagation(); //prevents event on parent elm from firing\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t{/* {segment !== 'INDICES' && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"sell\"\n\t\t\t\t\t\t\t\tclassName={styles.mainBtn}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tnotify('Sell functionality coming soon!');\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tSELL\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"buy\"\n\t\t\t\t\t\t\t\tclassName={styles.mainBtn}\n\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\tonBuyClick?.();\n\t\t\t\t\t\t\t\t\tcloseExpandedView?.(); //close the expanded view\n\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tBUY\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)} */}\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"sell\"\n\t\t\t\t\t\tclassName={styles.mainBtn}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tnotify('Sell functionality coming soon!');\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tSELL\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"buy\"\n\t\t\t\t\t\tclassName={styles.mainBtn}\n\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\tonBuyClick?.();\n\t\t\t\t\t\t\tcloseExpandedView?.(); //close the expanded view\n\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tBUY\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tisDark={true}\n\t\t\t\t\t\ticon=\"trash-2\"\n\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\tonRemoveClick?.();\n\t\t\t\t\t\t\te.stopPropagation(); //prevents event on parent elm from firing\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</WrapElm>\n\t);\n}\n","// extracted by mini-css-extract-plugin\nexport var posFtr = \"exitTradePositionDialog-module--posFtr--694cf\";\nexport var posInfo = \"exitTradePositionDialog-module--posInfo--c8c61\";\nexport var totalQty = \"exitTradePositionDialog-module--totalQty--f2919\";\nexport var tradePositionMgmtC = \"exitTradePositionDialog-module--tradePositionMgmtC--f141c\";","import React, { useContext, useState } from 'react';\n\n// import ColoredNumberDisplay from '@components/ColoredNumberDisplay';\nimport Button from '@components/ui/Button';\nimport TextInput from '@components/ui/TextInput';\nimport PositionListItem from '@appSharedComponents/tradePosition/PositionListItem';\n\nimport { ToastNotificationContext } from '@providers/ToastNotification';\nimport { UserContext } from '@providers/User';\nimport { AppDataIndexedDbContext } from '@appSharedProviders/AppIndexedDb';\n\nimport * as styles from './exitTradePositionDialog.module.css';\n\n/**\n * Component that displays the Trade Position exit dialaog\n * @param {Object} props Props passed to this component\n * @param {string} props.tradingsymbol Instrument trading symbol\n * @param {('NSE'|'BSE'|'NFO'|'CDS'|'MCX')} props.exchange Exchange where this instrument is listed / traded\n * @param {number} props.purchasdQty Purchased quantity\n * @param {?number} [props.lotSize = 1] Lot size\n * @param {number} props.avgEntryPrice Average entry price\n * @param {number} props.ltp LTP of the instrument\n * @param {?('B'|'S')} [props.direction='B'] Trade direction 'B' for BUY trade and 'S' for SELL trade\n * @param {(Object)=>{}} [props.doOnSuccessfulExit] Callback fn to execute once position is exited successfully, either partially or fully. ExitedPos is the argument\n * @param {()=>{}} props.closeDialog Go back button. Effectively, closes the dialog. Useful in closing bottom sheet\n */\nexport default function ExitTradePositionDialog({\n\ttradingsymbol,\n\texchange,\n\tpurchasdQty,\n\tlotSize = 1,\n\tavgEntryPrice,\n\tltp,\n\tdirection = 'B',\n\tdoOnSuccessfulExit,\n\tcloseDialog,\n}) {\n\tconst [qty, setQty] = useState(/** @type {number} */ (purchasdQty));\n\tconst [qtyErr, setQtyErr] = useState(/** @type {string} */ (''));\n\tconst [isWip, setIsWip] = useState(/** @type {Boolean} */ (false));\n\n\tconst { notify } = useContext(ToastNotificationContext);\n\tconst { checkIfPlanActive } = useContext(UserContext);\n\tconst { exitPosition } = useContext(AppDataIndexedDbContext);\n\n\t/** Checks if quantity to be exited is <= purchased quantity and is a multiple of lot-size */\n\tconst _chkForQtyErrs = (qtyParam) => {\n\t\t// if (qtyParam === undefined) qtyParam = qty;\t//read default value from state\n\t\tif (isNaN(Number(qtyParam))) return 'Quantity should be a number';\n\t\tif (!Number.isInteger(qtyParam)) return 'Quantity should be an integer';\n\t\tif (qtyParam > purchasdQty) return 'Quantity cannot be more ' + purchasdQty;\n\t\tif (qtyParam < lotSize) return 'Quantity cannot be less than lot-size of ' + lotSize;\n\t\tif (qtyParam % lotSize !== 0) return 'Quantity should be a multiple of ' + lotSize;\n\t\treturn '';\n\t};\n\tconst validate_n_setQty = (e) => {\n\t\tsetQtyErr(_chkForQtyErrs(Number(e.target.value)));\n\t\tsetQty(Number(e.target.value));\n\t};\n\n\t/**\n\t * Exit/partial-exit trade position in IndexedDB\n\t * @returns {Promise<boolean>}\n\t */\n\tconst doExit = async () => {\n\t\tif (!ltp) {\n\t\t\tnotify('Error inferring exit price', 'err');\n\t\t\treturn false;\n\t\t}\n\t\tconst qtyErr = _chkForQtyErrs(qty);\n\t\tif (isWip) return false;\n\t\tif (qtyErr !== '') {\n\t\t\tnotify(qtyErr, 'err');\n\t\t\treturn false;\n\t\t}\n\t\ttry {\n\t\t\tconst isPlanActive = await checkIfPlanActive(); //this shall cause the 'PlaneExpiryGateway' component to not render this component and display plan expired dialog\n\t\t\tif (!isPlanActive) throw new Error('Plan Expired!');\n\t\t\tsetIsWip(true);\n\t\t\tconst exitedPos = await exitPosition(tradingsymbol, exchange, direction === 'S', ltp, qty);\n\t\t\tif (!exitedPos) throw new Error('Failed to exit position');\n\t\t\t//here update the state in positions component or provider\n\t\t\tdoOnSuccessfulExit && typeof doOnSuccessfulExit === 'function' && doOnSuccessfulExit(exitedPos);\n\n\t\t\tnotify('Trade position exited successfully', 'success');\n\t\t\tcloseDialog && typeof closeDialog === 'function' && closeDialog();\n\t\t\treturn true;\n\t\t} catch (err) {\n\t\t\tnotify(err.message || 'Error exiting trade position', 'err');\n\t\t\treturn false;\n\t\t} finally {\n\t\t\tsetIsWip(false);\n\t\t}\n\t};\n\n\t// if(!ltp) return <div>Unable to read LTP for this instrument</div>\n\treturn (\n\t\t<div className={styles.tradePositionMgmtC}>\n\t\t\t{/* <div className={styles.posInfo}>\n\t\t\t\t<span>{tradingsymbol}</span>\n\t\t\t\t<ColoredNumberDisplay currentVal={ltp} baseVal={closePrice} />\n\t\t\t</div> */}\n\t\t\t<PositionListItem\n\t\t\t\tclassName={styles.posInfo}\n\t\t\t\ttradingsymbol={tradingsymbol}\n\t\t\t\texchange={exchange}\n\t\t\t\tqty={purchasdQty}\n\t\t\t\tavg={avgEntryPrice}\n\t\t\t\tltp={ltp}\n\t\t\t\tdirection={direction}\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t<TextInput\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\ttitle=\"Exit Quantity\"\n\t\t\t\t\tplaceholder=\"Exit Quantity\"\n\t\t\t\t\tvalue={qty.toString()}\n\t\t\t\t\tonChange={validate_n_setQty}\n\t\t\t\t\terror={qtyErr}\n\t\t\t\t\tactionPane={() => <span className={styles.totalQty}>{purchasdQty}</span>}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className={styles.posFtr}>\n\t\t\t\t{/* <Button variant=\"tertiary\" isDark={true} onClick={closeDialog}>\n\t\t\t\t\tCancel\n\t\t\t\t</Button> */}\n\t\t\t\t{/* <Button variant={direction === 'B' ? 'buy' : direction === 'S' ? 'sell' : 'primary'} onClick={doExit} isWip={isWip} wipText=\"Exiting\">\n\t\t\t\t\tExit\n\t\t\t\t</Button> */}\n\t\t\t\t<Button variant=\"primary\" size=\"big\" onClick={doExit} isWip={isWip} wipText=\"Exiting\">\n\t\t\t\t\tExit\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","// extracted by mini-css-extract-plugin\nexport var posFtr = \"newTradePositionDialog-module--posFtr--4db7d\";\nexport var posInfo = \"newTradePositionDialog-module--posInfo--027c6\";\nexport var posMetricsC = \"newTradePositionDialog-module--posMetricsC--babad\";\nexport var tradePositionMgmtC = \"newTradePositionDialog-module--tradePositionMgmtC--ee1fe\";","import React, { useContext, useState } from 'react';\n\nimport ColoredNumberDisplay from '@appSharedComponents/ColoredNumberDisplay';\nimport Button from '@components/ui/Button';\nimport TextInput from '@components/ui/TextInput';\n\nimport { ToastNotificationContext } from '@providers/ToastNotification';\nimport { UserContext } from '@providers/User';\n// import { AppDataIndexedDbContext } from '@appSharedProviders/AppIndexedDb';\n\nimport * as styles from './newTradePositionDialog.module.css';\n\n/**\n * Component that displays the Trade Position entry / modify / exit dialaog\n * @param {Object} props Props passed to this component\n * @param {string} props.tradingsymbol Instrument trading symbol\n * @param {('NSE'|'BSE'|'NFO'|'CDS'|'MCX')} props.exchange Exchange where this instrument is listed / traded\n * @param {number} props.lotSize Lot size\n * @param {number} props.ltp LTP of the instrument\n * @param {number} props.closePrice Last day close price of instrument\n * @param {()=>{}} props.openNewOrAddToPosition Callback fn passed down by the positions component\n * @param {()=>{}} props.cancelOp Go back button. Takes user back to watchlist\n * @param {()=>{}} props.closeDialog Closes the bottom sheet\n */\nexport default function NewTradePositionDialog({ tradingsymbol, exchange, lotSize, ltp, closePrice, openNewOrAddToPosition, cancelOp, closeDialog }) {\n\tconst [qty, setQty] = useState(/** @type {number} */ (lotSize));\n\tconst [qtyErr, setQtyErr] = useState(/** @type {string} */ (''));\n\tconst [isWip, setIsWip] = useState(/** @type {Boolean} */ (false));\n\n\tconst { notify } = useContext(ToastNotificationContext);\n\tconst { checkIfPlanActive } = useContext(UserContext);\n\t// const { setPosition } = useContext(AppDataIndexedDbContext);\n\n\t// function isMultipleOfLotSize(quantity, lotSize) {\n\t// \tif (quantity < lotSize)return false;\t// Check if quantity is less than lotSize\n\t// \treturn quantity % lotSize === 0;\t// Check if quantity is a multiple of lotSize\n\t// }\n\tconst _chkForQtyErrs = (qtyParam) => {\n\t\t// console.log('qtyParam:', qtyParam);\n\t\t// if (qtyParam === undefined) qtyParam = qty;\t//read default value from state\n\t\tif (isNaN(Number(qtyParam))) return 'Quantity should be a number';\n\t\tif (!Number.isInteger(Number(qtyParam))) return 'Quantity should be an integer';\n\t\tif (qtyParam < lotSize) return 'Quantity cannot be less than lot-size';\n\t\tif (qtyParam % lotSize !== 0) return 'Quantity should be a multiple of lot-size';\n\t\treturn '';\n\t};\n\tconst validate_n_setQty = (e) => {\n\t\tsetQtyErr(_chkForQtyErrs(Number(e.target.value)));\n\t\tsetQty(Number(e.target.value));\n\t};\n\n\t/**\n\t * Enter / update trade position in IndexedDB\n\t * @returns {Promise<boolean>}\n\t */\n\tconst doBuy = async () => {\n\t\tconst qtyErr = _chkForQtyErrs(qty);\n\t\tif (isWip) return false;\n\t\tif (qtyErr !== '') {\n\t\t\tnotify(qtyErr, 'err');\n\t\t\treturn false;\n\t\t}\n\t\ttry {\n\t\t\tconst isPlanActive = await checkIfPlanActive(); //this shall cause the 'PlaneExpiryGateway' component to not render this component and display plan expired dialog\n\t\t\tif (!isPlanActive) throw new Error('Plan Expired!');\n\t\t\tsetIsWip(true);\n\t\t\t// const respFromBg = await browser.runtime.sendMessage({\n\t\t\t// \taction: 'position_enter',\n\t\t\t// \tuserId: id,\n\t\t\t// \ttradingsymbol,\n\t\t\t// \texchange,\n\t\t\t// \tentryPrice: ltp,\n\t\t\t// \tquantity: Number(qty),\n\t\t\t// \tdirection: 'B', //B for BUY, S for SELL\n\t\t\t// });\n\t\t\t// if (!respFromBg || !Object.prototype.hasOwnProperty.call(respFromBg, 'status')) return false;\n\t\t\t// if (respFromBg.status === 'error') throw new Error(respFromBg.error);\n\t\t\t// if (respFromBg.status !== 'success') return false;\n\t\t\t// /** @type {import('@types_appShared').Position} */\n\t\t\t// const posData = {\n\t\t\t// \tsbl: tradingsymbol,\n\t\t\t// \txh: exchange,\n\t\t\t// \tavg: ltp,\n\t\t\t// \t// sl: 0,\n\t\t\t// \t// tp: 0,\n\t\t\t// \tqty: Number(qty),\n\t\t\t// \tt: Date.now(),\n\t\t\t// \t// x: 'expiry datetime here',\n\t\t\t// \tdir: 'B', //direction === 'B' ? 'B' : 'S',\n\t\t\t// };\n\t\t\t// if (lotSize && !isNaN(lotSize) && Number(lotSize) > 1) {\n\t\t\t// \tposData.ltsz = Number(lotSize);\n\t\t\t// }\n\t\t\tconst writtenPos = await openNewOrAddToPosition(tradingsymbol, exchange, ltp, Number(qty), Number(lotSize));\n\t\t\tif (!writtenPos) throw new Error('Failed to open or update position');\n\n\t\t\t//here update the state in positions component or provider\n\t\t\tnotify('Trade position opened successfully', 'success');\n\t\t\tcloseDialog();\n\t\t\treturn true;\n\t\t} catch (err) {\n\t\t\tnotify(err.message || 'Error opening or updating position', 'err');\n\t\t\treturn false;\n\t\t} finally {\n\t\t\tsetIsWip(false);\n\t\t}\n\t};\n\n\t// if(!ltp) return <div>Unable to read LTP for this instrument</div>\n\treturn (\n\t\t<div className={styles.tradePositionMgmtC}>\n\t\t\t<div className={styles.posInfo}>\n\t\t\t\t<span>{tradingsymbol}</span>\n\t\t\t\t<ColoredNumberDisplay currentVal={ltp} baseVal={closePrice} />\n\t\t\t</div>\n\t\t\t<ul className={styles.posMetricsC}>\n\t\t\t\t<li>\n\t\t\t\t\t<TextInput type=\"number\" title=\"Quantity\" placeholder=\"Quantity\" value={qty.toString()} onChange={validate_n_setQty} error={qtyErr} />\n\t\t\t\t</li>\n\t\t\t</ul>\n\n\t\t\t<div className={styles.posFtr}>\n\t\t\t\t<Button variant=\"tertiary\" isDark={true} onClick={cancelOp}>\n\t\t\t\t\tCancel\n\t\t\t\t</Button>\n\t\t\t\t<Button variant=\"buy\" onClick={doBuy} isWip={isWip} wipText=\"Opening\">\n\t\t\t\t\tBUY\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","// extracted by mini-css-extract-plugin\nexport var avg = \"positionListItem-module--avg--e4ab8\";\nexport var dataRow = \"positionListItem-module--dataRow--23439\";\nexport var isBuy = \"positionListItem-module--isBuy--d1003\";\nexport var isSell = \"positionListItem-module--isSell--d524e\";\nexport var ltp = \"positionListItem-module--ltp--c9cf8\";\nexport var metaDataRow = \"positionListItem-module--metaDataRow--83b91\";\nexport var positionC = \"positionListItem-module--positionC--e0919\";\nexport var qty = \"positionListItem-module--qty--9d730\";","import React from 'react';\n\nimport ColoredNumberDisplay from '@appSharedComponents/ColoredNumberDisplay';\n\nimport * as styles from './positionListItem.module.css';\n\n/**\n * Displays the trade position (as part of it's listing)\n * @param {Object} props Props passed to this component\n * @param {?('div'|'li'|'button')} [props.wrapperElement='div'] HTML element to use for the wrapping elm, Defaualts to 'div'\n * @param {string} props.tradingsymbol Trading symbol of the position\n * @param {('NSE'|'BSE'|'NFO'|'CDS'|'MCX')} props.exchange Exchange this instrument is listed under\n * @param {number} props.qty Quantity purchased\n * @param {number} props.avg Average entry price\n * @param {number} props.ltp Last Traded Price\n * @param {?('B'|'S')} [props.direction='B'] Trade direction. 'B' for buy trade, 'S' for sell trade\n * @param {Date} props.expiry Expiry date\n */\nexport default function PositionListItem({ wrapperElement: WrapElm = 'div', tradingsymbol, exchange, qty, avg, ltp, direction, expiry, className, ...props }) {\n\t//here calculate pnl\n\t// const posPnl = (direction === 'S' ? avg - ltp : ltp - avg) * qty;\n\tlet posPnl = null;\n\tif (ltp) {\n\t\tposPnl = (direction === 'S' ? avg - ltp : ltp - avg) * qty;\n\t}\n\treturn (\n\t\t<WrapElm\n\t\t\tclassName={`${styles.positionC} ${direction === 'S' ? styles.isSell : styles.isBuy}${\n\t\t\t\tclassName && typeof className === 'string' && className.trim() !== '' ? ' ' + className : ''\n\t\t\t}`}\n\t\t\t{...props}\n\t\t>\n\t\t\t<div className={styles.dataRow}>\n\t\t\t\t{exchange ? <span data-exchange={exchange}>{tradingsymbol}</span> : <span>{tradingsymbol}</span>}\n\t\t\t\t<ColoredNumberDisplay currentVal={posPnl} baseVal={0} />\n\t\t\t</div>\n\t\t\t<div className={styles.metaDataRow}>\n\t\t\t\t<span className={styles.qty}>{qty}</span>\n\t\t\t\t<span className={styles.avg}>{avg}</span>\n\t\t\t\t<span className={styles.ltp}>\n\t\t\t\t\t{/* <PreventRerenderIfValueInvalid value={ltp} /> */}\n\t\t\t\t\t{ltp}\n\t\t\t\t</span>\n\t\t\t\t{/* We use memo for above value wherein we prevent rerender if value is null, thus displaying previous tick value instead of null*/}\n\t\t\t</div>\n\t\t</WrapElm>\n\t);\n}\n","// extracted by mini-css-extract-plugin\nexport var paidAreaContentC = \"planExpiryGateway-module--paidAreaContentC--4829a\";","import React, { useContext, useEffect, useState } from 'react';\n\nimport { UserContext } from '@providers/User';\nimport SubscriptionStatusCard from '@components/userControlPanel/UserForm/AdminMenu/SubscriptionStatusCard';\n\nimport * as styles from './planExpiryGateway.module.css';\n\nexport default function PlanExpiryGateway({ children }) {\n\tconst { exp, isPlanActive, checkIfPlanActive } = useContext(UserContext);\n\t// const [isPlanActive, setIsPlanActive] = useState(async () => {\n\t// \tif (!checkIfPlanActive || typeof checkIfPlanActive !== 'function') return false;\n\t// \treturn await checkIfPlanActive();\n\t// }); // useState(false);\n\n\tuseEffect(() => {\n\t\t// console.log('usrPlanExpiry:', exp);\n\t\t// console.log('isPlanActive:', isPlanActive);\n\t\tif (!checkIfPlanActive || typeof checkIfPlanActive !== 'function') return;\n\t\t(async () => {\n\t\t\t// const isActive = await checkIfPlanActive();\n\t\t\tawait checkIfPlanActive();\n\t\t\t// console.log('isActive', isActive);\n\t\t\t// setIsPlanActive(isActive);\n\t\t})();\n\t}, [exp, isPlanActive]);\n\treturn <div className={styles.paidAreaContentC}>{isPlanActive ? children : <SubscriptionStatusCard />}</div>;\n}\n","// extracted by mini-css-extract-plugin\nexport var verticalHorizontalCenterC = \"fullWidthAppRestrictedPage-module--verticalHorizontalCenterC--f109a\";\nexport var wrap = \"fullWidthAppRestrictedPage-module--wrap--cf937\";","import React, { createContext, useContext, useRef } from 'react';\r\n// import { navigate } from 'gatsby';\r\n\r\nimport Header from '@components/Header';\r\nimport SignInForm from '@components/userControlPanel/UserForm/SignInForm';\r\nimport { UserContext } from '@providers/User';\r\nimport PlanExpiryGateway from '@containers/PlanExpiryGateway';\r\n//import Seo from \"./seo\";\r\n\r\nimport * as styles from './fullWidthAppRestrictedPage.module.css';\r\n\r\n// export const FullWidthAppRestrictedPageLayoutContext = createContext(null);\r\n\r\nexport default function FullWidthAppRestrictedPageLayout({ children }) {\r\n\tconst { id } = useContext(UserContext);\r\n\r\n\t// const headerContainerElmRef = useRef(null);\r\n\t// useEffect(() => {\r\n\t// \tif (!id) navigate('/'); //navigate to home page or login page\r\n\t// }, [id]);\r\n\r\n\t// if (!isLoggedIn || !id) {\r\n\t// \t// navigate('/'); //navigate to home page or login page\r\n\t// \treturn <div>Not logged in</div>;\r\n\t// }\r\n\tif (!id) {\r\n\t\treturn (\r\n\t\t\t<div id={styles.wrap}>\r\n\t\t\t\t<Header />\r\n\t\t\t\t<div id={styles.verticalHorizontalCenterC}>\r\n\t\t\t\t\t<SignInForm />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n\treturn (\r\n\t\t// <div id={styles.wrap}>\r\n\t\t// \t<div ref={headerContainerElmRef} />\r\n\t\t// \t<main>\r\n\t\t// \t\t<PlanExpiryGateway>\r\n\t\t// \t\t\t<FullWidthAppRestrictedPageLayoutContext.Provider value={headerContainerElmRef.current}>\r\n\t\t// \t\t\t\t{children}\r\n\t\t// \t\t\t</FullWidthAppRestrictedPageLayoutContext.Provider>\r\n\t\t// \t\t</PlanExpiryGateway>\r\n\t\t// \t</main>\r\n\t\t// </div>\r\n\t\t<div id={styles.wrap}>\r\n\t\t\t<PlanExpiryGateway>{children}</PlanExpiryGateway>\r\n\t\t</div>\r\n\t);\r\n}\r\n"],"names":["brokerLoginCta","brokerSwitchBtn","noUserWrap","orSep","BrokerLogin","_ref","broker","doOnLoginClick","goToUrlOnLoginClick","referralUrlForNewSignupWithBroker","includes","React","Header","id","styles","className","onClick","src","alt","href","target","rel","trim","OutboundLink","Link","to","dataRow","instrumentCtaC","mainBtn","metaDataRow","wlItmC","WatchlistItem","wrapperElement","WrapElm","tradingsymbol","entityName","exchange","segment","ltp","closePrice","isExpandedView","onSellClick","onBuyClick","onRemoveClick","closeExpandedView","props","notify","useContext","ToastNotificationContext","Object","assign","ColoredNumberDisplay","currentVal","baseVal","formatPriceInIndianStyle","Button","variant","isDark","icon","e","stopPropagation","posFtr","posInfo","totalQty","tradePositionMgmtC","ExitTradePositionDialog","purchasdQty","lotSize","avgEntryPrice","direction","doOnSuccessfulExit","closeDialog","qty","setQty","useState","qtyErr","setQtyErr","isWip","setIsWip","checkIfPlanActive","UserContext","exitPosition","AppDataIndexedDbContext","_chkForQtyErrs","qtyParam","isNaN","Number","isInteger","PositionListItem","avg","TextInput","type","title","placeholder","value","toString","onChange","error","actionPane","size","async","Error","exitedPos","err","message","wipText","posMetricsC","NewTradePositionDialog","openNewOrAddToPosition","cancelOp","isBuy","isSell","positionC","expiry","posPnl","paidAreaContentC","PlanExpiryGateway","children","exp","isPlanActive","useEffect","SubscriptionStatusCard","verticalHorizontalCenterC","wrap","FullWidthAppRestrictedPageLayout","SignInForm"],"sourceRoot":""}