@orderly.network/trading-rewards 2.1.3 → 2.2.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.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -4
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +10 -10
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/pages/index/index.tsx","../src/pages/index/title/title.ui.tsx","../src/pages/index/provider.tsx","../src/pages/index/title/title.script.tsx","../src/pages/index/title/title.widget.tsx","../src/pages/index/curEpoch/curEpoch.ui.tsx","../src/pages/index/components/orderlyIcon.tsx","../src/pages/index/curEpoch/rewardsTooltip.tsx","../src/pages/index/components/esOrderlyIcon.tsx","../src/pages/index/curEpoch/curEpoch.script.tsx","../src/pages/index/curEpoch/curEpoch.widget.tsx","../src/pages/index/availableToClaim/availableToClaim.script.tsx","../src/pages/index/availableToClaim/availableToClaim.ui.tsx","../src/pages/index/components/jumpIcon.tsx","../src/pages/index/availableToClaim/availableToClaim.widget.tsx","../src/pages/index/stakeBooster/stakeBooster.script.tsx","../src/pages/index/stakeBooster/stakeBooster.ui.tsx","../src/pages/index/components/rocket.tsx","../src/pages/index/stakeBooster/stakeBooster.widget.tsx","../src/pages/index/rewardHistory/rewardsHistory.ui.tsx","../src/pages/index/rewardHistory/rewardsHistory.script.tsx","../src/pages/index/rewardHistory/rewardsHistory.widget.tsx","../src/pages/index/page.tsx","../src/layout/layout.script.tsx","../src/layout/layout.ui.tsx","../src/layout/layout.widget.tsx"],"names":["index_exports","__export","AvailableToClaim","AvailableToClaimWidget","CurEpoch","CurEpochWidget","HomePage","RewardHistory","RewardsHistoryWidget","StakeBooster","StakeBoosterWidget","Title","TitleWidget","TradingRewardsProvider","Divider","Flex","Text","useTranslation","jsx","jsxs","props","title","subtitle","content","docOpenOptions","t","MultiLineText","createContext","useContext","useMemo","TWType","useEpochInfo","useAllBrokers","useGetClaimed","DistributionId","useCurEpochEstimate","useWalletRewardsHistory","useConfig","TradingRewardsContext","brokerId","type","titleConfig","totalOrderClaimedReward","totalEsOrderClaimedReward","brokers","curEpochEstimate","walletRewardsHistory","epochList","brokerName","useTradingRewardsContext","useTitleScript","state","useState","useEffect","Box","cn","OrderlyIcon","commifyOptional","AccountStatusEnum","AuthGuard","React","Tooltip","RewardsTooltip","open","setOpen","e","EsOrderlyIcon","Fragment","curEpochInfo","startTime","endTime","curEpochId","max_reward_amount","token","isOrder","Countdown","Statics","getDate","EstRewards","highLight","text","targetTimestamp","timeLeft","setTimeLeft","intervalId","now","distance","days","hours","minutes","seconds","num","value","timestamp","date","month","day","useAppContext","useAccount","useWalletConnector","useCurEpochScript","estimate","wrongNetwork","disabledConnect","connect","hideData","notConnected","rewardsTooltip","otherRewards","item","a","b","curRewards","useCallback","useDataTap","Decimal","ChainNamespace","ENVType","useGetEnv","useAvailableScript","orderClaimedRewardData","esOrderClaimedRewardData","namespace","data","lifetimeOrderReward","lifetimeEsOrderReward","env","goToClaim","url","calculateRemainingReward","totalReward","claimedReward","remainingReward","availableOrder","availableEsOrder","orderValue","esorderValue","JumpIcon","useStakeBoosterScript","stakeNow","estimateValue","booster","estStakeBoost","RocketIcon","commify","calcValue","ListView","DataTable","useMediaQuery","AuthGuardEmpty","List","index","MobileCell","DesktopList","r_warret","formatTimestamp","columns","record","children","year","amPm","formattedHours","formattedMinutes","useAccountRewardsHistory","usePagination","getTimestamp","useRewardsHistoryScript","account","epochInfos","isNotStared","history","accountHistory","combineData","id","info","_findIndex","brokerList","curBrokerIndex","i","element","status","curDate","pagination","TradingRewardsLeftSidebarPath","useTradingRewardsLayoutScript","current","setCurrent","items","hideSideBar","Scaffold","SideBar","useScaffoldContext","TradingRewardsLayout","leftSideProps","classNames","rest","LeftSidebar","expanded","setExpand","TradingRewardsLayoutWidget"],"mappings":"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","sourcesContent":["\nexport * from \"./title\";\nexport * from \"./curEpoch\";\nexport * from \"./availableToClaim\";\nexport * from \"./stakeBooster\";\nexport * from \"./rewardHistory\";\nexport { TradingRewardsProvider} from \"./provider\";\nexport { HomePage } from \"./page\";\n","import { Divider, Flex, Text } from \"@orderly.network/ui\";\nimport { FC } from \"react\";\nimport { TitleConfig } from \"./title.script\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const Title: FC<TitleConfig> = (props) => {\n const { title, subtitle, content, docOpenOptions } = props;\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-title\"\n p={6}\n direction={\"column\"}\n itemAlign={\"start\"}\n gap={4}\n className=\"oui-bg-base-9 oui-font-semibold\"\n r={\"2xl\"}\n width={\"100%\"}\n >\n {title || <Text size=\"lg\">{t(\"common.tradingRewards\")}</Text>}\n <Divider intensity={8} className=\"oui-w-full\" />\n <Flex direction={\"column\"} itemAlign={\"start\"} gap={1}>\n {subtitle || (\n <Text size=\"base\">\n {t(\"tradingRewards.subtitle\", {\n brokerName: props.brokerName,\n })}\n </Text>\n )}\n\n {content || <MultiLineText docOpenOptions={docOpenOptions} />}\n </Flex>\n </Flex>\n );\n};\n\nconst MultiLineText: FC<{\n docOpenOptions?: {\n url?: string;\n target?: string;\n features?: string;\n };\n}> = (props) => {\n const { t } = useTranslation();\n\n // const clickableParts = [\n // {\n // content: \"Learn more here\",\n // isLink: true,\n // },\n // // {\n // // content: \"about Orderly Trading rewards Program.\",\n // // isLink: false,\n // // },\n // // {\n // // content: \"Trading rewards Docs\",\n // // isLink: true,\n // // },\n // ];\n // const renderText = () => {\n // return clickableParts.map((item, index) => {\n // return (\n // <span\n // key={index}\n // className={`${\n // item.isLink\n // ? \"oui-text-primary-light hover:oui-text-primary-darken oui-cursor-pointer\"\n // : \"\"\n // }`}\n // dangerouslySetInnerHTML={{ __html: item.content }}\n // />\n // );\n // });\n // };\n\n return (\n <div\n className=\"oui-text-sm oui-text-base-contrast-54 oui-font-normal oui-flex oui-gap-1 oui-items-center hover:oui-text-primary-darken oui-text-primary-light oui-cursor-pointer\"\n onClick={() => [\n window.open(\n props.docOpenOptions?.url,\n props.docOpenOptions?.target,\n props.docOpenOptions?.features\n ),\n ]}\n >\n <span className=\"oui-text-primary-light hover:oui-text-primary-darken oui-cursor-pointer\">\n {t(\"tradingRewards.learnMore\")}\n </span>\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M4.008 7.995c0-.368.298-.666.666-.666H9.71L7.733 5.331l.937-.936 3.143 3.122c.13.13.195.304.195.479a.67.67 0 0 1-.195.478L8.67 11.596l-.937-.937 1.978-1.998H4.674a.666.666 0 0 1-.666-.666\" />\n </svg>\n </div>\n );\n};\n\nexport default MultiLineText;\n","import { PropsWithChildren, createContext, useContext, useMemo } from \"react\";\nimport {\n TWType,\n EpochInfoType,\n useEpochInfo,\n useAllBrokers,\n useGetClaimed,\n DistributionId,\n useCurEpochEstimate,\n CurrentEpochEstimate,\n useWalletRewardsHistory,\n WalletRewardsHistoryReturns,\n Brokers,\n useConfig,\n} from \"@orderly.network/hooks\";\nimport { TitleConfig } from \"./title/title.script\";\n\nexport type TradingRewardsState = {\n type: TWType;\n brokerId: string;\n brokerName?: string;\n brokers?: Brokers;\n epochList: EpochInfoType;\n totalOrderClaimedReward: [number | undefined, { refresh: () => void }];\n totalEsOrderClaimedReward: [number | undefined, { refresh: () => void }];\n curEpochEstimate?: CurrentEpochEstimate;\n walletRewardsHistory: WalletRewardsHistoryReturns;\n titleConfig: TitleConfig;\n};\n\nexport const TradingRewardsContext = createContext<TradingRewardsState>(\n {} as TradingRewardsState\n);\n\nexport const TradingRewardsProvider = (\n props: PropsWithChildren<{\n /** default is 'orderly' */\n // brokerId?: string;\n /** default is TWType.normal */\n type?: TWType;\n titleConfig?: TitleConfig;\n }>\n) => {\n // const { brokerId = \"orderly\" } = props;\n\n const brokerId = useConfig(\"brokerId\");\n\n const {\n type = TWType.normal,\n titleConfig = {\n docOpenOptions: {\n url: \"https://orderly.network/docs/introduction/tokenomics/trading-rewards\",\n target: \"_blank\",\n },\n },\n } = props;\n const totalOrderClaimedReward = useGetClaimed(\n type === TWType.mm ? DistributionId.mmOrder : DistributionId.order\n );\n const totalEsOrderClaimedReward = useGetClaimed(\n type === TWType.mm ? DistributionId.mmEsOrder : DistributionId.esORder\n );\n\n const [brokers] = useAllBrokers();\n\n const [curEpochEstimate] = useCurEpochEstimate(type);\n\n const walletRewardsHistory = useWalletRewardsHistory(type);\n\n const epochList = useEpochInfo(type as TWType);\n\n const brokerName = useMemo(() => {\n return brokers?.[brokerId];\n }, [brokerId, brokers]);\n\n return (\n <TradingRewardsContext.Provider\n value={{\n type: type as TWType,\n totalOrderClaimedReward,\n totalEsOrderClaimedReward,\n // totalOrderClaimedReward: 2000,\n // totalEsOrderClaimedReward: 0,\n epochList,\n curEpochEstimate,\n walletRewardsHistory,\n titleConfig,\n brokerId,\n brokerName,\n brokers,\n }}\n >\n {/* <PageLoading loading={epochList.data === undefined}> */}\n {props.children}\n {/* </PageLoading> */}\n </TradingRewardsContext.Provider>\n );\n};\n\nexport function useTradingRewardsContext() {\n return useContext(TradingRewardsContext);\n}\n","import { ReactNode } from \"react\";\nimport { useTradingRewardsContext } from \"../provider\";\n\nexport type TitleConfig = {\n /// default is `Trading rewards`\n title?: string | ReactNode;\n /// default is `Trade with Orderly’s to earn ORDER.`\n subtitle?: string | ReactNode;\n /// default is `Learn more about Orderly Trading rewards Program in Trading rewards Docs`\n content?: string | ReactNode;\n /// default is { url: 'https://orderly.network/docs/introduction/tokenomics/trading-rewards', target: \"_blank\"}\n docOpenOptions?: {\n url?: string;\n target?: string;\n features?: string;\n };\n brokerName?: string;\n};\n\nexport const useTitleScript = (): TitleConfig => {\n\n const { titleConfig } = useTradingRewardsContext();\n\n return titleConfig;\n};\n","import { useTitleScript } from \"./title.script\";\nimport { Title } from \"./title.ui\";\n\nexport const TitleWidget = () => {\n const state = useTitleScript();\n return <Title {...state} />;\n};\n","import { useState, useEffect, FC, ReactNode } from \"react\";\nimport { Box, Flex, Text, cn } from \"@orderly.network/ui\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { CurEpochReturns } from \"./curEpoch.script\";\nimport { commifyOptional } from \"@orderly.network/utils\";\nimport { AccountStatusEnum } from \"@orderly.network/types\";\nimport { AuthGuard } from \"@orderly.network/ui-connector\";\nimport { RewardsTooltip } from \"./rewardsTooltip\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const CurEpoch: FC<CurEpochReturns> = (props) => {\n const { t } = useTranslation();\n\n const state = props;\n const curEpochInfo = state.epochList?.[1].curEpochInfo;\n const startTime = curEpochInfo?.start_time;\n const endTime = curEpochInfo?.end_time;\n const curEpochId = curEpochInfo?.epoch_id;\n const max_reward_amount = curEpochInfo?.max_reward_amount;\n const token = curEpochInfo?.epoch_token;\n\n const isOrder = curEpochInfo\n ? `${curEpochInfo?.epoch_token}`.toLowerCase() === \"order\"\n : undefined;\n return (\n <Flex\n id=\"oui-tradingRewards-home-currentEpoch\"\n r={\"2xl\"}\n className=\"oui-bg-base-9 oui-font-semibold\"\n width={\"100%\"}\n height={\"100%\"}\n direction={\"column\"}\n // justify={\"stretch\"}\n itemAlign={\"stretch\"}\n >\n <Countdown targetTimestamp={endTime} />\n <Flex p={6} direction={\"column\"} gap={4} className=\"oui-h-full\">\n <Flex direction={\"row\"} gap={3} width={\"100%\"} justify={\"around\"}>\n <Statics\n title={t(\"tradingRewards.epoch\")}\n highLight={curEpochId ? `${curEpochId}` : \"--\"}\n text={\n startTime && endTime\n ? `${getDate(startTime)} - ${getDate(endTime)}`\n : \"\"\n }\n />\n <Statics\n title={t(\"tradingRewards.epochRewards\")}\n highLight={commifyOptional(max_reward_amount, { fix: 0 })}\n text={token}\n />\n </Flex>\n <EstRewards\n isOrder={isOrder}\n direction={state.notConnected ? \"row\" : \"column\"}\n justify={state.notConnected ? \"between\" : \"center\"}\n hideData={state.hideData}\n estRewards={state.hideData ? \"--\" : props.estimate?.est_r_wallet}\n rewardsTooltip={props.rewardsTooltip}\n background={\n state.notConnected\n ? \"linear-gradient(28.29deg, #1B1D22 21.6%, #26292E 83.23%)\"\n : \"linear-gradient(0deg, #2D0061 2.62%, #BD6BED 86.5%)\"\n }\n />\n {/* {state.notConnected && (\n <Button\n variant=\"gradient\"\n fullWidth\n onClick={(e) => {\n e.stopPropagation();\n state.connect();\n }}\n >\n Connect wallet\n </Button>\n )} */}\n\n <div className=\"oui-w-full\">\n <AuthGuard\n status={AccountStatusEnum.SignedIn}\n buttonProps={{ fullWidth: true }}\n >\n <></>\n </AuthGuard>\n </div>\n </Flex>\n </Flex>\n );\n};\n\nconst EstRewards: FC<{\n isOrder?: boolean;\n estRewards?: number | string;\n direction: \"row\" | \"column\";\n justify: \"center\" | \"between\";\n background: string;\n hideData: boolean;\n rewardsTooltip:\n | {\n brokerName: string | undefined;\n curRewards: number;\n otherRewards: number;\n }\n | undefined;\n}> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n direction={props.direction}\n gap={2}\n py={4}\n px={6}\n width={\"100%\"}\n r=\"xl\"\n itemAlign={\"center\"}\n justify={props.justify}\n style={{\n background: props.background,\n }}\n className=\"oui-flex-1 oui-h-full\"\n >\n <Text className=\"oui-text-base xl:oui-text-lg oui-text-base-contrast-54\">\n {t(\"tradingRewards.myEstRewards\")}\n </Text>\n <Flex direction={\"row\"} gap={3}>\n {props.isOrder == true && (\n <OrderlyIcon className=\"oui-w-5 oui-h-5 md:oui-w-6 md:oui-h-6 lg:oui-w-7 lg:oui-h-7 xl:oui-w-8 xl:oui-h-8\" />\n )}\n {props.isOrder == false && (\n <EsOrderlyIcon className=\"oui-w-5 oui-h-5 md:oui-w-6 md:oui-h-6 lg:oui-w-7 lg:oui-h-7 xl:oui-w-8 xl:oui-h-8\" />\n )}\n <Text\n children={commifyOptional(props.estRewards, { fix: 2 })}\n className=\"oui-text-xl md:oui-text-2xl xl:oui-text-[32px]\"\n />\n {props.rewardsTooltip && (\n <RewardsTooltip rewardsTooltip={props.rewardsTooltip} />\n )}\n </Flex>\n </Flex>\n );\n};\n\nconst Statics: FC<{\n title: string;\n highLight?: string;\n text?: string;\n}> = (props) => {\n const { title, highLight, text } = props;\n return (\n <Flex\n // px={1}\n py={2}\n justify={\"between\"}\n direction={\"column\"}\n className=\"flex-1\"\n gap={2}\n >\n <Text\n className={cn(\n \"oui-text-base-contrast-54\",\n // font size\n \"oui-text-xs md:oui-text-sm xl:oui-text-base\",\n /// leading\n \"oui-leading-[20px] xl:oui-leading-[24px]\"\n )}\n >\n {title}\n </Text>\n <Flex direction={\"row\"} gap={1} itemAlign={\"end\"} justify={\"center\"}>\n <Text.gradient\n color=\"brand\"\n angle={90}\n className=\"oui-text-base md:oui-text-lg lg:oui-text-xl xl:oui-text-2xl\"\n >\n {highLight}\n </Text.gradient>\n <Text\n intensity={80}\n className=\"oui-text-2xs md:oui-text-xs xl:oui-text-sm oui-mb-[3px]\"\n >\n {text}\n </Text>\n </Flex>\n </Flex>\n );\n};\n\nconst Countdown: FC<{\n targetTimestamp?: number;\n}> = ({ targetTimestamp }) => {\n const { t } = useTranslation();\n const [timeLeft, setTimeLeft] = useState({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n if (typeof targetTimestamp === \"undefined\") return;\n const now = new Date().getTime();\n const distance = targetTimestamp - now;\n\n if (distance < 0) {\n clearInterval(intervalId as unknown as number);\n setTimeLeft({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n } else {\n const days = Math.floor(distance / (1000 * 60 * 60 * 24));\n const hours = Math.floor(\n (distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)\n );\n const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\n const seconds = Math.floor((distance % (1000 * 60)) / 1000);\n\n setTimeLeft({ days, hours, minutes, seconds });\n }\n }, 1000);\n\n return () => clearInterval(intervalId as unknown as number);\n }, [targetTimestamp]);\n\n const num = (value: string) => {\n return (\n <Text className=\"oui-text-base-contrast oui-text-sm md:oui-text-base lg:oui-text-lg \">\n {value}\n </Text>\n );\n };\n\n return (\n <Box\n className=\"oui-rounded-t-2xl oui-text-base-contrast-54 oui-font-semibold\"\n gradient=\"neutral\"\n angle={180}\n width={\"full\"}\n >\n <Flex justify={\"center\"} gap={1}>\n <span>{`${t(\"common.countdown\")}: `}</span>\n <Flex\n direction={\"row\"}\n itemAlign={\"end\"}\n gap={1}\n className=\"oui-text-2xs md:oui-text-xs lg:oui-text-sm oui-py-[13px]\"\n >\n {num(`${timeLeft.days}`.padStart(2, \"0\"))}\n <span>D</span>\n {num(`${timeLeft.hours}`.padStart(2, \"0\"))}\n <span>H</span>\n {num(`${timeLeft.minutes}`.padStart(2, \"0\"))}\n <span>M</span>\n {num(`${timeLeft.seconds}`.padStart(2, \"0\"))}\n <span>S</span>\n </Flex>\n </Flex>\n </Box>\n );\n};\n\nconst CountDownNum = (props: { children?: ReactNode }) => {\n return (\n <Text className=\"oui-text-base-contrast oui-text-sm md:oui-text-base lg:oui-text-lg \">\n {props.children}\n </Text>\n );\n};\n\nconst getDate = (timestamp?: number) => {\n if (!timestamp) return \"\";\n\n const date = new Date(timestamp);\n\n // return format(timestamp, \"MMM. d\");\n\n const monthNames = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ];\n const month = monthNames[date.getUTCMonth()];\n const day = date.getUTCDate();\n return `${month}. ${day}`;\n};\n","export const OrderlyIcon = (props: {\n className?: string;\n}) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2443)\">\n <path\n d=\"M10.0249 19.9491C15.5202 19.9491 19.9751 15.4942 19.9751 9.99883C19.9751 4.50346 15.5202 0.048584 10.0249 0.048584C4.52949 0.048584 0.0746155 4.50346 0.0746155 9.99883C0.0746155 15.4942 4.52949 19.9491 10.0249 19.9491Z\"\n fill=\"url(#paint0_linear_862_2443)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.1556 4.8931C14.2202 4.94547 14.1824 5.04764 14.0992 5.04764H5.95063C5.86743 5.04764 5.82963 4.94547 5.89428 4.8931C7.02258 3.97918 8.4598 3.4317 10.0249 3.4317C11.59 3.4317 13.0272 3.97918 14.1556 4.8931Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.47028 11.7869C7.4233 11.7199 7.34764 11.6777 7.26581 11.6777H3.83C3.75128 11.6777 3.69391 11.7525 3.71579 11.8281C4.50796 14.565 7.03275 16.566 10.0249 16.566C13.0171 16.566 15.5419 14.565 16.334 11.8281C16.3559 11.7525 16.2985 11.6777 16.2198 11.6777H12.7841C12.7022 11.6777 12.6266 11.7199 12.5796 11.7869C12.0156 12.5911 11.0817 13.1167 10.025 13.1167C8.96818 13.1167 8.03421 12.5911 7.47028 11.7869Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.335 7.90476C12.3825 7.95713 12.4493 7.98867 12.5199 7.98867H16.114C16.1955 7.98867 16.2533 7.9094 16.2264 7.83259C15.9727 7.10647 15.5951 6.43851 15.119 5.85405C15.0743 5.79918 15.007 5.76813 14.9361 5.76813H5.11354C5.04278 5.76813 4.97543 5.79918 4.93074 5.85405C4.45459 6.43851 4.07701 7.10647 3.82337 7.83259C3.79652 7.9094 3.85428 7.98867 3.93567 7.98867H7.52982C7.60052 7.98867 7.66725 7.95713 7.71475 7.90476C8.28522 7.27587 9.10892 6.88093 10.0249 6.88093C10.9408 6.88093 11.7646 7.27587 12.335 7.90476Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.116 10.9587C13.0549 10.9587 13.0114 10.8991 13.028 10.8402C13.1029 10.5723 13.1429 10.29 13.1429 9.99822C13.1429 9.5877 13.0636 9.19568 12.9195 8.83669C12.895 8.77593 12.9388 8.70813 13.0042 8.70813H16.3916C16.4345 8.70813 16.4716 8.73843 16.4795 8.78064C16.5534 9.17523 16.5921 9.58228 16.5921 9.99832C16.5921 10.2979 16.572 10.5927 16.5333 10.8816C16.5273 10.9259 16.4894 10.9587 16.4447 10.9587H13.116ZM7.02183 10.8402C7.03829 10.8991 6.99492 10.9587 6.93381 10.9587H3.60511C3.56045 10.9587 3.52246 10.9259 3.51651 10.8816C3.47767 10.5927 3.45761 10.2979 3.45761 9.99832C3.45761 9.58228 3.49631 9.17523 3.5703 8.78064C3.5782 8.73843 3.61523 8.70813 3.65817 8.70813H7.04553C7.11101 8.70813 7.15477 8.77593 7.13037 8.83669C6.98617 9.19568 6.90682 9.5877 6.90682 9.99822C6.90682 10.29 6.94688 10.5723 7.02183 10.8402Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2443\"\n x1=\"10.0249\"\n y1=\"0.0486119\"\n x2=\"10.0249\"\n y2=\"19.9491\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2443\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n };\n ","import React, { FC, useState } from \"react\";\nimport { Flex, Text, Tooltip } from \"@orderly.network/ui\";\nimport { commifyOptional } from \"@orderly.network/utils\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport type RewardsTooltipProps = {\n brokerName: string | undefined;\n curRewards: number;\n otherRewards: number;\n};\n\nexport const RewardsTooltip: FC<{\n rewardsTooltip?: RewardsTooltipProps;\n children?: React.ReactElement;\n className?: string;\n arrowClassName?: string;\n align?: \"start\" | \"center\" | \"end\";\n}> = (props) => {\n const [open, setOpen] = useState(false);\n const { t } = useTranslation();\n\n const content = (): any => {\n return (\n <Flex\n direction={\"column\"}\n className=\"oui-leading-[1.5] oui-text-2xs oui-text-base-contrast-80 oui-min-w-[204px]\"\n gap={1}\n >\n <Flex gap={1} width={\"100%\"}>\n <Text className=\"oui-flex-1\">{props.rewardsTooltip?.brokerName}</Text>\n <Text>\n {commifyOptional(props.rewardsTooltip?.curRewards, { fix: 2 })}\n </Text>\n </Flex>\n <Flex gap={1} width={\"100%\"}>\n <Text className=\"oui-flex-1\">\n {t(\"tradingRewards.otherOrderlyDex\")}\n </Text>\n <Text>\n {commifyOptional(props.rewardsTooltip?.otherRewards, { fix: 2 })}\n </Text>\n </Flex>\n </Flex>\n );\n };\n\n return (\n <Tooltip\n content={content()}\n align={props.align}\n className={props.className}\n open={open}\n onOpenChange={setOpen}\n arrow={{\n className: props.arrowClassName,\n }}\n delayDuration={100}\n >\n {!!props.children ? (\n React.cloneElement(props.children!, {\n onClick: (e: any) => {\n e.preventDefault();\n setOpen(!open);\n },\n })\n ) : (\n <svg\n width=\"21\"\n height=\"20\"\n viewBox=\"0 0 21 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"oui-cursor-pointer\"\n onClick={(e) => {\n e.preventDefault();\n setOpen(!open);\n }}\n >\n <path\n d=\"M10.5 1.678a8.333 8.333 0 1 0-.001 16.667 8.333 8.333 0 0 0 0-16.667m0 4.167a.833.833 0 1 1-.001 1.667.833.833 0 0 1 0-1.667m0 2.5c.46 0 .832.373.832.833v4.167a.833.833 0 0 1-1.666 0V9.178c0-.46.373-.833.833-.833\"\n fill=\"#fff\"\n fillOpacity=\".36\"\n />\n </svg>\n )}\n </Tooltip>\n );\n};\n","export const EsOrderlyIcon = (props: {className?: string}) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2449)\">\n <path\n d=\"M10.0249 19.9361C15.5202 19.9361 19.9751 15.4813 19.9751 9.98589C19.9751 4.49052 15.5202 0.0356445 10.0249 0.0356445C4.52949 0.0356445 0.0746155 4.49052 0.0746155 9.98589C0.0746155 15.4813 4.52949 19.9361 10.0249 19.9361Z\"\n fill=\"url(#paint0_linear_862_2449)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.0992 5.0347C14.1824 5.0347 14.2202 4.93253 14.1556 4.88017C13.0272 3.96625 11.59 3.41876 10.0249 3.41876C8.4598 3.41876 7.02258 3.96625 5.89428 4.88017C5.82963 4.93253 5.86743 5.0347 5.95063 5.0347H14.0992ZM7.2658 11.6648C7.34763 11.6648 7.42329 11.707 7.47028 11.7739C8.03421 12.5781 8.96819 13.1038 10.025 13.1038C11.0817 13.1038 12.0156 12.5781 12.5796 11.7739C12.6266 11.707 12.7022 11.6648 12.7841 11.6648H16.2198C16.2985 11.6648 16.3559 11.7395 16.334 11.8151C15.5419 14.5521 13.0171 16.5531 10.0249 16.5531C7.03275 16.5531 4.50795 14.5521 3.71578 11.8151C3.6939 11.7395 3.75127 11.6648 3.83 11.6648H7.2658ZM12.335 7.8919C12.3825 7.94426 12.4493 7.97581 12.5199 7.97581H16.114C16.1955 7.97581 16.2533 7.89653 16.2264 7.81972C15.9727 7.0936 15.5951 6.42564 15.119 5.84118C15.0743 5.78631 15.007 5.75526 14.9361 5.75526H5.11354C5.04279 5.75526 4.97543 5.78631 4.93075 5.84118C4.4546 6.42564 4.07701 7.0936 3.82337 7.81972C3.79653 7.89653 3.8543 7.97581 3.93567 7.97581H7.52983C7.60053 7.97581 7.66725 7.94426 7.71477 7.8919C8.28522 7.263 9.10892 6.86807 10.0249 6.86807C10.9408 6.86807 11.7646 7.263 12.335 7.8919ZM13.028 10.8273C13.0114 10.8862 13.0549 10.9458 13.116 10.9458H16.4447C16.4894 10.9458 16.5273 10.913 16.5333 10.8688C16.572 10.5798 16.5921 10.285 16.5921 9.98539C16.5921 9.56935 16.5534 9.1623 16.4795 8.76771C16.4716 8.72551 16.4345 8.6952 16.3916 8.6952H13.0042C12.9388 8.6952 12.895 8.763 12.9195 8.82377C13.0636 9.18276 13.1429 9.57477 13.1429 9.98529C13.1429 10.277 13.1029 10.5595 13.028 10.8273ZM6.9338 10.9458C6.99492 10.9458 7.03829 10.8862 7.02183 10.8273C6.94688 10.5595 6.90682 10.277 6.90682 9.98529C6.90682 9.57477 6.98617 9.18276 7.13037 8.82377C7.15477 8.763 7.11101 8.6952 7.04553 8.6952H3.65817C3.61522 8.6952 3.5782 8.72551 3.5703 8.76771C3.49631 9.1623 3.45761 9.56935 3.45761 9.98539C3.45761 10.285 3.47767 10.5798 3.51651 10.8688C3.52246 10.913 3.56045 10.9458 3.60511 10.9458H6.9338Z\"\n fill=\"url(#paint1_linear_862_2449)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"-2.24058\"\n x2=\"10.0249\"\n y2=\"21.2774\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"white\" />\n <stop offset=\"1\" stopColor=\"#EDE9F4\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"3.41876\"\n x2=\"10.0249\"\n y2=\"16.5531\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2449\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import { useMemo } from \"react\";\nimport { AccountStatusEnum } from \"@orderly.network/types\";\nimport { useAppContext } from \"@orderly.network/react-app\";\nimport { useAccount, useWalletConnector } from \"@orderly.network/hooks\";\nimport { useTradingRewardsContext } from \"../provider\";\nimport { RewardsTooltipProps } from \"./rewardsTooltip\";\n\nexport const useCurEpochScript = () => {\n const {\n epochList,\n curEpochEstimate: estimate,\n brokerId,\n brokerName,\n } = useTradingRewardsContext();\n const { wrongNetwork, disabledConnect } = useAppContext();\n const { connect } = useWalletConnector();\n const { state } = useAccount();\n\n const hideData = useMemo(() => {\n return (\n state.status <= AccountStatusEnum.SignedIn ||\n wrongNetwork ||\n disabledConnect\n );\n }, [state, wrongNetwork, disabledConnect]);\n\n const notConnected = useMemo(() => {\n return state.status <= AccountStatusEnum.SignedIn || disabledConnect;\n }, [state, disabledConnect]);\n\n const rewardsTooltip = useMemo((): RewardsTooltipProps | undefined => {\n if (typeof estimate === \"undefined\" || estimate === null) return undefined;\n const otherRewards = estimate.rows\n .filter((item) => item.broker_id !== brokerId)\n .reduce((a, b) => a + b.est_r_account, 0);\n const curRewards = Number(estimate.est_r_wallet) - otherRewards;\n return {\n brokerName,\n curRewards,\n otherRewards,\n };\n }, [brokerId, brokerName, estimate]);\n\n return {\n epochList,\n estimate,\n hideData,\n notConnected,\n connect,\n rewardsTooltip: hideData ? undefined : rewardsTooltip,\n };\n};\n\nexport type CurEpochReturns = ReturnType<typeof useCurEpochScript>;\n","import { FC } from \"react\";\nimport { CurEpoch } from \"./curEpoch.ui\";\nimport { useCurEpochScript } from \"./curEpoch.script\";\n\nexport const CurEpochWidget: FC = (props) => {\n const state = useCurEpochScript();\n return <CurEpoch {...state}/>;\n};\n","import { useCallback, useMemo } from \"react\";\nimport { useDataTap } from \"@orderly.network/react-app\";\nimport { Decimal } from \"@orderly.network/utils\";\nimport { ChainNamespace } from \"@orderly.network/types\";\nimport { ENVType, useGetEnv, useWalletConnector } from \"@orderly.network/hooks\";\nimport { useTradingRewardsContext } from \"../provider\";\n\nexport type AvailableReturns = {\n order?: number;\n esOrder?: number;\n goToClaim?: (e: any) => void;\n};\n\nexport const useAvailableScript = (): AvailableReturns => {\n const {\n totalOrderClaimedReward,\n walletRewardsHistory,\n totalEsOrderClaimedReward,\n } = useTradingRewardsContext();\n const [orderClaimedRewardData] = totalOrderClaimedReward;\n const [esOrderClaimedRewardData] = totalEsOrderClaimedReward;\n\n const { namespace } = useWalletConnector();\n\n const [data] = walletRewardsHistory;\n\n const lifetimeOrderReward = useMemo(() => {\n if (namespace === ChainNamespace.evm) {\n return data?.wallet_lifetime_trading_rewards_order;\n }\n return data?.wallet_pending_trading_rewards_order;\n }, [namespace, data]);\n\n const lifetimeEsOrderReward = useMemo(() => {\n if (namespace === ChainNamespace.evm) {\n return data?.wallet_lifetime_trading_rewards_escrow;\n }\n return data?.wallet_pending_trading_rewards_escrow;\n }, [data, namespace]);\n\n const env = useGetEnv();\n const goToClaim = (e: any) => {\n const url = `https://${\n env !== ENVType.prod ? `${env}-` : \"\"\n }app.orderly.network/tradingRewards`;\n window.open(url, \"_blank\");\n };\n\n const calculateRemainingReward = useCallback(\n (totalReward: string | undefined, claimedReward: number | undefined) => {\n if (\n typeof claimedReward !== \"undefined\" &&\n typeof totalReward !== \"undefined\"\n ) {\n const remainingReward = new Decimal(totalReward)\n .sub(claimedReward)\n .toFixed(18, Decimal.ROUND_DOWN);\n return Number(remainingReward);\n }\n return undefined;\n },\n []\n );\n\n const availableOrder = useMemo(\n () => calculateRemainingReward(lifetimeOrderReward, orderClaimedRewardData),\n [lifetimeOrderReward, orderClaimedRewardData, calculateRemainingReward]\n );\n\n const availableEsOrder = useMemo(\n () =>\n calculateRemainingReward(lifetimeEsOrderReward, esOrderClaimedRewardData),\n [lifetimeEsOrderReward, esOrderClaimedRewardData, calculateRemainingReward]\n );\n\n const orderValue = useDataTap<number | undefined>(availableOrder);\n const esorderValue = useDataTap<number | undefined>(availableEsOrder);\n return {\n order: orderValue ?? undefined,\n esOrder: esorderValue ?? undefined,\n goToClaim,\n };\n};\n","import { Flex, Text } from \"@orderly.network/ui\";\nimport { JumpIcon } from \"../components/jumpIcon\";\nimport { FC } from \"react\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { AvailableReturns } from \"./availableToClaim.script\";\nimport { commifyOptional } from \"@orderly.network/utils\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const AvailableToClaim: FC<AvailableReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-availableToClaim\"\n p={6}\n r=\"2xl\"\n direction={\"column\"}\n gap={4}\n width={\"100%\"}\n className=\" oui-font-semibold oui-bg-base-9 \"\n >\n <Flex direction={\"row\"} justify={\"between\"} width={\"100%\"}>\n <Text className=\"oui-text-lg\">\n {t(\"tradingRewards.availableClaim\")}\n </Text>\n <Flex\n direction={\"row\"}\n gap={1}\n onClick={props.goToClaim}\n className=\"oui-cursor-pointer oui-text-primary-light\"\n >\n <Text size=\"sm\">{t(\"tradingRewards.claim\")}</Text>\n <JumpIcon />\n </Flex>\n </Flex>\n <Flex direction={\"row\"} gap={3} width={\"100%\"}>\n <Statics title=\"ORDER\" value={props.order} />\n <Statics title=\"esORDER\" value={props.esOrder} isEsOrder />\n </Flex>\n </Flex>\n );\n};\n// background: linear-gradient(28.29deg, #1B1D22 21.6%, #26292E 83.23%);\n\nconst Statics: FC<{\n title: string;\n isEsOrder?: boolean;\n value?: number;\n}> = (props) => {\n const { value } = props;\n return (\n <Flex\n className=\"oui-flex-1 oui-bg-base-8 oui-py-[11px]\"\n direction={\"column\"}\n gap={2}\n r=\"xl\"\n gradient=\"neutral\"\n angle={180}\n border\n borderColor={6}\n >\n <Text className=\"oui-text-xs xl:oui-text-sm oui-text-base-contrast-54\">\n {props.title}\n </Text>\n <Flex direction={\"row\"} gap={1}>\n {props.isEsOrder ? <EsOrderlyIcon /> : <OrderlyIcon />}\n <Text\n className=\"oui-text-sm xl:oui-text-base\"\n children={commifyOptional(value, { fix: 2 })}\n />\n </Flex>\n </Flex>\n );\n};\n","export const JumpIcon = () => {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n // fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n >\n <path\n d=\"M11.3275 13.9938C12.8001 13.9938 13.9941 12.7998 13.9941 11.3272V4.66049C13.9941 3.18782 12.8001 1.99382 11.3275 1.99382H4.66081C3.18814 1.99382 1.99414 3.18782 1.99414 4.66049V11.3272C1.99414 12.7998 3.18814 13.9938 4.66081 13.9938H11.3275ZM5.99414 10.6605C5.82347 10.6605 5.64548 10.6031 5.51481 10.4732C5.25481 10.2125 5.25481 9.77516 5.51481 9.51449L8.18148 6.84782L6.66081 5.32715H10.6608V9.32715L9.14014 7.80648L6.47347 10.4732C6.34347 10.6031 6.16481 10.6605 5.99414 10.6605Z\"\n \n />\n </svg>\n );\n};\n","import { useAvailableScript } from \"./availableToClaim.script\";\nimport { AvailableToClaim } from \"./availableToClaim.ui\";\n\nexport const AvailableToClaimWidget = () => {\n const state = useAvailableScript();\n return <AvailableToClaim {...state}/>\n};","import { CurrentEpochEstimate } from \"@orderly.network/hooks\";\nimport { useTradingRewardsContext } from \"../provider\";\nimport { ENVType, useGetEnv } from \"@orderly.network/hooks\";\nimport { useDataTap } from \"@orderly.network/react-app\";\nimport { Decimal } from \"@orderly.network/utils\";\nimport { useMemo } from \"react\";\n\nexport const useStakeBoosterScript = () => {\n const { curEpochEstimate } = useTradingRewardsContext();\n\n const env = useGetEnv();\n const stakeNow = (e: any) => {\n const url = `https://${\n env !== ENVType.prod ? `${env}-` : \"\"\n }app.orderly.network/staking`;\n window.open(url, \"_blank\");\n };\n const estimateValue = useDataTap(curEpochEstimate);\n\n const booster = useMemo(() => {\n const estStakeBoost = curEpochEstimate?.est_stake_boost;\n if (typeof estStakeBoost === \"undefined\" || estStakeBoost === null) {\n return undefined;\n }\n\n if (estStakeBoost === 0) return estStakeBoost;\n\n return new Decimal(estStakeBoost)\n .div(new Decimal(10).pow(0.15))\n .toDecimalPlaces(2, Decimal.ROUND_DOWN)\n .toString();\n }, [curEpochEstimate?.est_stake_boost]);\n return {\n curEpochEstimate: estimateValue ?? undefined,\n stakeNow,\n booster,\n };\n};\n\n\nexport type StakeBoosterReturns = ReturnType<typeof useStakeBoosterScript>;","import { FC, ReactNode } from \"react\";\nimport { Flex, Text } from \"@orderly.network/ui\";\nimport { JumpIcon } from \"../components/jumpIcon\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { RocketIcon } from \"../components/rocket\";\nimport { StakeBoosterReturns } from \"./stakeBooster.script\";\nimport { commify, commifyOptional } from \"@orderly.network/utils\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const StakeBooster: FC<StakeBoosterReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-stakeBooster\"\n p={6}\n r=\"2xl\"\n direction={\"column\"}\n gap={4}\n width={\"100%\"}\n className=\" oui-font-semibold oui-bg-base-9 \"\n >\n <Flex direction={\"row\"} justify={\"between\"} width={\"100%\"}>\n <Text className=\"oui-text-lg\">{t(\"tradingRewards.stakeBooster\")}</Text>\n <Flex\n direction={\"row\"}\n gap={1}\n onClick={props.stakeNow}\n className=\"oui-cursor-pointer oui-text-primary-light\"\n >\n <Text size=\"sm\">{t(\"tradingRewards.stake\")}</Text>\n <JumpIcon />\n </Flex>\n </Flex>\n <Flex direction={\"row\"} gap={3} width={\"100%\"}>\n <Statics\n title={t(\"tradingRewards.avgStakedAmount\")}\n value={props.curEpochEstimate?.est_avg_stake}\n icon={\n <div className=\"oui-flex oui-w-[32px] oui-h-[20px] oui-relative\">\n <div className=\"oui-absolute oui-right-0 oui-top-0\">\n <EsOrderlyIcon />\n </div>\n <div className=\"oui-absolute oui-left-0 oui-top-0 \">\n <OrderlyIcon />\n </div>\n </div>\n }\n />\n <Statics\n title={t(\"tradingRewards.booster\")}\n value={props.booster}\n icon={<RocketIcon />}\n gradient\n />\n </Flex>\n </Flex>\n );\n};\n\nconst Statics: FC<{\n title: string;\n icon: ReactNode;\n value?: number | string;\n gradient?: boolean;\n}> = (props) => {\n const calcValue = commify(props.value || \"--\", 2);\n return (\n <Flex\n className=\"oui-flex-1 oui-bg-base-8 oui-py-[11px]\"\n direction={\"column\"}\n gap={2}\n r=\"xl\"\n gradient=\"neutral\"\n angle={180}\n border\n borderColor={6}\n >\n <Text className=\"oui-text-xs xl:oui-text-sm oui-text-base-contrast-54\">\n {props.title}\n </Text>\n <Flex direction={\"row\"} gap={1}>\n {props.icon}\n {props.gradient ? (\n <Text.gradient\n className=\"oui-text-sm xl:oui-text-base\"\n color=\"brand\"\n angle={90}\n >\n {calcValue + (calcValue === \"--\" ? \"\" : \"x\")}\n </Text.gradient>\n ) : (\n <Text className=\"oui-text-sm xl:oui-text-base\">\n {commifyOptional(props.value, { fix: 2 })}\n </Text>\n )}\n </Flex>\n </Flex>\n );\n};\n","export const RocketIcon = () => {\n return (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.439 10.5672C14.0868 10.9198 13.7025 11.2403 13.3183 11.5287C13.1902 11.6248 13.1261 11.721 13.0941 11.8812C12.7739 13.1952 12.1015 14.4451 11.0448 15.5027C10.5645 15.9835 10.0522 16.3681 9.47584 16.7206C8.99553 17.009 8.41917 16.5283 8.61129 15.9835C8.93149 15.1502 9.05957 14.2528 9.05957 13.3234C8.99553 13.3234 8.89947 13.3555 8.83543 13.3555C8.06695 12.7145 7.3625 12.0415 6.65805 11.3364C5.95361 10.6313 5.28118 9.89421 4.64078 9.15708C4.64078 9.09299 4.6728 8.99684 4.6728 8.93274C3.74421 8.93274 2.84764 9.09299 2.01512 9.38143C1.50279 9.57372 0.990469 8.99684 1.27865 8.51611C1.63087 7.93923 2.01512 7.42645 2.49542 6.94572C3.55209 5.88811 4.80088 5.21508 6.11371 4.89459C6.24179 4.86255 6.36987 4.7664 6.46593 4.67025C6.75412 4.25362 7.07432 3.90108 7.42654 3.54855C9.92412 1.04874 13.4143 0.183422 16.6484 0.920545C16.8725 0.984642 17.0326 1.14489 17.0967 1.36923C17.8011 4.57411 16.9366 8.06742 14.439 10.5672ZM13.0301 4.95869C12.2616 4.18952 10.9808 4.18952 10.2123 4.95869C9.44382 5.72786 9.44382 7.00982 10.2123 7.77899C10.9808 8.54816 12.2616 8.54816 13.0301 7.77899C13.8306 6.97777 13.8306 5.72786 13.0301 4.95869ZM5.88957 14.7656C5.28118 15.3745 1.53481 17.9385 0.798348 17.2013C0.0618817 16.4642 2.6235 12.7145 3.23189 12.1056C3.84027 11.4966 4.92896 11.5928 5.66543 12.3299C6.40189 13.067 6.49795 14.1567 5.88957 14.7656Z\"\n fill=\"url(#paint0_linear_88_1748)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_88_1748\"\n x1=\"17.3331\"\n y1=\"8.99996\"\n x2=\"0.666504\"\n y2=\"8.99996\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import { useStakeBoosterScript } from \"./stakeBooster.script\";\nimport { StakeBooster } from \"./stakeBooster.ui\";\n\nexport const StakeBoosterWidget = () => {\n const state = useStakeBoosterScript();\n return <StakeBooster {...state} />\n};","import { FC } from \"react\";\nimport {\n Box,\n Divider,\n Flex,\n ListView,\n Text,\n DataTable,\n Column,\n} from \"@orderly.network/ui\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { ListType, RewardsHistoryReturns } from \"./rewardsHistory.script\";\nimport { useMediaQuery } from \"@orderly.network/hooks\";\nimport { commifyOptional } from \"@orderly.network/utils\";\nimport { AuthGuardEmpty } from \"@orderly.network/ui-connector\";\nimport { AccountStatusEnum } from \"@orderly.network/types\";\nimport { RewardsTooltip } from \"../curEpoch/rewardsTooltip\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const RewardHistory: FC<RewardsHistoryReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-rewardHistory\"\n py={4}\n px={3}\n direction={\"column\"}\n gap={2}\n itemAlign={\"start\"}\n r=\"2xl\"\n className=\"oui-bg-base-9 oui-w-full oui-font-semibold oui-tabular-nums\"\n >\n <Text className=\"oui-text-lg oui-px-3\">\n {t(\"tradingRewards.rewardHistory\")}\n </Text>\n <div className=\"oui-border-t-2 oui-border-line-4 oui-w-full\">\n <List {...props} />\n </div>\n </Flex>\n );\n};\n\nconst List: FC<RewardsHistoryReturns> = (props) => {\n const isMobile = useMediaQuery(\"(max-width: 767px)\");\n\n return isMobile ? (\n <ListView\n dataSource={props.originalData}\n renderItem={(item, index) => {\n return <MobileCell data={item} />;\n }}\n className=\"oui-mt-3 oui-max-h-[356px]\"\n />\n ) : (\n <Box px={3}>\n <DesktopList {...props} />\n </Box>\n );\n};\n\nconst MobileCell: FC<{\n data: ListType;\n}> = (props) => {\n const { data } = props;\n const { t } = useTranslation();\n\n console.log(data.rewardsTooltip);\n const isOrder =\n `${data?.info?.epoch_token || data.epoch_token}`.toLowerCase() === \"order\";\n const r_warret = commifyOptional(data.info?.r_wallet, { fix: 2 });\n\n return (\n <Flex\n key={data.epoch_id}\n direction={\"column\"}\n px={4}\n pt={0}\n gap={3}\n className=\"oui-text-base-contrast-80\"\n >\n <Flex direction={\"row\"} width={\"100%\"}>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.epoch\")}\n </Text>\n <Text className=\"oui-text-sm\">{`Epoch ${data.epoch_id}`}</Text>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.epochRewards\")}{\" \"}\n </Text>\n <Flex gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n <Text className=\"oui-text-sm\">\n {commifyOptional(data.max_reward_amount, { fix: 2 })}\n </Text>\n </Flex>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"end\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardsEarned\")}{\" \"}\n </Text>\n <Flex gap={1}>\n {r_warret !== \"--\" &&\n (isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />)}\n {!!data.rewardsTooltip ? (\n <RewardsTooltip\n rewardsTooltip={data.rewardsTooltip}\n children={\n <Text className=\"oui-text-sm oui-underline oui-decoration-dashed oui-cursor-pointer oui-underline-offset-4 oui-decoration-line-16\">\n {r_warret}\n </Text>\n }\n align=\"center\"\n className=\"oui-bg-base-5\"\n arrowClassName=\"oui-fill-base-5\"\n />\n ) : (\n <Text className=\"oui-text-sm\">{r_warret}</Text>\n )}\n </Flex>\n </Flex>\n </Flex>\n <Flex direction={\"row\"} width={\"100%\"}>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardHistory.column.startDate\")}\n </Text>\n <Flex direction={\"row\"}>\n <Text className=\"oui-text-sm\">\n {formatTimestamp(data.start_time).firstPart} \n </Text>\n <Text className=\"oui-text-2xs oui-text-base-contrast-36\">\n {formatTimestamp(data.start_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"end\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardHistory.column.endDate\")}\n </Text>\n <Flex direction={\"row\"}>\n <Text className=\"oui-text-sm\">\n {formatTimestamp(data.end_time).firstPart} \n </Text>\n <Text className=\"oui-text-2xs oui-text-base-contrast-36\">\n {formatTimestamp(data.end_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n <Divider className=\"oui-w-full\" />\n </Flex>\n );\n};\n\nconst DesktopList: FC<RewardsHistoryReturns> = (props) => {\n const { data } = props;\n const { t } = useTranslation();\n\n const columns: Column<ListType>[] = [\n {\n title: t(\"tradingRewards.epoch\"),\n dataIndex: \"epoch_id\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value) => {\n return <Text>{`${t(\"tradingRewards.epoch\")} ${value}`}</Text>;\n },\n },\n {\n title: t(\"tradingRewards.rewardHistory.column.start&EndDate\"),\n dataIndex: \"time\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n return (\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[2px]\"\n justify={\"start\"}\n itemAlign={\"start\"}\n >\n <Flex direction={\"row\"} gap={1}>\n <Text>{formatTimestamp(record.start_time).firstPart}</Text>\n <Text className=\"oui-text-base-contrast-54\">\n {formatTimestamp(record.start_time).secondPart}\n </Text>\n </Flex>\n <Flex direction={\"row\"} gap={1}>\n <Text>{formatTimestamp(record.end_time).firstPart}</Text>\n <Text className=\"oui-text-base-contrast-54\">\n {formatTimestamp(record.end_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n );\n },\n },\n {\n title: t(\"tradingRewards.epochRewards\"),\n dataIndex: \"max_reward_amount\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n const isOrder =\n `${record?.info?.epoch_token || record.epoch_token}`.toLowerCase() ===\n \"order\";\n return (\n <Flex direction={\"row\"} gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n <Text>{commifyOptional(value)}</Text>\n </Flex>\n );\n },\n },\n {\n title: t(\"tradingRewards.rewardsEarned\"),\n dataIndex: \"earned\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n const isOrder =\n `${record?.info?.epoch_token || record.epoch_token}`.toLowerCase() ===\n \"order\";\n\n let children = (\n <Text\n className={\n record.rewardsTooltip\n ? \"oui-underline oui-decoration-dashed oui-cursor-pointer oui-underline-offset-4 oui-decoration-line-16\"\n : \"\"\n }\n >\n {commifyOptional(record.info?.r_wallet, { fix: 2 })}\n </Text>\n );\n\n if (record.rewardsTooltip) {\n children = (\n <RewardsTooltip\n rewardsTooltip={record.rewardsTooltip}\n children={children}\n align=\"center\"\n className=\"oui-bg-base-5\"\n arrowClassName=\"oui-fill-base-5\"\n />\n );\n }\n return (\n <Flex direction={\"row\"} gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n {children}\n </Flex>\n );\n },\n },\n ];\n\n return (\n <DataTable\n bordered\n columns={columns}\n loading={props.isLoading}\n dataSource={data}\n emptyView={<AuthGuardEmpty status={AccountStatusEnum.SignedIn} />}\n onRow={(record) => {\n return {\n className: \"oui-h-[59px]\",\n };\n }}\n pagination={props.pagination}\n />\n );\n};\n\nfunction formatTimestamp(timestamp?: number) {\n if (typeof timestamp === \"undefined\")\n return {\n firstPart: \"-\",\n secondPart: \"\",\n };\n const date = new Date(timestamp);\n\n const monthNames = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ];\n const month = monthNames[date.getUTCMonth()];\n const day = date.getUTCDate().toString().padStart(2, \"0\");\n const year = date.getUTCFullYear();\n const hours = date.getUTCHours();\n const minutes = date.getUTCMinutes();\n const amPm = hours >= 12 ? \"PM\" : \"AM\";\n const formattedHours = (hours % 12).toString().padStart(2, \"0\");\n const formattedMinutes = minutes.toString().padStart(2, \"0\");\n\n // return `${month} ${day}, ${year}_${formattedHours}:${formattedMinutes} ${amPm}`;\n return {\n firstPart: `${month} ${day}, ${year}`,\n secondPart: `${formattedHours}:${formattedMinutes} ${amPm}`,\n };\n}\n","import { useMemo } from \"react\";\nimport { useTradingRewardsContext } from \"../provider\";\nimport {\n EpochInfoItem,\n useAccount,\n useAccountRewardsHistory,\n WalletRewardsItem,\n} from \"@orderly.network/hooks\";\nimport { usePagination } from \"@orderly.network/ui\";\nimport { useAppContext } from \"@orderly.network/react-app\";\nimport { RewardsTooltipProps } from \"../curEpoch/rewardsTooltip\";\nimport { getTimestamp } from \"@orderly.network/utils\";\n\nexport type ListType = EpochInfoItem & {\n info?: WalletRewardsItem;\n state?: string;\n rewardsTooltip?: RewardsTooltipProps;\n};\n\nexport type RewardsHistoryReturns = ReturnType<typeof useRewardsHistoryScript>;\n\nexport const useRewardsHistoryScript = () => {\n const { account } = useAccount();\n const {\n epochList,\n walletRewardsHistory,\n totalOrderClaimedReward,\n brokerId,\n brokerName,\n } = useTradingRewardsContext();\n const epochInfos = epochList?.[0];\n const { isNotStared } = epochList?.[1];\n const [history] = walletRewardsHistory;\n const { wrongNetwork, disabledConnect } = useAppContext();\n\n const { data: accountHistory } = useAccountRewardsHistory(account.address);\n\n const data = useMemo(() => {\n if (isNotStared || disabledConnect) return [];\n const list = [...(epochInfos || [])];\n\n const combineData = list.map((e): ListType => {\n const id = e.epoch_id;\n const index = history?.rows.findIndex((info) => id === info.epoch_id);\n\n let rewardsTooltip: RewardsTooltipProps | undefined = undefined;\n\n if (index !== -1 && !wrongNetwork) {\n const info = history?.rows?.[index as number];\n const _findIndex = accountHistory?.findIndex((item: any) => {\n return item?.epoch_id === e.epoch_id;\n });\n\n if (\n accountHistory !== undefined &&\n _findIndex !== undefined &&\n _findIndex !== -1\n ) {\n // get broker\n const brokerList = accountHistory[_findIndex].broker;\n const curBrokerIndex = brokerList.findIndex(\n (item) => item.broker_id === brokerId\n );\n const curBroker =\n curBrokerIndex !== -1 ? brokerList[curBrokerIndex] : undefined;\n const curRewards = curBroker?.r_account ?? 0;\n const otherRewards = Math.max(0, (info?.r_wallet ?? 0) - curRewards);\n rewardsTooltip = {\n brokerName,\n curRewards,\n otherRewards,\n };\n }\n return {\n ...e,\n info,\n rewardsTooltip,\n } as ListType;\n }\n return {\n ...e,\n } as ListType;\n });\n\n combineData.sort((a, b) => a.epoch_id - b.epoch_id); // asc\n let [claimedReward] = totalOrderClaimedReward;\n if (typeof claimedReward !== \"undefined\") {\n for (let i = 0; i < combineData.length; i++) {\n const element = combineData[i];\n if (typeof element?.info === \"undefined\") {\n element.state = \"Null\";\n continue;\n }\n const status = element.info?.reward_status;\n if (status === \"Confirmed\") {\n if (claimedReward - element.info?.r_wallet >= 0) {\n element.state = \"Claimed\";\n } else {\n element.state = \"Claimable\";\n }\n claimedReward -= element.info?.r_wallet;\n } else if (status === \"Pending\") {\n element.state = \"Processing\";\n }\n }\n }\n combineData.sort((a, b) => b.epoch_id - a.epoch_id);\n const curDate = getTimestamp();\n return combineData.filter((item) => item.end_time <= curDate);\n }, [\n history,\n epochInfos,\n totalOrderClaimedReward,\n isNotStared,\n wrongNetwork,\n accountHistory,\n disabledConnect,\n ]);\n\n const { pagination } = usePagination();\n\n return {\n data,\n originalData: data,\n pagination,\n isLoading: epochList[1].isLoading,\n };\n};\n","import { useRewardsHistoryScript } from \"./rewardsHistory.script\";\nimport { RewardHistory } from \"./rewardsHistory.ui\";\n\nexport const RewardsHistoryWidget = () => {\n const state = useRewardsHistoryScript();\n return <RewardHistory {...state} />;\n};\n","import { Flex, Box, cn } from \"@orderly.network/ui\";\nimport { TitleWidget } from \"./title/title.widget\";\nimport { CurEpochWidget } from \"./curEpoch\";\nimport { AvailableToClaimWidget } from \"./availableToClaim\";\nimport { StakeBoosterWidget } from \"./stakeBooster\";\nimport { RewardsHistoryWidget } from \"./rewardHistory\";\nimport { TradingRewardsProvider } from \"./provider\";\nimport { FC } from \"react\";\nimport { TitleConfig } from \"./title/title.script\";\n\nexport const HomePage: FC<{\n titleConfig?: TitleConfig;\n className?: string;\n}> = (props) => {\n return (\n <TradingRewardsProvider titleConfig={props.titleConfig}>\n <Flex\n id=\"oui-tradingRewards-home-page\"\n className={cn(\"oui-h-lvw oui-w-full\", props.className)}\n direction={\"column\"}\n gap={4}\n >\n <TitleWidget />\n <Flex className=\"oui-flex oui-flex-col 2xl:oui-flex-row 2xl:oui-items-stretch oui-gap-4 oui-w-full oui-h-full\">\n <Box className=\"2xl:oui-flex-1 2xl:oui-h-auto oui-w-full 2xl:oui-w-auto\">\n <CurEpochWidget />\n </Box>\n <Flex className=\"2xl:oui-flex-1 oui-flex oui-flex-col lg:oui-flex-row oui-gap-4 2xl:oui-flex-col oui-w-full\">\n <AvailableToClaimWidget />\n <StakeBoosterWidget />\n </Flex>\n </Flex>\n <RewardsHistoryWidget />\n </Flex>\n </TradingRewardsProvider>\n );\n};\n","import { useEffect, useMemo, useState } from \"react\";\nimport { useMediaQuery } from \"@orderly.network/hooks\";\nimport type { SideBarProps } from \"@orderly.network/ui-scaffold\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport enum TradingRewardsLeftSidebarPath {\n Trading = \"/rewards/trading\",\n Affiliate = \"/rewards/affiliate\",\n}\n\nexport const useTradingRewardsLayoutScript = (props: {\n current?: string;\n}): SideBarProps & {\n hideSideBar: boolean;\n} => {\n const { t } = useTranslation();\n const [current, setCurrent] = useState(props.current || \"/rewards/affiliate\");\n\n useEffect(() => {\n if (props.current) setCurrent(props.current);\n }, [props.current]);\n\n const items = useMemo(() => {\n return [\n {\n name: t(\"common.trading\"),\n href: TradingRewardsLeftSidebarPath.Trading,\n icon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4.883 1.5c-.166.01-.393.076-.515.173a2 2 0 0 0-.18.173L.918 6.553a.86.86 0 0 0-.168.475c0 .339.232.543.232.543l7.374 8.633c.005.006.269.301.644.296s.64-.29.644-.296l7.402-8.663s.204-.269.204-.513-.196-.517-.196-.517L13.82 1.848c-.023-.032-.076-.021-.103-.049-.033-.038-.037-.091-.077-.124-.123-.097-.267-.106-.413-.123-.04-.005-.063-.049-.103-.049h-.078zm1.745 1.582h4.744L9 5.795zm-1.675.542 2.294 2.615H3.122zm8.094 0 1.831 2.615h-4.125zM3.328 7.818h4.847v5.672zm6.497 0h4.847c-1.151 1.345-3.422 4.007-4.847 5.672z\"\n // fill=\"url(#a)\"\n className=\"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]\"\n />\n <defs>\n <linearGradient\n id=\"a\"\n x1=\"17.25\"\n y1=\"9\"\n x2=\".75\"\n y2=\"9\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop\n offset=\"1\"\n stopColor=\"rgb(var(--oui-gradient-brand-start))\"\n />\n </linearGradient>\n </defs>\n </svg>\n ),\n },\n {\n name: t(\"common.affiliate\"),\n href: TradingRewardsLeftSidebarPath.Affiliate,\n icon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.625 4.95c0-.746.604-1.35 1.35-1.35h4.05c.746 0 1.35.604 1.35 1.35v4.62L9 12.195 5.625 9.57zm8.624 3.163-.524.407v-.96l.074.05c.193.128.346.302.45.502m-4.42 5.148L14.4 9.705v3.345a1.35 1.35 0 0 1-1.35 1.35h-8.1a1.35 1.35 0 0 1-1.35-1.35V9.705l4.571 3.556c.488.379 1.17.379 1.658 0M4.275 8.52l-.524-.407c.104-.2.257-.374.45-.503l.074-.049zm0-2.581V4.95a2.7 2.7 0 0 1 2.7-2.7h4.05a2.7 2.7 0 0 1 2.7 2.7v.989l.823.548a2.7 2.7 0 0 1 1.202 2.247v4.316a2.7 2.7 0 0 1-2.7 2.7h-8.1a2.7 2.7 0 0 1-2.7-2.7V8.734a2.7 2.7 0 0 1 1.202-2.247zM9 6.089l.111-.118.005-.005a1.08 1.08 0 0 1 1.58.004 1.223 1.223 0 0 1 0 1.668l-1.515 1.62-.004.004c-.1.102-.26.1-.358-.004l-1.516-1.62a1.223 1.223 0 0 1 0-1.668l.004-.004a1.08 1.08 0 0 1 1.58.004z\"\n className=\"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]\"\n />\n </svg>\n ),\n },\n ];\n }, [t]);\n\n const hideSideBar = useMediaQuery(\"(max-width: 768px)\");\n\n return {\n items,\n current,\n hideSideBar,\n // open: sideOpen,\n // onOpenChange(open) {\n // setSideOpen(open);\n // },\n onItemSelect: (item) => {\n // @ts-ignore\n setCurrent(item.href);\n },\n };\n};\n","import { PropsWithChildren } from \"react\";\nimport { useTranslation } from \"@orderly.network/i18n\";\nimport { cn } from \"@orderly.network/ui\";\nimport {\n RouterAdapter,\n Scaffold,\n SideBar,\n SideBarProps,\n useScaffoldContext,\n} from \"@orderly.network/ui-scaffold\";\nimport { ScaffoldProps } from \"@orderly.network/ui-scaffold\";\n\nexport type TradingRewardsLayoutProps = ScaffoldProps & {\n hideSideBar?: boolean;\n items?: SideBarProps[\"items\"];\n};\n\nexport const TradingRewardsLayout = (\n props: PropsWithChildren<TradingRewardsLayoutProps>,\n) => {\n const { children, leftSideProps, classNames, ...rest } = props;\n\n return (\n <Scaffold\n leftSidebar={\n props.hideSideBar ? null : (\n <LeftSidebar\n current={props.routerAdapter?.currentPath}\n routerAdapter={props.routerAdapter}\n items={props.items}\n {...leftSideProps}\n />\n )\n }\n routerAdapter={props.routerAdapter}\n classNames={{\n ...classNames,\n content: classNames?.content,\n topNavbar: cn(\"oui-bg-base-9\", classNames?.topNavbar),\n leftSidebar: cn(\n \"oui-rounded-xl oui-bg-base-9\",\n \"oui-m-3 oui-p-4\",\n \"oui-border oui-border-line\",\n classNames?.leftSidebar,\n ),\n }}\n {...rest}\n >\n {children}\n </Scaffold>\n );\n};\n\ntype LeftSidebarProps = SideBarProps & {\n routerAdapter?: RouterAdapter;\n};\n\nconst LeftSidebar = (props: LeftSidebarProps) => {\n const { t } = useTranslation();\n const { expanded, setExpand } = useScaffoldContext();\n\n return (\n <SideBar\n title={t(\"tradingRewards.rewards\")}\n {...props}\n open={expanded}\n onOpenChange={(open) => setExpand(open)}\n onItemSelect={(a) => {\n props.onItemSelect?.(a);\n props.routerAdapter?.onRouteChange?.({\n href: a.href || \"\",\n name: a.name,\n });\n }}\n />\n );\n};\n","import { FC, PropsWithChildren } from \"react\";\nimport { ScaffoldProps } from \"@orderly.network/ui-scaffold\";\nimport { useTradingRewardsLayoutScript } from \"./layout.script\";\nimport { TradingRewardsLayout } from \"./layout.ui\";\n\nexport const TradingRewardsLayoutWidget: FC<\n PropsWithChildren<ScaffoldProps>\n> = (props) => {\n const state = useTradingRewardsLayoutScript({\n current: props.leftSideProps?.current,\n });\n return (\n <TradingRewardsLayout {...state} {...props}>\n {props.children}\n </TradingRewardsLayout>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/pages/index/index.tsx","../src/pages/index/title/title.ui.tsx","../src/pages/index/provider.tsx","../src/pages/index/title/title.script.tsx","../src/pages/index/title/title.widget.tsx","../src/pages/index/curEpoch/curEpoch.ui.tsx","../src/pages/index/components/orderlyIcon.tsx","../src/pages/index/curEpoch/rewardsTooltip.tsx","../src/pages/index/components/esOrderlyIcon.tsx","../src/pages/index/curEpoch/curEpoch.script.tsx","../src/pages/index/curEpoch/curEpoch.widget.tsx","../src/pages/index/availableToClaim/availableToClaim.script.tsx","../src/pages/index/availableToClaim/availableToClaim.ui.tsx","../src/pages/index/components/jumpIcon.tsx","../src/pages/index/availableToClaim/availableToClaim.widget.tsx","../src/pages/index/stakeBooster/stakeBooster.script.tsx","../src/pages/index/stakeBooster/stakeBooster.ui.tsx","../src/pages/index/components/rocket.tsx","../src/pages/index/stakeBooster/stakeBooster.widget.tsx","../src/pages/index/rewardHistory/rewardsHistory.ui.tsx","../src/pages/index/rewardHistory/rewardsHistory.script.tsx","../src/pages/index/rewardHistory/rewardsHistory.widget.tsx","../src/pages/index/page.tsx","../src/layout/layout.script.tsx","../src/layout/layout.ui.tsx","../src/layout/layout.widget.tsx"],"names":["index_exports","__export","AvailableToClaim","AvailableToClaimWidget","CurEpoch","CurEpochWidget","HomePage","RewardHistory","RewardsHistoryWidget","StakeBooster","StakeBoosterWidget","Title","TitleWidget","TradingRewardsProvider","useCurEpochScript","Divider","Flex","Text","useTranslation","jsx","jsxs","props","title","subtitle","content","docOpenOptions","t","MultiLineText","createContext","useContext","useMemo","TWType","useEpochInfo","useAllBrokers","useGetClaimed","DistributionId","useCurEpochEstimate","useWalletRewardsHistory","useConfig","TradingRewardsContext","brokerId","type","titleConfig","totalOrderClaimedReward","totalEsOrderClaimedReward","brokers","curEpochEstimate","walletRewardsHistory","epochList","brokerName","useTradingRewardsContext","useTitleScript","state","useState","useEffect","Box","cn","OrderlyIcon","commifyOptional","AccountStatusEnum","AuthGuard","React","Tooltip","RewardsTooltip","open","setOpen","e","EsOrderlyIcon","Fragment","curEpochInfo","startTime","endTime","curEpochId","max_reward_amount","token","isOrder","Countdown","Statics","getDate","EstRewards","highLight","text","targetTimestamp","timeLeft","setTimeLeft","intervalId","now","distance","days","hours","minutes","seconds","num","value","timestamp","date","month","day","useAppContext","useAccount","useWalletConnector","estimate","wrongNetwork","disabledConnect","connect","hideData","notConnected","rewardsTooltip","otherRewards","item","a","b","curRewards","useCallback","useDataTap","Decimal","ChainNamespace","ENVType","useGetEnv","useAvailableScript","orderClaimedRewardData","esOrderClaimedRewardData","namespace","data","lifetimeOrderReward","lifetimeEsOrderReward","env","goToClaim","url","calculateRemainingReward","totalReward","claimedReward","remainingReward","availableOrder","availableEsOrder","orderValue","esorderValue","JumpIcon","useStakeBoosterScript","stakeNow","estimateValue","booster","estStakeBoost","RocketIcon","commify","calcValue","ListView","DataTable","useMediaQuery","AuthGuardEmpty","List","index","MobileCell","DesktopList","r_warret","formatTimestamp","columns","record","children","year","amPm","formattedHours","formattedMinutes","useAccountRewardsHistory","usePagination","getTimestamp","useRewardsHistoryScript","account","epochInfos","isNotStared","history","accountHistory","combineData","id","info","_findIndex","brokerList","curBrokerIndex","i","element","status","curDate","pagination","TradingRewardsLeftSidebarPath","useTradingRewardsLayoutScript","current","setCurrent","items","hideSideBar","Scaffold","SideBar","useScaffoldContext","TradingRewardsLayout","leftSideProps","classNames","rest","LeftSidebar","expanded","setExpand","TradingRewardsLayoutWidget"],"mappings":"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","sourcesContent":["\nexport * from \"./title\";\nexport * from \"./curEpoch\";\nexport * from \"./availableToClaim\";\nexport * from \"./stakeBooster\";\nexport * from \"./rewardHistory\";\nexport { TradingRewardsProvider} from \"./provider\";\nexport { HomePage } from \"./page\";\n","import { Divider, Flex, Text } from \"@orderly.network/ui\";\nimport { FC } from \"react\";\nimport { TitleConfig } from \"./title.script\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const Title: FC<TitleConfig> = (props) => {\n const { title, subtitle, content, docOpenOptions } = props;\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-title\"\n p={6}\n direction={\"column\"}\n itemAlign={\"start\"}\n gap={4}\n className=\"oui-bg-base-9 oui-font-semibold\"\n r={\"2xl\"}\n width={\"100%\"}\n >\n {title || <Text size=\"lg\">{t(\"common.tradingRewards\")}</Text>}\n <Divider intensity={8} className=\"oui-w-full\" />\n <Flex direction={\"column\"} itemAlign={\"start\"} gap={1}>\n {subtitle || (\n <Text size=\"base\">\n {t(\"tradingRewards.subtitle\", {\n brokerName: props.brokerName,\n })}\n </Text>\n )}\n\n {content || <MultiLineText docOpenOptions={docOpenOptions} />}\n </Flex>\n </Flex>\n );\n};\n\nconst MultiLineText: FC<{\n docOpenOptions?: {\n url?: string;\n target?: string;\n features?: string;\n };\n}> = (props) => {\n const { t } = useTranslation();\n\n // const clickableParts = [\n // {\n // content: \"Learn more here\",\n // isLink: true,\n // },\n // // {\n // // content: \"about Orderly Trading rewards Program.\",\n // // isLink: false,\n // // },\n // // {\n // // content: \"Trading rewards Docs\",\n // // isLink: true,\n // // },\n // ];\n // const renderText = () => {\n // return clickableParts.map((item, index) => {\n // return (\n // <span\n // key={index}\n // className={`${\n // item.isLink\n // ? \"oui-text-primary-light hover:oui-text-primary-darken oui-cursor-pointer\"\n // : \"\"\n // }`}\n // dangerouslySetInnerHTML={{ __html: item.content }}\n // />\n // );\n // });\n // };\n\n return (\n <div\n className=\"oui-text-sm oui-text-base-contrast-54 oui-font-normal oui-flex oui-gap-1 oui-items-center hover:oui-text-primary-darken oui-text-primary-light oui-cursor-pointer\"\n onClick={() => [\n window.open(\n props.docOpenOptions?.url,\n props.docOpenOptions?.target,\n props.docOpenOptions?.features\n ),\n ]}\n >\n <span className=\"oui-text-primary-light hover:oui-text-primary-darken oui-cursor-pointer\">\n {t(\"tradingRewards.learnMore\")}\n </span>\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M4.008 7.995c0-.368.298-.666.666-.666H9.71L7.733 5.331l.937-.936 3.143 3.122c.13.13.195.304.195.479a.67.67 0 0 1-.195.478L8.67 11.596l-.937-.937 1.978-1.998H4.674a.666.666 0 0 1-.666-.666\" />\n </svg>\n </div>\n );\n};\n\nexport default MultiLineText;\n","import { PropsWithChildren, createContext, useContext, useMemo } from \"react\";\nimport {\n TWType,\n EpochInfoType,\n useEpochInfo,\n useAllBrokers,\n useGetClaimed,\n DistributionId,\n useCurEpochEstimate,\n CurrentEpochEstimate,\n useWalletRewardsHistory,\n WalletRewardsHistoryReturns,\n Brokers,\n useConfig,\n} from \"@orderly.network/hooks\";\nimport { TitleConfig } from \"./title/title.script\";\n\nexport type TradingRewardsState = {\n type: TWType;\n brokerId: string;\n brokerName?: string;\n brokers?: Brokers;\n epochList: EpochInfoType;\n totalOrderClaimedReward: [number | undefined, { refresh: () => void }];\n totalEsOrderClaimedReward: [number | undefined, { refresh: () => void }];\n curEpochEstimate?: CurrentEpochEstimate;\n walletRewardsHistory: WalletRewardsHistoryReturns;\n titleConfig: TitleConfig;\n};\n\nexport const TradingRewardsContext = createContext<TradingRewardsState>(\n {} as TradingRewardsState\n);\n\nexport const TradingRewardsProvider = (\n props: PropsWithChildren<{\n /** default is 'orderly' */\n // brokerId?: string;\n /** default is TWType.normal */\n type?: TWType;\n titleConfig?: TitleConfig;\n }>\n) => {\n // const { brokerId = \"orderly\" } = props;\n\n const brokerId = useConfig(\"brokerId\");\n\n const {\n type = TWType.normal,\n titleConfig = {\n docOpenOptions: {\n url: \"https://orderly.network/docs/introduction/tokenomics/trading-rewards\",\n target: \"_blank\",\n },\n },\n } = props;\n const totalOrderClaimedReward = useGetClaimed(\n type === TWType.mm ? DistributionId.mmOrder : DistributionId.order\n );\n const totalEsOrderClaimedReward = useGetClaimed(\n type === TWType.mm ? DistributionId.mmEsOrder : DistributionId.esORder\n );\n\n const [brokers] = useAllBrokers();\n\n const [curEpochEstimate] = useCurEpochEstimate(type);\n\n const walletRewardsHistory = useWalletRewardsHistory(type);\n\n const epochList = useEpochInfo(type as TWType);\n\n const brokerName = useMemo(() => {\n return brokers?.[brokerId];\n }, [brokerId, brokers]);\n\n return (\n <TradingRewardsContext.Provider\n value={{\n type: type as TWType,\n totalOrderClaimedReward,\n totalEsOrderClaimedReward,\n // totalOrderClaimedReward: 2000,\n // totalEsOrderClaimedReward: 0,\n epochList,\n curEpochEstimate,\n walletRewardsHistory,\n titleConfig,\n brokerId,\n brokerName,\n brokers,\n }}\n >\n {/* <PageLoading loading={epochList.data === undefined}> */}\n {props.children}\n {/* </PageLoading> */}\n </TradingRewardsContext.Provider>\n );\n};\n\nexport function useTradingRewardsContext() {\n return useContext(TradingRewardsContext);\n}\n","import { ReactNode } from \"react\";\nimport { useTradingRewardsContext } from \"../provider\";\n\nexport type TitleConfig = {\n /// default is `Trading rewards`\n title?: string | ReactNode;\n /// default is `Trade with Orderly’s to earn ORDER.`\n subtitle?: string | ReactNode;\n /// default is `Learn more about Orderly Trading rewards Program in Trading rewards Docs`\n content?: string | ReactNode;\n /// default is { url: 'https://orderly.network/docs/introduction/tokenomics/trading-rewards', target: \"_blank\"}\n docOpenOptions?: {\n url?: string;\n target?: string;\n features?: string;\n };\n brokerName?: string;\n};\n\nexport const useTitleScript = (): TitleConfig => {\n\n const { titleConfig } = useTradingRewardsContext();\n\n return titleConfig;\n};\n","import { useTitleScript } from \"./title.script\";\nimport { Title } from \"./title.ui\";\n\nexport const TitleWidget = () => {\n const state = useTitleScript();\n return <Title {...state} />;\n};\n","import { useState, useEffect, FC, ReactNode } from \"react\";\nimport { Box, Flex, Text, cn } from \"@orderly.network/ui\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { CurEpochReturns } from \"./curEpoch.script\";\nimport { commifyOptional } from \"@orderly.network/utils\";\nimport { AccountStatusEnum } from \"@orderly.network/types\";\nimport { AuthGuard } from \"@orderly.network/ui-connector\";\nimport { RewardsTooltip } from \"./rewardsTooltip\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const CurEpoch: FC<CurEpochReturns> = (props) => {\n const { t } = useTranslation();\n\n const state = props;\n const curEpochInfo = state.epochList?.[1].curEpochInfo;\n const startTime = curEpochInfo?.start_time;\n const endTime = curEpochInfo?.end_time;\n const curEpochId = curEpochInfo?.epoch_id;\n const max_reward_amount = curEpochInfo?.max_reward_amount;\n const token = curEpochInfo?.epoch_token;\n\n const isOrder = curEpochInfo\n ? `${curEpochInfo?.epoch_token}`.toLowerCase() === \"order\"\n : undefined;\n return (\n <Flex\n id=\"oui-tradingRewards-home-currentEpoch\"\n r={\"2xl\"}\n className=\"oui-bg-base-9 oui-font-semibold\"\n width={\"100%\"}\n height={\"100%\"}\n direction={\"column\"}\n // justify={\"stretch\"}\n itemAlign={\"stretch\"}\n >\n <Countdown targetTimestamp={endTime} />\n <Flex p={6} direction={\"column\"} gap={4} className=\"oui-h-full\">\n <Flex direction={\"row\"} gap={3} width={\"100%\"} justify={\"around\"}>\n <Statics\n title={t(\"tradingRewards.epoch\")}\n highLight={curEpochId ? `${curEpochId}` : \"--\"}\n text={\n startTime && endTime\n ? `${getDate(startTime)} - ${getDate(endTime)}`\n : \"\"\n }\n />\n <Statics\n title={t(\"tradingRewards.epochRewards\")}\n highLight={commifyOptional(max_reward_amount, { fix: 0 })}\n text={token}\n />\n </Flex>\n <EstRewards\n isOrder={isOrder}\n direction={state.notConnected ? \"row\" : \"column\"}\n justify={state.notConnected ? \"between\" : \"center\"}\n hideData={state.hideData}\n estRewards={state.hideData ? \"--\" : props.estimate?.est_r_wallet}\n rewardsTooltip={props.rewardsTooltip}\n background={\n state.notConnected\n ? \"linear-gradient(28.29deg, #1B1D22 21.6%, #26292E 83.23%)\"\n : \"linear-gradient(0deg, #2D0061 2.62%, #BD6BED 86.5%)\"\n }\n />\n {/* {state.notConnected && (\n <Button\n variant=\"gradient\"\n fullWidth\n onClick={(e) => {\n e.stopPropagation();\n state.connect();\n }}\n >\n Connect wallet\n </Button>\n )} */}\n\n <div className=\"oui-w-full\">\n <AuthGuard\n status={AccountStatusEnum.SignedIn}\n buttonProps={{ fullWidth: true }}\n >\n <></>\n </AuthGuard>\n </div>\n </Flex>\n </Flex>\n );\n};\n\nconst EstRewards: FC<{\n isOrder?: boolean;\n estRewards?: number | string;\n direction: \"row\" | \"column\";\n justify: \"center\" | \"between\";\n background: string;\n hideData: boolean;\n rewardsTooltip:\n | {\n brokerName: string | undefined;\n curRewards: number;\n otherRewards: number;\n }\n | undefined;\n}> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n direction={props.direction}\n gap={2}\n py={4}\n px={6}\n width={\"100%\"}\n r=\"xl\"\n itemAlign={\"center\"}\n justify={props.justify}\n style={{\n background: props.background,\n }}\n className=\"oui-flex-1 oui-h-full\"\n >\n <Text className=\"oui-text-base xl:oui-text-lg oui-text-base-contrast-54\">\n {t(\"tradingRewards.myEstRewards\")}\n </Text>\n <Flex direction={\"row\"} gap={3}>\n {props.isOrder == true && (\n <OrderlyIcon className=\"oui-w-5 oui-h-5 md:oui-w-6 md:oui-h-6 lg:oui-w-7 lg:oui-h-7 xl:oui-w-8 xl:oui-h-8\" />\n )}\n {props.isOrder == false && (\n <EsOrderlyIcon className=\"oui-w-5 oui-h-5 md:oui-w-6 md:oui-h-6 lg:oui-w-7 lg:oui-h-7 xl:oui-w-8 xl:oui-h-8\" />\n )}\n <Text\n children={commifyOptional(props.estRewards, { fix: 2 })}\n className=\"oui-text-xl md:oui-text-2xl xl:oui-text-[32px]\"\n />\n {props.rewardsTooltip && (\n <RewardsTooltip rewardsTooltip={props.rewardsTooltip} />\n )}\n </Flex>\n </Flex>\n );\n};\n\nconst Statics: FC<{\n title: string;\n highLight?: string;\n text?: string;\n}> = (props) => {\n const { title, highLight, text } = props;\n return (\n <Flex\n // px={1}\n py={2}\n justify={\"between\"}\n direction={\"column\"}\n className=\"flex-1\"\n gap={2}\n >\n <Text\n className={cn(\n \"oui-text-base-contrast-54\",\n // font size\n \"oui-text-xs md:oui-text-sm xl:oui-text-base\",\n /// leading\n \"oui-leading-[20px] xl:oui-leading-[24px]\"\n )}\n >\n {title}\n </Text>\n <Flex direction={\"row\"} gap={1} itemAlign={\"end\"} justify={\"center\"}>\n <Text.gradient\n color=\"brand\"\n angle={90}\n className=\"oui-text-base md:oui-text-lg lg:oui-text-xl xl:oui-text-2xl\"\n >\n {highLight}\n </Text.gradient>\n <Text\n intensity={80}\n className=\"oui-text-2xs md:oui-text-xs xl:oui-text-sm oui-mb-[3px]\"\n >\n {text}\n </Text>\n </Flex>\n </Flex>\n );\n};\n\nconst Countdown: FC<{\n targetTimestamp?: number;\n}> = ({ targetTimestamp }) => {\n const { t } = useTranslation();\n const [timeLeft, setTimeLeft] = useState({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n if (typeof targetTimestamp === \"undefined\") return;\n const now = new Date().getTime();\n const distance = targetTimestamp - now;\n\n if (distance < 0) {\n clearInterval(intervalId as unknown as number);\n setTimeLeft({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n } else {\n const days = Math.floor(distance / (1000 * 60 * 60 * 24));\n const hours = Math.floor(\n (distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)\n );\n const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\n const seconds = Math.floor((distance % (1000 * 60)) / 1000);\n\n setTimeLeft({ days, hours, minutes, seconds });\n }\n }, 1000);\n\n return () => clearInterval(intervalId as unknown as number);\n }, [targetTimestamp]);\n\n const num = (value: string) => {\n return (\n <Text className=\"oui-text-base-contrast oui-text-sm md:oui-text-base lg:oui-text-lg \">\n {value}\n </Text>\n );\n };\n\n return (\n <Box\n className=\"oui-rounded-t-2xl oui-text-base-contrast-54 oui-font-semibold\"\n gradient=\"neutral\"\n angle={180}\n width={\"full\"}\n >\n <Flex justify={\"center\"} gap={1}>\n <span>{`${t(\"common.countdown\")}: `}</span>\n <Flex\n direction={\"row\"}\n itemAlign={\"end\"}\n gap={1}\n className=\"oui-text-2xs md:oui-text-xs lg:oui-text-sm oui-py-[13px]\"\n >\n {num(`${timeLeft.days}`.padStart(2, \"0\"))}\n <span>D</span>\n {num(`${timeLeft.hours}`.padStart(2, \"0\"))}\n <span>H</span>\n {num(`${timeLeft.minutes}`.padStart(2, \"0\"))}\n <span>M</span>\n {num(`${timeLeft.seconds}`.padStart(2, \"0\"))}\n <span>S</span>\n </Flex>\n </Flex>\n </Box>\n );\n};\n\nconst CountDownNum = (props: { children?: ReactNode }) => {\n return (\n <Text className=\"oui-text-base-contrast oui-text-sm md:oui-text-base lg:oui-text-lg \">\n {props.children}\n </Text>\n );\n};\n\nconst getDate = (timestamp?: number) => {\n if (!timestamp) return \"\";\n\n const date = new Date(timestamp);\n\n // return format(timestamp, \"MMM. d\");\n\n const monthNames = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ];\n const month = monthNames[date.getUTCMonth()];\n const day = date.getUTCDate();\n return `${month}. ${day}`;\n};\n","export const OrderlyIcon = (props: {\n className?: string;\n}) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2443)\">\n <path\n d=\"M10.0249 19.9491C15.5202 19.9491 19.9751 15.4942 19.9751 9.99883C19.9751 4.50346 15.5202 0.048584 10.0249 0.048584C4.52949 0.048584 0.0746155 4.50346 0.0746155 9.99883C0.0746155 15.4942 4.52949 19.9491 10.0249 19.9491Z\"\n fill=\"url(#paint0_linear_862_2443)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.1556 4.8931C14.2202 4.94547 14.1824 5.04764 14.0992 5.04764H5.95063C5.86743 5.04764 5.82963 4.94547 5.89428 4.8931C7.02258 3.97918 8.4598 3.4317 10.0249 3.4317C11.59 3.4317 13.0272 3.97918 14.1556 4.8931Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.47028 11.7869C7.4233 11.7199 7.34764 11.6777 7.26581 11.6777H3.83C3.75128 11.6777 3.69391 11.7525 3.71579 11.8281C4.50796 14.565 7.03275 16.566 10.0249 16.566C13.0171 16.566 15.5419 14.565 16.334 11.8281C16.3559 11.7525 16.2985 11.6777 16.2198 11.6777H12.7841C12.7022 11.6777 12.6266 11.7199 12.5796 11.7869C12.0156 12.5911 11.0817 13.1167 10.025 13.1167C8.96818 13.1167 8.03421 12.5911 7.47028 11.7869Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.335 7.90476C12.3825 7.95713 12.4493 7.98867 12.5199 7.98867H16.114C16.1955 7.98867 16.2533 7.9094 16.2264 7.83259C15.9727 7.10647 15.5951 6.43851 15.119 5.85405C15.0743 5.79918 15.007 5.76813 14.9361 5.76813H5.11354C5.04278 5.76813 4.97543 5.79918 4.93074 5.85405C4.45459 6.43851 4.07701 7.10647 3.82337 7.83259C3.79652 7.9094 3.85428 7.98867 3.93567 7.98867H7.52982C7.60052 7.98867 7.66725 7.95713 7.71475 7.90476C8.28522 7.27587 9.10892 6.88093 10.0249 6.88093C10.9408 6.88093 11.7646 7.27587 12.335 7.90476Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.116 10.9587C13.0549 10.9587 13.0114 10.8991 13.028 10.8402C13.1029 10.5723 13.1429 10.29 13.1429 9.99822C13.1429 9.5877 13.0636 9.19568 12.9195 8.83669C12.895 8.77593 12.9388 8.70813 13.0042 8.70813H16.3916C16.4345 8.70813 16.4716 8.73843 16.4795 8.78064C16.5534 9.17523 16.5921 9.58228 16.5921 9.99832C16.5921 10.2979 16.572 10.5927 16.5333 10.8816C16.5273 10.9259 16.4894 10.9587 16.4447 10.9587H13.116ZM7.02183 10.8402C7.03829 10.8991 6.99492 10.9587 6.93381 10.9587H3.60511C3.56045 10.9587 3.52246 10.9259 3.51651 10.8816C3.47767 10.5927 3.45761 10.2979 3.45761 9.99832C3.45761 9.58228 3.49631 9.17523 3.5703 8.78064C3.5782 8.73843 3.61523 8.70813 3.65817 8.70813H7.04553C7.11101 8.70813 7.15477 8.77593 7.13037 8.83669C6.98617 9.19568 6.90682 9.5877 6.90682 9.99822C6.90682 10.29 6.94688 10.5723 7.02183 10.8402Z\"\n fill=\"white\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2443\"\n x1=\"10.0249\"\n y1=\"0.0486119\"\n x2=\"10.0249\"\n y2=\"19.9491\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2443\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n };\n ","import React, { FC, useState } from \"react\";\nimport { Flex, Text, Tooltip } from \"@orderly.network/ui\";\nimport { commifyOptional } from \"@orderly.network/utils\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport type RewardsTooltipProps = {\n brokerName: string | undefined;\n curRewards: number;\n otherRewards: number;\n};\n\nexport const RewardsTooltip: FC<{\n rewardsTooltip?: RewardsTooltipProps;\n children?: React.ReactElement;\n className?: string;\n arrowClassName?: string;\n align?: \"start\" | \"center\" | \"end\";\n}> = (props) => {\n const [open, setOpen] = useState(false);\n const { t } = useTranslation();\n\n const content = (): any => {\n return (\n <Flex\n direction={\"column\"}\n className=\"oui-leading-[1.5] oui-text-2xs oui-text-base-contrast-80 oui-min-w-[204px]\"\n gap={1}\n >\n <Flex gap={1} width={\"100%\"}>\n <Text className=\"oui-flex-1\">{props.rewardsTooltip?.brokerName}</Text>\n <Text>\n {commifyOptional(props.rewardsTooltip?.curRewards, { fix: 2 })}\n </Text>\n </Flex>\n <Flex gap={1} width={\"100%\"}>\n <Text className=\"oui-flex-1\">\n {t(\"tradingRewards.otherOrderlyDex\")}\n </Text>\n <Text>\n {commifyOptional(props.rewardsTooltip?.otherRewards, { fix: 2 })}\n </Text>\n </Flex>\n </Flex>\n );\n };\n\n return (\n <Tooltip\n content={content()}\n align={props.align}\n className={props.className}\n open={open}\n onOpenChange={setOpen}\n arrow={{\n className: props.arrowClassName,\n }}\n delayDuration={100}\n >\n {!!props.children ? (\n React.cloneElement(props.children!, {\n onClick: (e: any) => {\n e.preventDefault();\n setOpen(!open);\n },\n })\n ) : (\n <svg\n width=\"21\"\n height=\"20\"\n viewBox=\"0 0 21 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"oui-cursor-pointer\"\n onClick={(e) => {\n e.preventDefault();\n setOpen(!open);\n }}\n >\n <path\n d=\"M10.5 1.678a8.333 8.333 0 1 0-.001 16.667 8.333 8.333 0 0 0 0-16.667m0 4.167a.833.833 0 1 1-.001 1.667.833.833 0 0 1 0-1.667m0 2.5c.46 0 .832.373.832.833v4.167a.833.833 0 0 1-1.666 0V9.178c0-.46.373-.833.833-.833\"\n fill=\"#fff\"\n fillOpacity=\".36\"\n />\n </svg>\n )}\n </Tooltip>\n );\n};\n","export const EsOrderlyIcon = (props: {className?: string}) => {\n return (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n >\n <g clipPath=\"url(#clip0_862_2449)\">\n <path\n d=\"M10.0249 19.9361C15.5202 19.9361 19.9751 15.4813 19.9751 9.98589C19.9751 4.49052 15.5202 0.0356445 10.0249 0.0356445C4.52949 0.0356445 0.0746155 4.49052 0.0746155 9.98589C0.0746155 15.4813 4.52949 19.9361 10.0249 19.9361Z\"\n fill=\"url(#paint0_linear_862_2449)\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.0992 5.0347C14.1824 5.0347 14.2202 4.93253 14.1556 4.88017C13.0272 3.96625 11.59 3.41876 10.0249 3.41876C8.4598 3.41876 7.02258 3.96625 5.89428 4.88017C5.82963 4.93253 5.86743 5.0347 5.95063 5.0347H14.0992ZM7.2658 11.6648C7.34763 11.6648 7.42329 11.707 7.47028 11.7739C8.03421 12.5781 8.96819 13.1038 10.025 13.1038C11.0817 13.1038 12.0156 12.5781 12.5796 11.7739C12.6266 11.707 12.7022 11.6648 12.7841 11.6648H16.2198C16.2985 11.6648 16.3559 11.7395 16.334 11.8151C15.5419 14.5521 13.0171 16.5531 10.0249 16.5531C7.03275 16.5531 4.50795 14.5521 3.71578 11.8151C3.6939 11.7395 3.75127 11.6648 3.83 11.6648H7.2658ZM12.335 7.8919C12.3825 7.94426 12.4493 7.97581 12.5199 7.97581H16.114C16.1955 7.97581 16.2533 7.89653 16.2264 7.81972C15.9727 7.0936 15.5951 6.42564 15.119 5.84118C15.0743 5.78631 15.007 5.75526 14.9361 5.75526H5.11354C5.04279 5.75526 4.97543 5.78631 4.93075 5.84118C4.4546 6.42564 4.07701 7.0936 3.82337 7.81972C3.79653 7.89653 3.8543 7.97581 3.93567 7.97581H7.52983C7.60053 7.97581 7.66725 7.94426 7.71477 7.8919C8.28522 7.263 9.10892 6.86807 10.0249 6.86807C10.9408 6.86807 11.7646 7.263 12.335 7.8919ZM13.028 10.8273C13.0114 10.8862 13.0549 10.9458 13.116 10.9458H16.4447C16.4894 10.9458 16.5273 10.913 16.5333 10.8688C16.572 10.5798 16.5921 10.285 16.5921 9.98539C16.5921 9.56935 16.5534 9.1623 16.4795 8.76771C16.4716 8.72551 16.4345 8.6952 16.3916 8.6952H13.0042C12.9388 8.6952 12.895 8.763 12.9195 8.82377C13.0636 9.18276 13.1429 9.57477 13.1429 9.98529C13.1429 10.277 13.1029 10.5595 13.028 10.8273ZM6.9338 10.9458C6.99492 10.9458 7.03829 10.8862 7.02183 10.8273C6.94688 10.5595 6.90682 10.277 6.90682 9.98529C6.90682 9.57477 6.98617 9.18276 7.13037 8.82377C7.15477 8.763 7.11101 8.6952 7.04553 8.6952H3.65817C3.61522 8.6952 3.5782 8.72551 3.5703 8.76771C3.49631 9.1623 3.45761 9.56935 3.45761 9.98539C3.45761 10.285 3.47767 10.5798 3.51651 10.8688C3.52246 10.913 3.56045 10.9458 3.60511 10.9458H6.9338Z\"\n fill=\"url(#paint1_linear_862_2449)\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"paint0_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"-2.24058\"\n x2=\"10.0249\"\n y2=\"21.2774\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"white\" />\n <stop offset=\"1\" stopColor=\"#EDE9F4\" />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_862_2449\"\n x1=\"10.0249\"\n y1=\"3.41876\"\n x2=\"10.0249\"\n y2=\"16.5531\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#C750FF\" />\n <stop offset=\"1\" stopColor=\"#5800E8\" />\n </linearGradient>\n <clipPath id=\"clip0_862_2449\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import { useMemo } from \"react\";\nimport { AccountStatusEnum } from \"@orderly.network/types\";\nimport { useAppContext } from \"@orderly.network/react-app\";\nimport { useAccount, useWalletConnector } from \"@orderly.network/hooks\";\nimport { useTradingRewardsContext } from \"../provider\";\nimport { RewardsTooltipProps } from \"./rewardsTooltip\";\n\nexport const useCurEpochScript = () => {\n const {\n epochList,\n curEpochEstimate: estimate,\n brokerId,\n brokerName,\n } = useTradingRewardsContext();\n const { wrongNetwork, disabledConnect } = useAppContext();\n const { connect } = useWalletConnector();\n const { state } = useAccount();\n\n const hideData = useMemo(() => {\n return (\n state.status <= AccountStatusEnum.SignedIn ||\n wrongNetwork ||\n disabledConnect\n );\n }, [state, wrongNetwork, disabledConnect]);\n\n const notConnected = useMemo(() => {\n return state.status <= AccountStatusEnum.SignedIn || disabledConnect;\n }, [state, disabledConnect]);\n\n const rewardsTooltip = useMemo((): RewardsTooltipProps | undefined => {\n if (typeof estimate === \"undefined\" || estimate === null) return undefined;\n const otherRewards = estimate.rows\n .filter((item) => item.broker_id !== brokerId)\n .reduce((a, b) => a + b.est_r_account, 0);\n const curRewards = Number(estimate.est_r_wallet) - otherRewards;\n return {\n brokerName,\n curRewards,\n otherRewards,\n };\n }, [brokerId, brokerName, estimate]);\n\n return {\n epochList,\n estimate,\n hideData,\n notConnected,\n connect,\n rewardsTooltip: hideData ? undefined : rewardsTooltip,\n };\n};\n\nexport type CurEpochReturns = ReturnType<typeof useCurEpochScript>;\n","import { FC } from \"react\";\nimport { CurEpoch } from \"./curEpoch.ui\";\nimport { useCurEpochScript } from \"./curEpoch.script\";\n\nexport const CurEpochWidget: FC = (props) => {\n const state = useCurEpochScript();\n return <CurEpoch {...state}/>;\n};\n","import { useCallback, useMemo } from \"react\";\nimport { useDataTap } from \"@orderly.network/react-app\";\nimport { Decimal } from \"@orderly.network/utils\";\nimport { ChainNamespace } from \"@orderly.network/types\";\nimport { ENVType, useGetEnv, useWalletConnector } from \"@orderly.network/hooks\";\nimport { useTradingRewardsContext } from \"../provider\";\n\nexport type AvailableReturns = {\n order?: number;\n esOrder?: number;\n goToClaim?: (e: any) => void;\n};\n\nexport const useAvailableScript = (): AvailableReturns => {\n const {\n totalOrderClaimedReward,\n walletRewardsHistory,\n totalEsOrderClaimedReward,\n } = useTradingRewardsContext();\n const [orderClaimedRewardData] = totalOrderClaimedReward;\n const [esOrderClaimedRewardData] = totalEsOrderClaimedReward;\n\n const { namespace } = useWalletConnector();\n\n const [data] = walletRewardsHistory;\n\n const lifetimeOrderReward = useMemo(() => {\n if (namespace === ChainNamespace.evm) {\n return data?.wallet_lifetime_trading_rewards_order;\n }\n return data?.wallet_pending_trading_rewards_order;\n }, [namespace, data]);\n\n const lifetimeEsOrderReward = useMemo(() => {\n if (namespace === ChainNamespace.evm) {\n return data?.wallet_lifetime_trading_rewards_escrow;\n }\n return data?.wallet_pending_trading_rewards_escrow;\n }, [data, namespace]);\n\n const env = useGetEnv();\n const goToClaim = (e: any) => {\n const url = `https://${\n env !== ENVType.prod ? `${env}-` : \"\"\n }app.orderly.network/tradingRewards`;\n window.open(url, \"_blank\");\n };\n\n const calculateRemainingReward = useCallback(\n (totalReward: string | undefined, claimedReward: number | undefined) => {\n if (\n typeof claimedReward !== \"undefined\" &&\n typeof totalReward !== \"undefined\"\n ) {\n const remainingReward = new Decimal(totalReward)\n .sub(claimedReward)\n .toFixed(18, Decimal.ROUND_DOWN);\n return Number(remainingReward);\n }\n return undefined;\n },\n []\n );\n\n const availableOrder = useMemo(\n () => calculateRemainingReward(lifetimeOrderReward, orderClaimedRewardData),\n [lifetimeOrderReward, orderClaimedRewardData, calculateRemainingReward]\n );\n\n const availableEsOrder = useMemo(\n () =>\n calculateRemainingReward(lifetimeEsOrderReward, esOrderClaimedRewardData),\n [lifetimeEsOrderReward, esOrderClaimedRewardData, calculateRemainingReward]\n );\n\n const orderValue = useDataTap<number | undefined>(availableOrder);\n const esorderValue = useDataTap<number | undefined>(availableEsOrder);\n return {\n order: orderValue ?? undefined,\n esOrder: esorderValue ?? undefined,\n goToClaim,\n };\n};\n","import { Flex, Text } from \"@orderly.network/ui\";\nimport { JumpIcon } from \"../components/jumpIcon\";\nimport { FC } from \"react\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { AvailableReturns } from \"./availableToClaim.script\";\nimport { commifyOptional } from \"@orderly.network/utils\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const AvailableToClaim: FC<AvailableReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-availableToClaim\"\n p={6}\n r=\"2xl\"\n direction={\"column\"}\n gap={4}\n width={\"100%\"}\n className=\" oui-font-semibold oui-bg-base-9 \"\n >\n <Flex direction={\"row\"} justify={\"between\"} width={\"100%\"}>\n <Text className=\"oui-text-lg\">\n {t(\"tradingRewards.availableClaim\")}\n </Text>\n <Flex\n direction={\"row\"}\n gap={1}\n onClick={props.goToClaim}\n className=\"oui-cursor-pointer oui-text-primary-light\"\n >\n <Text size=\"sm\">{t(\"tradingRewards.claim\")}</Text>\n <JumpIcon />\n </Flex>\n </Flex>\n <Flex direction={\"row\"} gap={3} width={\"100%\"}>\n <Statics title=\"ORDER\" value={props.order} />\n <Statics title=\"esORDER\" value={props.esOrder} isEsOrder />\n </Flex>\n </Flex>\n );\n};\n// background: linear-gradient(28.29deg, #1B1D22 21.6%, #26292E 83.23%);\n\nconst Statics: FC<{\n title: string;\n isEsOrder?: boolean;\n value?: number;\n}> = (props) => {\n const { value } = props;\n return (\n <Flex\n className=\"oui-flex-1 oui-bg-base-8 oui-py-[11px]\"\n direction={\"column\"}\n gap={2}\n r=\"xl\"\n gradient=\"neutral\"\n angle={180}\n border\n borderColor={6}\n >\n <Text className=\"oui-text-xs xl:oui-text-sm oui-text-base-contrast-54\">\n {props.title}\n </Text>\n <Flex direction={\"row\"} gap={1}>\n {props.isEsOrder ? <EsOrderlyIcon /> : <OrderlyIcon />}\n <Text\n className=\"oui-text-sm xl:oui-text-base\"\n children={commifyOptional(value, { fix: 2 })}\n />\n </Flex>\n </Flex>\n );\n};\n","export const JumpIcon = () => {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n // fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n >\n <path\n d=\"M11.3275 13.9938C12.8001 13.9938 13.9941 12.7998 13.9941 11.3272V4.66049C13.9941 3.18782 12.8001 1.99382 11.3275 1.99382H4.66081C3.18814 1.99382 1.99414 3.18782 1.99414 4.66049V11.3272C1.99414 12.7998 3.18814 13.9938 4.66081 13.9938H11.3275ZM5.99414 10.6605C5.82347 10.6605 5.64548 10.6031 5.51481 10.4732C5.25481 10.2125 5.25481 9.77516 5.51481 9.51449L8.18148 6.84782L6.66081 5.32715H10.6608V9.32715L9.14014 7.80648L6.47347 10.4732C6.34347 10.6031 6.16481 10.6605 5.99414 10.6605Z\"\n \n />\n </svg>\n );\n};\n","import { useAvailableScript } from \"./availableToClaim.script\";\nimport { AvailableToClaim } from \"./availableToClaim.ui\";\n\nexport const AvailableToClaimWidget = () => {\n const state = useAvailableScript();\n return <AvailableToClaim {...state}/>\n};","import { CurrentEpochEstimate } from \"@orderly.network/hooks\";\nimport { useTradingRewardsContext } from \"../provider\";\nimport { ENVType, useGetEnv } from \"@orderly.network/hooks\";\nimport { useDataTap } from \"@orderly.network/react-app\";\nimport { Decimal } from \"@orderly.network/utils\";\nimport { useMemo } from \"react\";\n\nexport const useStakeBoosterScript = () => {\n const { curEpochEstimate } = useTradingRewardsContext();\n\n const env = useGetEnv();\n const stakeNow = (e: any) => {\n const url = `https://${\n env !== ENVType.prod ? `${env}-` : \"\"\n }app.orderly.network/staking`;\n window.open(url, \"_blank\");\n };\n const estimateValue = useDataTap(curEpochEstimate);\n\n const booster = useMemo(() => {\n const estStakeBoost = curEpochEstimate?.est_stake_boost;\n if (typeof estStakeBoost === \"undefined\" || estStakeBoost === null) {\n return undefined;\n }\n\n if (estStakeBoost === 0) return estStakeBoost;\n\n return new Decimal(estStakeBoost)\n .div(new Decimal(10).pow(0.15))\n .toDecimalPlaces(2, Decimal.ROUND_DOWN)\n .toString();\n }, [curEpochEstimate?.est_stake_boost]);\n return {\n curEpochEstimate: estimateValue ?? undefined,\n stakeNow,\n booster,\n };\n};\n\n\nexport type StakeBoosterReturns = ReturnType<typeof useStakeBoosterScript>;","import { FC, ReactNode } from \"react\";\nimport { Flex, Text } from \"@orderly.network/ui\";\nimport { JumpIcon } from \"../components/jumpIcon\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { RocketIcon } from \"../components/rocket\";\nimport { StakeBoosterReturns } from \"./stakeBooster.script\";\nimport { commify, commifyOptional } from \"@orderly.network/utils\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const StakeBooster: FC<StakeBoosterReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-stakeBooster\"\n p={6}\n r=\"2xl\"\n direction={\"column\"}\n gap={4}\n width={\"100%\"}\n className=\" oui-font-semibold oui-bg-base-9 \"\n >\n <Flex direction={\"row\"} justify={\"between\"} width={\"100%\"}>\n <Text className=\"oui-text-lg\">{t(\"tradingRewards.stakeBooster\")}</Text>\n <Flex\n direction={\"row\"}\n gap={1}\n onClick={props.stakeNow}\n className=\"oui-cursor-pointer oui-text-primary-light\"\n >\n <Text size=\"sm\">{t(\"tradingRewards.stake\")}</Text>\n <JumpIcon />\n </Flex>\n </Flex>\n <Flex direction={\"row\"} gap={3} width={\"100%\"}>\n <Statics\n title={t(\"tradingRewards.avgStakedAmount\")}\n value={props.curEpochEstimate?.est_avg_stake}\n icon={\n <div className=\"oui-flex oui-w-[32px] oui-h-[20px] oui-relative\">\n <div className=\"oui-absolute oui-right-0 oui-top-0\">\n <EsOrderlyIcon />\n </div>\n <div className=\"oui-absolute oui-left-0 oui-top-0 \">\n <OrderlyIcon />\n </div>\n </div>\n }\n />\n <Statics\n title={t(\"tradingRewards.booster\")}\n value={props.booster}\n icon={<RocketIcon />}\n gradient\n />\n </Flex>\n </Flex>\n );\n};\n\nconst Statics: FC<{\n title: string;\n icon: ReactNode;\n value?: number | string;\n gradient?: boolean;\n}> = (props) => {\n const calcValue = commify(props.value || \"--\", 2);\n return (\n <Flex\n className=\"oui-flex-1 oui-bg-base-8 oui-py-[11px]\"\n direction={\"column\"}\n gap={2}\n r=\"xl\"\n gradient=\"neutral\"\n angle={180}\n border\n borderColor={6}\n >\n <Text className=\"oui-text-xs xl:oui-text-sm oui-text-base-contrast-54\">\n {props.title}\n </Text>\n <Flex direction={\"row\"} gap={1}>\n {props.icon}\n {props.gradient ? (\n <Text.gradient\n className=\"oui-text-sm xl:oui-text-base\"\n color=\"brand\"\n angle={90}\n >\n {calcValue + (calcValue === \"--\" ? \"\" : \"x\")}\n </Text.gradient>\n ) : (\n <Text className=\"oui-text-sm xl:oui-text-base\">\n {commifyOptional(props.value, { fix: 2 })}\n </Text>\n )}\n </Flex>\n </Flex>\n );\n};\n","export const RocketIcon = () => {\n return (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.439 10.5672C14.0868 10.9198 13.7025 11.2403 13.3183 11.5287C13.1902 11.6248 13.1261 11.721 13.0941 11.8812C12.7739 13.1952 12.1015 14.4451 11.0448 15.5027C10.5645 15.9835 10.0522 16.3681 9.47584 16.7206C8.99553 17.009 8.41917 16.5283 8.61129 15.9835C8.93149 15.1502 9.05957 14.2528 9.05957 13.3234C8.99553 13.3234 8.89947 13.3555 8.83543 13.3555C8.06695 12.7145 7.3625 12.0415 6.65805 11.3364C5.95361 10.6313 5.28118 9.89421 4.64078 9.15708C4.64078 9.09299 4.6728 8.99684 4.6728 8.93274C3.74421 8.93274 2.84764 9.09299 2.01512 9.38143C1.50279 9.57372 0.990469 8.99684 1.27865 8.51611C1.63087 7.93923 2.01512 7.42645 2.49542 6.94572C3.55209 5.88811 4.80088 5.21508 6.11371 4.89459C6.24179 4.86255 6.36987 4.7664 6.46593 4.67025C6.75412 4.25362 7.07432 3.90108 7.42654 3.54855C9.92412 1.04874 13.4143 0.183422 16.6484 0.920545C16.8725 0.984642 17.0326 1.14489 17.0967 1.36923C17.8011 4.57411 16.9366 8.06742 14.439 10.5672ZM13.0301 4.95869C12.2616 4.18952 10.9808 4.18952 10.2123 4.95869C9.44382 5.72786 9.44382 7.00982 10.2123 7.77899C10.9808 8.54816 12.2616 8.54816 13.0301 7.77899C13.8306 6.97777 13.8306 5.72786 13.0301 4.95869ZM5.88957 14.7656C5.28118 15.3745 1.53481 17.9385 0.798348 17.2013C0.0618817 16.4642 2.6235 12.7145 3.23189 12.1056C3.84027 11.4966 4.92896 11.5928 5.66543 12.3299C6.40189 13.067 6.49795 14.1567 5.88957 14.7656Z\"\n fill=\"url(#paint0_linear_88_1748)\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_88_1748\"\n x1=\"17.3331\"\n y1=\"8.99996\"\n x2=\"0.666504\"\n y2=\"8.99996\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop offset=\"1\" stopColor=\"rgb(var(--oui-gradient-brand-start))\" />\n </linearGradient>\n </defs>\n </svg>\n );\n};\n","import { useStakeBoosterScript } from \"./stakeBooster.script\";\nimport { StakeBooster } from \"./stakeBooster.ui\";\n\nexport const StakeBoosterWidget = () => {\n const state = useStakeBoosterScript();\n return <StakeBooster {...state} />\n};","import { FC } from \"react\";\nimport {\n Box,\n Divider,\n Flex,\n ListView,\n Text,\n DataTable,\n Column,\n} from \"@orderly.network/ui\";\nimport { EsOrderlyIcon } from \"../components/esOrderlyIcon\";\nimport { OrderlyIcon } from \"../components/orderlyIcon\";\nimport { ListType, RewardsHistoryReturns } from \"./rewardsHistory.script\";\nimport { useMediaQuery } from \"@orderly.network/hooks\";\nimport { commifyOptional } from \"@orderly.network/utils\";\nimport { AuthGuardEmpty } from \"@orderly.network/ui-connector\";\nimport { AccountStatusEnum } from \"@orderly.network/types\";\nimport { RewardsTooltip } from \"../curEpoch/rewardsTooltip\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport const RewardHistory: FC<RewardsHistoryReturns> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Flex\n id=\"oui-tradingRewards-home-rewardHistory\"\n py={4}\n px={3}\n direction={\"column\"}\n gap={2}\n itemAlign={\"start\"}\n r=\"2xl\"\n className=\"oui-bg-base-9 oui-w-full oui-font-semibold oui-tabular-nums\"\n >\n <Text className=\"oui-text-lg oui-px-3\">\n {t(\"tradingRewards.rewardHistory\")}\n </Text>\n <div className=\"oui-border-t-2 oui-border-line-4 oui-w-full\">\n <List {...props} />\n </div>\n </Flex>\n );\n};\n\nconst List: FC<RewardsHistoryReturns> = (props) => {\n const isMobile = useMediaQuery(\"(max-width: 767px)\");\n\n return isMobile ? (\n <ListView\n dataSource={props.originalData}\n renderItem={(item, index) => {\n return <MobileCell data={item} />;\n }}\n className=\"oui-mt-3 oui-max-h-[356px]\"\n />\n ) : (\n <Box px={3}>\n <DesktopList {...props} />\n </Box>\n );\n};\n\nconst MobileCell: FC<{\n data: ListType;\n}> = (props) => {\n const { data } = props;\n const { t } = useTranslation();\n\n console.log(data.rewardsTooltip);\n const isOrder =\n `${data?.info?.epoch_token || data.epoch_token}`.toLowerCase() === \"order\";\n const r_warret = commifyOptional(data.info?.r_wallet, { fix: 2 });\n\n return (\n <Flex\n key={data.epoch_id}\n direction={\"column\"}\n px={4}\n pt={0}\n gap={3}\n className=\"oui-text-base-contrast-80\"\n >\n <Flex direction={\"row\"} width={\"100%\"}>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.epoch\")}\n </Text>\n <Text className=\"oui-text-sm\">{`Epoch ${data.epoch_id}`}</Text>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.epochRewards\")}{\" \"}\n </Text>\n <Flex gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n <Text className=\"oui-text-sm\">\n {commifyOptional(data.max_reward_amount, { fix: 2 })}\n </Text>\n </Flex>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"end\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardsEarned\")}{\" \"}\n </Text>\n <Flex gap={1}>\n {r_warret !== \"--\" &&\n (isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />)}\n {!!data.rewardsTooltip ? (\n <RewardsTooltip\n rewardsTooltip={data.rewardsTooltip}\n children={\n <Text className=\"oui-text-sm oui-underline oui-decoration-dashed oui-cursor-pointer oui-underline-offset-4 oui-decoration-line-16\">\n {r_warret}\n </Text>\n }\n align=\"center\"\n className=\"oui-bg-base-5\"\n arrowClassName=\"oui-fill-base-5\"\n />\n ) : (\n <Text className=\"oui-text-sm\">{r_warret}</Text>\n )}\n </Flex>\n </Flex>\n </Flex>\n <Flex direction={\"row\"} width={\"100%\"}>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"start\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardHistory.column.startDate\")}\n </Text>\n <Flex direction={\"row\"}>\n <Text className=\"oui-text-sm\">\n {formatTimestamp(data.start_time).firstPart} \n </Text>\n <Text className=\"oui-text-2xs oui-text-base-contrast-36\">\n {formatTimestamp(data.start_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[6px] oui-flex-1\"\n itemAlign={\"end\"}\n >\n <Text className=\"oui-text-base-contrast-36 oui-text-2xs\">\n {t(\"tradingRewards.rewardHistory.column.endDate\")}\n </Text>\n <Flex direction={\"row\"}>\n <Text className=\"oui-text-sm\">\n {formatTimestamp(data.end_time).firstPart} \n </Text>\n <Text className=\"oui-text-2xs oui-text-base-contrast-36\">\n {formatTimestamp(data.end_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n <Divider className=\"oui-w-full\" />\n </Flex>\n );\n};\n\nconst DesktopList: FC<RewardsHistoryReturns> = (props) => {\n const { data } = props;\n const { t } = useTranslation();\n\n const columns: Column<ListType>[] = [\n {\n title: t(\"tradingRewards.epoch\"),\n dataIndex: \"epoch_id\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value) => {\n return <Text>{`${t(\"tradingRewards.epoch\")} ${value}`}</Text>;\n },\n },\n {\n title: t(\"tradingRewards.rewardHistory.column.start&EndDate\"),\n dataIndex: \"time\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n return (\n <Flex\n direction={\"column\"}\n className=\"oui-gap-[2px]\"\n justify={\"start\"}\n itemAlign={\"start\"}\n >\n <Flex direction={\"row\"} gap={1}>\n <Text>{formatTimestamp(record.start_time).firstPart}</Text>\n <Text className=\"oui-text-base-contrast-54\">\n {formatTimestamp(record.start_time).secondPart}\n </Text>\n </Flex>\n <Flex direction={\"row\"} gap={1}>\n <Text>{formatTimestamp(record.end_time).firstPart}</Text>\n <Text className=\"oui-text-base-contrast-54\">\n {formatTimestamp(record.end_time).secondPart}\n </Text>\n </Flex>\n </Flex>\n );\n },\n },\n {\n title: t(\"tradingRewards.epochRewards\"),\n dataIndex: \"max_reward_amount\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n const isOrder =\n `${record?.info?.epoch_token || record.epoch_token}`.toLowerCase() ===\n \"order\";\n return (\n <Flex direction={\"row\"} gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n <Text>{commifyOptional(value)}</Text>\n </Flex>\n );\n },\n },\n {\n title: t(\"tradingRewards.rewardsEarned\"),\n dataIndex: \"earned\",\n className: \"oui-w-1/4 oui-pl-0 oui-pr-0\",\n render: (value, record) => {\n const isOrder =\n `${record?.info?.epoch_token || record.epoch_token}`.toLowerCase() ===\n \"order\";\n\n let children = (\n <Text\n className={\n record.rewardsTooltip\n ? \"oui-underline oui-decoration-dashed oui-cursor-pointer oui-underline-offset-4 oui-decoration-line-16\"\n : \"\"\n }\n >\n {commifyOptional(record.info?.r_wallet, { fix: 2 })}\n </Text>\n );\n\n if (record.rewardsTooltip) {\n children = (\n <RewardsTooltip\n rewardsTooltip={record.rewardsTooltip}\n children={children}\n align=\"center\"\n className=\"oui-bg-base-5\"\n arrowClassName=\"oui-fill-base-5\"\n />\n );\n }\n return (\n <Flex direction={\"row\"} gap={1}>\n {isOrder ? <OrderlyIcon /> : <EsOrderlyIcon />}\n {children}\n </Flex>\n );\n },\n },\n ];\n\n return (\n <DataTable\n bordered\n columns={columns}\n loading={props.isLoading}\n dataSource={data}\n emptyView={<AuthGuardEmpty status={AccountStatusEnum.SignedIn} />}\n onRow={(record) => {\n return {\n className: \"oui-h-[59px]\",\n };\n }}\n pagination={props.pagination}\n />\n );\n};\n\nfunction formatTimestamp(timestamp?: number) {\n if (typeof timestamp === \"undefined\")\n return {\n firstPart: \"-\",\n secondPart: \"\",\n };\n const date = new Date(timestamp);\n\n const monthNames = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ];\n const month = monthNames[date.getUTCMonth()];\n const day = date.getUTCDate().toString().padStart(2, \"0\");\n const year = date.getUTCFullYear();\n const hours = date.getUTCHours();\n const minutes = date.getUTCMinutes();\n const amPm = hours >= 12 ? \"PM\" : \"AM\";\n const formattedHours = (hours % 12).toString().padStart(2, \"0\");\n const formattedMinutes = minutes.toString().padStart(2, \"0\");\n\n // return `${month} ${day}, ${year}_${formattedHours}:${formattedMinutes} ${amPm}`;\n return {\n firstPart: `${month} ${day}, ${year}`,\n secondPart: `${formattedHours}:${formattedMinutes} ${amPm}`,\n };\n}\n","import { useMemo } from \"react\";\nimport { useTradingRewardsContext } from \"../provider\";\nimport {\n EpochInfoItem,\n useAccount,\n useAccountRewardsHistory,\n WalletRewardsItem,\n} from \"@orderly.network/hooks\";\nimport { usePagination } from \"@orderly.network/ui\";\nimport { useAppContext } from \"@orderly.network/react-app\";\nimport { RewardsTooltipProps } from \"../curEpoch/rewardsTooltip\";\nimport { getTimestamp } from \"@orderly.network/utils\";\n\nexport type ListType = EpochInfoItem & {\n info?: WalletRewardsItem;\n state?: string;\n rewardsTooltip?: RewardsTooltipProps;\n};\n\nexport type RewardsHistoryReturns = ReturnType<typeof useRewardsHistoryScript>;\n\nexport const useRewardsHistoryScript = () => {\n const { account } = useAccount();\n const {\n epochList,\n walletRewardsHistory,\n totalOrderClaimedReward,\n brokerId,\n brokerName,\n } = useTradingRewardsContext();\n const epochInfos = epochList?.[0];\n const { isNotStared } = epochList?.[1];\n const [history] = walletRewardsHistory;\n const { wrongNetwork, disabledConnect } = useAppContext();\n\n const { data: accountHistory } = useAccountRewardsHistory(account.address);\n\n const data = useMemo(() => {\n if (isNotStared || disabledConnect) return [];\n const list = [...(epochInfos || [])];\n\n const combineData = list.map((e): ListType => {\n const id = e.epoch_id;\n const index = history?.rows.findIndex((info) => id === info.epoch_id);\n\n let rewardsTooltip: RewardsTooltipProps | undefined = undefined;\n\n if (index !== -1 && !wrongNetwork) {\n const info = history?.rows?.[index as number];\n const _findIndex = accountHistory?.findIndex((item: any) => {\n return item?.epoch_id === e.epoch_id;\n });\n\n if (\n accountHistory !== undefined &&\n _findIndex !== undefined &&\n _findIndex !== -1\n ) {\n // get broker\n const brokerList = accountHistory[_findIndex].broker;\n const curBrokerIndex = brokerList.findIndex(\n (item) => item.broker_id === brokerId\n );\n const curBroker =\n curBrokerIndex !== -1 ? brokerList[curBrokerIndex] : undefined;\n const curRewards = curBroker?.r_account ?? 0;\n const otherRewards = Math.max(0, (info?.r_wallet ?? 0) - curRewards);\n rewardsTooltip = {\n brokerName,\n curRewards,\n otherRewards,\n };\n }\n return {\n ...e,\n info,\n rewardsTooltip,\n } as ListType;\n }\n return {\n ...e,\n } as ListType;\n });\n\n combineData.sort((a, b) => a.epoch_id - b.epoch_id); // asc\n let [claimedReward] = totalOrderClaimedReward;\n if (typeof claimedReward !== \"undefined\") {\n for (let i = 0; i < combineData.length; i++) {\n const element = combineData[i];\n if (typeof element?.info === \"undefined\") {\n element.state = \"Null\";\n continue;\n }\n const status = element.info?.reward_status;\n if (status === \"Confirmed\") {\n if (claimedReward - element.info?.r_wallet >= 0) {\n element.state = \"Claimed\";\n } else {\n element.state = \"Claimable\";\n }\n claimedReward -= element.info?.r_wallet;\n } else if (status === \"Pending\") {\n element.state = \"Processing\";\n }\n }\n }\n combineData.sort((a, b) => b.epoch_id - a.epoch_id);\n const curDate = getTimestamp();\n return combineData.filter((item) => item.end_time <= curDate);\n }, [\n history,\n epochInfos,\n totalOrderClaimedReward,\n isNotStared,\n wrongNetwork,\n accountHistory,\n disabledConnect,\n ]);\n\n const { pagination } = usePagination();\n\n return {\n data,\n originalData: data,\n pagination,\n isLoading: epochList[1].isLoading,\n };\n};\n","import { useRewardsHistoryScript } from \"./rewardsHistory.script\";\nimport { RewardHistory } from \"./rewardsHistory.ui\";\n\nexport const RewardsHistoryWidget = () => {\n const state = useRewardsHistoryScript();\n return <RewardHistory {...state} />;\n};\n","import { Flex, Box, cn } from \"@orderly.network/ui\";\nimport { TitleWidget } from \"./title/title.widget\";\nimport { CurEpochWidget } from \"./curEpoch\";\nimport { AvailableToClaimWidget } from \"./availableToClaim\";\nimport { StakeBoosterWidget } from \"./stakeBooster\";\nimport { RewardsHistoryWidget } from \"./rewardHistory\";\nimport { TradingRewardsProvider } from \"./provider\";\nimport { FC } from \"react\";\nimport { TitleConfig } from \"./title/title.script\";\n\nexport const HomePage: FC<{\n titleConfig?: TitleConfig;\n className?: string;\n}> = (props) => {\n return (\n <TradingRewardsProvider titleConfig={props.titleConfig}>\n <Flex\n id=\"oui-tradingRewards-home-page\"\n className={cn(\"oui-h-lvw oui-w-full\", props.className)}\n direction={\"column\"}\n gap={4}\n >\n <TitleWidget />\n <Flex className=\"oui-flex oui-flex-col 2xl:oui-flex-row 2xl:oui-items-stretch oui-gap-4 oui-w-full oui-h-full\">\n <Box className=\"2xl:oui-flex-1 2xl:oui-h-auto oui-w-full 2xl:oui-w-auto\">\n <CurEpochWidget />\n </Box>\n <Flex className=\"2xl:oui-flex-1 oui-flex oui-flex-col lg:oui-flex-row oui-gap-4 2xl:oui-flex-col oui-w-full\">\n <AvailableToClaimWidget />\n <StakeBoosterWidget />\n </Flex>\n </Flex>\n <RewardsHistoryWidget />\n </Flex>\n </TradingRewardsProvider>\n );\n};\n","import { useEffect, useMemo, useState } from \"react\";\nimport { useMediaQuery } from \"@orderly.network/hooks\";\nimport type { SideBarProps } from \"@orderly.network/ui-scaffold\";\nimport { useTranslation } from \"@orderly.network/i18n\";\n\nexport enum TradingRewardsLeftSidebarPath {\n Trading = \"/rewards/trading\",\n Affiliate = \"/rewards/affiliate\",\n}\n\nexport const useTradingRewardsLayoutScript = (props: {\n current?: string;\n}): SideBarProps & {\n hideSideBar: boolean;\n} => {\n const { t } = useTranslation();\n const [current, setCurrent] = useState(props.current || \"/rewards/affiliate\");\n\n useEffect(() => {\n if (props.current) setCurrent(props.current);\n }, [props.current]);\n\n const items = useMemo(() => {\n return [\n {\n name: t(\"common.trading\"),\n href: TradingRewardsLeftSidebarPath.Trading,\n icon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4.883 1.5c-.166.01-.393.076-.515.173a2 2 0 0 0-.18.173L.918 6.553a.86.86 0 0 0-.168.475c0 .339.232.543.232.543l7.374 8.633c.005.006.269.301.644.296s.64-.29.644-.296l7.402-8.663s.204-.269.204-.513-.196-.517-.196-.517L13.82 1.848c-.023-.032-.076-.021-.103-.049-.033-.038-.037-.091-.077-.124-.123-.097-.267-.106-.413-.123-.04-.005-.063-.049-.103-.049h-.078zm1.745 1.582h4.744L9 5.795zm-1.675.542 2.294 2.615H3.122zm8.094 0 1.831 2.615h-4.125zM3.328 7.818h4.847v5.672zm6.497 0h4.847c-1.151 1.345-3.422 4.007-4.847 5.672z\"\n // fill=\"url(#a)\"\n className=\"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]\"\n />\n <defs>\n <linearGradient\n id=\"a\"\n x1=\"17.25\"\n y1=\"9\"\n x2=\".75\"\n y2=\"9\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"rgb(var(--oui-gradient-brand-end))\" />\n <stop\n offset=\"1\"\n stopColor=\"rgb(var(--oui-gradient-brand-start))\"\n />\n </linearGradient>\n </defs>\n </svg>\n ),\n },\n {\n name: t(\"common.affiliate\"),\n href: TradingRewardsLeftSidebarPath.Affiliate,\n icon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.625 4.95c0-.746.604-1.35 1.35-1.35h4.05c.746 0 1.35.604 1.35 1.35v4.62L9 12.195 5.625 9.57zm8.624 3.163-.524.407v-.96l.074.05c.193.128.346.302.45.502m-4.42 5.148L14.4 9.705v3.345a1.35 1.35 0 0 1-1.35 1.35h-8.1a1.35 1.35 0 0 1-1.35-1.35V9.705l4.571 3.556c.488.379 1.17.379 1.658 0M4.275 8.52l-.524-.407c.104-.2.257-.374.45-.503l.074-.049zm0-2.581V4.95a2.7 2.7 0 0 1 2.7-2.7h4.05a2.7 2.7 0 0 1 2.7 2.7v.989l.823.548a2.7 2.7 0 0 1 1.202 2.247v4.316a2.7 2.7 0 0 1-2.7 2.7h-8.1a2.7 2.7 0 0 1-2.7-2.7V8.734a2.7 2.7 0 0 1 1.202-2.247zM9 6.089l.111-.118.005-.005a1.08 1.08 0 0 1 1.58.004 1.223 1.223 0 0 1 0 1.668l-1.515 1.62-.004.004c-.1.102-.26.1-.358-.004l-1.516-1.62a1.223 1.223 0 0 1 0-1.668l.004-.004a1.08 1.08 0 0 1 1.58.004z\"\n className=\"oui-fill-current group-data-[actived=true]:oui-fill-[url(#side-menu-gradient)]\"\n />\n </svg>\n ),\n },\n ];\n }, [t]);\n\n const hideSideBar = useMediaQuery(\"(max-width: 768px)\");\n\n return {\n items,\n current,\n hideSideBar,\n // open: sideOpen,\n // onOpenChange(open) {\n // setSideOpen(open);\n // },\n onItemSelect: (item) => {\n // @ts-ignore\n setCurrent(item.href);\n },\n };\n};\n","import { PropsWithChildren } from \"react\";\nimport { useTranslation } from \"@orderly.network/i18n\";\nimport { cn } from \"@orderly.network/ui\";\nimport {\n RouterAdapter,\n Scaffold,\n SideBar,\n SideBarProps,\n useScaffoldContext,\n} from \"@orderly.network/ui-scaffold\";\nimport { ScaffoldProps } from \"@orderly.network/ui-scaffold\";\n\nexport type TradingRewardsLayoutProps = ScaffoldProps & {\n hideSideBar?: boolean;\n items?: SideBarProps[\"items\"];\n};\n\nexport const TradingRewardsLayout = (\n props: PropsWithChildren<TradingRewardsLayoutProps>,\n) => {\n const { children, leftSideProps, classNames, ...rest } = props;\n\n return (\n <Scaffold\n leftSidebar={\n props.hideSideBar ? null : (\n <LeftSidebar\n current={props.routerAdapter?.currentPath}\n routerAdapter={props.routerAdapter}\n items={props.items}\n {...leftSideProps}\n />\n )\n }\n routerAdapter={props.routerAdapter}\n classNames={{\n ...classNames,\n content: classNames?.content,\n topNavbar: cn(\"oui-bg-base-9\", classNames?.topNavbar),\n leftSidebar: cn(\n \"oui-rounded-xl oui-bg-base-9\",\n \"oui-m-3 oui-p-4\",\n \"oui-border oui-border-line\",\n classNames?.leftSidebar,\n ),\n }}\n {...rest}\n >\n {children}\n </Scaffold>\n );\n};\n\ntype LeftSidebarProps = SideBarProps & {\n routerAdapter?: RouterAdapter;\n};\n\nconst LeftSidebar = (props: LeftSidebarProps) => {\n const { t } = useTranslation();\n const { expanded, setExpand } = useScaffoldContext();\n\n return (\n <SideBar\n title={t(\"tradingRewards.rewards\")}\n {...props}\n open={expanded}\n onOpenChange={(open) => setExpand(open)}\n onItemSelect={(a) => {\n props.onItemSelect?.(a);\n props.routerAdapter?.onRouteChange?.({\n href: a.href || \"\",\n name: a.name,\n });\n }}\n />\n );\n};\n","import { FC, PropsWithChildren } from \"react\";\nimport { ScaffoldProps } from \"@orderly.network/ui-scaffold\";\nimport { useTradingRewardsLayoutScript } from \"./layout.script\";\nimport { TradingRewardsLayout } from \"./layout.ui\";\n\nexport const TradingRewardsLayoutWidget: FC<\n PropsWithChildren<ScaffoldProps>\n> = (props) => {\n const state = useTradingRewardsLayoutScript({\n current: props.leftSideProps?.current,\n });\n return (\n <TradingRewardsLayout {...state} {...props}>\n {props.children}\n </TradingRewardsLayout>\n );\n};\n"]}
|
package/dist/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.oui-absolute{position:absolute}.oui-relative{position:relative}.oui-left-0{left:0}.oui-right-0{right:0}.oui-top-0{top:0}.oui-m-3{margin:.75rem}.oui-mb-\[3px\]{margin-bottom:3px}.oui-mt-3{margin-top:.75rem}.oui-flex{display:flex}.oui-h-5{height:1.25rem}.oui-h-\[20px\]{height:20px}.oui-h-\[59px\]{height:59px}.oui-h-full{height:100%}.oui-max-h-\[356px\]{max-height:356px}.oui-w-1\/4{width:25%}.oui-w-5{width:1.25rem}.oui-w-\[32px\]{width:32px}.oui-w-full{width:100%}.oui-min-w-\[204px\]{min-width:204px}.oui-flex-1{flex:1 1 0%}.oui-cursor-pointer{cursor:pointer}.oui-flex-col{flex-direction:column}.oui-items-center{align-items:center}.oui-gap-1{gap:.25rem}.oui-gap-4{gap:1rem}.oui-gap-\[2px\]{gap:2px}.oui-gap-\[6px\]{gap:6px}.oui-rounded-xl{border-radius:var(--oui-rounded-xl,.75rem)}.oui-rounded-t-2xl{border-top-left-radius:var(--oui-rounded-2xl,1rem);border-top-right-radius:var(--oui-rounded-2xl,1rem)}.oui-border{border-width:1px}.oui-border-t-2{border-top-width:2px}.oui-border-line{border-color:rgb(var(--oui-color-line,255 255 255)/.08)}.oui-border-line-4{border-color:rgb(var(--oui-color-line,255 255 255)/.04)}.oui-bg-base-5{--tw-bg-opacity:1;background-color:rgb(var(--oui-color-base-5)/var(--tw-bg-opacity))}.oui-bg-base-8{--tw-bg-opacity:1;background-color:rgb(var(--oui-color-base-8)/var(--tw-bg-opacity))}.oui-bg-base-9{--tw-bg-opacity:1;background-color:rgb(var(--oui-color-base-9)/var(--tw-bg-opacity))}.oui-fill-base-5{fill:rgb(var(--oui-color-base-5)/1)}.oui-fill-current{fill:currentColor}.oui-p-4{padding:1rem}.oui-px-3{padding-left:.75rem;padding-right:.75rem}.oui-py-\[11px\]{padding-bottom:11px;padding-top:11px}.oui-py-\[13px\]{padding-bottom:13px;padding-top:13px}.oui-pl-0{padding-left:0}.oui-pr-0{padding-right:0}.oui-text-2xs{font-size:var(--oui-font-size-2xs,.75rem);line-height:1.125rem}.oui-text-base{font-size:var(--oui-font-size-base,1rem);line-height:1.5rem}.oui-text-lg{font-size:var(--oui-font-size-lg,1.125rem);line-height:1.625rem}.oui-text-sm{font-size:var(--oui-font-size-sm,.875rem);line-height:1.25rem}.oui-text-xl{font-size:var(--oui-font-size-xl,1.25rem);line-height:1.75rem}.oui-text-xs{font-size:var(--oui-font-size-xs,calc(.875rem - 1px));line-height:1.25rem}.oui-font-normal{font-weight:400}.oui-font-semibold{font-weight:600}.oui-tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.oui-leading-\[1\.5\]{line-height:1.5}.oui-leading-\[20px\]{line-height:20px}.oui-text-base-contrast{color:rgb(var(--oui-color-base-foreground)/.98)}.oui-text-base-contrast-36{color:rgb(var(--oui-color-base-foreground)/.36)}.oui-text-base-contrast-54{color:rgb(var(--oui-color-base-foreground)/.54)}.oui-text-base-contrast-80{color:rgb(var(--oui-color-base-foreground)/.8)}.oui-text-primary-light{--tw-text-opacity:1;color:rgb(var(--oui-color-primary-light)/var(--tw-text-opacity))}.oui-underline{text-decoration-line:underline}.oui-decoration-line-16{text-decoration-color:rgb(var(--oui-color-line,255 255 255)/.16)}.oui-decoration-dashed{text-decoration-style:dashed}.oui-underline-offset-4{text-underline-offset:4px}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.hover\:oui-text-primary-darken:hover{--tw-text-opacity:1;color:rgb(var(--oui-color-primary-darken)/var(--tw-text-opacity))}.oui-group[data-actived=true] .group-data-\[actived\=true\]\:oui-fill-\[url\(\#side-menu-gradient\)\]{fill:url(#side-menu-gradient)}@media (min-width:480px){.md\:oui-h-6{height:1.5rem}.md\:oui-w-6{width:1.5rem}.md\:oui-text-2xl{font-size:var(--oui-font-size-2xl,1.5rem);line-height:2rem}.md\:oui-text-base{font-size:var(--oui-font-size-base,1rem);line-height:1.5rem}.md\:oui-text-lg{font-size:var(--oui-font-size-lg,1.125rem);line-height:1.625rem}.md\:oui-text-sm{font-size:var(--oui-font-size-sm,.875rem)}.md\:oui-text-sm,.md\:oui-text-xs{line-height:1.25rem}.md\:oui-text-xs{font-size:var(--oui-font-size-xs,calc(.875rem - 1px))}}@media (min-width:768px){.lg\:oui-h-7{height:1.75rem}.lg\:oui-w-7{width:1.75rem}.lg\:oui-flex-row{flex-direction:row}.lg\:oui-text-lg{font-size:var(--oui-font-size-lg,1.125rem);line-height:1.625rem}.lg\:oui-text-sm{font-size:var(--oui-font-size-sm,.875rem);line-height:1.25rem}.lg\:oui-text-xl{font-size:var(--oui-font-size-xl,1.25rem);line-height:1.75rem}}@media (min-width:1024px){.xl\:oui-h-8{height:2rem}.xl\:oui-w-8{width:2rem}.xl\:oui-text-2xl{font-size:var(--oui-font-size-2xl,1.5rem);line-height:2rem}.xl\:oui-text-\[32px\]{font-size:32px}.xl\:oui-text-base{font-size:var(--oui-font-size-base,1rem);line-height:1.5rem}.xl\:oui-text-lg{font-size:var(--oui-font-size-lg,1.125rem);line-height:1.625rem}.xl\:oui-text-sm{font-size:var(--oui-font-size-sm,.875rem);line-height:1.25rem}.xl\:oui-leading-\[24px\]{line-height:24px}}@media (min-width:1280px){.\32xl\:oui-h-auto{height:auto}.\32xl\:oui-w-auto{width:auto}.\32xl\:oui-flex-1{flex:1 1 0%}.\32xl\:oui-flex-row{flex-direction:row}.\32xl\:oui-flex-col{flex-direction:column}.\32xl\:oui-items-stretch{align-items:stretch}}
|
|
1
|
+
.oui-absolute{position:absolute}.oui-relative{position:relative}.oui-left-0{left:0}.oui-right-0{right:0}.oui-top-0{top:0}.oui-m-3{margin:.75rem}.oui-mb-\[3px\]{margin-bottom:3px}.oui-mt-3{margin-top:.75rem}.oui-flex{display:flex}.oui-h-5{height:1.25rem}.oui-h-\[20px\]{height:20px}.oui-h-\[59px\]{height:59px}.oui-h-full{height:100%}.oui-max-h-\[356px\]{max-height:356px}.oui-w-1\/4{width:25%}.oui-w-5{width:1.25rem}.oui-w-\[32px\]{width:32px}.oui-w-full{width:100%}.oui-min-w-\[204px\]{min-width:204px}.oui-flex-1{flex:1 1 0%}.oui-cursor-pointer{cursor:pointer}.oui-flex-col{flex-direction:column}.oui-items-center{align-items:center}.oui-gap-1{gap:.25rem}.oui-gap-4{gap:1rem}.oui-gap-\[2px\]{gap:2px}.oui-gap-\[6px\]{gap:6px}.oui-rounded-xl{border-radius:var(--oui-rounded-xl,.75rem)}.oui-rounded-t-2xl{border-top-left-radius:var(--oui-rounded-2xl,1rem);border-top-right-radius:var(--oui-rounded-2xl,1rem)}.oui-border{border-width:1px}.oui-border-t-2{border-top-width:2px}.oui-border-line{border-color:rgb(var(--oui-color-line,255 255 255)/.08)}.oui-border-line-4{border-color:rgb(var(--oui-color-line,255 255 255)/.04)}.oui-bg-base-5{--tw-bg-opacity:1;background-color:rgb(var(--oui-color-base-5)/var(--tw-bg-opacity,1))}.oui-bg-base-8{--tw-bg-opacity:1;background-color:rgb(var(--oui-color-base-8)/var(--tw-bg-opacity,1))}.oui-bg-base-9{--tw-bg-opacity:1;background-color:rgb(var(--oui-color-base-9)/var(--tw-bg-opacity,1))}.oui-fill-base-5{fill:rgb(var(--oui-color-base-5)/1)}.oui-fill-current{fill:currentColor}.oui-p-4{padding:1rem}.oui-px-3{padding-left:.75rem;padding-right:.75rem}.oui-py-\[11px\]{padding-bottom:11px;padding-top:11px}.oui-py-\[13px\]{padding-bottom:13px;padding-top:13px}.oui-pl-0{padding-left:0}.oui-pr-0{padding-right:0}.oui-text-2xs{font-size:var(--oui-font-size-2xs,.75rem);line-height:1.125rem}.oui-text-base{font-size:var(--oui-font-size-base,1rem);line-height:1.5rem}.oui-text-lg{font-size:var(--oui-font-size-lg,1.125rem);line-height:1.625rem}.oui-text-sm{font-size:var(--oui-font-size-sm,.875rem);line-height:1.25rem}.oui-text-xl{font-size:var(--oui-font-size-xl,1.25rem);line-height:1.75rem}.oui-text-xs{font-size:var(--oui-font-size-xs,calc(.875rem - 1px));line-height:1.25rem}.oui-font-normal{font-weight:400}.oui-font-semibold{font-weight:600}.oui-tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.oui-leading-\[1\.5\]{line-height:1.5}.oui-leading-\[20px\]{line-height:20px}.oui-text-base-contrast{color:rgb(var(--oui-color-base-foreground)/.98)}.oui-text-base-contrast-36{color:rgb(var(--oui-color-base-foreground)/.36)}.oui-text-base-contrast-54{color:rgb(var(--oui-color-base-foreground)/.54)}.oui-text-base-contrast-80{color:rgb(var(--oui-color-base-foreground)/.8)}.oui-text-primary-light{--tw-text-opacity:1;color:rgb(var(--oui-color-primary-light)/var(--tw-text-opacity,1))}.oui-underline{text-decoration-line:underline}.oui-decoration-line-16{text-decoration-color:rgb(var(--oui-color-line,255 255 255)/.16)}.oui-decoration-dashed{text-decoration-style:dashed}.oui-underline-offset-4{text-underline-offset:4px}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.hover\:oui-text-primary-darken:hover{--tw-text-opacity:1;color:rgb(var(--oui-color-primary-darken)/var(--tw-text-opacity,1))}.oui-group[data-actived=true] .group-data-\[actived\=true\]\:oui-fill-\[url\(\#side-menu-gradient\)\]{fill:url(#side-menu-gradient)}@media (min-width:480px){.md\:oui-h-6{height:1.5rem}.md\:oui-w-6{width:1.5rem}.md\:oui-text-2xl{font-size:var(--oui-font-size-2xl,1.5rem);line-height:2rem}.md\:oui-text-base{font-size:var(--oui-font-size-base,1rem);line-height:1.5rem}.md\:oui-text-lg{font-size:var(--oui-font-size-lg,1.125rem);line-height:1.625rem}.md\:oui-text-sm{font-size:var(--oui-font-size-sm,.875rem)}.md\:oui-text-sm,.md\:oui-text-xs{line-height:1.25rem}.md\:oui-text-xs{font-size:var(--oui-font-size-xs,calc(.875rem - 1px))}}@media (min-width:768px){.lg\:oui-h-7{height:1.75rem}.lg\:oui-w-7{width:1.75rem}.lg\:oui-flex-row{flex-direction:row}.lg\:oui-text-lg{font-size:var(--oui-font-size-lg,1.125rem);line-height:1.625rem}.lg\:oui-text-sm{font-size:var(--oui-font-size-sm,.875rem);line-height:1.25rem}.lg\:oui-text-xl{font-size:var(--oui-font-size-xl,1.25rem);line-height:1.75rem}}@media (min-width:1024px){.xl\:oui-h-8{height:2rem}.xl\:oui-w-8{width:2rem}.xl\:oui-text-2xl{font-size:var(--oui-font-size-2xl,1.5rem);line-height:2rem}.xl\:oui-text-\[32px\]{font-size:32px}.xl\:oui-text-base{font-size:var(--oui-font-size-base,1rem);line-height:1.5rem}.xl\:oui-text-lg{font-size:var(--oui-font-size-lg,1.125rem);line-height:1.625rem}.xl\:oui-text-sm{font-size:var(--oui-font-size-sm,.875rem);line-height:1.25rem}.xl\:oui-leading-\[24px\]{line-height:24px}}@media (min-width:1280px){.\32xl\:oui-h-auto{height:auto}.\32xl\:oui-w-auto{width:auto}.\32xl\:oui-flex-1{flex:1 1 0%}.\32xl\:oui-flex-row{flex-direction:row}.\32xl\:oui-flex-col{flex-direction:column}.\32xl\:oui-items-stretch{align-items:stretch}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orderly.network/trading-rewards",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"date-fns": "^3.6.0",
|
|
17
|
-
"@orderly.network/i18n": "2.
|
|
18
|
-
"@orderly.network/hooks": "2.
|
|
19
|
-
"@orderly.network/
|
|
20
|
-
"@orderly.network/ui
|
|
21
|
-
"@orderly.network/
|
|
22
|
-
"@orderly.network/
|
|
23
|
-
"@orderly.network/
|
|
24
|
-
"@orderly.network/
|
|
17
|
+
"@orderly.network/i18n": "2.2.0",
|
|
18
|
+
"@orderly.network/hooks": "2.2.0",
|
|
19
|
+
"@orderly.network/types": "2.2.0",
|
|
20
|
+
"@orderly.network/ui": "2.2.0",
|
|
21
|
+
"@orderly.network/utils": "2.2.0",
|
|
22
|
+
"@orderly.network/ui-scaffold": "2.2.0",
|
|
23
|
+
"@orderly.network/react-app": "2.2.0",
|
|
24
|
+
"@orderly.network/ui-connector": "2.2.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/react": "^18.3.2",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"tailwindcss": "^3.4.4",
|
|
32
32
|
"tsup": "^7.1.0",
|
|
33
33
|
"typescript": "^5.1.6",
|
|
34
|
-
"tsconfig": "0.
|
|
34
|
+
"tsconfig": "0.5.0"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
37
|
"react": ">=18",
|