@orderly.network/hooks 1.5.10 → 1.5.11
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/esm/orderly/useMarkets.d.ts.map +1 -1
- package/esm/orderly/useMarkets.js +36 -8
- package/esm/orderly/useMarkets.js.map +1 -1
- package/esm/referral/useDaily.d.ts.map +1 -1
- package/esm/referral/useDaily.js +2 -1
- package/esm/referral/useDaily.js.map +1 -1
- package/esm/services/painter/dataPaint.d.ts.map +1 -1
- package/esm/services/painter/dataPaint.js +7 -5
- package/esm/services/painter/dataPaint.js.map +1 -1
- package/esm/version.d.ts +1 -1
- package/esm/version.js +2 -2
- package/esm/version.js.map +1 -1
- package/lib/orderly/useMarkets.d.ts.map +1 -1
- package/lib/orderly/useMarkets.js +36 -8
- package/lib/orderly/useMarkets.js.map +1 -1
- package/lib/referral/useDaily.d.ts.map +1 -1
- package/lib/referral/useDaily.js +2 -1
- package/lib/referral/useDaily.js.map +1 -1
- package/lib/services/painter/dataPaint.d.ts.map +1 -1
- package/lib/services/painter/dataPaint.js +7 -5
- package/lib/services/painter/dataPaint.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +2 -2
- package/lib/version.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMarkets.d.ts","sourceRoot":"","sources":["../../src/orderly/useMarkets.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAI7C,oBAAY,WAAW;IACnB,SAAS,IAAA;IACT,MAAM,IAAA;IACN,GAAG,IAAA;CACN;AAuBD,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,UAAU,SAAU,WAAW;;;;cARlC,MAAM;;;
|
|
1
|
+
{"version":3,"file":"useMarkets.d.ts","sourceRoot":"","sources":["../../src/orderly/useMarkets.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAI7C,oBAAY,WAAW;IACnB,SAAS,IAAA;IACT,MAAM,IAAA;IACN,GAAG,IAAA;CACN;AAuBD,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,UAAU,SAAU,WAAW;;;;cARlC,MAAM;;;oCA6PkB,IAAI,aAAa;uCAhKd,WAAW,GAAG,WAAW,EAAE,aAAa;QACrE,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;KACpB;iDAgK0C,IAAI,aAAa,OAAO,WAAW,GAAG,WAAW,EAAE,QAAO,OAAO;gCAMlF,IAAI,aAAa;;8CAyBH,WAAW;EAsBtD,CAAA"}
|
|
@@ -96,6 +96,22 @@ export const useMarkets = (type)=>{
|
|
|
96
96
|
const [favoriteTabs, setFavoriteTabs] = useState(getFavoriteTabs);
|
|
97
97
|
const [favorites, setFavorites] = useState(getFavorites);
|
|
98
98
|
const [recent, setRecent] = useState(getRecent);
|
|
99
|
+
const getLastSelFavTab = ()=>{
|
|
100
|
+
// @ts-ignore
|
|
101
|
+
const curData = configStore.get(marketsKey)["lastSelectedFavoriteTab"];
|
|
102
|
+
return curData || {
|
|
103
|
+
name: "Popular",
|
|
104
|
+
id: 1
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
const saveInfo = (opions)=>{
|
|
108
|
+
configStore.set(marketsKey, {
|
|
109
|
+
recent: opions?.newRecent ?? recent,
|
|
110
|
+
favorites: opions?.newFavorites ?? favorites,
|
|
111
|
+
favoriteTabs: opions?.newFavoriteTabs ?? favoriteTabs,
|
|
112
|
+
lastSelectFavoriteTab: getLastSelFavTab()
|
|
113
|
+
});
|
|
114
|
+
};
|
|
99
115
|
const updateFavoriteTabs = (tab, operator)=>{
|
|
100
116
|
const saveTabs = (tabs)=>{
|
|
101
117
|
setFavoriteTabs(tabs);
|
|
@@ -239,6 +255,26 @@ export const useMarkets = (type)=>{
|
|
|
239
255
|
};
|
|
240
256
|
}
|
|
241
257
|
}
|
|
258
|
+
if (type === 1) {
|
|
259
|
+
const newRecent = filter?.map((e)=>({
|
|
260
|
+
name: e.symbol
|
|
261
|
+
})) ?? [];
|
|
262
|
+
if (newRecent.length !== recent.length) {
|
|
263
|
+
setRecent(newRecent);
|
|
264
|
+
saveInfo({
|
|
265
|
+
newRecent
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
} else if (type === 0) {
|
|
269
|
+
const symbols = data?.map((e)=>e.symbol);
|
|
270
|
+
const newFavorites = favorites.filter((e)=>symbols?.includes(e.name));
|
|
271
|
+
if (newFavorites.length != favorites.length) {
|
|
272
|
+
setFavorites(newFavorites);
|
|
273
|
+
saveInfo({
|
|
274
|
+
newFavorites
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
}
|
|
242
278
|
return filter;
|
|
243
279
|
};
|
|
244
280
|
const addToHistory = (symbol)=>{
|
|
@@ -269,14 +305,6 @@ export const useMarkets = (type)=>{
|
|
|
269
305
|
}, [
|
|
270
306
|
favoriteTabs
|
|
271
307
|
]);
|
|
272
|
-
const getLastSelFavTab = ()=>{
|
|
273
|
-
// @ts-ignore
|
|
274
|
-
const curData = configStore.get(marketsKey)["lastSelectedFavoriteTab"];
|
|
275
|
-
return curData || {
|
|
276
|
-
name: "Popular",
|
|
277
|
-
id: 1
|
|
278
|
-
};
|
|
279
|
-
};
|
|
280
308
|
const updateSelectedFavoriteTab = (tab)=>{
|
|
281
309
|
configStore.set(marketsKey, {
|
|
282
310
|
...configStore.getOr(marketsKey, {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/orderly/useMarkets.ts"],"sourcesContent":["import { useCallback, useContext, useMemo, useState } from \"react\";\nimport { useMarketsStream } from \"./useMarketsStream\";\nimport { OrderlyContext } from \"../orderlyContext\";\nimport { API } from \"@orderly.network/types\";\nimport { useQuery } from \"../useQuery\";\nimport { useSymbolsInfo } from \"./useSymbolsInfo\";\n\nexport enum MarketsType {\n FAVORITES,\n RECENT,\n ALL,\n}\n\n\n/*\n{\n markets: {\n recent: [\n { \"name\": `${symbol.name}` },\n { \"name\": `${symbol.name}` },\n ],\n favorites: [\n { \"name\": `${symbol.name}`, \"tabs\": [{ \"name\": \"Popular\", \"id\": 1 }] },\n ],\n favoriteTabs: [\n { \"name\": \"Popular\", \"id\": 1 },\n ],\n \"lastSelectFavoriteTab\": { \"name\": \"Popular\", \"id\": 1 }\n \n }\n}\n*/\n\n\nexport interface FavoriteTab {\n name: string;\n id: number;\n}\n\nexport interface Favorite {\n name: string;\n tabs: FavoriteTab[];\n}\n\nexport interface Recent {\n name: string;\n}\n\nexport const useMarkets = (type: MarketsType) => {\n\n const marketsKey = \"markets\";\n\n const { data } = useMarketsStream();\n const { configStore } = useContext(OrderlyContext);\n\n // {\"PERP_ETH_USDC\": {}, ...}\n const publicInfo = useSymbolsInfo();\n\n if (!configStore.get(marketsKey)) {\n const jsonStr = localStorage.getItem(marketsKey);\n if (jsonStr) {\n configStore.set(marketsKey, JSON.parse(jsonStr));\n } else {\n const defaultTab = { name: \"Popular\", id: 1 };\n configStore.set(marketsKey, {\n recent: [],\n favorites: [\n { name: \"PERP_ETH_USDC\", tabs: [{ ...defaultTab }] },\n { name: \"PERP_BTC_USDC\", tabs: [{ ...defaultTab }] },\n ],\n favoriteTabs: [{ ...defaultTab }],\n lastSelectFavoriteTab: { ...defaultTab }\n });\n }\n }\n\n const getFavoriteTabs = useMemo(() => {\n // @ts-ignore\n const tabs = configStore.get(marketsKey)[\"favoriteTabs\"];\n return (tabs || [{ name: \"Popular\", id: 1 }]) as FavoriteTab[];\n }, []);\n\n const getFavorites = useMemo(() => {\n // @ts-ignore\n const curData = (configStore.get(marketsKey,)[\"favorites\"] || []) as Favorite[];\n const tabs = getFavoriteTabs;\n const result = [];\n for (let index = 0; index < curData.length; index++) {\n const favData = curData[index];\n var favTabs = favData.tabs.filter((tab) => tabs.findIndex((item) => tab.id === item.id) !== -1);\n if (favTabs.length > 0) {\n result.push({ ...favData, tabs: favTabs })\n }\n\n }\n configStore.set(marketsKey, { ...configStore.getOr(marketsKey, {}), favorites: result });\n // localStorage.setItem(marketsKey, JSON.stringify(configStore.get(marketsKey)));\n\n return result;\n }, [configStore]);\n\n const getRecent = useMemo(() => {\n // @ts-ignore\n const curData = configStore.get(marketsKey)[\"recent\"];\n return ((curData || []) as Recent[]).filter((e) => e);\n }, []);\n\n const [favoriteTabs, setFavoriteTabs] = useState(getFavoriteTabs);\n const [favorites, setFavorites] = useState(getFavorites);\n const [recent, setRecent] = useState(getRecent);\n\n const updateFavoriteTabs = (tab: FavoriteTab | FavoriteTab[], operator?: {\n add?: boolean,\n update?: boolean,\n delete?: boolean,\n }) => {\n\n const saveTabs = (tabs: FavoriteTab[]) => {\n setFavoriteTabs(tabs);\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n \"favoriteTabs\": tabs\n });\n };\n\n if (Array.isArray(tab)) {\n saveTabs(tab);\n return;\n }\n\n var tabs = [...favoriteTabs];\n const index = tabs.findIndex((item) => item.id === tab.id);\n if (operator?.add) {\n tabs.push(tab);\n } else if (operator?.update) {\n if (index !== -1) {\n tabs[index] = tab;\n }\n } else if (operator?.delete) {\n if (index !== -1) {\n tabs.splice(index, 1);\n\n }\n }\n saveTabs(tabs);\n };\n\n const setRecentData = (symbol: API.MarketInfoExt) => {\n const curData = [...recent];\n const index = curData.findIndex((item) => item.name == symbol.symbol);\n if (index !== -1) {\n curData.splice(index, 1);\n }\n curData.unshift({ name: symbol.symbol });\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n \"recent\": curData\n });\n setRecent(curData);\n };\n\n\n\n const setFavoritesData = (symbol: API.MarketInfoExt, tab: FavoriteTab | FavoriteTab[], remove: boolean = false) => {\n\n const curData = [...favorites];\n const index = curData.findIndex((item) => item.name == symbol.symbol);\n\n if (index === -1) { // can not find\n if (Array.isArray(tab)) {\n if (tab.length > 0) {\n curData.unshift({ name: symbol.symbol, tabs: tab });\n }\n } else {\n if (!remove) {\n // insert\n curData.unshift({ name: symbol.symbol, tabs: [tab] });\n }\n }\n\n } else {\n const favorite = curData[index];\n if (Array.isArray(tab)) {\n if (tab.length === 0) {\n // remove\n curData.splice(index, 1);\n } else {\n // overrides\n curData[index] = { ...favorite, tabs: tab };\n }\n } else {\n if (remove) {\n const tabs = favorite.tabs.filter((tab) => tab.id != tab.id);\n if (tabs.length === 0) { // del favorite\n curData.splice(index, 1);\n } else {\n curData[index] = { ...favorite, tabs };\n }\n } else { // insert\n const tabs = favorite.tabs;\n tabs.push(tab);\n curData[index] = { ...favorite, tabs };\n }\n }\n }\n\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n \"favorites\": curData\n });\n setFavorites(() => curData);\n };\n\n const getData = (type: MarketsType) => {\n\n\n // get data\n const localData = type === MarketsType.FAVORITES ? [...favorites] : [...recent];\n // filter\n const keys = localData.map((item) => item.name);\n const filter = type == MarketsType.ALL ?\n data :\n data?.filter((item) => keys.includes(item.symbol));\n\n const favoritesData = [...favorites];\n const favoriteKeys = favoritesData.map((item) => item.name);\n if (filter) {\n for (let index = 0; index < filter.length; index++) {\n const element = filter[index];\n const isFavorite = type == MarketsType.FAVORITES ?\n true :\n (favoriteKeys.includes(element.symbol));\n\n const fIndex = favoritesData.findIndex((item) => item.name === element.symbol);\n const tabs = fIndex === -1 ? [] : favoritesData[fIndex].tabs;\n\n let imr = undefined;\n if (publicInfo) {\n imr= publicInfo?.[element.symbol](\"base_imr\");\n }\n \n filter[index] = {\n ...filter[index],\n // @ts-ignore\n isFavorite,\n tabs,\n leverage: imr ? 1 / imr : undefined\n };\n }\n }\n\n return filter;\n\n };\n\n const addToHistory = (symbol: API.MarketInfoExt) => {\n setRecentData(symbol);\n };\n\n const updateSymbolFavoriteState = (symbol: API.MarketInfoExt, tab: FavoriteTab | FavoriteTab[], del: boolean = false) => {\n setFavoritesData(symbol, tab, del);\n };\n\n const markets = getData(type);\n\n const pinToTop = (symbol: API.MarketInfoExt) => {\n const index = favorites.findIndex((item) => item.name === symbol.symbol);\n if (index !== -1) {\n const element = favorites[index];\n const list = [...favorites];\n list.splice(index, 1);\n list.unshift(element);\n\n\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n \"favorites\": list\n });\n setFavorites(list);\n }\n };\n\n\n const tabs = useMemo(() => {\n return favoriteTabs;\n }, [favoriteTabs]);\n\n\n const getLastSelFavTab = () => {\n // @ts-ignore\n const curData = configStore.get(marketsKey)[\"lastSelectedFavoriteTab\"];\n return (curData || { name: \"Popular\", id: 1 }) as FavoriteTab;\n };\n\n const updateSelectedFavoriteTab = (tab: FavoriteTab) => {\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n lastSelectedFavoriteTab: tab\n });\n };\n\n return [\n markets || [],\n {\n favoriteTabs: tabs,\n favorites,\n recent,\n addToHistory,\n // updateFavoriteTabs(\"tab\", operator: {add/update/delete})\n updateFavoriteTabs,\n updateSymbolFavoriteState,\n pinToTop,\n getLastSelFavTab,\n updateSelectedFavoriteTab,\n },\n ] as const;\n}"],"names":["useContext","useMemo","useState","useMarketsStream","OrderlyContext","useSymbolsInfo","MarketsType","useMarkets","type","marketsKey","data","configStore","publicInfo","get","jsonStr","localStorage","getItem","set","JSON","parse","defaultTab","name","id","recent","favorites","tabs","favoriteTabs","lastSelectFavoriteTab","getFavoriteTabs","getFavorites","curData","result","index","length","favData","favTabs","filter","tab","findIndex","item","push","getOr","getRecent","e","setFavoriteTabs","setFavorites","setRecent","updateFavoriteTabs","operator","saveTabs","Array","isArray","add","update","delete","splice","setRecentData","symbol","unshift","setFavoritesData","remove","favorite","getData","localData","keys","map","includes","favoritesData","favoriteKeys","element","isFavorite","fIndex","imr","undefined","leverage","addToHistory","updateSymbolFavoriteState","del","markets","pinToTop","list","getLastSelFavTab","updateSelectedFavoriteTab","lastSelectedFavoriteTab"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/orderly/useMarkets.ts"],"sourcesContent":["import { useCallback, useContext, useMemo, useState } from \"react\";\nimport { useMarketsStream } from \"./useMarketsStream\";\nimport { OrderlyContext } from \"../orderlyContext\";\nimport { API } from \"@orderly.network/types\";\nimport { useQuery } from \"../useQuery\";\nimport { useSymbolsInfo } from \"./useSymbolsInfo\";\n\nexport enum MarketsType {\n FAVORITES,\n RECENT,\n ALL,\n}\n\n\n/*\n{\n markets: {\n recent: [\n { \"name\": `${symbol.name}` },\n { \"name\": `${symbol.name}` },\n ],\n favorites: [\n { \"name\": `${symbol.name}`, \"tabs\": [{ \"name\": \"Popular\", \"id\": 1 }] },\n ],\n favoriteTabs: [\n { \"name\": \"Popular\", \"id\": 1 },\n ],\n \"lastSelectFavoriteTab\": { \"name\": \"Popular\", \"id\": 1 }\n \n }\n}\n*/\n\n\nexport interface FavoriteTab {\n name: string;\n id: number;\n}\n\nexport interface Favorite {\n name: string;\n tabs: FavoriteTab[];\n}\n\nexport interface Recent {\n name: string;\n}\n\nexport const useMarkets = (type: MarketsType) => {\n\n const marketsKey = \"markets\";\n\n const { data } = useMarketsStream();\n const { configStore } = useContext(OrderlyContext);\n\n // {\"PERP_ETH_USDC\": {}, ...}\n const publicInfo = useSymbolsInfo();\n\n if (!configStore.get(marketsKey)) {\n const jsonStr = localStorage.getItem(marketsKey);\n if (jsonStr) {\n configStore.set(marketsKey, JSON.parse(jsonStr));\n } else {\n const defaultTab = { name: \"Popular\", id: 1 };\n configStore.set(marketsKey, {\n recent: [],\n favorites: [\n { name: \"PERP_ETH_USDC\", tabs: [{ ...defaultTab }] },\n { name: \"PERP_BTC_USDC\", tabs: [{ ...defaultTab }] },\n ],\n favoriteTabs: [{ ...defaultTab }],\n lastSelectFavoriteTab: { ...defaultTab }\n });\n }\n }\n\n const getFavoriteTabs = useMemo(() => {\n // @ts-ignore\n const tabs = configStore.get(marketsKey)[\"favoriteTabs\"];\n return (tabs || [{ name: \"Popular\", id: 1 }]) as FavoriteTab[];\n }, []);\n\n const getFavorites = useMemo(() => {\n // @ts-ignore\n const curData = (configStore.get(marketsKey,)[\"favorites\"] || []) as Favorite[];\n const tabs = getFavoriteTabs;\n const result = [];\n for (let index = 0; index < curData.length; index++) {\n const favData = curData[index];\n var favTabs = favData.tabs.filter((tab) => tabs.findIndex((item) => tab.id === item.id) !== -1);\n if (favTabs.length > 0) {\n result.push({ ...favData, tabs: favTabs })\n }\n\n }\n configStore.set(marketsKey, { ...configStore.getOr(marketsKey, {}), favorites: result });\n // localStorage.setItem(marketsKey, JSON.stringify(configStore.get(marketsKey)));\n\n return result;\n }, [configStore]);\n\n const getRecent = useMemo(() => {\n // @ts-ignore\n const curData = configStore.get(marketsKey)[\"recent\"];\n return ((curData || []) as Recent[]).filter((e) => e);\n }, []);\n\n const [favoriteTabs, setFavoriteTabs] = useState(getFavoriteTabs);\n const [favorites, setFavorites] = useState(getFavorites);\n const [recent, setRecent] = useState(getRecent);\n\n const getLastSelFavTab = () => {\n // @ts-ignore\n const curData = configStore.get(marketsKey)[\"lastSelectedFavoriteTab\"];\n return (curData || { name: \"Popular\", id: 1 }) as FavoriteTab;\n };\n\n const saveInfo = (opions?: {\n newRecent?: Recent[];\n newFavorites?: {\n tabs: FavoriteTab[];\n name: string;\n }[];\n newFavoriteTabs?: FavoriteTab[];\n }) => {\n configStore.set(marketsKey, {\n recent: opions?.newRecent ?? recent,\n favorites: opions?.newFavorites ?? favorites,\n favoriteTabs: opions?.newFavoriteTabs ?? favoriteTabs,\n lastSelectFavoriteTab: getLastSelFavTab(),\n });\n };\n\n const updateFavoriteTabs = (tab: FavoriteTab | FavoriteTab[], operator?: {\n add?: boolean,\n update?: boolean,\n delete?: boolean,\n }) => {\n\n const saveTabs = (tabs: FavoriteTab[]) => {\n setFavoriteTabs(tabs);\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n \"favoriteTabs\": tabs\n });\n };\n\n if (Array.isArray(tab)) {\n saveTabs(tab);\n return;\n }\n\n var tabs = [...favoriteTabs];\n const index = tabs.findIndex((item) => item.id === tab.id);\n if (operator?.add) {\n tabs.push(tab);\n } else if (operator?.update) {\n if (index !== -1) {\n tabs[index] = tab;\n }\n } else if (operator?.delete) {\n if (index !== -1) {\n tabs.splice(index, 1);\n\n }\n }\n saveTabs(tabs);\n };\n\n const setRecentData = (symbol: API.MarketInfoExt) => {\n const curData = [...recent];\n const index = curData.findIndex((item) => item.name == symbol.symbol);\n if (index !== -1) {\n curData.splice(index, 1);\n }\n curData.unshift({ name: symbol.symbol });\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n \"recent\": curData\n });\n setRecent(curData);\n };\n\n\n\n const setFavoritesData = (symbol: API.MarketInfoExt, tab: FavoriteTab | FavoriteTab[], remove: boolean = false) => {\n\n const curData = [...favorites];\n const index = curData.findIndex((item) => item.name == symbol.symbol);\n\n if (index === -1) { // can not find\n if (Array.isArray(tab)) {\n if (tab.length > 0) {\n curData.unshift({ name: symbol.symbol, tabs: tab });\n }\n } else {\n if (!remove) {\n // insert\n curData.unshift({ name: symbol.symbol, tabs: [tab] });\n }\n }\n\n } else {\n const favorite = curData[index];\n if (Array.isArray(tab)) {\n if (tab.length === 0) {\n // remove\n curData.splice(index, 1);\n } else {\n // overrides\n curData[index] = { ...favorite, tabs: tab };\n }\n } else {\n if (remove) {\n const tabs = favorite.tabs.filter((tab) => tab.id != tab.id);\n if (tabs.length === 0) { // del favorite\n curData.splice(index, 1);\n } else {\n curData[index] = { ...favorite, tabs };\n }\n } else { // insert\n const tabs = favorite.tabs;\n tabs.push(tab);\n curData[index] = { ...favorite, tabs };\n }\n }\n }\n\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n \"favorites\": curData\n });\n setFavorites(() => curData);\n };\n\n const getData = (type: MarketsType) => {\n\n\n // get data\n const localData = type === MarketsType.FAVORITES ? [...favorites] : [...recent];\n // filter\n const keys = localData.map((item) => item.name);\n const filter = type == MarketsType.ALL ?\n data :\n data?.filter((item) => keys.includes(item.symbol));\n\n const favoritesData = [...favorites];\n const favoriteKeys = favoritesData.map((item) => item.name);\n if (filter) {\n for (let index = 0; index < filter.length; index++) {\n const element = filter[index];\n const isFavorite = type == MarketsType.FAVORITES ?\n true :\n (favoriteKeys.includes(element.symbol));\n\n const fIndex = favoritesData.findIndex((item) => item.name === element.symbol);\n const tabs = fIndex === -1 ? [] : favoritesData[fIndex].tabs;\n\n let imr = undefined;\n if (publicInfo) {\n imr= publicInfo?.[element.symbol](\"base_imr\");\n }\n \n filter[index] = {\n ...filter[index],\n // @ts-ignore\n isFavorite,\n tabs,\n leverage: imr ? 1 / imr : undefined\n };\n }\n }\n\n\n if (type === MarketsType.RECENT) {\n const newRecent = filter?.map((e) => ({ name: e.symbol })) ?? [];\n if (newRecent.length !== recent.length) {\n setRecent(newRecent);\n saveInfo({ newRecent });\n }\n } else if (type === MarketsType.FAVORITES) {\n const symbols = data?.map((e) => e.symbol);\n const newFavorites = favorites.filter((e) => symbols?.includes(e.name));\n if (newFavorites.length != favorites.length) {\n setFavorites(newFavorites);\n saveInfo({ newFavorites });\n }\n }\n\n return filter;\n\n };\n\n const addToHistory = (symbol: API.MarketInfoExt) => {\n setRecentData(symbol);\n };\n\n const updateSymbolFavoriteState = (symbol: API.MarketInfoExt, tab: FavoriteTab | FavoriteTab[], del: boolean = false) => {\n setFavoritesData(symbol, tab, del);\n };\n\n const markets = getData(type);\n\n const pinToTop = (symbol: API.MarketInfoExt) => {\n const index = favorites.findIndex((item) => item.name === symbol.symbol);\n if (index !== -1) {\n const element = favorites[index];\n const list = [...favorites];\n list.splice(index, 1);\n list.unshift(element);\n\n\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n \"favorites\": list\n });\n setFavorites(list);\n }\n };\n\n\n const tabs = useMemo(() => {\n return favoriteTabs;\n }, [favoriteTabs]);\n\n\n \n\n const updateSelectedFavoriteTab = (tab: FavoriteTab) => {\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n lastSelectedFavoriteTab: tab\n });\n };\n\n return [\n markets || [],\n {\n favoriteTabs: tabs,\n favorites,\n recent,\n addToHistory,\n // updateFavoriteTabs(\"tab\", operator: {add/update/delete})\n updateFavoriteTabs,\n updateSymbolFavoriteState,\n pinToTop,\n getLastSelFavTab,\n updateSelectedFavoriteTab,\n },\n ] as const;\n}"],"names":["useContext","useMemo","useState","useMarketsStream","OrderlyContext","useSymbolsInfo","MarketsType","useMarkets","type","marketsKey","data","configStore","publicInfo","get","jsonStr","localStorage","getItem","set","JSON","parse","defaultTab","name","id","recent","favorites","tabs","favoriteTabs","lastSelectFavoriteTab","getFavoriteTabs","getFavorites","curData","result","index","length","favData","favTabs","filter","tab","findIndex","item","push","getOr","getRecent","e","setFavoriteTabs","setFavorites","setRecent","getLastSelFavTab","saveInfo","opions","newRecent","newFavorites","newFavoriteTabs","updateFavoriteTabs","operator","saveTabs","Array","isArray","add","update","delete","splice","setRecentData","symbol","unshift","setFavoritesData","remove","favorite","getData","localData","keys","map","includes","favoritesData","favoriteKeys","element","isFavorite","fIndex","imr","undefined","leverage","symbols","addToHistory","updateSymbolFavoriteState","del","markets","pinToTop","list","updateSelectedFavoriteTab","lastSelectedFavoriteTab"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDaily.d.ts","sourceRoot":"","sources":["../../src/referral/useDaily.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDaily.d.ts","sourceRoot":"","sources":["../../src/referral/useDaily.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,eAAO,MAAM,QAAQ,aAAc;IAE/B,SAAS,CAAC,EAAE,IAAI,CAAC;IAEjB,OAAO,CAAC,EAAE,IAAI,CAAA;CACjB;;YAEW,GAAG;CAsBd,CAAA"}
|
package/esm/referral/useDaily.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { max, min } from "ramda";
|
|
1
2
|
import { usePrivateQuery } from "../usePrivateQuery";
|
|
2
3
|
import { formatDate } from "./format";
|
|
3
4
|
export const useDaily = (options)=>{
|
|
@@ -6,7 +7,7 @@ export const useDaily = (options)=>{
|
|
|
6
7
|
const startDate = options?.endDate || new Date(Date.now() - 86400000 * 30);
|
|
7
8
|
const start_date = formatDate(startDate);
|
|
8
9
|
const end_date = formatDate(endDate);
|
|
9
|
-
const url = `${path}?start_date=${start_date}&end_date=${end_date}`;
|
|
10
|
+
const url = `${path}?start_date=${min(start_date, end_date)}&end_date=${max(start_date, end_date)}`;
|
|
10
11
|
const { data: dailyVolume, mutate } = usePrivateQuery(url, {
|
|
11
12
|
revalidateOnFocus: true
|
|
12
13
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/referral/useDaily.ts"],"sourcesContent":["\nimport { usePrivateQuery } from \"../usePrivateQuery\";\nimport { RefferalAPI } from \"./api\";\nimport { formatDate } from \"./format\";\nexport const useDaily = (options?: {\n //** default Date() - 30d */\n startDate?: Date,\n //** default Date() */\n endDate?: Date\n}): {\n data?: RefferalAPI.DayliVolume[],\n mutate: any,\n} => {\n\n const path = \"/v1/volume/user/daily\";\n const endDate = options?.startDate || new Date();\n const startDate = options?.endDate || new Date(Date.now() - 86400000 * 30);\n\n const start_date = formatDate(startDate);\n const end_date = formatDate(endDate);\n\n const url = `${path}?start_date=${start_date}&end_date=${end_date}`;\n const {\n data: dailyVolume,\n mutate,\n } = usePrivateQuery<RefferalAPI.DayliVolume[]>(url, {\n revalidateOnFocus: true\n });\n\n return {\n data: dailyVolume,\n mutate,\n }\n}\n\n\n\n"],"names":["usePrivateQuery","formatDate","useDaily","options","path","endDate","startDate","Date","now","start_date","end_date","url","data","dailyVolume","mutate","revalidateOnFocus"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/referral/useDaily.ts"],"sourcesContent":["\nimport { max, min } from \"ramda\";\nimport { usePrivateQuery } from \"../usePrivateQuery\";\nimport { RefferalAPI } from \"./api\";\nimport { formatDate } from \"./format\";\nexport const useDaily = (options?: {\n //** default Date() - 30d */\n startDate?: Date,\n //** default Date() */\n endDate?: Date\n}): {\n data?: RefferalAPI.DayliVolume[],\n mutate: any,\n} => {\n\n const path = \"/v1/volume/user/daily\";\n const endDate = options?.startDate || new Date();\n const startDate = options?.endDate || new Date(Date.now() - 86400000 * 30);\n\n const start_date = formatDate(startDate);\n const end_date = formatDate(endDate);\n\n const url = `${path}?start_date=${min(start_date, end_date)}&end_date=${max(start_date, end_date)}`;\n const {\n data: dailyVolume,\n mutate,\n } = usePrivateQuery<RefferalAPI.DayliVolume[]>(url, {\n revalidateOnFocus: true\n });\n\n return {\n data: dailyVolume,\n mutate,\n }\n}\n\n\n\n\n\n"],"names":["max","min","usePrivateQuery","formatDate","useDaily","options","path","endDate","startDate","Date","now","start_date","end_date","url","data","dailyVolume","mutate","revalidateOnFocus"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":"AACA,SAASA,GAAG,EAAEC,GAAG,QAAQ,QAAQ;AACjC,SAASC,eAAe,QAAQ,qBAAqB;AAErD,SAASC,UAAU,QAAQ,WAAW;AACtC,OAAO,MAAMC,WAAW,CAACC;IAUrB,MAAMC,OAAO;IACb,MAAMC,UAAUF,SAASG,aAAa,IAAIC;IAC1C,MAAMD,YAAYH,SAASE,WAAW,IAAIE,KAAKA,KAAKC,GAAG,KAAK,WAAW;IAEvE,MAAMC,aAAaR,WAAWK;IAC9B,MAAMI,WAAWT,WAAWI;IAE5B,MAAMM,MAAM,CAAC,EAAEP,KAAK,YAAY,EAAEL,IAAIU,YAAYC,UAAU,UAAU,EAAEZ,IAAIW,YAAYC,UAAU,CAAC;IACnG,MAAM,EACFE,MAAMC,WAAW,EACjBC,MAAM,EACT,GAAGd,gBAA2CW,KAAK;QAChDI,mBAAmB;IACvB;IAEA,OAAO;QACHH,MAAMC;QACNC;IACJ;AACJ,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataPaint.d.ts","sourceRoot":"","sources":["../../../src/services/painter/dataPaint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAIjE,qBAAa,SAAU,SAAQ,SAAS;IACtC,OAAO,CAAC,qBAAqB,CAAO;IAEpC,OAAO,CAAC,oBAAoB,CAAoB;IAChD,OAAO,CAAC,kBAAkB,CAAsB;IAEhD,OAAO,CAAC,YAAY,CAAK;IAEzB,OAAO,CAAC,WAAW,CAAM;IAEnB,IAAI,CAAC,OAAO,EAAE,WAAW;
|
|
1
|
+
{"version":3,"file":"dataPaint.d.ts","sourceRoot":"","sources":["../../../src/services/painter/dataPaint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAIjE,qBAAa,SAAU,SAAQ,SAAS;IACtC,OAAO,CAAC,qBAAqB,CAAO;IAEpC,OAAO,CAAC,oBAAoB,CAAoB;IAChD,OAAO,CAAC,kBAAkB,CAAsB;IAEhD,OAAO,CAAC,YAAY,CAAK;IAEzB,OAAO,CAAC,WAAW,CAAM;IAEnB,IAAI,CAAC,OAAO,EAAE,WAAW;IAoD/B,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,YAAY;IA2EpB,OAAO,CAAC,iBAAiB;IAyEzB,OAAO,CAAC,gBAAgB;IAuCxB,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,gBAAgB;IAwCxB,OAAO,CAAC,gBAAgB;IA4DxB,OAAO,CAAC,SAAS;IA0CjB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,MAAM;CAGf"}
|
|
@@ -28,11 +28,13 @@ export class DataPaint extends BasePaint {
|
|
|
28
28
|
this.drawInformations(options);
|
|
29
29
|
}
|
|
30
30
|
this.drawUnrealizedPnL(options, needDrawDetails || hasReferral ? 0 : offsetTop);
|
|
31
|
-
if (
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
if (!hasReferral) {
|
|
32
|
+
if (!!options.data?.domain) {
|
|
33
|
+
this.drawDomainUrl(options);
|
|
34
|
+
}
|
|
35
|
+
if (typeof options.data?.updateTime !== "undefined") {
|
|
36
|
+
this.drawPositionTime(options);
|
|
37
|
+
}
|
|
36
38
|
}
|
|
37
39
|
if (typeof options.data?.referral !== "undefined") {
|
|
38
40
|
this.drawReferralCode(options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/painter/dataPaint.ts"],"sourcesContent":["import { commify } from \"@orderly.network/utils\";\nimport { BasePaint, DrawOptions, layoutInfo } from \"./basePaint\";\nimport { path } from \"ramda\";\nimport { qrPaint } from \"./qrPaint\";\n\nexport class DataPaint extends BasePaint {\n private positionInfoCellWidth = 110;\n\n private DEFAULT_PROFIT_COLOR = \"rgb(0,181,159)\";\n private DEFAULT_LOSS_COLOR = \"rgb(255,103,194)\";\n\n private transformTop = 0;\n\n private QRCODE_SIZE = 56;\n\n async draw(options: DrawOptions) {\n const needDrawDetails =\n Array.isArray(options.data?.position?.informations) &&\n (options.data?.position?.informations?.length ?? 0) > 0;\n\n const hasReferral = this.hasReferral(options);\n\n // const hasMessage = !!options.data?.message;\n const hasMessage = true;\n\n this.transformTop = hasMessage ? 0 : needDrawDetails ? -40 : -150;\n\n // If position details are not displayed, the position PNL information will be margin\n // const offsetTop = hasMessage ? 50 : 100;\n const offsetTop = 0; // 100;\n // const offsetMessage = hasMessage ? 0 : -50;\n\n if (!!options.data?.message) {\n this.drawMessage(options);\n }\n\n if (!!options.data?.position) {\n this.drawPosition(\n options,\n needDrawDetails || hasReferral ? 0 : offsetTop\n );\n }\n\n if (needDrawDetails) {\n this.drawInformations(options);\n }\n\n this.drawUnrealizedPnL(\n options,\n needDrawDetails || hasReferral ? 0 : offsetTop\n );\n\n if (!!options.data?.domain) {\n this.drawDomainUrl(options);\n }\n\n if (typeof options.data?.updateTime !== \"undefined\") {\n this.drawPositionTime(options);\n }\n\n if (typeof options.data?.referral !== \"undefined\") {\n this.drawReferralCode(options);\n }\n }\n\n private drawMessage(options: DrawOptions) {\n // console.log(\"draw message\", options);\n\n const layout = path<layoutInfo>(\n [\"layout\", \"message\"],\n options\n ) as layoutInfo;\n const { position } = layout;\n\n this._drawText(`\"${options.data?.message!}\"`, {\n color: layout.color,\n fontSize: this._ratio(layout.fontSize as number),\n top: this._ratio(position.top!),\n left: this._ratio(position.left!),\n textBaseline: \"top\",\n fontFamily: options.fontFamily,\n });\n }\n private drawPosition(options: DrawOptions, offsetTop: number = 0) {\n const layout = path<layoutInfo>(\n [\"layout\", \"position\"],\n options\n ) as layoutInfo;\n const { position, fontSize = 14 } = layout;\n let left = this._ratio(position.left!);\n\n let top = layout.position.top! + offsetTop + this.transformTop;\n let prevElementBoundingBox: TextMetrics = {} as TextMetrics;\n\n // draw position side;\n\n if (typeof options.data?.position.side !== \"undefined\") {\n prevElementBoundingBox = this._drawText(options.data.position.side, {\n color:\n options.data?.position.side.toUpperCase() === \"LONG\"\n ? this.DEFAULT_PROFIT_COLOR\n : this.DEFAULT_LOSS_COLOR,\n left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n });\n }\n\n if (typeof options.data?.position.symbol !== \"undefined\") {\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(7);\n\n if (prevElementBoundingBox.width) {\n prevElementBoundingBox = this._drawText(\"|\", {\n color: \"rgba(255,255,255,0.2)\",\n left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n });\n }\n\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(7);\n prevElementBoundingBox = this._drawText(options.data?.position.symbol!, {\n color: layout.color,\n left: left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n });\n }\n\n if (typeof options.data?.position.leverage !== \"undefined\") {\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(7);\n\n if (prevElementBoundingBox.width) {\n prevElementBoundingBox = this._drawText(\"|\", {\n color: \"rgba(255,255,255,0.2)\",\n left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n });\n }\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(7);\n prevElementBoundingBox = this._drawText(\n `${options.data?.position.leverage}X`,\n {\n color: layout.color,\n left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n }\n );\n }\n }\n\n private drawUnrealizedPnL(options: DrawOptions, offsetTop: number = 0) {\n // reset left value;\n const layout = path<layoutInfo>(\n [\"layout\", \"unrealizedPnl\"],\n options\n ) as layoutInfo & {\n secondaryColor: string;\n secondaryFontSize: number;\n };\n const { position } = layout;\n let left = this._ratio(position.left!);\n let prevElementBoundingBox: TextMetrics = {} as TextMetrics;\n\n const top = (position.top ?? 0) + offsetTop + this.transformTop;\n\n // ROI\n if (typeof options.data?.position.ROI !== \"undefined\") {\n const prefix = options.data?.position.ROI! > 0 ? \"+\" : \"\";\n prevElementBoundingBox = this._drawText(\n `${prefix}${commify(options.data?.position.ROI)}%`,\n {\n color:\n prefix === \"+\"\n ? options.profitColor || this.DEFAULT_PROFIT_COLOR\n : options.lossColor || this.DEFAULT_LOSS_COLOR,\n left,\n top: this._ratio(top),\n\n fontSize: this._ratio(layout.fontSize as number),\n fontWeight: 700,\n fontFamily: options.fontFamily,\n }\n );\n }\n // unrelPnL\n if (typeof options.data?.position.pnl !== \"undefined\") {\n const prefix = options.data?.position.pnl! > 0 ? \"+\" : \"\";\n let text = `${prefix}${commify(options.data?.position.pnl)} ${\n options.data?.position.currency\n }`;\n let fontWeight = 600;\n\n if (prevElementBoundingBox.width) {\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(8);\n text = `(${text})`;\n } else {\n left = this._ratio(position.left!);\n fontWeight = 700;\n }\n\n const color =\n typeof options.data.position.ROI === \"undefined\"\n ? prefix === \"+\"\n ? options.profitColor || this.DEFAULT_PROFIT_COLOR\n : options.lossColor || this.DEFAULT_LOSS_COLOR\n : layout.secondaryColor;\n\n const fontSize =\n typeof options.data.position.ROI === \"undefined\"\n ? this._ratio(layout.fontSize as number)\n : this._ratio(layout.secondaryFontSize as number);\n\n prevElementBoundingBox = this._drawText(text, {\n color,\n left,\n top: this._ratio(top),\n fontSize,\n fontWeight,\n fontFamily: options.fontFamily,\n });\n }\n }\n\n private drawInformations(options: DrawOptions) {\n const layout = path<layoutInfo>(\n [\"layout\", \"informations\"],\n options\n ) as layoutInfo & {\n labelColor?: string;\n };\n const { position } = layout;\n\n const isVertical = (options.data?.position.informations.length ?? 0) === 2;\n\n options.data?.position.informations.forEach((info, index) => {\n // let cellWidth = this.positionInfoCellWidth;\n let left = position.left! + (index % 2) * this.positionInfoCellWidth;\n // let top = (position.top as number) + (index / 2) * 38 + this.transformTop;\n let top =\n (position.top as number) +\n Math.floor(index / 2) * 38 +\n this.transformTop;\n\n this._drawText(info.title, {\n left: this._ratio(left),\n top: this._ratio(top),\n fontSize: this._ratio(10),\n color: layout.labelColor,\n fontFamily: options.fontFamily,\n });\n\n this._drawText(info.value, {\n left: this._ratio(left),\n top: this._ratio(top + 17),\n fontSize: this._ratio(layout.fontSize as number),\n fontWeight: 500,\n color: layout.color as string,\n fontFamily: options.fontFamily,\n });\n });\n }\n\n private drawDomainUrl(options: DrawOptions, onlyMeasure: boolean = false) {\n const layout = path<layoutInfo>(\n [\"layout\", \"domain\"],\n options\n ) as layoutInfo;\n\n const hasReferral = this.hasReferral(options);\n\n const { position } = layout;\n const top = this.painter.height - position.bottom!;\n\n return this._drawText(\n options.data?.domain!,\n {\n left: !hasReferral\n ? this._ratio(position.left!)\n : this._ratio(this.painter.width - 20),\n top: !hasReferral\n ? this._ratio(top)\n : this._ratio(this.painter.height - 16),\n fontSize: this._ratio(layout.fontSize as number),\n color: options.brandColor ?? this.DEFAULT_PROFIT_COLOR,\n fontFamily: options.fontFamily,\n textBaseline: layout.textBaseline,\n textAlign: !hasReferral ? layout.textAlign : \"end\",\n fontWeight: 600,\n },\n onlyMeasure\n );\n }\n\n private drawPositionTime(options: DrawOptions) {\n const layout = path<layoutInfo>(\n [\"layout\", \"updateTime\"],\n options\n ) as layoutInfo;\n const { position } = layout;\n const hasReferral = this.hasReferral(options);\n\n let top = this.painter.height - position.bottom!;\n let left = this._ratio(position.left!);\n\n if (hasReferral) {\n const metrics = this.drawDomainUrl(options, true);\n // console.log(\"metrics\", metrics);\n left =\n this._ratio(this.painter.width) -\n metrics.width -\n this._ratio(8 + position.left!);\n top = this.painter.height - position.bottom!;\n // console.log(\"left\", left, top, metrics.width, this._ratio(top));\n }\n\n this._drawText(\n !hasReferral\n ? options.data?.updateTime!\n : `Share on ${options.data?.updateTime} |`,\n {\n left,\n top: this._ratio(top),\n // top: 536,\n fontSize: this._ratio(layout.fontSize as number),\n color: layout.color as string,\n // color: \"red\",\n textAlign: !hasReferral ? layout.textAlign : \"end\",\n fontFamily: options.fontFamily,\n textBaseline: layout.textBaseline,\n }\n );\n }\n\n private drawReferralCode(options: DrawOptions) {\n if (!options.data?.referral) {\n return;\n }\n\n const layout = path<layoutInfo>(\n [\"layout\", \"updateTime\"],\n options\n ) as layoutInfo;\n const { position } = layout;\n const top = this.painter.height - (position.bottom ?? 0);\n\n const messageLayout = path<layoutInfo>(\n [\"layout\", \"message\"],\n options\n ) as layoutInfo;\n\n const url = new URL(options.data.referral.link);\n\n const searchParams = url.searchParams;\n searchParams.append(\"ref\", options.data.referral.code);\n\n url.search = searchParams.toString();\n\n qrPaint(this.ctx, {\n size: this._ratio(this.QRCODE_SIZE),\n padding: this._ratio(2),\n left: this._ratio(position.left!),\n top: this._ratio(top - this.QRCODE_SIZE),\n data: `${url.toString()}`,\n });\n\n this._drawText(options.data.referral.slogan, {\n left: this._ratio(position.left! + 66),\n top: this._ratio(top - this.QRCODE_SIZE),\n fontSize: this._ratio(14),\n color: options.brandColor ?? this.DEFAULT_PROFIT_COLOR,\n fontFamily: options.fontFamily,\n textBaseline: \"top\",\n });\n\n this._drawText(\"Referral Code\", {\n left: this._ratio(position.left! + 66),\n top: this._ratio(top - 29),\n fontSize: this._ratio(12),\n color: layout.color as string,\n fontFamily: options.fontFamily,\n textBaseline: \"middle\",\n });\n\n this._drawText(options.data.referral.code, {\n left: this._ratio(position.left! + 66),\n top: this._ratio(top),\n fontSize: this._ratio(16),\n color: messageLayout.color as string,\n fontFamily: options.fontFamily,\n textBaseline: \"bottom\",\n });\n }\n\n private _drawText(\n str: string,\n options?: {\n left?: number;\n top?: number;\n fontSize?: number;\n fontFamily?: string;\n fontWeight?: number;\n color?: string;\n textBaseline?: CanvasTextBaseline;\n textAlign?: CanvasTextAlign;\n },\n onlyMeasure: boolean = false\n ): TextMetrics {\n let boundingBox: TextMetrics;\n const {\n left = 30,\n top = 30,\n fontSize = 13,\n fontWeight = 500,\n color = \"black\",\n textBaseline = \"middle\",\n textAlign = \"start\",\n } = options ?? {};\n\n this.ctx.save();\n // \"Nunito Sans\",-apple-system,\"San Francisco\",BlinkMacSystemFont,\"Segoe UI\",\"Helvetica Neue\",Helvetica,Arial,sans-serif\n this.ctx.font = `${fontWeight} ${fontSize}px ${options?.fontFamily}`;\n\n this.ctx.fillStyle = color;\n this.ctx.textBaseline = textBaseline;\n this.ctx.textAlign = textAlign;\n boundingBox = this.ctx.measureText(str);\n\n if (!onlyMeasure) {\n this.ctx.fillText(str, left, top);\n }\n this.ctx.restore();\n\n return boundingBox;\n }\n\n private hasReferral(options: DrawOptions): boolean {\n return typeof options.data?.referral !== \"undefined\";\n }\n\n private _ratio(num: number) {\n return num * this.painter.ratio;\n }\n}\n"],"names":["commify","BasePaint","path","qrPaint","DataPaint","positionInfoCellWidth","DEFAULT_PROFIT_COLOR","DEFAULT_LOSS_COLOR","transformTop","QRCODE_SIZE","draw","options","needDrawDetails","Array","isArray","data","position","informations","length","hasReferral","hasMessage","offsetTop","message","drawMessage","drawPosition","drawInformations","drawUnrealizedPnL","domain","drawDomainUrl","updateTime","drawPositionTime","referral","drawReferralCode","layout","_drawText","color","fontSize","_ratio","top","left","textBaseline","fontFamily","prevElementBoundingBox","side","toUpperCase","symbol","width","leverage","ROI","prefix","profitColor","lossColor","fontWeight","pnl","text","currency","secondaryColor","secondaryFontSize","isVertical","forEach","info","index","Math","floor","title","labelColor","value","onlyMeasure","painter","height","bottom","brandColor","textAlign","metrics","messageLayout","url","URL","link","searchParams","append","code","search","toString","ctx","size","padding","slogan","str","boundingBox","save","font","fillStyle","measureText","fillText","restore","num","ratio"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/services/painter/dataPaint.ts"],"sourcesContent":["import { commify } from \"@orderly.network/utils\";\nimport { BasePaint, DrawOptions, layoutInfo } from \"./basePaint\";\nimport { path } from \"ramda\";\nimport { qrPaint } from \"./qrPaint\";\n\nexport class DataPaint extends BasePaint {\n private positionInfoCellWidth = 110;\n\n private DEFAULT_PROFIT_COLOR = \"rgb(0,181,159)\";\n private DEFAULT_LOSS_COLOR = \"rgb(255,103,194)\";\n\n private transformTop = 0;\n\n private QRCODE_SIZE = 56;\n\n async draw(options: DrawOptions) {\n const needDrawDetails =\n Array.isArray(options.data?.position?.informations) &&\n (options.data?.position?.informations?.length ?? 0) > 0;\n\n const hasReferral = this.hasReferral(options);\n\n // const hasMessage = !!options.data?.message;\n const hasMessage = true;\n\n this.transformTop = hasMessage ? 0 : needDrawDetails ? -40 : -150;\n\n // If position details are not displayed, the position PNL information will be margin\n // const offsetTop = hasMessage ? 50 : 100;\n const offsetTop = 0; // 100;\n // const offsetMessage = hasMessage ? 0 : -50;\n\n if (!!options.data?.message) {\n this.drawMessage(options);\n }\n\n if (!!options.data?.position) {\n this.drawPosition(\n options,\n needDrawDetails || hasReferral ? 0 : offsetTop\n );\n }\n\n if (needDrawDetails) {\n this.drawInformations(options);\n }\n\n this.drawUnrealizedPnL(\n options,\n needDrawDetails || hasReferral ? 0 : offsetTop\n );\n\n if (!hasReferral) {\n if (!!options.data?.domain) {\n this.drawDomainUrl(options);\n }\n\n if (typeof options.data?.updateTime !== \"undefined\") {\n this.drawPositionTime(options);\n }\n }\n\n if (typeof options.data?.referral !== \"undefined\") {\n this.drawReferralCode(options);\n }\n }\n\n private drawMessage(options: DrawOptions) {\n // console.log(\"draw message\", options);\n\n const layout = path<layoutInfo>(\n [\"layout\", \"message\"],\n options\n ) as layoutInfo;\n const { position } = layout;\n\n this._drawText(`\"${options.data?.message!}\"`, {\n color: layout.color,\n fontSize: this._ratio(layout.fontSize as number),\n top: this._ratio(position.top!),\n left: this._ratio(position.left!),\n textBaseline: \"top\",\n fontFamily: options.fontFamily,\n });\n }\n private drawPosition(options: DrawOptions, offsetTop: number = 0) {\n const layout = path<layoutInfo>(\n [\"layout\", \"position\"],\n options\n ) as layoutInfo;\n const { position, fontSize = 14 } = layout;\n let left = this._ratio(position.left!);\n\n let top = layout.position.top! + offsetTop + this.transformTop;\n let prevElementBoundingBox: TextMetrics = {} as TextMetrics;\n\n // draw position side;\n\n if (typeof options.data?.position.side !== \"undefined\") {\n prevElementBoundingBox = this._drawText(options.data.position.side, {\n color:\n options.data?.position.side.toUpperCase() === \"LONG\"\n ? this.DEFAULT_PROFIT_COLOR\n : this.DEFAULT_LOSS_COLOR,\n left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n });\n }\n\n if (typeof options.data?.position.symbol !== \"undefined\") {\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(7);\n\n if (prevElementBoundingBox.width) {\n prevElementBoundingBox = this._drawText(\"|\", {\n color: \"rgba(255,255,255,0.2)\",\n left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n });\n }\n\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(7);\n prevElementBoundingBox = this._drawText(options.data?.position.symbol!, {\n color: layout.color,\n left: left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n });\n }\n\n if (typeof options.data?.position.leverage !== \"undefined\") {\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(7);\n\n if (prevElementBoundingBox.width) {\n prevElementBoundingBox = this._drawText(\"|\", {\n color: \"rgba(255,255,255,0.2)\",\n left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n });\n }\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(7);\n prevElementBoundingBox = this._drawText(\n `${options.data?.position.leverage}X`,\n {\n color: layout.color,\n left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n }\n );\n }\n }\n\n private drawUnrealizedPnL(options: DrawOptions, offsetTop: number = 0) {\n // reset left value;\n const layout = path<layoutInfo>(\n [\"layout\", \"unrealizedPnl\"],\n options\n ) as layoutInfo & {\n secondaryColor: string;\n secondaryFontSize: number;\n };\n const { position } = layout;\n let left = this._ratio(position.left!);\n let prevElementBoundingBox: TextMetrics = {} as TextMetrics;\n\n const top = (position.top ?? 0) + offsetTop + this.transformTop;\n\n // ROI\n if (typeof options.data?.position.ROI !== \"undefined\") {\n const prefix = options.data?.position.ROI! > 0 ? \"+\" : \"\";\n prevElementBoundingBox = this._drawText(\n `${prefix}${commify(options.data?.position.ROI)}%`,\n {\n color:\n prefix === \"+\"\n ? options.profitColor || this.DEFAULT_PROFIT_COLOR\n : options.lossColor || this.DEFAULT_LOSS_COLOR,\n left,\n top: this._ratio(top),\n\n fontSize: this._ratio(layout.fontSize as number),\n fontWeight: 700,\n fontFamily: options.fontFamily,\n }\n );\n }\n // unrelPnL\n if (typeof options.data?.position.pnl !== \"undefined\") {\n const prefix = options.data?.position.pnl! > 0 ? \"+\" : \"\";\n let text = `${prefix}${commify(options.data?.position.pnl)} ${\n options.data?.position.currency\n }`;\n let fontWeight = 600;\n\n if (prevElementBoundingBox.width) {\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(8);\n text = `(${text})`;\n } else {\n left = this._ratio(position.left!);\n fontWeight = 700;\n }\n\n const color =\n typeof options.data.position.ROI === \"undefined\"\n ? prefix === \"+\"\n ? options.profitColor || this.DEFAULT_PROFIT_COLOR\n : options.lossColor || this.DEFAULT_LOSS_COLOR\n : layout.secondaryColor;\n\n const fontSize =\n typeof options.data.position.ROI === \"undefined\"\n ? this._ratio(layout.fontSize as number)\n : this._ratio(layout.secondaryFontSize as number);\n\n prevElementBoundingBox = this._drawText(text, {\n color,\n left,\n top: this._ratio(top),\n fontSize,\n fontWeight,\n fontFamily: options.fontFamily,\n });\n }\n }\n\n private drawInformations(options: DrawOptions) {\n const layout = path<layoutInfo>(\n [\"layout\", \"informations\"],\n options\n ) as layoutInfo & {\n labelColor?: string;\n };\n const { position } = layout;\n\n const isVertical = (options.data?.position.informations.length ?? 0) === 2;\n\n options.data?.position.informations.forEach((info, index) => {\n // let cellWidth = this.positionInfoCellWidth;\n let left = position.left! + (index % 2) * this.positionInfoCellWidth;\n // let top = (position.top as number) + (index / 2) * 38 + this.transformTop;\n let top =\n (position.top as number) +\n Math.floor(index / 2) * 38 +\n this.transformTop;\n\n this._drawText(info.title, {\n left: this._ratio(left),\n top: this._ratio(top),\n fontSize: this._ratio(10),\n color: layout.labelColor,\n fontFamily: options.fontFamily,\n });\n\n this._drawText(info.value, {\n left: this._ratio(left),\n top: this._ratio(top + 17),\n fontSize: this._ratio(layout.fontSize as number),\n fontWeight: 500,\n color: layout.color as string,\n fontFamily: options.fontFamily,\n });\n });\n }\n\n private drawDomainUrl(options: DrawOptions, onlyMeasure: boolean = false) {\n const layout = path<layoutInfo>(\n [\"layout\", \"domain\"],\n options\n ) as layoutInfo;\n\n const hasReferral = this.hasReferral(options);\n\n const { position } = layout;\n const top = this.painter.height - position.bottom!;\n\n return this._drawText(\n options.data?.domain!,\n {\n left: !hasReferral\n ? this._ratio(position.left!)\n : this._ratio(this.painter.width - 20),\n top: !hasReferral\n ? this._ratio(top)\n : this._ratio(this.painter.height - 16),\n fontSize: this._ratio(layout.fontSize as number),\n color: options.brandColor ?? this.DEFAULT_PROFIT_COLOR,\n fontFamily: options.fontFamily,\n textBaseline: layout.textBaseline,\n textAlign: !hasReferral ? layout.textAlign : \"end\",\n fontWeight: 600,\n },\n onlyMeasure\n );\n }\n\n private drawPositionTime(options: DrawOptions) {\n const layout = path<layoutInfo>(\n [\"layout\", \"updateTime\"],\n options\n ) as layoutInfo;\n const { position } = layout;\n const hasReferral = this.hasReferral(options);\n\n let top = this.painter.height - position.bottom!;\n let left = this._ratio(position.left!);\n\n if (hasReferral) {\n const metrics = this.drawDomainUrl(options, true);\n // console.log(\"metrics\", metrics);\n left =\n this._ratio(this.painter.width) -\n metrics.width -\n this._ratio(8 + position.left!);\n top = this.painter.height - position.bottom!;\n // console.log(\"left\", left, top, metrics.width, this._ratio(top));\n }\n\n this._drawText(\n !hasReferral\n ? options.data?.updateTime!\n : `Share on ${options.data?.updateTime} |`,\n {\n left,\n top: this._ratio(top),\n // top: 536,\n fontSize: this._ratio(layout.fontSize as number),\n color: layout.color as string,\n // color: \"red\",\n textAlign: !hasReferral ? layout.textAlign : \"end\",\n fontFamily: options.fontFamily,\n textBaseline: layout.textBaseline,\n }\n );\n }\n\n private drawReferralCode(options: DrawOptions) {\n if (!options.data?.referral) {\n return;\n }\n\n const layout = path<layoutInfo>(\n [\"layout\", \"updateTime\"],\n options\n ) as layoutInfo;\n const { position } = layout;\n const top = this.painter.height - (position.bottom ?? 0);\n\n const messageLayout = path<layoutInfo>(\n [\"layout\", \"message\"],\n options\n ) as layoutInfo;\n\n const url = new URL(options.data.referral.link);\n\n const searchParams = url.searchParams;\n searchParams.append(\"ref\", options.data.referral.code);\n\n url.search = searchParams.toString();\n\n qrPaint(this.ctx, {\n size: this._ratio(this.QRCODE_SIZE),\n padding: this._ratio(2),\n left: this._ratio(position.left!),\n top: this._ratio(top - this.QRCODE_SIZE),\n data: `${url.toString()}`,\n });\n\n this._drawText(options.data.referral.slogan, {\n left: this._ratio(position.left! + 66),\n top: this._ratio(top - this.QRCODE_SIZE),\n fontSize: this._ratio(14),\n color: options.brandColor ?? this.DEFAULT_PROFIT_COLOR,\n fontFamily: options.fontFamily,\n textBaseline: \"top\",\n });\n\n this._drawText(\"Referral Code\", {\n left: this._ratio(position.left! + 66),\n top: this._ratio(top - 29),\n fontSize: this._ratio(12),\n color: layout.color as string,\n fontFamily: options.fontFamily,\n textBaseline: \"middle\",\n });\n\n this._drawText(options.data.referral.code, {\n left: this._ratio(position.left! + 66),\n top: this._ratio(top),\n fontSize: this._ratio(16),\n color: messageLayout.color as string,\n fontFamily: options.fontFamily,\n textBaseline: \"bottom\",\n });\n }\n\n private _drawText(\n str: string,\n options?: {\n left?: number;\n top?: number;\n fontSize?: number;\n fontFamily?: string;\n fontWeight?: number;\n color?: string;\n textBaseline?: CanvasTextBaseline;\n textAlign?: CanvasTextAlign;\n },\n onlyMeasure: boolean = false\n ): TextMetrics {\n let boundingBox: TextMetrics;\n const {\n left = 30,\n top = 30,\n fontSize = 13,\n fontWeight = 500,\n color = \"black\",\n textBaseline = \"middle\",\n textAlign = \"start\",\n } = options ?? {};\n\n this.ctx.save();\n // \"Nunito Sans\",-apple-system,\"San Francisco\",BlinkMacSystemFont,\"Segoe UI\",\"Helvetica Neue\",Helvetica,Arial,sans-serif\n this.ctx.font = `${fontWeight} ${fontSize}px ${options?.fontFamily}`;\n\n this.ctx.fillStyle = color;\n this.ctx.textBaseline = textBaseline;\n this.ctx.textAlign = textAlign;\n boundingBox = this.ctx.measureText(str);\n\n if (!onlyMeasure) {\n this.ctx.fillText(str, left, top);\n }\n this.ctx.restore();\n\n return boundingBox;\n }\n\n private hasReferral(options: DrawOptions): boolean {\n return typeof options.data?.referral !== \"undefined\";\n }\n\n private _ratio(num: number) {\n return num * this.painter.ratio;\n }\n}\n"],"names":["commify","BasePaint","path","qrPaint","DataPaint","positionInfoCellWidth","DEFAULT_PROFIT_COLOR","DEFAULT_LOSS_COLOR","transformTop","QRCODE_SIZE","draw","options","needDrawDetails","Array","isArray","data","position","informations","length","hasReferral","hasMessage","offsetTop","message","drawMessage","drawPosition","drawInformations","drawUnrealizedPnL","domain","drawDomainUrl","updateTime","drawPositionTime","referral","drawReferralCode","layout","_drawText","color","fontSize","_ratio","top","left","textBaseline","fontFamily","prevElementBoundingBox","side","toUpperCase","symbol","width","leverage","ROI","prefix","profitColor","lossColor","fontWeight","pnl","text","currency","secondaryColor","secondaryFontSize","isVertical","forEach","info","index","Math","floor","title","labelColor","value","onlyMeasure","painter","height","bottom","brandColor","textAlign","metrics","messageLayout","url","URL","link","searchParams","append","code","search","toString","ctx","size","padding","slogan","str","boundingBox","save","font","fillStyle","measureText","fillText","restore","num","ratio"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,OAAO,QAAQ,yBAAyB;AACjD,SAASC,SAAS,QAAiC,cAAc;AACjE,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,OAAO,QAAQ,YAAY;AAEpC,OAAO,MAAMC,kBAAkBH;IACrBI,wBAAwB,IAAI;IAE5BC,uBAAuB,iBAAiB;IACxCC,qBAAqB,mBAAmB;IAExCC,eAAe,EAAE;IAEjBC,cAAc,GAAG;IAEzB,MAAMC,KAAKC,OAAoB,EAAE;QAC/B,MAAMC,kBACJC,MAAMC,OAAO,CAACH,QAAQI,IAAI,EAAEC,UAAUC,iBACtC,AAACN,CAAAA,QAAQI,IAAI,EAAEC,UAAUC,cAAcC,UAAU,CAAA,IAAK;QAExD,MAAMC,cAAc,IAAI,CAACA,WAAW,CAACR;QAErC,8CAA8C;QAC9C,MAAMS,aAAa;QAEnB,IAAI,CAACZ,YAAY,GAAGY,aAAa,IAAIR,kBAAkB,CAAC,KAAK,CAAC;QAE9D,qFAAqF;QACrF,2CAA2C;QAC3C,MAAMS,YAAY,GAAG,OAAO;QAC5B,8CAA8C;QAE9C,IAAI,CAAC,CAACV,QAAQI,IAAI,EAAEO,SAAS;YAC3B,IAAI,CAACC,WAAW,CAACZ;QACnB;QAEA,IAAI,CAAC,CAACA,QAAQI,IAAI,EAAEC,UAAU;YAC5B,IAAI,CAACQ,YAAY,CACfb,SACAC,mBAAmBO,cAAc,IAAIE;QAEzC;QAEA,IAAIT,iBAAiB;YACnB,IAAI,CAACa,gBAAgB,CAACd;QACxB;QAEA,IAAI,CAACe,iBAAiB,CACpBf,SACAC,mBAAmBO,cAAc,IAAIE;QAGvC,IAAI,CAACF,aAAa;YAChB,IAAI,CAAC,CAACR,QAAQI,IAAI,EAAEY,QAAQ;gBAC1B,IAAI,CAACC,aAAa,CAACjB;YACrB;YAEA,IAAI,OAAOA,QAAQI,IAAI,EAAEc,eAAe,aAAa;gBACnD,IAAI,CAACC,gBAAgB,CAACnB;YACxB;QACF;QAEA,IAAI,OAAOA,QAAQI,IAAI,EAAEgB,aAAa,aAAa;YACjD,IAAI,CAACC,gBAAgB,CAACrB;QACxB;IACF;IAEQY,YAAYZ,OAAoB,EAAE;QACxC,wCAAwC;QAExC,MAAMsB,SAAS/B,KACb;YAAC;YAAU;SAAU,EACrBS;QAEF,MAAM,EAAEK,QAAQ,EAAE,GAAGiB;QAErB,IAAI,CAACC,SAAS,CAAC,CAAC,CAAC,EAAEvB,QAAQI,IAAI,EAAEO,QAAS,CAAC,CAAC,EAAE;YAC5Ca,OAAOF,OAAOE,KAAK;YACnBC,UAAU,IAAI,CAACC,MAAM,CAACJ,OAAOG,QAAQ;YACrCE,KAAK,IAAI,CAACD,MAAM,CAACrB,SAASsB,GAAG;YAC7BC,MAAM,IAAI,CAACF,MAAM,CAACrB,SAASuB,IAAI;YAC/BC,cAAc;YACdC,YAAY9B,QAAQ8B,UAAU;QAChC;IACF;IACQjB,aAAab,OAAoB,EAAEU,YAAoB,CAAC,EAAE;QAChE,MAAMY,SAAS/B,KACb;YAAC;YAAU;SAAW,EACtBS;QAEF,MAAM,EAAEK,QAAQ,EAAEoB,WAAW,EAAE,EAAE,GAAGH;QACpC,IAAIM,OAAO,IAAI,CAACF,MAAM,CAACrB,SAASuB,IAAI;QAEpC,IAAID,MAAML,OAAOjB,QAAQ,CAACsB,GAAG,GAAIjB,YAAY,IAAI,CAACb,YAAY;QAC9D,IAAIkC,yBAAsC,CAAC;QAE3C,sBAAsB;QAEtB,IAAI,OAAO/B,QAAQI,IAAI,EAAEC,SAAS2B,SAAS,aAAa;YACtDD,yBAAyB,IAAI,CAACR,SAAS,CAACvB,QAAQI,IAAI,CAACC,QAAQ,CAAC2B,IAAI,EAAE;gBAClER,OACExB,QAAQI,IAAI,EAAEC,SAAS2B,KAAKC,kBAAkB,SAC1C,IAAI,CAACtC,oBAAoB,GACzB,IAAI,CAACC,kBAAkB;gBAC7BgC;gBACAD,KAAK,IAAI,CAACD,MAAM,CAACC;gBACjBF,UAAU,IAAI,CAACC,MAAM,CAACD;gBACtBK,YAAY9B,QAAQ8B,UAAU;YAChC;QACF;QAEA,IAAI,OAAO9B,QAAQI,IAAI,EAAEC,SAAS6B,WAAW,aAAa;YACxDN,QAAQ,AAACG,CAAAA,uBAAuBI,KAAK,IAAI,CAAA,IAAK,IAAI,CAACT,MAAM,CAAC;YAE1D,IAAIK,uBAAuBI,KAAK,EAAE;gBAChCJ,yBAAyB,IAAI,CAACR,SAAS,CAAC,KAAK;oBAC3CC,OAAO;oBACPI;oBACAD,KAAK,IAAI,CAACD,MAAM,CAACC;oBACjBF,UAAU,IAAI,CAACC,MAAM,CAACD;oBACtBK,YAAY9B,QAAQ8B,UAAU;gBAChC;YACF;YAEAF,QAAQ,AAACG,CAAAA,uBAAuBI,KAAK,IAAI,CAAA,IAAK,IAAI,CAACT,MAAM,CAAC;YAC1DK,yBAAyB,IAAI,CAACR,SAAS,CAACvB,QAAQI,IAAI,EAAEC,SAAS6B,QAAS;gBACtEV,OAAOF,OAAOE,KAAK;gBACnBI,MAAMA;gBACND,KAAK,IAAI,CAACD,MAAM,CAACC;gBACjBF,UAAU,IAAI,CAACC,MAAM,CAACD;gBACtBK,YAAY9B,QAAQ8B,UAAU;YAChC;QACF;QAEA,IAAI,OAAO9B,QAAQI,IAAI,EAAEC,SAAS+B,aAAa,aAAa;YAC1DR,QAAQ,AAACG,CAAAA,uBAAuBI,KAAK,IAAI,CAAA,IAAK,IAAI,CAACT,MAAM,CAAC;YAE1D,IAAIK,uBAAuBI,KAAK,EAAE;gBAChCJ,yBAAyB,IAAI,CAACR,SAAS,CAAC,KAAK;oBAC3CC,OAAO;oBACPI;oBACAD,KAAK,IAAI,CAACD,MAAM,CAACC;oBACjBF,UAAU,IAAI,CAACC,MAAM,CAACD;oBACtBK,YAAY9B,QAAQ8B,UAAU;gBAChC;YACF;YACAF,QAAQ,AAACG,CAAAA,uBAAuBI,KAAK,IAAI,CAAA,IAAK,IAAI,CAACT,MAAM,CAAC;YAC1DK,yBAAyB,IAAI,CAACR,SAAS,CACrC,CAAC,EAAEvB,QAAQI,IAAI,EAAEC,SAAS+B,SAAS,CAAC,CAAC,EACrC;gBACEZ,OAAOF,OAAOE,KAAK;gBACnBI;gBACAD,KAAK,IAAI,CAACD,MAAM,CAACC;gBACjBF,UAAU,IAAI,CAACC,MAAM,CAACD;gBACtBK,YAAY9B,QAAQ8B,UAAU;YAChC;QAEJ;IACF;IAEQf,kBAAkBf,OAAoB,EAAEU,YAAoB,CAAC,EAAE;QACrE,oBAAoB;QACpB,MAAMY,SAAS/B,KACb;YAAC;YAAU;SAAgB,EAC3BS;QAKF,MAAM,EAAEK,QAAQ,EAAE,GAAGiB;QACrB,IAAIM,OAAO,IAAI,CAACF,MAAM,CAACrB,SAASuB,IAAI;QACpC,IAAIG,yBAAsC,CAAC;QAE3C,MAAMJ,MAAM,AAACtB,CAAAA,SAASsB,GAAG,IAAI,CAAA,IAAKjB,YAAY,IAAI,CAACb,YAAY;QAE/D,MAAM;QACN,IAAI,OAAOG,QAAQI,IAAI,EAAEC,SAASgC,QAAQ,aAAa;YACrD,MAAMC,SAAStC,QAAQI,IAAI,EAAEC,SAASgC,MAAO,IAAI,MAAM;YACvDN,yBAAyB,IAAI,CAACR,SAAS,CACrC,CAAC,EAAEe,OAAO,EAAEjD,QAAQW,QAAQI,IAAI,EAAEC,SAASgC,KAAK,CAAC,CAAC,EAClD;gBACEb,OACEc,WAAW,MACPtC,QAAQuC,WAAW,IAAI,IAAI,CAAC5C,oBAAoB,GAChDK,QAAQwC,SAAS,IAAI,IAAI,CAAC5C,kBAAkB;gBAClDgC;gBACAD,KAAK,IAAI,CAACD,MAAM,CAACC;gBAEjBF,UAAU,IAAI,CAACC,MAAM,CAACJ,OAAOG,QAAQ;gBACrCgB,YAAY;gBACZX,YAAY9B,QAAQ8B,UAAU;YAChC;QAEJ;QACA,WAAW;QACX,IAAI,OAAO9B,QAAQI,IAAI,EAAEC,SAASqC,QAAQ,aAAa;YACrD,MAAMJ,SAAStC,QAAQI,IAAI,EAAEC,SAASqC,MAAO,IAAI,MAAM;YACvD,IAAIC,OAAO,CAAC,EAAEL,OAAO,EAAEjD,QAAQW,QAAQI,IAAI,EAAEC,SAASqC,KAAK,CAAC,EAC1D1C,QAAQI,IAAI,EAAEC,SAASuC,SACxB,CAAC;YACF,IAAIH,aAAa;YAEjB,IAAIV,uBAAuBI,KAAK,EAAE;gBAChCP,QAAQ,AAACG,CAAAA,uBAAuBI,KAAK,IAAI,CAAA,IAAK,IAAI,CAACT,MAAM,CAAC;gBAC1DiB,OAAO,CAAC,CAAC,EAAEA,KAAK,CAAC,CAAC;YACpB,OAAO;gBACLf,OAAO,IAAI,CAACF,MAAM,CAACrB,SAASuB,IAAI;gBAChCa,aAAa;YACf;YAEA,MAAMjB,QACJ,OAAOxB,QAAQI,IAAI,CAACC,QAAQ,CAACgC,GAAG,KAAK,cACjCC,WAAW,MACTtC,QAAQuC,WAAW,IAAI,IAAI,CAAC5C,oBAAoB,GAChDK,QAAQwC,SAAS,IAAI,IAAI,CAAC5C,kBAAkB,GAC9C0B,OAAOuB,cAAc;YAE3B,MAAMpB,WACJ,OAAOzB,QAAQI,IAAI,CAACC,QAAQ,CAACgC,GAAG,KAAK,cACjC,IAAI,CAACX,MAAM,CAACJ,OAAOG,QAAQ,IAC3B,IAAI,CAACC,MAAM,CAACJ,OAAOwB,iBAAiB;YAE1Cf,yBAAyB,IAAI,CAACR,SAAS,CAACoB,MAAM;gBAC5CnB;gBACAI;gBACAD,KAAK,IAAI,CAACD,MAAM,CAACC;gBACjBF;gBACAgB;gBACAX,YAAY9B,QAAQ8B,UAAU;YAChC;QACF;IACF;IAEQhB,iBAAiBd,OAAoB,EAAE;QAC7C,MAAMsB,SAAS/B,KACb;YAAC;YAAU;SAAe,EAC1BS;QAIF,MAAM,EAAEK,QAAQ,EAAE,GAAGiB;QAErB,MAAMyB,aAAa,AAAC/C,CAAAA,QAAQI,IAAI,EAAEC,SAASC,aAAaC,UAAU,CAAA,MAAO;QAEzEP,QAAQI,IAAI,EAAEC,SAASC,aAAa0C,QAAQ,CAACC,MAAMC;YACjD,8CAA8C;YAC9C,IAAItB,OAAOvB,SAASuB,IAAI,GAAI,AAACsB,QAAQ,IAAK,IAAI,CAACxD,qBAAqB;YACpE,6EAA6E;YAC7E,IAAIiC,MACF,AAACtB,SAASsB,GAAG,GACbwB,KAAKC,KAAK,CAACF,QAAQ,KAAK,KACxB,IAAI,CAACrD,YAAY;YAEnB,IAAI,CAAC0B,SAAS,CAAC0B,KAAKI,KAAK,EAAE;gBACzBzB,MAAM,IAAI,CAACF,MAAM,CAACE;gBAClBD,KAAK,IAAI,CAACD,MAAM,CAACC;gBACjBF,UAAU,IAAI,CAACC,MAAM,CAAC;gBACtBF,OAAOF,OAAOgC,UAAU;gBACxBxB,YAAY9B,QAAQ8B,UAAU;YAChC;YAEA,IAAI,CAACP,SAAS,CAAC0B,KAAKM,KAAK,EAAE;gBACzB3B,MAAM,IAAI,CAACF,MAAM,CAACE;gBAClBD,KAAK,IAAI,CAACD,MAAM,CAACC,MAAM;gBACvBF,UAAU,IAAI,CAACC,MAAM,CAACJ,OAAOG,QAAQ;gBACrCgB,YAAY;gBACZjB,OAAOF,OAAOE,KAAK;gBACnBM,YAAY9B,QAAQ8B,UAAU;YAChC;QACF;IACF;IAEQb,cAAcjB,OAAoB,EAAEwD,cAAuB,KAAK,EAAE;QACxE,MAAMlC,SAAS/B,KACb;YAAC;YAAU;SAAS,EACpBS;QAGF,MAAMQ,cAAc,IAAI,CAACA,WAAW,CAACR;QAErC,MAAM,EAAEK,QAAQ,EAAE,GAAGiB;QACrB,MAAMK,MAAM,IAAI,CAAC8B,OAAO,CAACC,MAAM,GAAGrD,SAASsD,MAAM;QAEjD,OAAO,IAAI,CAACpC,SAAS,CACnBvB,QAAQI,IAAI,EAAEY,QACd;YACEY,MAAM,CAACpB,cACH,IAAI,CAACkB,MAAM,CAACrB,SAASuB,IAAI,IACzB,IAAI,CAACF,MAAM,CAAC,IAAI,CAAC+B,OAAO,CAACtB,KAAK,GAAG;YACrCR,KAAK,CAACnB,cACF,IAAI,CAACkB,MAAM,CAACC,OACZ,IAAI,CAACD,MAAM,CAAC,IAAI,CAAC+B,OAAO,CAACC,MAAM,GAAG;YACtCjC,UAAU,IAAI,CAACC,MAAM,CAACJ,OAAOG,QAAQ;YACrCD,OAAOxB,QAAQ4D,UAAU,IAAI,IAAI,CAACjE,oBAAoB;YACtDmC,YAAY9B,QAAQ8B,UAAU;YAC9BD,cAAcP,OAAOO,YAAY;YACjCgC,WAAW,CAACrD,cAAcc,OAAOuC,SAAS,GAAG;YAC7CpB,YAAY;QACd,GACAe;IAEJ;IAEQrC,iBAAiBnB,OAAoB,EAAE;QAC7C,MAAMsB,SAAS/B,KACb;YAAC;YAAU;SAAa,EACxBS;QAEF,MAAM,EAAEK,QAAQ,EAAE,GAAGiB;QACrB,MAAMd,cAAc,IAAI,CAACA,WAAW,CAACR;QAErC,IAAI2B,MAAM,IAAI,CAAC8B,OAAO,CAACC,MAAM,GAAGrD,SAASsD,MAAM;QAC/C,IAAI/B,OAAO,IAAI,CAACF,MAAM,CAACrB,SAASuB,IAAI;QAEpC,IAAIpB,aAAa;YACf,MAAMsD,UAAU,IAAI,CAAC7C,aAAa,CAACjB,SAAS;YAC5C,mCAAmC;YACnC4B,OACE,IAAI,CAACF,MAAM,CAAC,IAAI,CAAC+B,OAAO,CAACtB,KAAK,IAC9B2B,QAAQ3B,KAAK,GACb,IAAI,CAACT,MAAM,CAAC,IAAIrB,SAASuB,IAAI;YAC/BD,MAAM,IAAI,CAAC8B,OAAO,CAACC,MAAM,GAAGrD,SAASsD,MAAM;QAC3C,mEAAmE;QACrE;QAEA,IAAI,CAACpC,SAAS,CACZ,CAACf,cACGR,QAAQI,IAAI,EAAEc,aACd,CAAC,SAAS,EAAElB,QAAQI,IAAI,EAAEc,WAAW,IAAI,CAAC,EAC9C;YACEU;YACAD,KAAK,IAAI,CAACD,MAAM,CAACC;YACjB,YAAY;YACZF,UAAU,IAAI,CAACC,MAAM,CAACJ,OAAOG,QAAQ;YACrCD,OAAOF,OAAOE,KAAK;YACnB,gBAAgB;YAChBqC,WAAW,CAACrD,cAAcc,OAAOuC,SAAS,GAAG;YAC7C/B,YAAY9B,QAAQ8B,UAAU;YAC9BD,cAAcP,OAAOO,YAAY;QACnC;IAEJ;IAEQR,iBAAiBrB,OAAoB,EAAE;QAC7C,IAAI,CAACA,QAAQI,IAAI,EAAEgB,UAAU;YAC3B;QACF;QAEA,MAAME,SAAS/B,KACb;YAAC;YAAU;SAAa,EACxBS;QAEF,MAAM,EAAEK,QAAQ,EAAE,GAAGiB;QACrB,MAAMK,MAAM,IAAI,CAAC8B,OAAO,CAACC,MAAM,GAAIrD,CAAAA,SAASsD,MAAM,IAAI,CAAA;QAEtD,MAAMI,gBAAgBxE,KACpB;YAAC;YAAU;SAAU,EACrBS;QAGF,MAAMgE,MAAM,IAAIC,IAAIjE,QAAQI,IAAI,CAACgB,QAAQ,CAAC8C,IAAI;QAE9C,MAAMC,eAAeH,IAAIG,YAAY;QACrCA,aAAaC,MAAM,CAAC,OAAOpE,QAAQI,IAAI,CAACgB,QAAQ,CAACiD,IAAI;QAErDL,IAAIM,MAAM,GAAGH,aAAaI,QAAQ;QAElC/E,QAAQ,IAAI,CAACgF,GAAG,EAAE;YAChBC,MAAM,IAAI,CAAC/C,MAAM,CAAC,IAAI,CAAC5B,WAAW;YAClC4E,SAAS,IAAI,CAAChD,MAAM,CAAC;YACrBE,MAAM,IAAI,CAACF,MAAM,CAACrB,SAASuB,IAAI;YAC/BD,KAAK,IAAI,CAACD,MAAM,CAACC,MAAM,IAAI,CAAC7B,WAAW;YACvCM,MAAM,CAAC,EAAE4D,IAAIO,QAAQ,GAAG,CAAC;QAC3B;QAEA,IAAI,CAAChD,SAAS,CAACvB,QAAQI,IAAI,CAACgB,QAAQ,CAACuD,MAAM,EAAE;YAC3C/C,MAAM,IAAI,CAACF,MAAM,CAACrB,SAASuB,IAAI,GAAI;YACnCD,KAAK,IAAI,CAACD,MAAM,CAACC,MAAM,IAAI,CAAC7B,WAAW;YACvC2B,UAAU,IAAI,CAACC,MAAM,CAAC;YACtBF,OAAOxB,QAAQ4D,UAAU,IAAI,IAAI,CAACjE,oBAAoB;YACtDmC,YAAY9B,QAAQ8B,UAAU;YAC9BD,cAAc;QAChB;QAEA,IAAI,CAACN,SAAS,CAAC,iBAAiB;YAC9BK,MAAM,IAAI,CAACF,MAAM,CAACrB,SAASuB,IAAI,GAAI;YACnCD,KAAK,IAAI,CAACD,MAAM,CAACC,MAAM;YACvBF,UAAU,IAAI,CAACC,MAAM,CAAC;YACtBF,OAAOF,OAAOE,KAAK;YACnBM,YAAY9B,QAAQ8B,UAAU;YAC9BD,cAAc;QAChB;QAEA,IAAI,CAACN,SAAS,CAACvB,QAAQI,IAAI,CAACgB,QAAQ,CAACiD,IAAI,EAAE;YACzCzC,MAAM,IAAI,CAACF,MAAM,CAACrB,SAASuB,IAAI,GAAI;YACnCD,KAAK,IAAI,CAACD,MAAM,CAACC;YACjBF,UAAU,IAAI,CAACC,MAAM,CAAC;YACtBF,OAAOuC,cAAcvC,KAAK;YAC1BM,YAAY9B,QAAQ8B,UAAU;YAC9BD,cAAc;QAChB;IACF;IAEQN,UACNqD,GAAW,EACX5E,OASC,EACDwD,cAAuB,KAAK,EACf;QACb,IAAIqB;QACJ,MAAM,EACJjD,OAAO,EAAE,EACTD,MAAM,EAAE,EACRF,WAAW,EAAE,EACbgB,aAAa,GAAG,EAChBjB,QAAQ,OAAO,EACfK,eAAe,QAAQ,EACvBgC,YAAY,OAAO,EACpB,GAAG7D,WAAW,CAAC;QAEhB,IAAI,CAACwE,GAAG,CAACM,IAAI;QACb,wHAAwH;QACxH,IAAI,CAACN,GAAG,CAACO,IAAI,GAAG,CAAC,EAAEtC,WAAW,CAAC,EAAEhB,SAAS,GAAG,EAAEzB,SAAS8B,WAAW,CAAC;QAEpE,IAAI,CAAC0C,GAAG,CAACQ,SAAS,GAAGxD;QACrB,IAAI,CAACgD,GAAG,CAAC3C,YAAY,GAAGA;QACxB,IAAI,CAAC2C,GAAG,CAACX,SAAS,GAAGA;QACrBgB,cAAc,IAAI,CAACL,GAAG,CAACS,WAAW,CAACL;QAEnC,IAAI,CAACpB,aAAa;YAChB,IAAI,CAACgB,GAAG,CAACU,QAAQ,CAACN,KAAKhD,MAAMD;QAC/B;QACA,IAAI,CAAC6C,GAAG,CAACW,OAAO;QAEhB,OAAON;IACT;IAEQrE,YAAYR,OAAoB,EAAW;QACjD,OAAO,OAAOA,QAAQI,IAAI,EAAEgB,aAAa;IAC3C;IAEQM,OAAO0D,GAAW,EAAE;QAC1B,OAAOA,MAAM,IAAI,CAAC3B,OAAO,CAAC4B,KAAK;IACjC;AACF"}
|
package/esm/version.d.ts
CHANGED
package/esm/version.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
if (typeof window !== 'undefined') {
|
|
2
2
|
window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};
|
|
3
|
-
window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "1.5.
|
|
3
|
+
window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "1.5.11";
|
|
4
4
|
}
|
|
5
|
-
export default "1.5.
|
|
5
|
+
export default "1.5.11";
|
|
6
6
|
|
|
7
7
|
//# sourceMappingURL=version.js.map
|
package/esm/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/version.ts"],"sourcesContent":["\ndeclare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif(typeof window !== 'undefined') {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@orderly.network/hooks\"] = \"1.5.
|
|
1
|
+
{"version":3,"sources":["../src/version.ts"],"sourcesContent":["\ndeclare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif(typeof window !== 'undefined') {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@orderly.network/hooks\"] = \"1.5.11\";\n};\n\nexport default \"1.5.11\";\n"],"names":["window","__ORDERLY_VERSION__"],"rangeMappings":";;;;","mappings":"AAQA,IAAG,OAAOA,WAAW,aAAa;IAC9BA,OAAOC,mBAAmB,GAAGD,OAAOC,mBAAmB,IAAI,CAAC;IAC5DD,OAAOC,mBAAmB,CAAC,yBAAyB,GAAG;AAC3D;AAEA,eAAe,SAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMarkets.d.ts","sourceRoot":"","sources":["../../src/orderly/useMarkets.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAI7C,oBAAY,WAAW;IACnB,SAAS,IAAA;IACT,MAAM,IAAA;IACN,GAAG,IAAA;CACN;AAuBD,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,UAAU,SAAU,WAAW;;;;cARlC,MAAM;;;
|
|
1
|
+
{"version":3,"file":"useMarkets.d.ts","sourceRoot":"","sources":["../../src/orderly/useMarkets.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAI7C,oBAAY,WAAW;IACnB,SAAS,IAAA;IACT,MAAM,IAAA;IACN,GAAG,IAAA;CACN;AAuBD,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,UAAU,SAAU,WAAW;;;;cARlC,MAAM;;;oCA6PkB,IAAI,aAAa;uCAhKd,WAAW,GAAG,WAAW,EAAE,aAAa;QACrE,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;KACpB;iDAgK0C,IAAI,aAAa,OAAO,WAAW,GAAG,WAAW,EAAE,QAAO,OAAO;gCAMlF,IAAI,aAAa;;8CAyBH,WAAW;EAsBtD,CAAA"}
|
|
@@ -114,6 +114,22 @@ const useMarkets = (type)=>{
|
|
|
114
114
|
const [favoriteTabs, setFavoriteTabs] = (0, _react.useState)(getFavoriteTabs);
|
|
115
115
|
const [favorites, setFavorites] = (0, _react.useState)(getFavorites);
|
|
116
116
|
const [recent, setRecent] = (0, _react.useState)(getRecent);
|
|
117
|
+
const getLastSelFavTab = ()=>{
|
|
118
|
+
// @ts-ignore
|
|
119
|
+
const curData = configStore.get(marketsKey)["lastSelectedFavoriteTab"];
|
|
120
|
+
return curData || {
|
|
121
|
+
name: "Popular",
|
|
122
|
+
id: 1
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
const saveInfo = (opions)=>{
|
|
126
|
+
configStore.set(marketsKey, {
|
|
127
|
+
recent: opions?.newRecent ?? recent,
|
|
128
|
+
favorites: opions?.newFavorites ?? favorites,
|
|
129
|
+
favoriteTabs: opions?.newFavoriteTabs ?? favoriteTabs,
|
|
130
|
+
lastSelectFavoriteTab: getLastSelFavTab()
|
|
131
|
+
});
|
|
132
|
+
};
|
|
117
133
|
const updateFavoriteTabs = (tab, operator)=>{
|
|
118
134
|
const saveTabs = (tabs)=>{
|
|
119
135
|
setFavoriteTabs(tabs);
|
|
@@ -257,6 +273,26 @@ const useMarkets = (type)=>{
|
|
|
257
273
|
};
|
|
258
274
|
}
|
|
259
275
|
}
|
|
276
|
+
if (type === 1) {
|
|
277
|
+
const newRecent = filter?.map((e)=>({
|
|
278
|
+
name: e.symbol
|
|
279
|
+
})) ?? [];
|
|
280
|
+
if (newRecent.length !== recent.length) {
|
|
281
|
+
setRecent(newRecent);
|
|
282
|
+
saveInfo({
|
|
283
|
+
newRecent
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
} else if (type === 0) {
|
|
287
|
+
const symbols = data?.map((e)=>e.symbol);
|
|
288
|
+
const newFavorites = favorites.filter((e)=>symbols?.includes(e.name));
|
|
289
|
+
if (newFavorites.length != favorites.length) {
|
|
290
|
+
setFavorites(newFavorites);
|
|
291
|
+
saveInfo({
|
|
292
|
+
newFavorites
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
}
|
|
260
296
|
return filter;
|
|
261
297
|
};
|
|
262
298
|
const addToHistory = (symbol)=>{
|
|
@@ -287,14 +323,6 @@ const useMarkets = (type)=>{
|
|
|
287
323
|
}, [
|
|
288
324
|
favoriteTabs
|
|
289
325
|
]);
|
|
290
|
-
const getLastSelFavTab = ()=>{
|
|
291
|
-
// @ts-ignore
|
|
292
|
-
const curData = configStore.get(marketsKey)["lastSelectedFavoriteTab"];
|
|
293
|
-
return curData || {
|
|
294
|
-
name: "Popular",
|
|
295
|
-
id: 1
|
|
296
|
-
};
|
|
297
|
-
};
|
|
298
326
|
const updateSelectedFavoriteTab = (tab)=>{
|
|
299
327
|
configStore.set(marketsKey, {
|
|
300
328
|
...configStore.getOr(marketsKey, {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/orderly/useMarkets.ts"],"sourcesContent":["import { useCallback, useContext, useMemo, useState } from \"react\";\nimport { useMarketsStream } from \"./useMarketsStream\";\nimport { OrderlyContext } from \"../orderlyContext\";\nimport { API } from \"@orderly.network/types\";\nimport { useQuery } from \"../useQuery\";\nimport { useSymbolsInfo } from \"./useSymbolsInfo\";\n\nexport enum MarketsType {\n FAVORITES,\n RECENT,\n ALL,\n}\n\n\n/*\n{\n markets: {\n recent: [\n { \"name\": `${symbol.name}` },\n { \"name\": `${symbol.name}` },\n ],\n favorites: [\n { \"name\": `${symbol.name}`, \"tabs\": [{ \"name\": \"Popular\", \"id\": 1 }] },\n ],\n favoriteTabs: [\n { \"name\": \"Popular\", \"id\": 1 },\n ],\n \"lastSelectFavoriteTab\": { \"name\": \"Popular\", \"id\": 1 }\n \n }\n}\n*/\n\n\nexport interface FavoriteTab {\n name: string;\n id: number;\n}\n\nexport interface Favorite {\n name: string;\n tabs: FavoriteTab[];\n}\n\nexport interface Recent {\n name: string;\n}\n\nexport const useMarkets = (type: MarketsType) => {\n\n const marketsKey = \"markets\";\n\n const { data } = useMarketsStream();\n const { configStore } = useContext(OrderlyContext);\n\n // {\"PERP_ETH_USDC\": {}, ...}\n const publicInfo = useSymbolsInfo();\n\n if (!configStore.get(marketsKey)) {\n const jsonStr = localStorage.getItem(marketsKey);\n if (jsonStr) {\n configStore.set(marketsKey, JSON.parse(jsonStr));\n } else {\n const defaultTab = { name: \"Popular\", id: 1 };\n configStore.set(marketsKey, {\n recent: [],\n favorites: [\n { name: \"PERP_ETH_USDC\", tabs: [{ ...defaultTab }] },\n { name: \"PERP_BTC_USDC\", tabs: [{ ...defaultTab }] },\n ],\n favoriteTabs: [{ ...defaultTab }],\n lastSelectFavoriteTab: { ...defaultTab }\n });\n }\n }\n\n const getFavoriteTabs = useMemo(() => {\n // @ts-ignore\n const tabs = configStore.get(marketsKey)[\"favoriteTabs\"];\n return (tabs || [{ name: \"Popular\", id: 1 }]) as FavoriteTab[];\n }, []);\n\n const getFavorites = useMemo(() => {\n // @ts-ignore\n const curData = (configStore.get(marketsKey,)[\"favorites\"] || []) as Favorite[];\n const tabs = getFavoriteTabs;\n const result = [];\n for (let index = 0; index < curData.length; index++) {\n const favData = curData[index];\n var favTabs = favData.tabs.filter((tab) => tabs.findIndex((item) => tab.id === item.id) !== -1);\n if (favTabs.length > 0) {\n result.push({ ...favData, tabs: favTabs })\n }\n\n }\n configStore.set(marketsKey, { ...configStore.getOr(marketsKey, {}), favorites: result });\n // localStorage.setItem(marketsKey, JSON.stringify(configStore.get(marketsKey)));\n\n return result;\n }, [configStore]);\n\n const getRecent = useMemo(() => {\n // @ts-ignore\n const curData = configStore.get(marketsKey)[\"recent\"];\n return ((curData || []) as Recent[]).filter((e) => e);\n }, []);\n\n const [favoriteTabs, setFavoriteTabs] = useState(getFavoriteTabs);\n const [favorites, setFavorites] = useState(getFavorites);\n const [recent, setRecent] = useState(getRecent);\n\n const updateFavoriteTabs = (tab: FavoriteTab | FavoriteTab[], operator?: {\n add?: boolean,\n update?: boolean,\n delete?: boolean,\n }) => {\n\n const saveTabs = (tabs: FavoriteTab[]) => {\n setFavoriteTabs(tabs);\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n \"favoriteTabs\": tabs\n });\n };\n\n if (Array.isArray(tab)) {\n saveTabs(tab);\n return;\n }\n\n var tabs = [...favoriteTabs];\n const index = tabs.findIndex((item) => item.id === tab.id);\n if (operator?.add) {\n tabs.push(tab);\n } else if (operator?.update) {\n if (index !== -1) {\n tabs[index] = tab;\n }\n } else if (operator?.delete) {\n if (index !== -1) {\n tabs.splice(index, 1);\n\n }\n }\n saveTabs(tabs);\n };\n\n const setRecentData = (symbol: API.MarketInfoExt) => {\n const curData = [...recent];\n const index = curData.findIndex((item) => item.name == symbol.symbol);\n if (index !== -1) {\n curData.splice(index, 1);\n }\n curData.unshift({ name: symbol.symbol });\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n \"recent\": curData\n });\n setRecent(curData);\n };\n\n\n\n const setFavoritesData = (symbol: API.MarketInfoExt, tab: FavoriteTab | FavoriteTab[], remove: boolean = false) => {\n\n const curData = [...favorites];\n const index = curData.findIndex((item) => item.name == symbol.symbol);\n\n if (index === -1) { // can not find\n if (Array.isArray(tab)) {\n if (tab.length > 0) {\n curData.unshift({ name: symbol.symbol, tabs: tab });\n }\n } else {\n if (!remove) {\n // insert\n curData.unshift({ name: symbol.symbol, tabs: [tab] });\n }\n }\n\n } else {\n const favorite = curData[index];\n if (Array.isArray(tab)) {\n if (tab.length === 0) {\n // remove\n curData.splice(index, 1);\n } else {\n // overrides\n curData[index] = { ...favorite, tabs: tab };\n }\n } else {\n if (remove) {\n const tabs = favorite.tabs.filter((tab) => tab.id != tab.id);\n if (tabs.length === 0) { // del favorite\n curData.splice(index, 1);\n } else {\n curData[index] = { ...favorite, tabs };\n }\n } else { // insert\n const tabs = favorite.tabs;\n tabs.push(tab);\n curData[index] = { ...favorite, tabs };\n }\n }\n }\n\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n \"favorites\": curData\n });\n setFavorites(() => curData);\n };\n\n const getData = (type: MarketsType) => {\n\n\n // get data\n const localData = type === MarketsType.FAVORITES ? [...favorites] : [...recent];\n // filter\n const keys = localData.map((item) => item.name);\n const filter = type == MarketsType.ALL ?\n data :\n data?.filter((item) => keys.includes(item.symbol));\n\n const favoritesData = [...favorites];\n const favoriteKeys = favoritesData.map((item) => item.name);\n if (filter) {\n for (let index = 0; index < filter.length; index++) {\n const element = filter[index];\n const isFavorite = type == MarketsType.FAVORITES ?\n true :\n (favoriteKeys.includes(element.symbol));\n\n const fIndex = favoritesData.findIndex((item) => item.name === element.symbol);\n const tabs = fIndex === -1 ? [] : favoritesData[fIndex].tabs;\n\n let imr = undefined;\n if (publicInfo) {\n imr= publicInfo?.[element.symbol](\"base_imr\");\n }\n \n filter[index] = {\n ...filter[index],\n // @ts-ignore\n isFavorite,\n tabs,\n leverage: imr ? 1 / imr : undefined\n };\n }\n }\n\n return filter;\n\n };\n\n const addToHistory = (symbol: API.MarketInfoExt) => {\n setRecentData(symbol);\n };\n\n const updateSymbolFavoriteState = (symbol: API.MarketInfoExt, tab: FavoriteTab | FavoriteTab[], del: boolean = false) => {\n setFavoritesData(symbol, tab, del);\n };\n\n const markets = getData(type);\n\n const pinToTop = (symbol: API.MarketInfoExt) => {\n const index = favorites.findIndex((item) => item.name === symbol.symbol);\n if (index !== -1) {\n const element = favorites[index];\n const list = [...favorites];\n list.splice(index, 1);\n list.unshift(element);\n\n\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n \"favorites\": list\n });\n setFavorites(list);\n }\n };\n\n\n const tabs = useMemo(() => {\n return favoriteTabs;\n }, [favoriteTabs]);\n\n\n const getLastSelFavTab = () => {\n // @ts-ignore\n const curData = configStore.get(marketsKey)[\"lastSelectedFavoriteTab\"];\n return (curData || { name: \"Popular\", id: 1 }) as FavoriteTab;\n };\n\n const updateSelectedFavoriteTab = (tab: FavoriteTab) => {\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n lastSelectedFavoriteTab: tab\n });\n };\n\n return [\n markets || [],\n {\n favoriteTabs: tabs,\n favorites,\n recent,\n addToHistory,\n // updateFavoriteTabs(\"tab\", operator: {add/update/delete})\n updateFavoriteTabs,\n updateSymbolFavoriteState,\n pinToTop,\n getLastSelFavTab,\n updateSelectedFavoriteTab,\n },\n ] as const;\n}"],"names":["useMarkets","MarketsType","type","marketsKey","data","useMarketsStream","configStore","useContext","OrderlyContext","publicInfo","useSymbolsInfo","get","jsonStr","localStorage","getItem","set","JSON","parse","defaultTab","name","id","recent","favorites","tabs","favoriteTabs","lastSelectFavoriteTab","getFavoriteTabs","useMemo","getFavorites","curData","result","index","length","favData","favTabs","filter","tab","findIndex","item","push","getOr","getRecent","e","setFavoriteTabs","useState","setFavorites","setRecent","updateFavoriteTabs","operator","saveTabs","Array","isArray","add","update","delete","splice","setRecentData","symbol","unshift","setFavoritesData","remove","favorite","getData","localData","keys","map","includes","favoritesData","favoriteKeys","element","isFavorite","fIndex","imr","undefined","leverage","addToHistory","updateSymbolFavoriteState","del","markets","pinToTop","list","getLastSelFavTab","updateSelectedFavoriteTab","lastSelectedFavoriteTab"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/orderly/useMarkets.ts"],"sourcesContent":["import { useCallback, useContext, useMemo, useState } from \"react\";\nimport { useMarketsStream } from \"./useMarketsStream\";\nimport { OrderlyContext } from \"../orderlyContext\";\nimport { API } from \"@orderly.network/types\";\nimport { useQuery } from \"../useQuery\";\nimport { useSymbolsInfo } from \"./useSymbolsInfo\";\n\nexport enum MarketsType {\n FAVORITES,\n RECENT,\n ALL,\n}\n\n\n/*\n{\n markets: {\n recent: [\n { \"name\": `${symbol.name}` },\n { \"name\": `${symbol.name}` },\n ],\n favorites: [\n { \"name\": `${symbol.name}`, \"tabs\": [{ \"name\": \"Popular\", \"id\": 1 }] },\n ],\n favoriteTabs: [\n { \"name\": \"Popular\", \"id\": 1 },\n ],\n \"lastSelectFavoriteTab\": { \"name\": \"Popular\", \"id\": 1 }\n \n }\n}\n*/\n\n\nexport interface FavoriteTab {\n name: string;\n id: number;\n}\n\nexport interface Favorite {\n name: string;\n tabs: FavoriteTab[];\n}\n\nexport interface Recent {\n name: string;\n}\n\nexport const useMarkets = (type: MarketsType) => {\n\n const marketsKey = \"markets\";\n\n const { data } = useMarketsStream();\n const { configStore } = useContext(OrderlyContext);\n\n // {\"PERP_ETH_USDC\": {}, ...}\n const publicInfo = useSymbolsInfo();\n\n if (!configStore.get(marketsKey)) {\n const jsonStr = localStorage.getItem(marketsKey);\n if (jsonStr) {\n configStore.set(marketsKey, JSON.parse(jsonStr));\n } else {\n const defaultTab = { name: \"Popular\", id: 1 };\n configStore.set(marketsKey, {\n recent: [],\n favorites: [\n { name: \"PERP_ETH_USDC\", tabs: [{ ...defaultTab }] },\n { name: \"PERP_BTC_USDC\", tabs: [{ ...defaultTab }] },\n ],\n favoriteTabs: [{ ...defaultTab }],\n lastSelectFavoriteTab: { ...defaultTab }\n });\n }\n }\n\n const getFavoriteTabs = useMemo(() => {\n // @ts-ignore\n const tabs = configStore.get(marketsKey)[\"favoriteTabs\"];\n return (tabs || [{ name: \"Popular\", id: 1 }]) as FavoriteTab[];\n }, []);\n\n const getFavorites = useMemo(() => {\n // @ts-ignore\n const curData = (configStore.get(marketsKey,)[\"favorites\"] || []) as Favorite[];\n const tabs = getFavoriteTabs;\n const result = [];\n for (let index = 0; index < curData.length; index++) {\n const favData = curData[index];\n var favTabs = favData.tabs.filter((tab) => tabs.findIndex((item) => tab.id === item.id) !== -1);\n if (favTabs.length > 0) {\n result.push({ ...favData, tabs: favTabs })\n }\n\n }\n configStore.set(marketsKey, { ...configStore.getOr(marketsKey, {}), favorites: result });\n // localStorage.setItem(marketsKey, JSON.stringify(configStore.get(marketsKey)));\n\n return result;\n }, [configStore]);\n\n const getRecent = useMemo(() => {\n // @ts-ignore\n const curData = configStore.get(marketsKey)[\"recent\"];\n return ((curData || []) as Recent[]).filter((e) => e);\n }, []);\n\n const [favoriteTabs, setFavoriteTabs] = useState(getFavoriteTabs);\n const [favorites, setFavorites] = useState(getFavorites);\n const [recent, setRecent] = useState(getRecent);\n\n const getLastSelFavTab = () => {\n // @ts-ignore\n const curData = configStore.get(marketsKey)[\"lastSelectedFavoriteTab\"];\n return (curData || { name: \"Popular\", id: 1 }) as FavoriteTab;\n };\n\n const saveInfo = (opions?: {\n newRecent?: Recent[];\n newFavorites?: {\n tabs: FavoriteTab[];\n name: string;\n }[];\n newFavoriteTabs?: FavoriteTab[];\n }) => {\n configStore.set(marketsKey, {\n recent: opions?.newRecent ?? recent,\n favorites: opions?.newFavorites ?? favorites,\n favoriteTabs: opions?.newFavoriteTabs ?? favoriteTabs,\n lastSelectFavoriteTab: getLastSelFavTab(),\n });\n };\n\n const updateFavoriteTabs = (tab: FavoriteTab | FavoriteTab[], operator?: {\n add?: boolean,\n update?: boolean,\n delete?: boolean,\n }) => {\n\n const saveTabs = (tabs: FavoriteTab[]) => {\n setFavoriteTabs(tabs);\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n \"favoriteTabs\": tabs\n });\n };\n\n if (Array.isArray(tab)) {\n saveTabs(tab);\n return;\n }\n\n var tabs = [...favoriteTabs];\n const index = tabs.findIndex((item) => item.id === tab.id);\n if (operator?.add) {\n tabs.push(tab);\n } else if (operator?.update) {\n if (index !== -1) {\n tabs[index] = tab;\n }\n } else if (operator?.delete) {\n if (index !== -1) {\n tabs.splice(index, 1);\n\n }\n }\n saveTabs(tabs);\n };\n\n const setRecentData = (symbol: API.MarketInfoExt) => {\n const curData = [...recent];\n const index = curData.findIndex((item) => item.name == symbol.symbol);\n if (index !== -1) {\n curData.splice(index, 1);\n }\n curData.unshift({ name: symbol.symbol });\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n \"recent\": curData\n });\n setRecent(curData);\n };\n\n\n\n const setFavoritesData = (symbol: API.MarketInfoExt, tab: FavoriteTab | FavoriteTab[], remove: boolean = false) => {\n\n const curData = [...favorites];\n const index = curData.findIndex((item) => item.name == symbol.symbol);\n\n if (index === -1) { // can not find\n if (Array.isArray(tab)) {\n if (tab.length > 0) {\n curData.unshift({ name: symbol.symbol, tabs: tab });\n }\n } else {\n if (!remove) {\n // insert\n curData.unshift({ name: symbol.symbol, tabs: [tab] });\n }\n }\n\n } else {\n const favorite = curData[index];\n if (Array.isArray(tab)) {\n if (tab.length === 0) {\n // remove\n curData.splice(index, 1);\n } else {\n // overrides\n curData[index] = { ...favorite, tabs: tab };\n }\n } else {\n if (remove) {\n const tabs = favorite.tabs.filter((tab) => tab.id != tab.id);\n if (tabs.length === 0) { // del favorite\n curData.splice(index, 1);\n } else {\n curData[index] = { ...favorite, tabs };\n }\n } else { // insert\n const tabs = favorite.tabs;\n tabs.push(tab);\n curData[index] = { ...favorite, tabs };\n }\n }\n }\n\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n \"favorites\": curData\n });\n setFavorites(() => curData);\n };\n\n const getData = (type: MarketsType) => {\n\n\n // get data\n const localData = type === MarketsType.FAVORITES ? [...favorites] : [...recent];\n // filter\n const keys = localData.map((item) => item.name);\n const filter = type == MarketsType.ALL ?\n data :\n data?.filter((item) => keys.includes(item.symbol));\n\n const favoritesData = [...favorites];\n const favoriteKeys = favoritesData.map((item) => item.name);\n if (filter) {\n for (let index = 0; index < filter.length; index++) {\n const element = filter[index];\n const isFavorite = type == MarketsType.FAVORITES ?\n true :\n (favoriteKeys.includes(element.symbol));\n\n const fIndex = favoritesData.findIndex((item) => item.name === element.symbol);\n const tabs = fIndex === -1 ? [] : favoritesData[fIndex].tabs;\n\n let imr = undefined;\n if (publicInfo) {\n imr= publicInfo?.[element.symbol](\"base_imr\");\n }\n \n filter[index] = {\n ...filter[index],\n // @ts-ignore\n isFavorite,\n tabs,\n leverage: imr ? 1 / imr : undefined\n };\n }\n }\n\n\n if (type === MarketsType.RECENT) {\n const newRecent = filter?.map((e) => ({ name: e.symbol })) ?? [];\n if (newRecent.length !== recent.length) {\n setRecent(newRecent);\n saveInfo({ newRecent });\n }\n } else if (type === MarketsType.FAVORITES) {\n const symbols = data?.map((e) => e.symbol);\n const newFavorites = favorites.filter((e) => symbols?.includes(e.name));\n if (newFavorites.length != favorites.length) {\n setFavorites(newFavorites);\n saveInfo({ newFavorites });\n }\n }\n\n return filter;\n\n };\n\n const addToHistory = (symbol: API.MarketInfoExt) => {\n setRecentData(symbol);\n };\n\n const updateSymbolFavoriteState = (symbol: API.MarketInfoExt, tab: FavoriteTab | FavoriteTab[], del: boolean = false) => {\n setFavoritesData(symbol, tab, del);\n };\n\n const markets = getData(type);\n\n const pinToTop = (symbol: API.MarketInfoExt) => {\n const index = favorites.findIndex((item) => item.name === symbol.symbol);\n if (index !== -1) {\n const element = favorites[index];\n const list = [...favorites];\n list.splice(index, 1);\n list.unshift(element);\n\n\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n \"favorites\": list\n });\n setFavorites(list);\n }\n };\n\n\n const tabs = useMemo(() => {\n return favoriteTabs;\n }, [favoriteTabs]);\n\n\n \n\n const updateSelectedFavoriteTab = (tab: FavoriteTab) => {\n configStore.set(marketsKey, {\n ...configStore.getOr(marketsKey, {}),\n lastSelectedFavoriteTab: tab\n });\n };\n\n return [\n markets || [],\n {\n favoriteTabs: tabs,\n favorites,\n recent,\n addToHistory,\n // updateFavoriteTabs(\"tab\", operator: {add/update/delete})\n updateFavoriteTabs,\n updateSymbolFavoriteState,\n pinToTop,\n getLastSelFavTab,\n updateSelectedFavoriteTab,\n },\n ] as const;\n}"],"names":["useMarkets","MarketsType","type","marketsKey","data","useMarketsStream","configStore","useContext","OrderlyContext","publicInfo","useSymbolsInfo","get","jsonStr","localStorage","getItem","set","JSON","parse","defaultTab","name","id","recent","favorites","tabs","favoriteTabs","lastSelectFavoriteTab","getFavoriteTabs","useMemo","getFavorites","curData","result","index","length","favData","favTabs","filter","tab","findIndex","item","push","getOr","getRecent","e","setFavoriteTabs","useState","setFavorites","setRecent","getLastSelFavTab","saveInfo","opions","newRecent","newFavorites","newFavoriteTabs","updateFavoriteTabs","operator","saveTabs","Array","isArray","add","update","delete","splice","setRecentData","symbol","unshift","setFavoritesData","remove","favorite","getData","localData","keys","map","includes","favoritesData","favoriteKeys","element","isFavorite","fIndex","imr","undefined","leverage","symbols","addToHistory","updateSymbolFavoriteState","del","markets","pinToTop","list","updateSelectedFavoriteTab","lastSelectedFavoriteTab"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDaily.d.ts","sourceRoot":"","sources":["../../src/referral/useDaily.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDaily.d.ts","sourceRoot":"","sources":["../../src/referral/useDaily.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,eAAO,MAAM,QAAQ,aAAc;IAE/B,SAAS,CAAC,EAAE,IAAI,CAAC;IAEjB,OAAO,CAAC,EAAE,IAAI,CAAA;CACjB;;YAEW,GAAG;CAsBd,CAAA"}
|
package/lib/referral/useDaily.js
CHANGED
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "useDaily", {
|
|
|
8
8
|
return useDaily;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
const _ramda = require("ramda");
|
|
11
12
|
const _usePrivateQuery = require("../usePrivateQuery");
|
|
12
13
|
const _format = require("./format");
|
|
13
14
|
const useDaily = (options)=>{
|
|
@@ -16,7 +17,7 @@ const useDaily = (options)=>{
|
|
|
16
17
|
const startDate = options?.endDate || new Date(Date.now() - 86400000 * 30);
|
|
17
18
|
const start_date = (0, _format.formatDate)(startDate);
|
|
18
19
|
const end_date = (0, _format.formatDate)(endDate);
|
|
19
|
-
const url = `${path}?start_date=${start_date}&end_date=${end_date}`;
|
|
20
|
+
const url = `${path}?start_date=${(0, _ramda.min)(start_date, end_date)}&end_date=${(0, _ramda.max)(start_date, end_date)}`;
|
|
20
21
|
const { data: dailyVolume, mutate } = (0, _usePrivateQuery.usePrivateQuery)(url, {
|
|
21
22
|
revalidateOnFocus: true
|
|
22
23
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/referral/useDaily.ts"],"sourcesContent":["\nimport { usePrivateQuery } from \"../usePrivateQuery\";\nimport { RefferalAPI } from \"./api\";\nimport { formatDate } from \"./format\";\nexport const useDaily = (options?: {\n //** default Date() - 30d */\n startDate?: Date,\n //** default Date() */\n endDate?: Date\n}): {\n data?: RefferalAPI.DayliVolume[],\n mutate: any,\n} => {\n\n const path = \"/v1/volume/user/daily\";\n const endDate = options?.startDate || new Date();\n const startDate = options?.endDate || new Date(Date.now() - 86400000 * 30);\n\n const start_date = formatDate(startDate);\n const end_date = formatDate(endDate);\n\n const url = `${path}?start_date=${start_date}&end_date=${end_date}`;\n const {\n data: dailyVolume,\n mutate,\n } = usePrivateQuery<RefferalAPI.DayliVolume[]>(url, {\n revalidateOnFocus: true\n });\n\n return {\n data: dailyVolume,\n mutate,\n }\n}\n\n\n\n"],"names":["useDaily","options","path","endDate","startDate","Date","now","start_date","formatDate","end_date","url","data","dailyVolume","mutate","usePrivateQuery","revalidateOnFocus"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/referral/useDaily.ts"],"sourcesContent":["\nimport { max, min } from \"ramda\";\nimport { usePrivateQuery } from \"../usePrivateQuery\";\nimport { RefferalAPI } from \"./api\";\nimport { formatDate } from \"./format\";\nexport const useDaily = (options?: {\n //** default Date() - 30d */\n startDate?: Date,\n //** default Date() */\n endDate?: Date\n}): {\n data?: RefferalAPI.DayliVolume[],\n mutate: any,\n} => {\n\n const path = \"/v1/volume/user/daily\";\n const endDate = options?.startDate || new Date();\n const startDate = options?.endDate || new Date(Date.now() - 86400000 * 30);\n\n const start_date = formatDate(startDate);\n const end_date = formatDate(endDate);\n\n const url = `${path}?start_date=${min(start_date, end_date)}&end_date=${max(start_date, end_date)}`;\n const {\n data: dailyVolume,\n mutate,\n } = usePrivateQuery<RefferalAPI.DayliVolume[]>(url, {\n revalidateOnFocus: true\n });\n\n return {\n data: dailyVolume,\n mutate,\n }\n}\n\n\n\n\n\n"],"names":["useDaily","options","path","endDate","startDate","Date","now","start_date","formatDate","end_date","url","min","max","data","dailyVolume","mutate","usePrivateQuery","revalidateOnFocus"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAKaA;;;eAAAA;;;uBAJY;iCACO;wBAEL;AACpB,MAAMA,WAAW,CAACC;IAUrB,MAAMC,OAAO;IACb,MAAMC,UAAUF,SAASG,aAAa,IAAIC;IAC1C,MAAMD,YAAYH,SAASE,WAAW,IAAIE,KAAKA,KAAKC,GAAG,KAAK,WAAW;IAEvE,MAAMC,aAAaC,IAAAA,kBAAU,EAACJ;IAC9B,MAAMK,WAAWD,IAAAA,kBAAU,EAACL;IAE5B,MAAMO,MAAM,CAAC,EAAER,KAAK,YAAY,EAAES,IAAAA,UAAG,EAACJ,YAAYE,UAAU,UAAU,EAAEG,IAAAA,UAAG,EAACL,YAAYE,UAAU,CAAC;IACnG,MAAM,EACFI,MAAMC,WAAW,EACjBC,MAAM,EACT,GAAGC,IAAAA,gCAAe,EAA4BN,KAAK;QAChDO,mBAAmB;IACvB;IAEA,OAAO;QACHJ,MAAMC;QACNC;IACJ;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataPaint.d.ts","sourceRoot":"","sources":["../../../src/services/painter/dataPaint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAIjE,qBAAa,SAAU,SAAQ,SAAS;IACtC,OAAO,CAAC,qBAAqB,CAAO;IAEpC,OAAO,CAAC,oBAAoB,CAAoB;IAChD,OAAO,CAAC,kBAAkB,CAAsB;IAEhD,OAAO,CAAC,YAAY,CAAK;IAEzB,OAAO,CAAC,WAAW,CAAM;IAEnB,IAAI,CAAC,OAAO,EAAE,WAAW;
|
|
1
|
+
{"version":3,"file":"dataPaint.d.ts","sourceRoot":"","sources":["../../../src/services/painter/dataPaint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAIjE,qBAAa,SAAU,SAAQ,SAAS;IACtC,OAAO,CAAC,qBAAqB,CAAO;IAEpC,OAAO,CAAC,oBAAoB,CAAoB;IAChD,OAAO,CAAC,kBAAkB,CAAsB;IAEhD,OAAO,CAAC,YAAY,CAAK;IAEzB,OAAO,CAAC,WAAW,CAAM;IAEnB,IAAI,CAAC,OAAO,EAAE,WAAW;IAoD/B,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,YAAY;IA2EpB,OAAO,CAAC,iBAAiB;IAyEzB,OAAO,CAAC,gBAAgB;IAuCxB,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,gBAAgB;IAwCxB,OAAO,CAAC,gBAAgB;IA4DxB,OAAO,CAAC,SAAS;IA0CjB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,MAAM;CAGf"}
|
|
@@ -38,11 +38,13 @@ class DataPaint extends _basePaint.BasePaint {
|
|
|
38
38
|
this.drawInformations(options);
|
|
39
39
|
}
|
|
40
40
|
this.drawUnrealizedPnL(options, needDrawDetails || hasReferral ? 0 : offsetTop);
|
|
41
|
-
if (
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
if (!hasReferral) {
|
|
42
|
+
if (!!options.data?.domain) {
|
|
43
|
+
this.drawDomainUrl(options);
|
|
44
|
+
}
|
|
45
|
+
if (typeof options.data?.updateTime !== "undefined") {
|
|
46
|
+
this.drawPositionTime(options);
|
|
47
|
+
}
|
|
46
48
|
}
|
|
47
49
|
if (typeof options.data?.referral !== "undefined") {
|
|
48
50
|
this.drawReferralCode(options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/painter/dataPaint.ts"],"sourcesContent":["import { commify } from \"@orderly.network/utils\";\nimport { BasePaint, DrawOptions, layoutInfo } from \"./basePaint\";\nimport { path } from \"ramda\";\nimport { qrPaint } from \"./qrPaint\";\n\nexport class DataPaint extends BasePaint {\n private positionInfoCellWidth = 110;\n\n private DEFAULT_PROFIT_COLOR = \"rgb(0,181,159)\";\n private DEFAULT_LOSS_COLOR = \"rgb(255,103,194)\";\n\n private transformTop = 0;\n\n private QRCODE_SIZE = 56;\n\n async draw(options: DrawOptions) {\n const needDrawDetails =\n Array.isArray(options.data?.position?.informations) &&\n (options.data?.position?.informations?.length ?? 0) > 0;\n\n const hasReferral = this.hasReferral(options);\n\n // const hasMessage = !!options.data?.message;\n const hasMessage = true;\n\n this.transformTop = hasMessage ? 0 : needDrawDetails ? -40 : -150;\n\n // If position details are not displayed, the position PNL information will be margin\n // const offsetTop = hasMessage ? 50 : 100;\n const offsetTop = 0; // 100;\n // const offsetMessage = hasMessage ? 0 : -50;\n\n if (!!options.data?.message) {\n this.drawMessage(options);\n }\n\n if (!!options.data?.position) {\n this.drawPosition(\n options,\n needDrawDetails || hasReferral ? 0 : offsetTop\n );\n }\n\n if (needDrawDetails) {\n this.drawInformations(options);\n }\n\n this.drawUnrealizedPnL(\n options,\n needDrawDetails || hasReferral ? 0 : offsetTop\n );\n\n if (!!options.data?.domain) {\n this.drawDomainUrl(options);\n }\n\n if (typeof options.data?.updateTime !== \"undefined\") {\n this.drawPositionTime(options);\n }\n\n if (typeof options.data?.referral !== \"undefined\") {\n this.drawReferralCode(options);\n }\n }\n\n private drawMessage(options: DrawOptions) {\n // console.log(\"draw message\", options);\n\n const layout = path<layoutInfo>(\n [\"layout\", \"message\"],\n options\n ) as layoutInfo;\n const { position } = layout;\n\n this._drawText(`\"${options.data?.message!}\"`, {\n color: layout.color,\n fontSize: this._ratio(layout.fontSize as number),\n top: this._ratio(position.top!),\n left: this._ratio(position.left!),\n textBaseline: \"top\",\n fontFamily: options.fontFamily,\n });\n }\n private drawPosition(options: DrawOptions, offsetTop: number = 0) {\n const layout = path<layoutInfo>(\n [\"layout\", \"position\"],\n options\n ) as layoutInfo;\n const { position, fontSize = 14 } = layout;\n let left = this._ratio(position.left!);\n\n let top = layout.position.top! + offsetTop + this.transformTop;\n let prevElementBoundingBox: TextMetrics = {} as TextMetrics;\n\n // draw position side;\n\n if (typeof options.data?.position.side !== \"undefined\") {\n prevElementBoundingBox = this._drawText(options.data.position.side, {\n color:\n options.data?.position.side.toUpperCase() === \"LONG\"\n ? this.DEFAULT_PROFIT_COLOR\n : this.DEFAULT_LOSS_COLOR,\n left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n });\n }\n\n if (typeof options.data?.position.symbol !== \"undefined\") {\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(7);\n\n if (prevElementBoundingBox.width) {\n prevElementBoundingBox = this._drawText(\"|\", {\n color: \"rgba(255,255,255,0.2)\",\n left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n });\n }\n\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(7);\n prevElementBoundingBox = this._drawText(options.data?.position.symbol!, {\n color: layout.color,\n left: left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n });\n }\n\n if (typeof options.data?.position.leverage !== \"undefined\") {\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(7);\n\n if (prevElementBoundingBox.width) {\n prevElementBoundingBox = this._drawText(\"|\", {\n color: \"rgba(255,255,255,0.2)\",\n left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n });\n }\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(7);\n prevElementBoundingBox = this._drawText(\n `${options.data?.position.leverage}X`,\n {\n color: layout.color,\n left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n }\n );\n }\n }\n\n private drawUnrealizedPnL(options: DrawOptions, offsetTop: number = 0) {\n // reset left value;\n const layout = path<layoutInfo>(\n [\"layout\", \"unrealizedPnl\"],\n options\n ) as layoutInfo & {\n secondaryColor: string;\n secondaryFontSize: number;\n };\n const { position } = layout;\n let left = this._ratio(position.left!);\n let prevElementBoundingBox: TextMetrics = {} as TextMetrics;\n\n const top = (position.top ?? 0) + offsetTop + this.transformTop;\n\n // ROI\n if (typeof options.data?.position.ROI !== \"undefined\") {\n const prefix = options.data?.position.ROI! > 0 ? \"+\" : \"\";\n prevElementBoundingBox = this._drawText(\n `${prefix}${commify(options.data?.position.ROI)}%`,\n {\n color:\n prefix === \"+\"\n ? options.profitColor || this.DEFAULT_PROFIT_COLOR\n : options.lossColor || this.DEFAULT_LOSS_COLOR,\n left,\n top: this._ratio(top),\n\n fontSize: this._ratio(layout.fontSize as number),\n fontWeight: 700,\n fontFamily: options.fontFamily,\n }\n );\n }\n // unrelPnL\n if (typeof options.data?.position.pnl !== \"undefined\") {\n const prefix = options.data?.position.pnl! > 0 ? \"+\" : \"\";\n let text = `${prefix}${commify(options.data?.position.pnl)} ${\n options.data?.position.currency\n }`;\n let fontWeight = 600;\n\n if (prevElementBoundingBox.width) {\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(8);\n text = `(${text})`;\n } else {\n left = this._ratio(position.left!);\n fontWeight = 700;\n }\n\n const color =\n typeof options.data.position.ROI === \"undefined\"\n ? prefix === \"+\"\n ? options.profitColor || this.DEFAULT_PROFIT_COLOR\n : options.lossColor || this.DEFAULT_LOSS_COLOR\n : layout.secondaryColor;\n\n const fontSize =\n typeof options.data.position.ROI === \"undefined\"\n ? this._ratio(layout.fontSize as number)\n : this._ratio(layout.secondaryFontSize as number);\n\n prevElementBoundingBox = this._drawText(text, {\n color,\n left,\n top: this._ratio(top),\n fontSize,\n fontWeight,\n fontFamily: options.fontFamily,\n });\n }\n }\n\n private drawInformations(options: DrawOptions) {\n const layout = path<layoutInfo>(\n [\"layout\", \"informations\"],\n options\n ) as layoutInfo & {\n labelColor?: string;\n };\n const { position } = layout;\n\n const isVertical = (options.data?.position.informations.length ?? 0) === 2;\n\n options.data?.position.informations.forEach((info, index) => {\n // let cellWidth = this.positionInfoCellWidth;\n let left = position.left! + (index % 2) * this.positionInfoCellWidth;\n // let top = (position.top as number) + (index / 2) * 38 + this.transformTop;\n let top =\n (position.top as number) +\n Math.floor(index / 2) * 38 +\n this.transformTop;\n\n this._drawText(info.title, {\n left: this._ratio(left),\n top: this._ratio(top),\n fontSize: this._ratio(10),\n color: layout.labelColor,\n fontFamily: options.fontFamily,\n });\n\n this._drawText(info.value, {\n left: this._ratio(left),\n top: this._ratio(top + 17),\n fontSize: this._ratio(layout.fontSize as number),\n fontWeight: 500,\n color: layout.color as string,\n fontFamily: options.fontFamily,\n });\n });\n }\n\n private drawDomainUrl(options: DrawOptions, onlyMeasure: boolean = false) {\n const layout = path<layoutInfo>(\n [\"layout\", \"domain\"],\n options\n ) as layoutInfo;\n\n const hasReferral = this.hasReferral(options);\n\n const { position } = layout;\n const top = this.painter.height - position.bottom!;\n\n return this._drawText(\n options.data?.domain!,\n {\n left: !hasReferral\n ? this._ratio(position.left!)\n : this._ratio(this.painter.width - 20),\n top: !hasReferral\n ? this._ratio(top)\n : this._ratio(this.painter.height - 16),\n fontSize: this._ratio(layout.fontSize as number),\n color: options.brandColor ?? this.DEFAULT_PROFIT_COLOR,\n fontFamily: options.fontFamily,\n textBaseline: layout.textBaseline,\n textAlign: !hasReferral ? layout.textAlign : \"end\",\n fontWeight: 600,\n },\n onlyMeasure\n );\n }\n\n private drawPositionTime(options: DrawOptions) {\n const layout = path<layoutInfo>(\n [\"layout\", \"updateTime\"],\n options\n ) as layoutInfo;\n const { position } = layout;\n const hasReferral = this.hasReferral(options);\n\n let top = this.painter.height - position.bottom!;\n let left = this._ratio(position.left!);\n\n if (hasReferral) {\n const metrics = this.drawDomainUrl(options, true);\n // console.log(\"metrics\", metrics);\n left =\n this._ratio(this.painter.width) -\n metrics.width -\n this._ratio(8 + position.left!);\n top = this.painter.height - position.bottom!;\n // console.log(\"left\", left, top, metrics.width, this._ratio(top));\n }\n\n this._drawText(\n !hasReferral\n ? options.data?.updateTime!\n : `Share on ${options.data?.updateTime} |`,\n {\n left,\n top: this._ratio(top),\n // top: 536,\n fontSize: this._ratio(layout.fontSize as number),\n color: layout.color as string,\n // color: \"red\",\n textAlign: !hasReferral ? layout.textAlign : \"end\",\n fontFamily: options.fontFamily,\n textBaseline: layout.textBaseline,\n }\n );\n }\n\n private drawReferralCode(options: DrawOptions) {\n if (!options.data?.referral) {\n return;\n }\n\n const layout = path<layoutInfo>(\n [\"layout\", \"updateTime\"],\n options\n ) as layoutInfo;\n const { position } = layout;\n const top = this.painter.height - (position.bottom ?? 0);\n\n const messageLayout = path<layoutInfo>(\n [\"layout\", \"message\"],\n options\n ) as layoutInfo;\n\n const url = new URL(options.data.referral.link);\n\n const searchParams = url.searchParams;\n searchParams.append(\"ref\", options.data.referral.code);\n\n url.search = searchParams.toString();\n\n qrPaint(this.ctx, {\n size: this._ratio(this.QRCODE_SIZE),\n padding: this._ratio(2),\n left: this._ratio(position.left!),\n top: this._ratio(top - this.QRCODE_SIZE),\n data: `${url.toString()}`,\n });\n\n this._drawText(options.data.referral.slogan, {\n left: this._ratio(position.left! + 66),\n top: this._ratio(top - this.QRCODE_SIZE),\n fontSize: this._ratio(14),\n color: options.brandColor ?? this.DEFAULT_PROFIT_COLOR,\n fontFamily: options.fontFamily,\n textBaseline: \"top\",\n });\n\n this._drawText(\"Referral Code\", {\n left: this._ratio(position.left! + 66),\n top: this._ratio(top - 29),\n fontSize: this._ratio(12),\n color: layout.color as string,\n fontFamily: options.fontFamily,\n textBaseline: \"middle\",\n });\n\n this._drawText(options.data.referral.code, {\n left: this._ratio(position.left! + 66),\n top: this._ratio(top),\n fontSize: this._ratio(16),\n color: messageLayout.color as string,\n fontFamily: options.fontFamily,\n textBaseline: \"bottom\",\n });\n }\n\n private _drawText(\n str: string,\n options?: {\n left?: number;\n top?: number;\n fontSize?: number;\n fontFamily?: string;\n fontWeight?: number;\n color?: string;\n textBaseline?: CanvasTextBaseline;\n textAlign?: CanvasTextAlign;\n },\n onlyMeasure: boolean = false\n ): TextMetrics {\n let boundingBox: TextMetrics;\n const {\n left = 30,\n top = 30,\n fontSize = 13,\n fontWeight = 500,\n color = \"black\",\n textBaseline = \"middle\",\n textAlign = \"start\",\n } = options ?? {};\n\n this.ctx.save();\n // \"Nunito Sans\",-apple-system,\"San Francisco\",BlinkMacSystemFont,\"Segoe UI\",\"Helvetica Neue\",Helvetica,Arial,sans-serif\n this.ctx.font = `${fontWeight} ${fontSize}px ${options?.fontFamily}`;\n\n this.ctx.fillStyle = color;\n this.ctx.textBaseline = textBaseline;\n this.ctx.textAlign = textAlign;\n boundingBox = this.ctx.measureText(str);\n\n if (!onlyMeasure) {\n this.ctx.fillText(str, left, top);\n }\n this.ctx.restore();\n\n return boundingBox;\n }\n\n private hasReferral(options: DrawOptions): boolean {\n return typeof options.data?.referral !== \"undefined\";\n }\n\n private _ratio(num: number) {\n return num * this.painter.ratio;\n }\n}\n"],"names":["DataPaint","BasePaint","positionInfoCellWidth","DEFAULT_PROFIT_COLOR","DEFAULT_LOSS_COLOR","transformTop","QRCODE_SIZE","draw","options","needDrawDetails","Array","isArray","data","position","informations","length","hasReferral","hasMessage","offsetTop","message","drawMessage","drawPosition","drawInformations","drawUnrealizedPnL","domain","drawDomainUrl","updateTime","drawPositionTime","referral","drawReferralCode","layout","path","_drawText","color","fontSize","_ratio","top","left","textBaseline","fontFamily","prevElementBoundingBox","side","toUpperCase","symbol","width","leverage","ROI","prefix","commify","profitColor","lossColor","fontWeight","pnl","text","currency","secondaryColor","secondaryFontSize","isVertical","forEach","info","index","Math","floor","title","labelColor","value","onlyMeasure","painter","height","bottom","brandColor","textAlign","metrics","messageLayout","url","URL","link","searchParams","append","code","search","toString","qrPaint","ctx","size","padding","slogan","str","boundingBox","save","font","fillStyle","measureText","fillText","restore","num","ratio"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/services/painter/dataPaint.ts"],"sourcesContent":["import { commify } from \"@orderly.network/utils\";\nimport { BasePaint, DrawOptions, layoutInfo } from \"./basePaint\";\nimport { path } from \"ramda\";\nimport { qrPaint } from \"./qrPaint\";\n\nexport class DataPaint extends BasePaint {\n private positionInfoCellWidth = 110;\n\n private DEFAULT_PROFIT_COLOR = \"rgb(0,181,159)\";\n private DEFAULT_LOSS_COLOR = \"rgb(255,103,194)\";\n\n private transformTop = 0;\n\n private QRCODE_SIZE = 56;\n\n async draw(options: DrawOptions) {\n const needDrawDetails =\n Array.isArray(options.data?.position?.informations) &&\n (options.data?.position?.informations?.length ?? 0) > 0;\n\n const hasReferral = this.hasReferral(options);\n\n // const hasMessage = !!options.data?.message;\n const hasMessage = true;\n\n this.transformTop = hasMessage ? 0 : needDrawDetails ? -40 : -150;\n\n // If position details are not displayed, the position PNL information will be margin\n // const offsetTop = hasMessage ? 50 : 100;\n const offsetTop = 0; // 100;\n // const offsetMessage = hasMessage ? 0 : -50;\n\n if (!!options.data?.message) {\n this.drawMessage(options);\n }\n\n if (!!options.data?.position) {\n this.drawPosition(\n options,\n needDrawDetails || hasReferral ? 0 : offsetTop\n );\n }\n\n if (needDrawDetails) {\n this.drawInformations(options);\n }\n\n this.drawUnrealizedPnL(\n options,\n needDrawDetails || hasReferral ? 0 : offsetTop\n );\n\n if (!hasReferral) {\n if (!!options.data?.domain) {\n this.drawDomainUrl(options);\n }\n\n if (typeof options.data?.updateTime !== \"undefined\") {\n this.drawPositionTime(options);\n }\n }\n\n if (typeof options.data?.referral !== \"undefined\") {\n this.drawReferralCode(options);\n }\n }\n\n private drawMessage(options: DrawOptions) {\n // console.log(\"draw message\", options);\n\n const layout = path<layoutInfo>(\n [\"layout\", \"message\"],\n options\n ) as layoutInfo;\n const { position } = layout;\n\n this._drawText(`\"${options.data?.message!}\"`, {\n color: layout.color,\n fontSize: this._ratio(layout.fontSize as number),\n top: this._ratio(position.top!),\n left: this._ratio(position.left!),\n textBaseline: \"top\",\n fontFamily: options.fontFamily,\n });\n }\n private drawPosition(options: DrawOptions, offsetTop: number = 0) {\n const layout = path<layoutInfo>(\n [\"layout\", \"position\"],\n options\n ) as layoutInfo;\n const { position, fontSize = 14 } = layout;\n let left = this._ratio(position.left!);\n\n let top = layout.position.top! + offsetTop + this.transformTop;\n let prevElementBoundingBox: TextMetrics = {} as TextMetrics;\n\n // draw position side;\n\n if (typeof options.data?.position.side !== \"undefined\") {\n prevElementBoundingBox = this._drawText(options.data.position.side, {\n color:\n options.data?.position.side.toUpperCase() === \"LONG\"\n ? this.DEFAULT_PROFIT_COLOR\n : this.DEFAULT_LOSS_COLOR,\n left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n });\n }\n\n if (typeof options.data?.position.symbol !== \"undefined\") {\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(7);\n\n if (prevElementBoundingBox.width) {\n prevElementBoundingBox = this._drawText(\"|\", {\n color: \"rgba(255,255,255,0.2)\",\n left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n });\n }\n\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(7);\n prevElementBoundingBox = this._drawText(options.data?.position.symbol!, {\n color: layout.color,\n left: left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n });\n }\n\n if (typeof options.data?.position.leverage !== \"undefined\") {\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(7);\n\n if (prevElementBoundingBox.width) {\n prevElementBoundingBox = this._drawText(\"|\", {\n color: \"rgba(255,255,255,0.2)\",\n left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n });\n }\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(7);\n prevElementBoundingBox = this._drawText(\n `${options.data?.position.leverage}X`,\n {\n color: layout.color,\n left,\n top: this._ratio(top),\n fontSize: this._ratio(fontSize),\n fontFamily: options.fontFamily,\n }\n );\n }\n }\n\n private drawUnrealizedPnL(options: DrawOptions, offsetTop: number = 0) {\n // reset left value;\n const layout = path<layoutInfo>(\n [\"layout\", \"unrealizedPnl\"],\n options\n ) as layoutInfo & {\n secondaryColor: string;\n secondaryFontSize: number;\n };\n const { position } = layout;\n let left = this._ratio(position.left!);\n let prevElementBoundingBox: TextMetrics = {} as TextMetrics;\n\n const top = (position.top ?? 0) + offsetTop + this.transformTop;\n\n // ROI\n if (typeof options.data?.position.ROI !== \"undefined\") {\n const prefix = options.data?.position.ROI! > 0 ? \"+\" : \"\";\n prevElementBoundingBox = this._drawText(\n `${prefix}${commify(options.data?.position.ROI)}%`,\n {\n color:\n prefix === \"+\"\n ? options.profitColor || this.DEFAULT_PROFIT_COLOR\n : options.lossColor || this.DEFAULT_LOSS_COLOR,\n left,\n top: this._ratio(top),\n\n fontSize: this._ratio(layout.fontSize as number),\n fontWeight: 700,\n fontFamily: options.fontFamily,\n }\n );\n }\n // unrelPnL\n if (typeof options.data?.position.pnl !== \"undefined\") {\n const prefix = options.data?.position.pnl! > 0 ? \"+\" : \"\";\n let text = `${prefix}${commify(options.data?.position.pnl)} ${\n options.data?.position.currency\n }`;\n let fontWeight = 600;\n\n if (prevElementBoundingBox.width) {\n left += (prevElementBoundingBox.width ?? 0) + this._ratio(8);\n text = `(${text})`;\n } else {\n left = this._ratio(position.left!);\n fontWeight = 700;\n }\n\n const color =\n typeof options.data.position.ROI === \"undefined\"\n ? prefix === \"+\"\n ? options.profitColor || this.DEFAULT_PROFIT_COLOR\n : options.lossColor || this.DEFAULT_LOSS_COLOR\n : layout.secondaryColor;\n\n const fontSize =\n typeof options.data.position.ROI === \"undefined\"\n ? this._ratio(layout.fontSize as number)\n : this._ratio(layout.secondaryFontSize as number);\n\n prevElementBoundingBox = this._drawText(text, {\n color,\n left,\n top: this._ratio(top),\n fontSize,\n fontWeight,\n fontFamily: options.fontFamily,\n });\n }\n }\n\n private drawInformations(options: DrawOptions) {\n const layout = path<layoutInfo>(\n [\"layout\", \"informations\"],\n options\n ) as layoutInfo & {\n labelColor?: string;\n };\n const { position } = layout;\n\n const isVertical = (options.data?.position.informations.length ?? 0) === 2;\n\n options.data?.position.informations.forEach((info, index) => {\n // let cellWidth = this.positionInfoCellWidth;\n let left = position.left! + (index % 2) * this.positionInfoCellWidth;\n // let top = (position.top as number) + (index / 2) * 38 + this.transformTop;\n let top =\n (position.top as number) +\n Math.floor(index / 2) * 38 +\n this.transformTop;\n\n this._drawText(info.title, {\n left: this._ratio(left),\n top: this._ratio(top),\n fontSize: this._ratio(10),\n color: layout.labelColor,\n fontFamily: options.fontFamily,\n });\n\n this._drawText(info.value, {\n left: this._ratio(left),\n top: this._ratio(top + 17),\n fontSize: this._ratio(layout.fontSize as number),\n fontWeight: 500,\n color: layout.color as string,\n fontFamily: options.fontFamily,\n });\n });\n }\n\n private drawDomainUrl(options: DrawOptions, onlyMeasure: boolean = false) {\n const layout = path<layoutInfo>(\n [\"layout\", \"domain\"],\n options\n ) as layoutInfo;\n\n const hasReferral = this.hasReferral(options);\n\n const { position } = layout;\n const top = this.painter.height - position.bottom!;\n\n return this._drawText(\n options.data?.domain!,\n {\n left: !hasReferral\n ? this._ratio(position.left!)\n : this._ratio(this.painter.width - 20),\n top: !hasReferral\n ? this._ratio(top)\n : this._ratio(this.painter.height - 16),\n fontSize: this._ratio(layout.fontSize as number),\n color: options.brandColor ?? this.DEFAULT_PROFIT_COLOR,\n fontFamily: options.fontFamily,\n textBaseline: layout.textBaseline,\n textAlign: !hasReferral ? layout.textAlign : \"end\",\n fontWeight: 600,\n },\n onlyMeasure\n );\n }\n\n private drawPositionTime(options: DrawOptions) {\n const layout = path<layoutInfo>(\n [\"layout\", \"updateTime\"],\n options\n ) as layoutInfo;\n const { position } = layout;\n const hasReferral = this.hasReferral(options);\n\n let top = this.painter.height - position.bottom!;\n let left = this._ratio(position.left!);\n\n if (hasReferral) {\n const metrics = this.drawDomainUrl(options, true);\n // console.log(\"metrics\", metrics);\n left =\n this._ratio(this.painter.width) -\n metrics.width -\n this._ratio(8 + position.left!);\n top = this.painter.height - position.bottom!;\n // console.log(\"left\", left, top, metrics.width, this._ratio(top));\n }\n\n this._drawText(\n !hasReferral\n ? options.data?.updateTime!\n : `Share on ${options.data?.updateTime} |`,\n {\n left,\n top: this._ratio(top),\n // top: 536,\n fontSize: this._ratio(layout.fontSize as number),\n color: layout.color as string,\n // color: \"red\",\n textAlign: !hasReferral ? layout.textAlign : \"end\",\n fontFamily: options.fontFamily,\n textBaseline: layout.textBaseline,\n }\n );\n }\n\n private drawReferralCode(options: DrawOptions) {\n if (!options.data?.referral) {\n return;\n }\n\n const layout = path<layoutInfo>(\n [\"layout\", \"updateTime\"],\n options\n ) as layoutInfo;\n const { position } = layout;\n const top = this.painter.height - (position.bottom ?? 0);\n\n const messageLayout = path<layoutInfo>(\n [\"layout\", \"message\"],\n options\n ) as layoutInfo;\n\n const url = new URL(options.data.referral.link);\n\n const searchParams = url.searchParams;\n searchParams.append(\"ref\", options.data.referral.code);\n\n url.search = searchParams.toString();\n\n qrPaint(this.ctx, {\n size: this._ratio(this.QRCODE_SIZE),\n padding: this._ratio(2),\n left: this._ratio(position.left!),\n top: this._ratio(top - this.QRCODE_SIZE),\n data: `${url.toString()}`,\n });\n\n this._drawText(options.data.referral.slogan, {\n left: this._ratio(position.left! + 66),\n top: this._ratio(top - this.QRCODE_SIZE),\n fontSize: this._ratio(14),\n color: options.brandColor ?? this.DEFAULT_PROFIT_COLOR,\n fontFamily: options.fontFamily,\n textBaseline: \"top\",\n });\n\n this._drawText(\"Referral Code\", {\n left: this._ratio(position.left! + 66),\n top: this._ratio(top - 29),\n fontSize: this._ratio(12),\n color: layout.color as string,\n fontFamily: options.fontFamily,\n textBaseline: \"middle\",\n });\n\n this._drawText(options.data.referral.code, {\n left: this._ratio(position.left! + 66),\n top: this._ratio(top),\n fontSize: this._ratio(16),\n color: messageLayout.color as string,\n fontFamily: options.fontFamily,\n textBaseline: \"bottom\",\n });\n }\n\n private _drawText(\n str: string,\n options?: {\n left?: number;\n top?: number;\n fontSize?: number;\n fontFamily?: string;\n fontWeight?: number;\n color?: string;\n textBaseline?: CanvasTextBaseline;\n textAlign?: CanvasTextAlign;\n },\n onlyMeasure: boolean = false\n ): TextMetrics {\n let boundingBox: TextMetrics;\n const {\n left = 30,\n top = 30,\n fontSize = 13,\n fontWeight = 500,\n color = \"black\",\n textBaseline = \"middle\",\n textAlign = \"start\",\n } = options ?? {};\n\n this.ctx.save();\n // \"Nunito Sans\",-apple-system,\"San Francisco\",BlinkMacSystemFont,\"Segoe UI\",\"Helvetica Neue\",Helvetica,Arial,sans-serif\n this.ctx.font = `${fontWeight} ${fontSize}px ${options?.fontFamily}`;\n\n this.ctx.fillStyle = color;\n this.ctx.textBaseline = textBaseline;\n this.ctx.textAlign = textAlign;\n boundingBox = this.ctx.measureText(str);\n\n if (!onlyMeasure) {\n this.ctx.fillText(str, left, top);\n }\n this.ctx.restore();\n\n return boundingBox;\n }\n\n private hasReferral(options: DrawOptions): boolean {\n return typeof options.data?.referral !== \"undefined\";\n }\n\n private _ratio(num: number) {\n return num * this.painter.ratio;\n }\n}\n"],"names":["DataPaint","BasePaint","positionInfoCellWidth","DEFAULT_PROFIT_COLOR","DEFAULT_LOSS_COLOR","transformTop","QRCODE_SIZE","draw","options","needDrawDetails","Array","isArray","data","position","informations","length","hasReferral","hasMessage","offsetTop","message","drawMessage","drawPosition","drawInformations","drawUnrealizedPnL","domain","drawDomainUrl","updateTime","drawPositionTime","referral","drawReferralCode","layout","path","_drawText","color","fontSize","_ratio","top","left","textBaseline","fontFamily","prevElementBoundingBox","side","toUpperCase","symbol","width","leverage","ROI","prefix","commify","profitColor","lossColor","fontWeight","pnl","text","currency","secondaryColor","secondaryFontSize","isVertical","forEach","info","index","Math","floor","title","labelColor","value","onlyMeasure","painter","height","bottom","brandColor","textAlign","metrics","messageLayout","url","URL","link","searchParams","append","code","search","toString","qrPaint","ctx","size","padding","slogan","str","boundingBox","save","font","fillStyle","measureText","fillText","restore","num","ratio"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
package/lib/version.d.ts
CHANGED
package/lib/version.js
CHANGED
|
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
if (typeof window !== 'undefined') {
|
|
12
12
|
window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};
|
|
13
|
-
window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "1.5.
|
|
13
|
+
window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "1.5.11";
|
|
14
14
|
}
|
|
15
|
-
const _default = "1.5.
|
|
15
|
+
const _default = "1.5.11";
|
|
16
16
|
|
|
17
17
|
//# sourceMappingURL=version.js.map
|
package/lib/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/version.ts"],"sourcesContent":["\ndeclare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif(typeof window !== 'undefined') {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@orderly.network/hooks\"] = \"1.5.
|
|
1
|
+
{"version":3,"sources":["../src/version.ts"],"sourcesContent":["\ndeclare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif(typeof window !== 'undefined') {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@orderly.network/hooks\"] = \"1.5.11\";\n};\n\nexport default \"1.5.11\";\n"],"names":["window","__ORDERLY_VERSION__"],"rangeMappings":";;;;;;;;;;;;;;","mappings":";;;;+BAaA;;;eAAA;;;AALA,IAAG,OAAOA,WAAW,aAAa;IAC9BA,OAAOC,mBAAmB,GAAGD,OAAOC,mBAAmB,IAAI,CAAC;IAC5DD,OAAOC,mBAAmB,CAAC,yBAAyB,GAAG;AAC3D;MAEA,WAAe"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orderly.network/hooks",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.11",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"react-test-renderer": "^18.2.0",
|
|
32
32
|
"rimraf": "^5.0.5",
|
|
33
33
|
"tsup": "^7.1.0",
|
|
34
|
-
"typedoc": "^0.
|
|
34
|
+
"typedoc": "^0.26.5",
|
|
35
35
|
"typescript": "^5.1.6",
|
|
36
|
-
"tsconfig": "0.3.
|
|
36
|
+
"tsconfig": "0.3.11"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@akamfoad/qr": "^0.4.0",
|
|
@@ -41,11 +41,11 @@
|
|
|
41
41
|
"swr": "2.2.4",
|
|
42
42
|
"use-constant": "^1.1.1",
|
|
43
43
|
"use-debounce": "^9.0.4",
|
|
44
|
-
"@orderly.network/core": "1.5.
|
|
45
|
-
"@orderly.network/
|
|
46
|
-
"@orderly.network/
|
|
47
|
-
"@orderly.network/types": "1.5.
|
|
48
|
-
"@orderly.network/utils": "1.5.
|
|
44
|
+
"@orderly.network/core": "1.5.11",
|
|
45
|
+
"@orderly.network/perp": "3.3.11",
|
|
46
|
+
"@orderly.network/net": "1.5.11",
|
|
47
|
+
"@orderly.network/types": "1.5.11",
|
|
48
|
+
"@orderly.network/utils": "1.5.11"
|
|
49
49
|
},
|
|
50
50
|
"publishConfig": {
|
|
51
51
|
"access": "public"
|