@orderly.network/vaults 2.8.2 → 2.8.3-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,10 +1,10 @@
1
- import React, { useState, useMemo, useEffect, useRef } from 'react';
1
+ import React, { useState, useMemo, useEffect } from 'react';
2
2
  import { useCollateral, useMaxWithdrawal, useTokenInfo, useAccount, useGetEnv, useTrack, useMutation, useConfig, usePrivateQuery } from '@orderly.network/hooks';
3
3
  import { create } from 'zustand';
4
4
  import { useTranslation } from '@orderly.network/i18n';
5
5
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
6
6
  import { uniqBy } from 'ramda';
7
- import { registerSimpleDialog, registerSimpleSheet, Tabs, TabPanel, ArrowDownSquareFillIcon, ArrowUpSquareFillIcon, Box, Text, Button, useScreen, cn, modal, useModal, SimpleDialog, SimpleSheet, toast, ArrowRightUpSquareFillIcon, ChevronUpIcon, ChevronDownIcon, Divider, TokenIcon } from '@orderly.network/ui';
7
+ import { registerSimpleDialog, registerSimpleSheet, Tabs, TabPanel, ArrowDownSquareFillIcon, ArrowUpSquareFillIcon, Box, Text, Button, useScreen, cn, modal, useModal, SimpleDialog, SimpleSheet, toast, ArrowRightUpSquareFillIcon, Tooltip, InfoCircleIcon, Divider, TokenIcon } from '@orderly.network/ui';
8
8
  import { TrackerEventName, EMPTY_LIST } from '@orderly.network/types';
9
9
  import { Decimal } from '@orderly.network/utils';
10
10
  import { BrokerWallet, QuantityInput, AvailableQuantity } from '@orderly.network/ui-transfer';
@@ -2081,22 +2081,37 @@ var init_vaultCard_ui = __esm({
2081
2081
  isButtonsDisabled
2082
2082
  } = props;
2083
2083
  const { t } = useTranslation();
2084
- const isPreLaunch = vaultInfo.status === "pre_launch";
2085
2084
  const { isMobile } = useScreen();
2086
- const [isExpanded, setIsExpanded] = useState(false);
2087
- const [showExpandButton, setShowExpandButton] = useState(false);
2088
- const descriptionRef = useRef(null);
2089
- useEffect(() => {
2090
- if (descriptionRef.current) {
2091
- const lineHeight = 18;
2092
- const maxHeight = lineHeight * 3;
2093
- const actualHeight = descriptionRef.current.scrollHeight;
2094
- setShowExpandButton(actualHeight > maxHeight);
2085
+ const getStatusTag = () => {
2086
+ const { status } = vaultInfo;
2087
+ if (status === "live") {
2088
+ return {
2089
+ text: t("vaults.card.status.active"),
2090
+ color: "#00C076",
2091
+ bgColor: "rgba(0, 192, 118, 0.15)"
2092
+ };
2093
+ } else if (status === "pre_launch") {
2094
+ return {
2095
+ text: t("vaults.card.launchingSoon"),
2096
+ color: "#E88800",
2097
+ bgColor: "rgba(232, 136, 0, 0.15)"
2098
+ };
2099
+ } else if (status === "closing") {
2100
+ return {
2101
+ text: t("vaults.card.status.closing"),
2102
+ color: "#FF6B6B",
2103
+ bgColor: "rgba(255, 107, 107, 0.15)"
2104
+ };
2105
+ } else if (status === "closed") {
2106
+ return {
2107
+ text: t("vaults.card.status.closed"),
2108
+ color: "#999999",
2109
+ bgColor: "rgba(153, 153, 153, 0.15)"
2110
+ };
2095
2111
  }
2096
- }, [description]);
2097
- const handleToggleExpand = () => {
2098
- setIsExpanded(!isExpanded);
2112
+ return null;
2099
2113
  };
2114
+ const statusTag = getStatusTag();
2100
2115
  useMemo(() => {
2101
2116
  const chains = Array.isArray(vaultInfo?.supported_chains) ? vaultInfo.supported_chains : [];
2102
2117
  return /* @__PURE__ */ jsx("div", { className: "oui-flex oui-items-center", children: chains.map((chain, index) => /* @__PURE__ */ jsx(
@@ -2116,134 +2131,58 @@ var init_vaultCard_ui = __esm({
2116
2131
  chain.chain_id
2117
2132
  )) });
2118
2133
  }, [vaultInfo.supported_chains, isMobile]);
2119
- return /* @__PURE__ */ jsxs("div", { className: "oui-relative oui-h-[388px] oui-overflow-hidden oui-rounded-2xl oui-border oui-border-solid oui-border-white/[0.12] oui-bg-base-9", children: [
2120
- /* @__PURE__ */ jsx(
2121
- "img",
2122
- {
2123
- src: "/vaults/vaults-card-bg.png",
2124
- alt: "",
2125
- style: {
2126
- position: "absolute",
2127
- top: 0,
2128
- right: 0,
2129
- width: "100%",
2130
- height: "180px",
2131
- objectFit: "cover",
2132
- objectPosition: "top",
2133
- zIndex: 0
2134
- },
2135
- onError: (e) => {
2136
- e.currentTarget.style.display = "none";
2137
- }
2138
- }
2139
- ),
2140
- /* @__PURE__ */ jsx(
2141
- "div",
2142
- {
2143
- className: cn(
2144
- "oui-absolute oui-left-0 oui-top-0 oui-z-20 oui-size-full oui-p-6",
2145
- isExpanded && "oui-overflow-y-auto"
2146
- ),
2147
- children: /* @__PURE__ */ jsxs("div", { className: "oui-flex oui-flex-col oui-gap-3", children: [
2148
- /* @__PURE__ */ jsxs("div", { className: "oui-flex oui-items-center oui-gap-2", children: [
2149
- /* @__PURE__ */ jsx(
2150
- "img",
2151
- {
2152
- src: icon,
2153
- alt: vaultInfo.broker_id,
2154
- className: "oui-size-8",
2155
- onError: (e) => {
2156
- e.currentTarget.style.display = "none";
2157
- }
2158
- }
2159
- ),
2160
- /* @__PURE__ */ jsx("div", { className: "oui-text-[18px] oui-font-semibold oui-text-white", children: title }),
2161
- isPreLaunch && /* @__PURE__ */ jsx(
2162
- "div",
2163
- {
2164
- className: "oui-flex oui-items-center oui-gap-[10px] oui-px-2 oui-text-[#E88800]",
2165
- style: {
2166
- height: "18px",
2167
- borderRadius: "4px",
2168
- background: "rgba(232, 136, 0, 0.15)",
2169
- fontSize: "12px",
2170
- fontWeight: 600,
2171
- lineHeight: "18px",
2172
- letterSpacing: "0.36px"
2173
- },
2174
- children: t("vaults.card.launchingSoon")
2175
- }
2176
- ),
2177
- /* @__PURE__ */ jsx(
2178
- "div",
2179
- {
2180
- className: "oui-z-50 oui-ml-auto oui-cursor-pointer",
2181
- onClick: openVaultWebsite,
2182
- children: /* @__PURE__ */ jsx(
2183
- ArrowRightUpSquareFillIcon,
2184
- {
2185
- color: "white",
2186
- width: 18,
2187
- height: 18,
2188
- viewBox: "0 0 18 18"
2189
- }
2190
- )
2191
- }
2192
- )
2193
- ] }),
2194
- /* @__PURE__ */ jsxs(
2134
+ return /* @__PURE__ */ jsx("div", { className: "oui-relative oui-h-[435px] oui-overflow-hidden oui-rounded-2xl oui-bg-base-9", children: /* @__PURE__ */ jsx(
2135
+ "div",
2136
+ {
2137
+ className: cn(
2138
+ "oui-absolute oui-left-0 oui-top-0 oui-z-20 oui-size-full oui-p-6",
2139
+ "oui-overflow-y-auto oui-custom-scrollbar"
2140
+ ),
2141
+ children: /* @__PURE__ */ jsxs("div", { className: "oui-flex oui-flex-col oui-gap-2", children: [
2142
+ /* @__PURE__ */ jsxs("div", { className: "oui-flex oui-flex-col oui-gap-1", children: [
2143
+ /* @__PURE__ */ jsx("div", { className: "oui-text-[18px] oui-font-semibold oui-text-white oui-break-words", children: title }),
2144
+ statusTag && /* @__PURE__ */ jsx(
2195
2145
  "div",
2196
2146
  {
2197
- className: cn(
2198
- "-oui-mb-1 oui-flex oui-flex-col",
2199
- !isExpanded && "oui-h-[72px]"
2200
- ),
2147
+ className: "oui-flex oui-w-fit oui-items-center oui-gap-[10px] oui-px-2",
2148
+ style: {
2149
+ height: "18px",
2150
+ borderRadius: "4px",
2151
+ background: statusTag.bgColor,
2152
+ color: statusTag.color,
2153
+ fontSize: "12px",
2154
+ fontWeight: 600,
2155
+ lineHeight: "18px",
2156
+ letterSpacing: "0.36px"
2157
+ },
2158
+ children: statusTag.text
2159
+ }
2160
+ )
2161
+ ] }),
2162
+ /* @__PURE__ */ jsxs("div", { className: "oui-flex oui-flex-col oui-gap-1", children: [
2163
+ /* @__PURE__ */ jsx("div", { className: "oui-h-[54px]", children: /* @__PURE__ */ jsx("div", { className: "oui-text-2xs oui-font-normal oui-leading-[18px] oui-text-base-contrast-54 oui-line-clamp-3", children: parseMarkdownLinks(description) }) }),
2164
+ /* @__PURE__ */ jsxs(
2165
+ "button",
2166
+ {
2167
+ onClick: openVaultWebsite,
2168
+ className: "oui-flex oui-w-fit oui-items-center oui-gap-1 oui-text-xs oui-font-medium",
2169
+ style: { color: "#608CFF" },
2201
2170
  children: [
2171
+ /* @__PURE__ */ jsx("span", { children: t("vaults.card.viewMore") }),
2202
2172
  /* @__PURE__ */ jsx(
2203
- "div",
2204
- {
2205
- ref: descriptionRef,
2206
- className: cn(
2207
- "oui-text-2xs oui-font-normal oui-leading-[18px] oui-text-base-contrast-54",
2208
- !isExpanded && showExpandButton && "oui-line-clamp-3"
2209
- ),
2210
- children: parseMarkdownLinks(description)
2211
- }
2212
- ),
2213
- showExpandButton && /* @__PURE__ */ jsx(
2214
- "button",
2173
+ ArrowRightUpSquareFillIcon,
2215
2174
  {
2216
- onClick: handleToggleExpand,
2217
- className: "oui-self-end oui-inline-flex oui-shrink-0 oui-cursor-pointer oui-items-center oui-gap-0.5 oui-text-[12px] oui-font-medium",
2218
2175
  style: { color: "#608CFF" },
2219
- children: isExpanded ? /* @__PURE__ */ jsxs(Fragment, { children: [
2220
- /* @__PURE__ */ jsx("span", { children: t("vaults.card.less") }),
2221
- /* @__PURE__ */ jsx(
2222
- ChevronUpIcon,
2223
- {
2224
- size: 12,
2225
- opacity: 1,
2226
- color: "inherit",
2227
- className: "oui-translate-y-[0.5px]"
2228
- }
2229
- )
2230
- ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
2231
- /* @__PURE__ */ jsx("span", { children: t("vaults.card.more") }),
2232
- /* @__PURE__ */ jsx(
2233
- ChevronDownIcon,
2234
- {
2235
- size: 12,
2236
- opacity: 1,
2237
- color: "inherit",
2238
- className: "oui-translate-y-[0.5px]"
2239
- }
2240
- )
2241
- ] })
2176
+ width: 16,
2177
+ height: 16,
2178
+ viewBox: "0 0 18 18"
2242
2179
  }
2243
2180
  )
2244
2181
  ]
2245
2182
  }
2246
- ),
2183
+ )
2184
+ ] }),
2185
+ /* @__PURE__ */ jsxs("div", { className: "oui-flex oui-flex-col oui-gap-6", children: [
2247
2186
  /* @__PURE__ */ jsxs("div", { className: "oui-flex oui-items-center oui-gap-2", children: [
2248
2187
  /* @__PURE__ */ jsx(
2249
2188
  VaultInfoItem,
@@ -2261,15 +2200,17 @@ var init_vaultCard_ui = __esm({
2261
2200
  VaultInfoItem,
2262
2201
  {
2263
2202
  label: t("vaults.card.apy"),
2264
- value: vaultInfo["30d_apy"] > 100 ? ">10000%" : (vaultInfo["30d_apy"] * 100).toFixed(2) + "%",
2203
+ value: vaultInfo.status === "pre_launch" || vaultInfo.vault_age !== null && vaultInfo.vault_age < 30 ? "--" : vaultInfo["30d_apy"] > 100 ? ">10000%" : (vaultInfo["30d_apy"] * 100).toFixed(2) + "%",
2265
2204
  textProps: {
2266
2205
  color: "brand",
2267
2206
  type: "gradient"
2268
- }
2207
+ },
2208
+ showTooltip: vaultInfo.status === "pre_launch" || vaultInfo.vault_age !== null && vaultInfo.vault_age < 30,
2209
+ tooltipContent: "APY is not calculated for vaults that are less than 30 days old."
2269
2210
  }
2270
2211
  )
2271
2212
  ] }),
2272
- /* @__PURE__ */ jsxs("div", { className: "oui-mt-3 oui-flex oui-flex-col oui-items-center oui-gap-2 oui-rounded-lg oui-bg-white/[0.06] oui-p-3", children: [
2213
+ /* @__PURE__ */ jsxs("div", { className: "oui-flex oui-flex-col oui-items-center oui-gap-2 oui-rounded-lg oui-bg-white/[0.06] oui-p-3", children: [
2273
2214
  /* @__PURE__ */ jsx(
2274
2215
  LpInfoItem,
2275
2216
  {
@@ -2284,7 +2225,9 @@ var init_vaultCard_ui = __esm({
2284
2225
  value: lpInfo.earnings
2285
2226
  }
2286
2227
  )
2287
- ] }),
2228
+ ] })
2229
+ ] }),
2230
+ /* @__PURE__ */ jsxs("div", { className: "oui-flex oui-flex-col oui-gap-4 oui-mt-2", children: [
2288
2231
  /* @__PURE__ */ jsx(
2289
2232
  LpInfoItem,
2290
2233
  {
@@ -2302,12 +2245,12 @@ var init_vaultCard_ui = __esm({
2302
2245
  }
2303
2246
  )
2304
2247
  ] })
2305
- }
2306
- )
2307
- ] });
2248
+ ] })
2249
+ }
2250
+ ) });
2308
2251
  };
2309
2252
  VaultInfoItem = (props) => {
2310
- const { label, value, textProps } = props;
2253
+ const { label, value, textProps, showTooltip, tooltipContent } = props;
2311
2254
  return /* @__PURE__ */ jsxs(
2312
2255
  "div",
2313
2256
  {
@@ -2316,7 +2259,17 @@ var init_vaultCard_ui = __esm({
2316
2259
  "oui-rounded-lg oui-border oui-border-solid oui-border-white/[0.12]"
2317
2260
  ),
2318
2261
  children: [
2319
- /* @__PURE__ */ jsx("div", { className: "oui-text-2xs oui-font-normal oui-leading-[18px] oui-text-base-contrast-54", children: label }),
2262
+ /* @__PURE__ */ jsxs("div", { className: "oui-flex oui-items-center oui-gap-1 oui-text-2xs oui-font-normal oui-leading-[18px] oui-text-base-contrast-54", children: [
2263
+ label,
2264
+ showTooltip && tooltipContent && /* @__PURE__ */ jsx(Tooltip, { content: tooltipContent, delayDuration: 100, children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
2265
+ InfoCircleIcon,
2266
+ {
2267
+ size: 12,
2268
+ opacity: 0.54,
2269
+ className: "oui-text-base-contrast"
2270
+ }
2271
+ ) }) })
2272
+ ] }),
2320
2273
  textProps.type === "gradient" ? /* @__PURE__ */ jsx(
2321
2274
  Text.gradient,
2322
2275
  {
@@ -2416,6 +2369,11 @@ var init_vaults_list = __esm({
2416
2369
  const { t } = useTranslation();
2417
2370
  const [sortField, setSortField] = useState("apy");
2418
2371
  const [sortDirection, setSortDirection] = useState("desc");
2372
+ const shouldShowApyTooltip = useMemo(() => {
2373
+ return vaults.some(
2374
+ (vault) => vault.status === "pre_launch" || vault.vault_age !== null && vault.vault_age < 30
2375
+ );
2376
+ }, [vaults]);
2419
2377
  const handleSort = (field) => {
2420
2378
  if (sortField === field) {
2421
2379
  setSortDirection(sortDirection === "asc" ? "desc" : "asc");
@@ -2492,17 +2450,34 @@ var init_vaults_list = __esm({
2492
2450
  ]
2493
2451
  }
2494
2452
  ),
2495
- /* @__PURE__ */ jsxs(
2496
- "button",
2497
- {
2498
- onClick: () => handleSort("apy"),
2499
- className: "oui-flex oui-items-center oui-text-2xs oui-font-normal oui-text-base-contrast-54 hover:oui-text-base-contrast",
2500
- children: [
2501
- t("vaults.card.apy"),
2502
- /* @__PURE__ */ jsx(SortIcon, { field: "apy" })
2503
- ]
2504
- }
2505
- ),
2453
+ /* @__PURE__ */ jsxs("div", { className: "oui-flex oui-items-center oui-gap-1", children: [
2454
+ /* @__PURE__ */ jsxs(
2455
+ "button",
2456
+ {
2457
+ onClick: () => handleSort("apy"),
2458
+ className: "oui-flex oui-items-center oui-text-2xs oui-font-normal oui-text-base-contrast-54 hover:oui-text-base-contrast",
2459
+ children: [
2460
+ t("vaults.card.apy"),
2461
+ /* @__PURE__ */ jsx(SortIcon, { field: "apy" })
2462
+ ]
2463
+ }
2464
+ ),
2465
+ shouldShowApyTooltip && /* @__PURE__ */ jsx(
2466
+ Tooltip,
2467
+ {
2468
+ content: "APY is not calculated for vaults that are less than 30 days old.",
2469
+ delayDuration: 100,
2470
+ children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
2471
+ InfoCircleIcon,
2472
+ {
2473
+ size: 12,
2474
+ opacity: 0.54,
2475
+ className: "oui-text-base-contrast"
2476
+ }
2477
+ ) })
2478
+ }
2479
+ )
2480
+ ] }),
2506
2481
  /* @__PURE__ */ jsxs(
2507
2482
  "button",
2508
2483
  {
@@ -2546,9 +2521,39 @@ var init_vaults_list = __esm({
2546
2521
  icon,
2547
2522
  isButtonsDisabled
2548
2523
  } = script;
2549
- const isPreLaunch = vaultInfo.status === "pre_launch";
2524
+ vaultInfo.status === "pre_launch";
2550
2525
  const { isMobile } = useScreen();
2551
- const supportVaultsList = useMemo(() => {
2526
+ const getStatusTag = () => {
2527
+ const { status } = vaultInfo;
2528
+ if (status === "live") {
2529
+ return {
2530
+ text: t("vaults.card.status.active"),
2531
+ color: "#00C076",
2532
+ bgColor: "rgba(0, 192, 118, 0.15)"
2533
+ };
2534
+ } else if (status === "pre_launch") {
2535
+ return {
2536
+ text: t("vaults.card.launchingSoon"),
2537
+ color: "#E88800",
2538
+ bgColor: "rgba(232, 136, 0, 0.15)"
2539
+ };
2540
+ } else if (status === "closing") {
2541
+ return {
2542
+ text: t("vaults.card.status.closing"),
2543
+ color: "#FF6B6B",
2544
+ bgColor: "rgba(255, 107, 107, 0.15)"
2545
+ };
2546
+ } else if (status === "closed") {
2547
+ return {
2548
+ text: t("vaults.card.status.closed"),
2549
+ color: "#999999",
2550
+ bgColor: "rgba(153, 153, 153, 0.15)"
2551
+ };
2552
+ }
2553
+ return null;
2554
+ };
2555
+ const statusTag = getStatusTag();
2556
+ useMemo(() => {
2552
2557
  const chains = Array.isArray(vaultInfo?.supported_chains) ? vaultInfo.supported_chains : [];
2553
2558
  const ICON_SIZE = isMobile ? 18 : 20;
2554
2559
  return /* @__PURE__ */ jsx("div", { className: "oui-flex oui-items-center", children: chains.map((chain, index) => /* @__PURE__ */ jsx(
@@ -2570,80 +2575,49 @@ var init_vaults_list = __esm({
2570
2575
  chain.chain_id
2571
2576
  )) });
2572
2577
  }, [vaultInfo.supported_chains, isMobile]);
2573
- return /* @__PURE__ */ jsxs("div", { className: "oui-relative oui-grid oui-grid-cols-[2fr_1fr_1fr_1fr_1fr_1fr_1.5fr] oui-gap-4 oui-rounded-lg oui-border oui-border-solid oui-border-white/[0.12] oui-bg-base-9 oui-px-4 oui-py-4 oui-items-center oui-overflow-hidden", children: [
2574
- /* @__PURE__ */ jsx(
2575
- "img",
2576
- {
2577
- src: "/vaults/vaults-list-bg.png",
2578
- alt: "",
2579
- style: {
2580
- position: "absolute",
2581
- top: 0,
2582
- left: 0,
2583
- width: "40%",
2584
- height: "100%",
2585
- objectFit: "cover",
2586
- objectPosition: "left",
2587
- zIndex: 0
2588
- },
2589
- onError: (e) => {
2590
- e.currentTarget.style.display = "none";
2591
- }
2592
- }
2593
- ),
2594
- /* @__PURE__ */ jsxs("div", { className: "oui-relative oui-z-10 oui-flex oui-items-center oui-gap-2", children: [
2595
- /* @__PURE__ */ jsx(
2596
- "img",
2597
- {
2598
- src: icon,
2599
- alt: vaultInfo.broker_id,
2600
- className: "oui-size-10 oui-rounded-full",
2601
- onError: (e) => {
2602
- e.currentTarget.style.display = "none";
2578
+ return /* @__PURE__ */ jsxs("div", { className: "oui-relative oui-grid oui-grid-cols-[2fr_1fr_1fr_1fr_1fr_1fr_1.5fr] oui-gap-4 oui-rounded-2xl oui-bg-base-9 oui-px-4 oui-py-4 oui-items-center oui-overflow-hidden", children: [
2579
+ /* @__PURE__ */ jsx("div", { className: "oui-relative oui-z-10 oui-flex oui-items-center oui-gap-2", children: /* @__PURE__ */ jsxs("div", { className: "oui-flex oui-flex-col oui-gap-1", children: [
2580
+ /* @__PURE__ */ jsx("div", { className: "oui-text-sm oui-font-semibold oui-text-base-contrast", children: title }),
2581
+ /* @__PURE__ */ jsxs("div", { className: "oui-flex oui-flex-wrap oui-items-center oui-gap-2", children: [
2582
+ statusTag && /* @__PURE__ */ jsx(
2583
+ "div",
2584
+ {
2585
+ className: "oui-flex oui-items-center oui-gap-[10px] oui-px-2 oui-whitespace-nowrap oui-flex-shrink-0",
2586
+ style: {
2587
+ height: "18px",
2588
+ borderRadius: "4px",
2589
+ background: statusTag.bgColor,
2590
+ color: statusTag.color,
2591
+ fontSize: "12px",
2592
+ fontWeight: 600,
2593
+ lineHeight: "18px",
2594
+ letterSpacing: "0.36px"
2595
+ },
2596
+ children: statusTag.text
2603
2597
  }
2604
- }
2605
- ),
2606
- /* @__PURE__ */ jsxs("div", { className: "oui-flex oui-flex-col oui-gap-1", children: [
2607
- /* @__PURE__ */ jsx("div", { className: "oui-text-sm oui-font-semibold oui-text-base-contrast", children: title }),
2608
- /* @__PURE__ */ jsxs("div", { className: "oui-flex oui-flex-wrap oui-items-center oui-gap-2", children: [
2609
- /* @__PURE__ */ jsx("div", { className: "oui-flex oui-items-center oui-gap-2 oui-flex-shrink-0", children: supportVaultsList }),
2610
- /* @__PURE__ */ jsxs("div", { className: "oui-flex oui-items-center oui-gap-2 oui-flex-shrink-0", children: [
2611
- /* @__PURE__ */ jsx(
2612
- "button",
2613
- {
2614
- onClick: openVaultWebsite,
2615
- className: "oui-flex oui-items-center oui-justify-center oui-flex-shrink-0",
2616
- children: /* @__PURE__ */ jsx(
2617
- ArrowRightUpSquareFillIcon,
2618
- {
2619
- className: "oui-text-base-contrast-54",
2620
- width: 14,
2621
- height: 14,
2622
- viewBox: "0 0 18 18"
2623
- }
2624
- )
2625
- }
2626
- ),
2627
- isPreLaunch && /* @__PURE__ */ jsx(
2628
- "div",
2629
- {
2630
- className: "oui-flex oui-items-center oui-gap-[10px] oui-px-2 oui-text-[#E88800] oui-whitespace-nowrap oui-flex-shrink-0",
2631
- style: {
2632
- height: "18px",
2633
- borderRadius: "4px",
2634
- background: "rgba(232, 136, 0, 0.15)",
2635
- fontSize: "12px",
2636
- fontWeight: 600,
2637
- lineHeight: "18px",
2638
- letterSpacing: "0.36px"
2639
- },
2640
- children: t("vaults.card.launchingSoon")
2641
- }
2642
- )
2643
- ] })
2644
- ] })
2598
+ ),
2599
+ /* @__PURE__ */ jsxs(
2600
+ "button",
2601
+ {
2602
+ onClick: openVaultWebsite,
2603
+ className: "oui-flex oui-items-center oui-gap-1 oui-text-xs oui-font-medium",
2604
+ style: { color: "#608CFF" },
2605
+ children: [
2606
+ /* @__PURE__ */ jsx("span", { children: t("vaults.card.viewMore") }),
2607
+ /* @__PURE__ */ jsx(
2608
+ ArrowRightUpSquareFillIcon,
2609
+ {
2610
+ style: { color: "#608CFF" },
2611
+ width: 16,
2612
+ height: 16,
2613
+ viewBox: "0 0 18 18"
2614
+ }
2615
+ )
2616
+ ]
2617
+ }
2618
+ )
2645
2619
  ] })
2646
- ] }),
2620
+ ] }) }),
2647
2621
  /* @__PURE__ */ jsx("div", { className: "oui-relative oui-z-10", children: /* @__PURE__ */ jsx(
2648
2622
  Text.numeral,
2649
2623
  {
@@ -2653,7 +2627,7 @@ var init_vaults_list = __esm({
2653
2627
  children: vaultInfo.tvl
2654
2628
  }
2655
2629
  ) }),
2656
- /* @__PURE__ */ jsx("div", { className: "oui-relative oui-z-10", children: /* @__PURE__ */ jsx(Text.gradient, { className: "oui-text-sm oui-font-semibold", color: "brand", children: vaultInfo["30d_apy"] > 100 ? ">10000%" : `${(vaultInfo["30d_apy"] * 100).toFixed(2)}%` }) }),
2630
+ /* @__PURE__ */ jsx("div", { className: "oui-relative oui-z-10", children: /* @__PURE__ */ jsx(Text.gradient, { className: "oui-text-sm oui-font-semibold", color: "brand", children: vaultInfo.status === "pre_launch" || vaultInfo.vault_age !== null && vaultInfo.vault_age < 30 ? "--" : vaultInfo["30d_apy"] > 100 ? ">10000%" : `${(vaultInfo["30d_apy"] * 100).toFixed(2)}%` }) }),
2657
2631
  /* @__PURE__ */ jsx("div", { className: "oui-relative oui-z-10", children: /* @__PURE__ */ jsx(
2658
2632
  Text.numeral,
2659
2633
  {