diff --git a/apps/cow-fi/app/(main)/affiliate-program/page.tsx b/apps/cow-fi/app/(main)/affiliate-program/page.tsx index 341259c46f..f8ebde97e3 100644 --- a/apps/cow-fi/app/(main)/affiliate-program/page.tsx +++ b/apps/cow-fi/app/(main)/affiliate-program/page.tsx @@ -2,9 +2,9 @@ import type { ReactNode } from 'react' import { useCowAnalytics } from '@cowprotocol/analytics' -import IMG_ICON_COW_LENS from '@cowprotocol/assets/images/icon-cow-lens.svg' -import IMG_ICON_FAQ from '@cowprotocol/assets/images/icon-faq.svg' -import IMG_COWSWAP_HERO from '@cowprotocol/assets/images/image-affiliate-hero.svg' +import iconCowLensSrc from '@cowprotocol/assets/images/icon-cow-lens.svg' +import iconFaqSrc from '@cowprotocol/assets/images/icon-faq.svg' +import svgAffiliateHeroSrc from '@cowprotocol/assets/images/image-affiliate-hero.svg' import { Media, ProductLogo, ProductVariant, UI } from '@cowprotocol/ui' import { CowFiCategory } from 'src/common/analytics/types' @@ -91,7 +91,7 @@ function AffiliateHero({ sendEvent }: { sendEvent: SendEvent }): ReactNode { color={`var(${UI.COLOR_BLUE_900_PRIMARY})`} marginMobile="24px auto 56px" > - + ) @@ -106,7 +106,7 @@ function HowItWorksSection(): ReactNode { - + The more you moo, the more you earn @@ -195,7 +195,7 @@ function AffiliateFaqSection({ sendEvent }: { sendEvent: SendEvent }): ReactNode - + FAQs diff --git a/apps/cow-fi/app/(main)/cow-amm/page.tsx b/apps/cow-fi/app/(main)/cow-amm/page.tsx index 06bdc3f870..ba4a5ab44f 100644 --- a/apps/cow-fi/app/(main)/cow-amm/page.tsx +++ b/apps/cow-fi/app/(main)/cow-amm/page.tsx @@ -1,13 +1,13 @@ 'use client' import { useCowAnalytics } from '@cowprotocol/analytics' -import IMG_ICON_BULB_COW from '@cowprotocol/assets/images/icon-bulb-cow.svg' -import IMG_ICON_CROWN_COW from '@cowprotocol/assets/images/icon-crown-cow.svg' -import IMG_ICON_FAQ from '@cowprotocol/assets/images/icon-faq.svg' -import IMG_COWAMM_HERO from '@cowprotocol/assets/images/image-cowamm-hero.svg' -import IMG_COWAMM_PASSIVE from '@cowprotocol/assets/images/image-cowamm-passive.svg' -import IMG_COWAMM_RAISING from '@cowprotocol/assets/images/image-cowamm-raising.svg' -import IMG_COWAMM_REKT from '@cowprotocol/assets/images/image-cowamm-rekt.svg' +import iconBulbCowSrc from '@cowprotocol/assets/images/icon-bulb-cow.svg' +import iconCrownCowSrc from '@cowprotocol/assets/images/icon-crown-cow.svg' +import iconFaqSrc from '@cowprotocol/assets/images/icon-faq.svg' +import svgCowammHeroSrc from '@cowprotocol/assets/images/image-cowamm-hero.svg' +import svgCowammPassiveSrc from '@cowprotocol/assets/images/image-cowamm-passive.svg' +import svgCowammRaisingSrc from '@cowprotocol/assets/images/image-cowamm-raising.svg' +import svgCowammRektSrc from '@cowprotocol/assets/images/image-cowamm-rekt.svg' import { Color, ProductLogo, ProductVariant, UI } from '@cowprotocol/ui' import { CowFiCategory } from 'src/common/analytics/types' @@ -71,7 +71,7 @@ export default function Page() { - + @@ -114,7 +114,7 @@ export default function Page() { - + AMMs don't want you to know about LVR @@ -165,7 +165,7 @@ export default function Page() { color={`var(${UI.COLOR_NEUTRAL_10})`} > - + Finally, an AMM designed with LPs in mind @@ -210,7 +210,7 @@ export default function Page() { - + Raising the bar curve @@ -246,7 +246,7 @@ export default function Page() { orderReverseTablet borderRadius={32} > - + @@ -257,7 +257,7 @@ export default function Page() { - + CoW AMM benefits LPs of all types @@ -281,7 +281,7 @@ export default function Page() { orderReverseTablet borderRadius={32} > - + Provide liquidity for your token without getting rekt @@ -320,7 +320,7 @@ export default function Page() { orderReverseTablet borderRadius={32} > - + @@ -362,7 +362,7 @@ export default function Page() { - + FAQs diff --git a/apps/cow-fi/app/(main)/cow-protocol/page.tsx b/apps/cow-fi/app/(main)/cow-protocol/page.tsx index 680e63627d..3e4cd61986 100644 --- a/apps/cow-fi/app/(main)/cow-protocol/page.tsx +++ b/apps/cow-fi/app/(main)/cow-protocol/page.tsx @@ -1,21 +1,21 @@ 'use client' -import IMG_ICON_BUILD_WITH_COW from '@cowprotocol/assets/images/icon-build-with-cow.svg' -import IMG_ICON_BULB_COW from '@cowprotocol/assets/images/icon-bulb-cow.svg' -import IMG_COW_LENS from '@cowprotocol/assets/images/icon-cow-lens.svg' -import IMG_ICON_CROWN_COW from '@cowprotocol/assets/images/icon-crown-cow.svg' -import IMG_ICON_FAQ from '@cowprotocol/assets/images/icon-faq.svg' -import IMG_ICON_GHOST from '@cowprotocol/assets/images/icon-ghost.svg' -import IMG_LOGO_CURVE from '@cowprotocol/assets/images/icon-logo-curve.svg' -import IMG_LOGO_LIDO from '@cowprotocol/assets/images/icon-logo-lido.svg' -import IMG_LOGO_SAFE from '@cowprotocol/assets/images/icon-logo-safe.svg' -import IMG_ICON_OWL from '@cowprotocol/assets/images/icon-owl.svg' -import IMG_ICON_SECURE from '@cowprotocol/assets/images/icon-secure.svg' -import IMG_BATCHAUCTIONS from '@cowprotocol/assets/images/image-batchauctions.svg' -import IMG_COW_BITS from '@cowprotocol/assets/images/image-cow-bits.svg' -import IMG_INTENTS from '@cowprotocol/assets/images/image-intents.svg' -import IMG_LEADING from '@cowprotocol/assets/images/image-leading.svg' -import IMG_SOLVERS from '@cowprotocol/assets/images/image-solvers.svg' +import iconBuildWithCowSrc from '@cowprotocol/assets/images/icon-build-with-cow.svg' +import iconBulbCowSrc from '@cowprotocol/assets/images/icon-bulb-cow.svg' +import iconCowLensSrc from '@cowprotocol/assets/images/icon-cow-lens.svg' +import iconCrownCowSrc from '@cowprotocol/assets/images/icon-crown-cow.svg' +import iconFaqSrc from '@cowprotocol/assets/images/icon-faq.svg' +import iconGhostSrc from '@cowprotocol/assets/images/icon-ghost.svg' +import iconCurveSrc from '@cowprotocol/assets/images/icon-logo-curve.svg' +import iconLidoSrc from '@cowprotocol/assets/images/icon-logo-lido.svg' +import iconSafeSrc from '@cowprotocol/assets/images/icon-logo-safe.svg' +import iconOwlSrc from '@cowprotocol/assets/images/icon-owl.svg' +import iconSecureSrc from '@cowprotocol/assets/images/icon-secure.svg' +import svgBatchauctionsSrc from '@cowprotocol/assets/images/image-batchauctions.svg' +import svgCowBitsSrc from '@cowprotocol/assets/images/image-cow-bits.svg' +import svgIntentsSrc from '@cowprotocol/assets/images/image-intents.svg' +import svgLeadingSrc from '@cowprotocol/assets/images/image-leading.svg' +import svgSolversSrc from '@cowprotocol/assets/images/image-solvers.svg' import { Color, ProductLogo, ProductVariant, UI } from '@cowprotocol/ui' import { CowFiCategory, toCowFiGtmEvent } from 'src/common/analytics/types' @@ -85,7 +85,7 @@ export default function Page() { - + @@ -126,7 +126,7 @@ export default function Page() { - + The leading intents-based DEX aggregation protocol @@ -135,7 +135,7 @@ export default function Page() { - + @@ -144,7 +144,7 @@ export default function Page() { - + How it works @@ -185,7 +185,7 @@ export default function Page() { orderReverseTablet borderRadius={90} > - + @@ -200,7 +200,7 @@ export default function Page() { orderReverseTablet borderRadius={90} > - + Solvers @@ -257,7 +257,7 @@ export default function Page() { orderReverseMobile borderRadius={90} > - + @@ -344,7 +344,7 @@ export default function Page() { - + Powering innovation across DeFi @@ -358,7 +358,7 @@ export default function Page() { asProp="div" > - + Automating advanced treasury tasks @@ -378,7 +378,7 @@ export default function Page() { asProp="div" > - + @@ -401,7 +401,7 @@ export default function Page() { asProp="div" > - + Powering native swaps @@ -420,9 +420,9 @@ export default function Page() { - + - + Trusted by the best @@ -522,7 +522,7 @@ export default function Page() { - + Build with CoW Protocol @@ -578,7 +578,7 @@ export default function Page() { - + Want to build a solver? @@ -616,7 +616,7 @@ export default function Page() { - + FAQs diff --git a/apps/cow-fi/app/(main)/cow-swap/page.tsx b/apps/cow-fi/app/(main)/cow-swap/page.tsx index 7c346677ab..22a32e7e1d 100644 --- a/apps/cow-fi/app/(main)/cow-swap/page.tsx +++ b/apps/cow-fi/app/(main)/cow-swap/page.tsx @@ -4,11 +4,11 @@ import type { ReactNode } from 'react' import { useEffect, useRef } from 'react' import { useCowAnalytics } from '@cowprotocol/analytics' -import ICON_BULB from '@cowprotocol/assets/images/icon-bulb-cow.svg' -import IMG_ICON_FAQ from '@cowprotocol/assets/images/icon-faq.svg' -import IMG_ICON_FLOWER_COW from '@cowprotocol/assets/images/icon-flower-cow.svg' -import IMG_ICON_UNICORN from '@cowprotocol/assets/images/icon-unicorn.svg' -import IMG_COWSWAP_HERO from '@cowprotocol/assets/images/image-cowswap-hero.svg' +import iconBulbCowSrc from '@cowprotocol/assets/images/icon-bulb-cow.svg' +import iconFaqSrc from '@cowprotocol/assets/images/icon-faq.svg' +import iconFlowerCowSrc from '@cowprotocol/assets/images/icon-flower-cow.svg' +import iconUnicornSrc from '@cowprotocol/assets/images/icon-unicorn.svg' +import svgCowswapHeroSrc from '@cowprotocol/assets/images/image-cowswap-hero.svg' import { Color, ProductLogo, ProductVariant, UI } from '@cowprotocol/ui' import { CowFiCategory } from 'src/common/analytics/types' @@ -100,7 +100,7 @@ export default function Page(): ReactNode { - + @@ -147,9 +147,9 @@ export default function Page(): ReactNode { - + - + CoW Swap is different @@ -186,7 +186,7 @@ export default function Page(): ReactNode { - + CoW Swap is the first user interface built on top of CoW Protocol @@ -215,7 +215,7 @@ export default function Page(): ReactNode { - + S-moooo-th trading @@ -397,7 +397,7 @@ export default function Page(): ReactNode { - + FAQs diff --git a/apps/cow-fi/app/(main)/page.tsx b/apps/cow-fi/app/(main)/page.tsx index 2b6d15f238..d35928fb65 100644 --- a/apps/cow-fi/app/(main)/page.tsx +++ b/apps/cow-fi/app/(main)/page.tsx @@ -1,9 +1,9 @@ 'use client' import { useCowAnalytics } from '@cowprotocol/analytics' -import IMG_ICON_BULB_COW from '@cowprotocol/assets/images/icon-bulb-cow.svg' -import IMG_ICON_GOVERNANCE from '@cowprotocol/assets/images/icon-governance.svg' -import IMG_ICON_GRANTS_CARTON from '@cowprotocol/assets/images/icon-grants-carton.svg' +import iconBulbCowSrc from '@cowprotocol/assets/images/icon-bulb-cow.svg' +import iconGovernanceSrc from '@cowprotocol/assets/images/icon-governance.svg' +import iconGrantsCartonSrc from '@cowprotocol/assets/images/icon-grants-carton.svg' import VIDEO_HERO_HOME from '@cowprotocol/assets/video/cow-dao-hero-animation.mp4' import { Font, UI } from '@cowprotocol/ui' @@ -61,7 +61,7 @@ export default function Page() { - + Innovation in action @@ -85,7 +85,7 @@ export default function Page() { - + Governance - + Grants - + - + Trusted by the best diff --git a/apps/cow-fi/components/ArrowButton.tsx b/apps/cow-fi/components/ArrowButton.tsx index a31a69b777..c17043d73d 100644 --- a/apps/cow-fi/components/ArrowButton.tsx +++ b/apps/cow-fi/components/ArrowButton.tsx @@ -1,4 +1,4 @@ -import IMG_ICON_ARROW_RIGHT from '@cowprotocol/assets/images/arrow-right.svg' +import svgArrowRightSrc from '@cowprotocol/assets/images/arrow-right.svg' import { Font, UI } from '@cowprotocol/ui' import Link from 'next/link' @@ -66,7 +66,7 @@ export const ArrowButton = ({ link, external = false, text }: ArrowButtonProps) {text && {text}} - + ) diff --git a/apps/cow-fi/components/CowSaucerScene.tsx b/apps/cow-fi/components/CowSaucerScene.tsx index cda95826df..7f620ca68a 100644 --- a/apps/cow-fi/components/CowSaucerScene.tsx +++ b/apps/cow-fi/components/CowSaucerScene.tsx @@ -2,10 +2,10 @@ import { ReactNode } from 'react' -import BG_IMAGE_MED from '@cowprotocol/assets/images/404/cowfi/bg-med.svg' -import BG_IMAGE_SMALL from '@cowprotocol/assets/images/404/cowfi/bg-small.svg' -import BG_IMAGE from '@cowprotocol/assets/images/404/cowfi/bg.svg' -import COW_IMAGE from '@cowprotocol/assets/images/404/cowfi/cow.svg' +import svgBgMedSrc from '@cowprotocol/assets/images/404/cowfi/bg-med.svg' +import svgBgSmallSrc from '@cowprotocol/assets/images/404/cowfi/bg-small.svg' +import svgBgSrc from '@cowprotocol/assets/images/404/cowfi/bg.svg' +import svgCowSrc from '@cowprotocol/assets/images/404/cowfi/cow.svg' import { CowSaucerScene as BaseCowSaucerScene, COWFI_SAUCER_PALETTE_LIGHT, Media } from '@cowprotocol/ui' import styled from 'styled-components/macro' @@ -17,16 +17,16 @@ const SceneSection = styled.section` width: 100%; margin: 0 0 calc(${FOOTER_OVERLAP} * -1); padding-bottom: ${FOOTER_OVERLAP}; - background: url(${BG_IMAGE}) left bottom / 100% auto no-repeat; + background: url(${svgBgSrc}) left bottom / 100% auto no-repeat; overflow: hidden; ${Media.upToMedium()} { margin-top: -10rem; - background-image: url(${BG_IMAGE_MED}); + background-image: url(${svgBgMedSrc}); } ${Media.upToSmall()} { - background-image: url(${BG_IMAGE_SMALL}); + background-image: url(${svgBgSmallSrc}); } ` @@ -37,7 +37,7 @@ const SceneAnimation = styled(BaseCowSaucerScene)` export function CowSaucerScene(): ReactNode { return ( - + ) } diff --git a/apps/cow-fi/components/DaosPageComponent.tsx b/apps/cow-fi/components/DaosPageComponent.tsx index 83fa2edd4f..e424d8c0e1 100644 --- a/apps/cow-fi/components/DaosPageComponent.tsx +++ b/apps/cow-fi/components/DaosPageComponent.tsx @@ -3,10 +3,10 @@ import { useCowAnalytics } from '@cowprotocol/analytics' import 'swiper/css' import 'swiper/css/pagination' import 'swiper/css/navigation' -import IMG_ICON_BULB_COW from '@cowprotocol/assets/images/icon-bulb-cow.svg' -import IMG_ICON_CROWN_COW from '@cowprotocol/assets/images/icon-crown-cow.svg' -import IMG_ICON_GHOST from '@cowprotocol/assets/images/icon-ghost.svg' -import IMG_ICON_OWL from '@cowprotocol/assets/images/icon-owl.svg' +import iconBulbCowSrc from '@cowprotocol/assets/images/icon-bulb-cow.svg' +import iconCrownCowSrc from '@cowprotocol/assets/images/icon-crown-cow.svg' +import iconGhostSrc from '@cowprotocol/assets/images/icon-ghost.svg' +import iconOwlSrc from '@cowprotocol/assets/images/icon-owl.svg' import { Color, ProductLogo, ProductVariant, UI } from '@cowprotocol/ui' import { CowFiCategory } from 'src/common/analytics/types' @@ -53,7 +53,7 @@ export function DaosPageComponent() { The smartest DAOs trust CoW Swap with their most-important trades - + @@ -79,7 +79,7 @@ export function DaosPageComponent() { - + Expert trading for expert DAOs @@ -309,9 +309,9 @@ export function DaosPageComponent() { - + - + Trusted by the best diff --git a/apps/cow-fi/components/FAQ.tsx b/apps/cow-fi/components/FAQ.tsx index 61594d03e8..8f96edcf65 100644 --- a/apps/cow-fi/components/FAQ.tsx +++ b/apps/cow-fi/components/FAQ.tsx @@ -1,7 +1,7 @@ import React, { useState } from 'react' -import IMG_ICON_MINUS from '@cowprotocol/assets/images/icon-minus.svg' -import IMG_ICON_PLUS from '@cowprotocol/assets/images/icon-plus.svg' +import iconMinusSrc from '@cowprotocol/assets/images/icon-minus.svg' +import iconPlusSrc from '@cowprotocol/assets/images/icon-plus.svg' import { Font, Media, UI } from '@cowprotocol/ui' import SVG from 'react-inlinesvg' @@ -140,11 +140,11 @@ const FAQItem: React.FC = ({ question, answer }) => { {question} {isOpen ? ( - + ) : ( - + )} diff --git a/apps/cow-fi/components/LearnPageComponent.tsx b/apps/cow-fi/components/LearnPageComponent.tsx index 12406a3c6a..607f12c850 100644 --- a/apps/cow-fi/components/LearnPageComponent.tsx +++ b/apps/cow-fi/components/LearnPageComponent.tsx @@ -3,7 +3,7 @@ import type { ReactNode } from 'react' import { useCowAnalytics } from '@cowprotocol/analytics' -import IMG_ICON_BULB_COW from '@cowprotocol/assets/images/icon-bulb-cow.svg' +import iconBulbCowSrc from '@cowprotocol/assets/images/icon-bulb-cow.svg' import { Font, Media, UI } from '@cowprotocol/ui' import { CowFiCategory } from 'src/common/analytics/types' @@ -326,7 +326,7 @@ export function LearnPageComponent({ categories, featuredArticles }: PageProps): - + Explore, learn, integrate CoW DAO documentation diff --git a/apps/cow-fi/components/SearchBar/index.tsx b/apps/cow-fi/components/SearchBar/index.tsx index 3a75b4e1aa..14c99d4814 100644 --- a/apps/cow-fi/components/SearchBar/index.tsx +++ b/apps/cow-fi/components/SearchBar/index.tsx @@ -1,7 +1,7 @@ import React, { useCallback, useEffect, useMemo, useRef, useState, useTransition } from 'react' -import IMG_ICON_SEARCH from '@cowprotocol/assets/images/icon-search.svg' -import IMG_ICON_X from '@cowprotocol/assets/images/x.svg' +import iconSearchSrc from '@cowprotocol/assets/images/icon-search.svg' +import svgXSrc from '@cowprotocol/assets/images/x.svg' import { useDebounce, useMediaQuery, useOnClickOutside } from '@cowprotocol/common-hooks' import { Media } from '@cowprotocol/ui' @@ -204,7 +204,7 @@ export const SearchBar: React.FC = () => { - + = () => { } }} > - + )} diff --git a/apps/cow-fi/data/affiliate-program/const.tsx b/apps/cow-fi/data/affiliate-program/const.tsx index 43191dddfb..41704164c0 100644 --- a/apps/cow-fi/data/affiliate-program/const.tsx +++ b/apps/cow-fi/data/affiliate-program/const.tsx @@ -1,8 +1,8 @@ import type { ReactNode } from 'react' -import IMG_AFFILIATE_EARN from '@cowprotocol/assets/images/image-affiliate-earn.svg' -import IMG_GENERATE_LINK from '@cowprotocol/assets/images/image-generate-link.svg' -import IMG_SHARE_IT from '@cowprotocol/assets/images/image-shareit.svg' +import svgAffiliateEarnSrc from '@cowprotocol/assets/images/image-affiliate-earn.svg' +import svgGenerateLinkSrc from '@cowprotocol/assets/images/image-generate-link.svg' +import svgShareitSrc from '@cowprotocol/assets/images/image-shareit.svg' import { UI } from '@cowprotocol/ui' import { Link } from '@/components/Link' @@ -29,7 +29,7 @@ export const AFFILIATE_PROGRAM_STEPS = [ bgColor: `var(${UI.COLOR_YELLOW_800_PRIMARY})`, textColor: `var(${UI.COLOR_YELLOW_300_PRIMARY})`, descriptionColor: `var(${UI.COLOR_YELLOW_300_PRIMARY})`, - image: IMG_GENERATE_LINK, + image: svgGenerateLinkSrc, imageHeight: 128, }, { @@ -39,7 +39,7 @@ export const AFFILIATE_PROGRAM_STEPS = [ bgColor: `var(${UI.COLOR_YELLOW_300_PRIMARY})`, textColor: `var(${UI.COLOR_YELLOW_800_PRIMARY})`, descriptionColor: `var(${UI.COLOR_YELLOW_800_PRIMARY})`, - image: IMG_SHARE_IT, + image: svgShareitSrc, imageHeight: 132, }, { @@ -49,7 +49,7 @@ export const AFFILIATE_PROGRAM_STEPS = [ bgColor: `var(${UI.COLOR_YELLOW_700_PRIMARY})`, textColor: `var(${UI.COLOR_NEUTRAL_100})`, descriptionColor: `var(${UI.COLOR_NEUTRAL_100})`, - image: IMG_AFFILIATE_EARN, + image: svgAffiliateEarnSrc, imageHeight: 128, }, ] as const diff --git a/apps/cow-fi/data/cow-amm/const.tsx b/apps/cow-fi/data/cow-amm/const.tsx index 840ce22adf..e4eabae186 100644 --- a/apps/cow-fi/data/cow-amm/const.tsx +++ b/apps/cow-fi/data/cow-amm/const.tsx @@ -1,9 +1,9 @@ import { initGtm } from '@cowprotocol/analytics' -import IMG_COWAMM_LP_1 from '@cowprotocol/assets/images/image-cowamm-lp-1.svg' -import IMG_COWAMM_LP_2 from '@cowprotocol/assets/images/image-cowamm-lp-2.svg' -import IMG_COWAMM_LP_3 from '@cowprotocol/assets/images/image-cowamm-lp-3.svg' -import IMG_COWAMM_LP_4 from '@cowprotocol/assets/images/image-cowamm-lp-4.svg' -import IMG_COWAMM_LVR from '@cowprotocol/assets/images/image-cowamm-lvr.svg' +import svgCowammLp1Src from '@cowprotocol/assets/images/image-cowamm-lp-1.svg' +import svgCowammLp2Src from '@cowprotocol/assets/images/image-cowamm-lp-2.svg' +import svgCowammLp3Src from '@cowprotocol/assets/images/image-cowamm-lp-3.svg' +import svgCowammLp4Src from '@cowprotocol/assets/images/image-cowamm-lp-4.svg' +import svgCowammLvrSrc from '@cowprotocol/assets/images/image-cowamm-lvr.svg' import { Color } from '@cowprotocol/ui' import { CowFiCategory } from 'src/common/analytics/types' @@ -57,25 +57,25 @@ export const COW_AMM_CONTENT = [ 'Liquidity providers deposit tokens into protected CoW AMM liquidity pools, where traders can access the liquidity', bgColor: Color.cowamm_dark_green2, textColor: Color.cowamm_light_green, - image: IMG_COWAMM_LP_1, + image: svgCowammLp1Src, }, { description: 'Solvers bid to rebalance CoW AMM pools whenever there is an arbitrage opportunity', bgColor: Color.cowamm_dark_green2, textColor: Color.cowamm_light_green, - image: IMG_COWAMM_LP_2, + image: svgCowammLp2Src, }, { description: 'The solver that offers the most surplus to the pool wins the right to rebalance the pool', bgColor: Color.cowamm_dark_green2, textColor: Color.cowamm_light_green, - image: IMG_COWAMM_LP_3, + image: svgCowammLp3Src, }, { description: 'CoW AMM eliminates LVR by capturing arbitrage value for LPs and shielding it from MEV bots', bgColor: Color.cowamm_dark_green2, textColor: Color.cowamm_light_green, - image: IMG_COWAMM_LP_4, + image: svgCowammLp4Src, }, ] @@ -92,7 +92,7 @@ export const LVR_CONTENT = [ description2: "Andrea Canidio and Robin Fritsch, Arbitrageurs' profits, LVR, and sandwich attacks: batch trading as an AMM design response (November 2023)", bgColor: 'transparent', - image: IMG_COWAMM_LVR, + image: svgCowammLvrSrc, }, ] diff --git a/apps/cow-fi/data/cow-protocol/const.tsx b/apps/cow-fi/data/cow-protocol/const.tsx index 6935ce579b..fc6c3c2746 100644 --- a/apps/cow-fi/data/cow-protocol/const.tsx +++ b/apps/cow-fi/data/cow-protocol/const.tsx @@ -1,37 +1,37 @@ import { ReactNode } from 'react' import { useCowAnalytics } from '@cowprotocol/analytics' -import IMG_DOCS from '@cowprotocol/assets/images/image-docs.svg' -import IMG_GRANT_COLOR from '@cowprotocol/assets/images/image-grant-color.svg' -import IMG_HOOKS from '@cowprotocol/assets/images/image-hooks.svg' -import IMG_MILKMAN from '@cowprotocol/assets/images/image-milkman.svg' -import IMG_PROGRAMMATIC_ORDERS from '@cowprotocol/assets/images/image-programmatic-orders.svg' -import IMG_SMARTORDERS from '@cowprotocol/assets/images/image-smartorders.svg' -import IMG_SURPLUS from '@cowprotocol/assets/images/image-surplus.svg' -import IMG_TWAP from '@cowprotocol/assets/images/image-twap.svg' -import IMG_WIDGET from '@cowprotocol/assets/images/image-widget.svg' -import IMG_LOGO_AAVE from '@cowprotocol/assets/images/logo-aave-icon.svg' -import IMG_LOGO_ALCHEMIX from '@cowprotocol/assets/images/logo-alchemix.svg' -import IMG_LOGO_ARAGON from '@cowprotocol/assets/images/logo-aragon.svg' -import IMG_LOGO_AURA from '@cowprotocol/assets/images/logo-aura.svg' -import IMG_LOGO_BALANCER from '@cowprotocol/assets/images/logo-balancer.svg' -import IMG_LOGO_CURVE_TEXT from '@cowprotocol/assets/images/logo-curve-text.svg' -import IMG_LOGO_ENS from '@cowprotocol/assets/images/logo-ens-icon.svg' -import IMG_LOGO_FRAX_FINANCE from '@cowprotocol/assets/images/logo-frax.svg' -import IMG_LOGO_GNOSIS from '@cowprotocol/assets/images/logo-gnosis.svg' -import IMG_LOGO_INDEX_COOP from '@cowprotocol/assets/images/logo-index.svg' -import IMG_LOGO_KARPATKEY from '@cowprotocol/assets/images/logo-karpatkey.svg' -import IMG_LOGO_LIDO from '@cowprotocol/assets/images/logo-lido.svg' -import IMG_LOGO_MAKER from '@cowprotocol/assets/images/logo-maker.svg' -import IMG_LOGO_NEXUS from '@cowprotocol/assets/images/logo-nexus-icon.svg' -import IMG_LOGO_PLEASER_DAO from '@cowprotocol/assets/images/logo-pleasrdao.svg' -import IMG_LOGO_POLYGON from '@cowprotocol/assets/images/logo-polygon.svg' -import IMG_LOGO_RHINO_FI from '@cowprotocol/assets/images/logo-rhino.svg' -import IMG_LOGO_SAFE from '@cowprotocol/assets/images/logo-safe.svg' -import IMG_LOGO_SHAPESHIFT from '@cowprotocol/assets/images/logo-shapeshift.svg' -import IMG_LOGO_STAKE_DAO from '@cowprotocol/assets/images/logo-stakedao.svg' -import IMG_LOGO_SYNTHETIX from '@cowprotocol/assets/images/logo-synthetix.svg' -import IMG_LOGO_TELLER_FINANCE from '@cowprotocol/assets/images/logo-teller.svg' +import svgDocsSrc from '@cowprotocol/assets/images/image-docs.svg' +import svgGrantColorSrc from '@cowprotocol/assets/images/image-grant-color.svg' +import svgHooksSrc from '@cowprotocol/assets/images/image-hooks.svg' +import svgMilkmanSrc from '@cowprotocol/assets/images/image-milkman.svg' +import svgProgrammaticOrdersSrc from '@cowprotocol/assets/images/image-programmatic-orders.svg' +import svgSmartordersSrc from '@cowprotocol/assets/images/image-smartorders.svg' +import svgSurplusSrc from '@cowprotocol/assets/images/image-surplus.svg' +import svgTwapSrc from '@cowprotocol/assets/images/image-twap.svg' +import svgWidgetSrc from '@cowprotocol/assets/images/image-widget.svg' +import iconAaveSrc from '@cowprotocol/assets/images/logo-aave-icon.svg' +import svgAlchemixSrc from '@cowprotocol/assets/images/logo-alchemix.svg' +import svgAragonSrc from '@cowprotocol/assets/images/logo-aragon.svg' +import svgAuraSrc from '@cowprotocol/assets/images/logo-aura.svg' +import svgBalancerSrc from '@cowprotocol/assets/images/logo-balancer.svg' +import svgCurveTextSrc from '@cowprotocol/assets/images/logo-curve-text.svg' +import iconEnsSrc from '@cowprotocol/assets/images/logo-ens-icon.svg' +import svgFraxSrc from '@cowprotocol/assets/images/logo-frax.svg' +import svgGnosisSrc from '@cowprotocol/assets/images/logo-gnosis.svg' +import svgIndexSrc from '@cowprotocol/assets/images/logo-index.svg' +import svgKarpatkeySrc from '@cowprotocol/assets/images/logo-karpatkey.svg' +import svgLidoSrc from '@cowprotocol/assets/images/logo-lido.svg' +import svgMakerSrc from '@cowprotocol/assets/images/logo-maker.svg' +import iconNexusSrc from '@cowprotocol/assets/images/logo-nexus-icon.svg' +import svgPleasrdaoSrc from '@cowprotocol/assets/images/logo-pleasrdao.svg' +import svgPolygonSrc from '@cowprotocol/assets/images/logo-polygon.svg' +import svgRhinoSrc from '@cowprotocol/assets/images/logo-rhino.svg' +import svgSafeSrc from '@cowprotocol/assets/images/logo-safe.svg' +import svgShapeshiftSrc from '@cowprotocol/assets/images/logo-shapeshift.svg' +import svgStakedaoSrc from '@cowprotocol/assets/images/logo-stakedao.svg' +import svgSynthetixSrc from '@cowprotocol/assets/images/logo-synthetix.svg' +import svgTellerSrc from '@cowprotocol/assets/images/logo-teller.svg' import { getAvailableChainsText } from '@cowprotocol/common-const' import { Color } from '@cowprotocol/ui' @@ -429,7 +429,7 @@ export const ADVANCED_ORDER_TYPES = [ bgColor: Color.cowfi_purple1, textColor: Color.cowfi_purple2, titleColor: Color.neutral98, - imageSrc: IMG_SURPLUS, + imageSrc: svgSurplusSrc, }, { title: 'TWAP orders', @@ -438,7 +438,7 @@ export const ADVANCED_ORDER_TYPES = [ bgColor: Color.cowfi_purple_bright, textColor: Color.cowfi_purple1, titleColor: Color.cowfi_purple_dark, - imageSrc: IMG_TWAP, + imageSrc: svgTwapSrc, }, { title: 'Milkman orders', @@ -447,7 +447,7 @@ export const ADVANCED_ORDER_TYPES = [ bgColor: Color.cowfi_purple_dark, textColor: Color.cowfi_purple_bright, titleColor: Color.neutral98, - imageSrc: IMG_MILKMAN, + imageSrc: svgMilkmanSrc, }, ] @@ -458,7 +458,7 @@ export const UNIQUE_TRADING_LOGIC = [ bgColor: Color.cowfi_purple2, textColor: Color.cowfi_purple1, titleColor: Color.cowfi_purple_dark, - imageSrc: IMG_SMARTORDERS, + imageSrc: svgSmartordersSrc, }, { title: 'Programmatic orders', @@ -466,7 +466,7 @@ export const UNIQUE_TRADING_LOGIC = [ bgColor: Color.cowfi_purple_dark, textColor: Color.cowfi_purple_bright, titleColor: Color.neutral98, - imageSrc: IMG_PROGRAMMATIC_ORDERS, + imageSrc: svgProgrammaticOrdersSrc, }, { title: 'Hooks', @@ -475,14 +475,14 @@ export const UNIQUE_TRADING_LOGIC = [ bgColor: Color.cowfi_purple3, textColor: Color.cowfi_purple_bright, titleColor: Color.neutral98, - imageSrc: IMG_HOOKS, + imageSrc: svgHooksSrc, }, ] export const TOP_LOGOS = [ - { src: IMG_LOGO_LIDO, alt: 'Lido', url: 'https://lido.fi/' }, - { src: IMG_LOGO_CURVE_TEXT, alt: 'Curve', url: 'https://curve.finance/' }, - { src: IMG_LOGO_SAFE, alt: 'Safe', url: 'https://safe.global/' }, + { src: svgLidoSrc, alt: 'Lido', url: 'https://lido.fi/' }, + { src: svgCurveTextSrc, alt: 'Curve', url: 'https://curve.finance/' }, + { src: svgSafeSrc, alt: 'Safe', url: 'https://safe.global/' }, ] export const CASE_STUDIES = [ @@ -490,40 +490,40 @@ export const CASE_STUDIES = [ title: 'Aave', description: 'Aave DAO used CoW Swap to swap over $4 million directly into a Balancer liquidity pool', link: '/learn/aave-trade-breakdown', - logo: IMG_LOGO_AAVE, + logo: iconAaveSrc, }, { title: 'ENS', description: 'ENS DAO traded a whopping 10,000 ETH for USDC through CoW Swap', link: '/learn/ens-trade-breakdown', - logo: IMG_LOGO_ENS, + logo: iconEnsSrc, }, { title: 'Nexus Mutual', description: 'In the largest DAO trade ever, Nexus Mutual relied on CoW Swap to trade 14,400 ETH for rETH, a liquid staking token', link: '/learn/nexus-mutual-trade-breakdown', - logo: IMG_LOGO_NEXUS, + logo: iconNexusSrc, }, ] export const ALL_LOGOS = [ - { src: IMG_LOGO_GNOSIS, alt: 'Gnosis', url: 'https://www.gnosis.io/' }, - { src: IMG_LOGO_BALANCER, alt: 'Balancer', url: 'https://balancer.fi/' }, - { src: IMG_LOGO_AURA, alt: 'Aura', url: 'https://aura.finance/' }, - { src: IMG_LOGO_KARPATKEY, alt: 'Karpatkey', url: 'https://www.karpatkey.com/' }, - { src: IMG_LOGO_SHAPESHIFT, alt: 'Shapeshift', url: 'https://shapeshift.com/' }, - { src: IMG_LOGO_MAKER, alt: 'Maker', url: 'https://makerdao.com/' }, - { src: IMG_LOGO_SYNTHETIX, alt: 'Synthetix', url: 'https://synthetix.io/' }, - { src: IMG_LOGO_ARAGON, alt: 'Aragon', url: 'https://aragon.org/' }, - { src: IMG_LOGO_PLEASER_DAO, alt: 'Pleaser DAO', url: 'https://pleasr.org/' }, - { src: IMG_LOGO_POLYGON, alt: 'Polygon', url: 'https://polygon.technology/' }, - { src: IMG_LOGO_INDEX_COOP, alt: 'Index Coop', url: 'https://indexcoop.com/' }, - { src: IMG_LOGO_ALCHEMIX, alt: 'Alchemix', url: 'https://alchemix.fi/' }, - { src: IMG_LOGO_STAKE_DAO, alt: 'StakeDAO', url: 'https://stakedao.org/' }, - { src: IMG_LOGO_RHINO_FI, alt: 'RhinoFi', url: 'https://rhino.fi/' }, - { src: IMG_LOGO_TELLER_FINANCE, alt: 'Teller Finance', url: 'https://teller.finance/' }, - { src: IMG_LOGO_FRAX_FINANCE, alt: 'Frax Finance', url: 'https://frax.finance/' }, + { src: svgGnosisSrc, alt: 'Gnosis', url: 'https://www.gnosis.io/' }, + { src: svgBalancerSrc, alt: 'Balancer', url: 'https://balancer.fi/' }, + { src: svgAuraSrc, alt: 'Aura', url: 'https://aura.finance/' }, + { src: svgKarpatkeySrc, alt: 'Karpatkey', url: 'https://www.karpatkey.com/' }, + { src: svgShapeshiftSrc, alt: 'Shapeshift', url: 'https://shapeshift.com/' }, + { src: svgMakerSrc, alt: 'Maker', url: 'https://makerdao.com/' }, + { src: svgSynthetixSrc, alt: 'Synthetix', url: 'https://synthetix.io/' }, + { src: svgAragonSrc, alt: 'Aragon', url: 'https://aragon.org/' }, + { src: svgPleasrdaoSrc, alt: 'Pleaser DAO', url: 'https://pleasr.org/' }, + { src: svgPolygonSrc, alt: 'Polygon', url: 'https://polygon.technology/' }, + { src: svgIndexSrc, alt: 'Index Coop', url: 'https://indexcoop.com/' }, + { src: svgAlchemixSrc, alt: 'Alchemix', url: 'https://alchemix.fi/' }, + { src: svgStakedaoSrc, alt: 'StakeDAO', url: 'https://stakedao.org/' }, + { src: svgRhinoSrc, alt: 'RhinoFi', url: 'https://rhino.fi/' }, + { src: svgTellerSrc, alt: 'Teller Finance', url: 'https://teller.finance/' }, + { src: svgFraxSrc, alt: 'Frax Finance', url: 'https://frax.finance/' }, ] export const COW_PROTOCOL_SECTIONS = [ @@ -538,7 +538,7 @@ export const COW_PROTOCOL_SECTIONS = [ linkText: 'Read the docs', linkEvent: 'click-docs', linkUtmContent: 'cow-protocol-docs', - imageSrc: IMG_DOCS, + imageSrc: svgDocsSrc, }, { title: 'For DeFi projects', @@ -550,7 +550,7 @@ export const COW_PROTOCOL_SECTIONS = [ linkHref: '/widget', linkText: 'Integrate the widget', linkEvent: 'click-integrate-widget', - imageSrc: IMG_WIDGET, + imageSrc: svgWidgetSrc, }, { title: 'For anyone', @@ -563,6 +563,6 @@ export const COW_PROTOCOL_SECTIONS = [ linkText: 'Apply for a grant', linkEvent: 'click-apply-for-a-grant', linkUtmContent: 'cow-protocol-grants', - imageSrc: IMG_GRANT_COLOR, + imageSrc: svgGrantColorSrc, }, ] diff --git a/apps/cow-fi/data/cow-swap/const.tsx b/apps/cow-fi/data/cow-swap/const.tsx index f5fda69bfd..caa1e9a709 100644 --- a/apps/cow-fi/data/cow-swap/const.tsx +++ b/apps/cow-fi/data/cow-swap/const.tsx @@ -1,13 +1,13 @@ import { initGtm } from '@cowprotocol/analytics' -import IMG_COWSWAP_COINS from '@cowprotocol/assets/images/image-coins.svg' -import IMG_COWSWAP_GASLESS from '@cowprotocol/assets/images/image-cowswap-gasless.svg' -import IMG_COWSWAP_LIMIT from '@cowprotocol/assets/images/image-cowswap-limit.svg' -import IMG_COWSWAP_MEV from '@cowprotocol/assets/images/image-cowswap-mev.svg' -import IMG_COWSWAP_MULTIPLE from '@cowprotocol/assets/images/image-cowswap-multiple.svg' -import IMG_COWSWAP_NOFEES from '@cowprotocol/assets/images/image-cowswap-nofees.svg' -import IMG_COWSWAP_SWAPS from '@cowprotocol/assets/images/image-cowswap-swaps.svg' -import IMG_COWSWAP_TWAP from '@cowprotocol/assets/images/image-cowswap-twap.svg' -import IMG_COWSWAP_UX from '@cowprotocol/assets/images/image-cowswap-ux.svg' +import svgCoinsSrc from '@cowprotocol/assets/images/image-coins.svg' +import svgCowswapGaslessSrc from '@cowprotocol/assets/images/image-cowswap-gasless.svg' +import svgCowswapLimitSrc from '@cowprotocol/assets/images/image-cowswap-limit.svg' +import svgCowswapMevSrc from '@cowprotocol/assets/images/image-cowswap-mev.svg' +import svgCowswapMultipleSrc from '@cowprotocol/assets/images/image-cowswap-multiple.svg' +import svgCowswapNofeesSrc from '@cowprotocol/assets/images/image-cowswap-nofees.svg' +import svgCowswapSwapsSrc from '@cowprotocol/assets/images/image-cowswap-swaps.svg' +import svgCowswapTwapSrc from '@cowprotocol/assets/images/image-cowswap-twap.svg' +import svgCowswapUxSrc from '@cowprotocol/assets/images/image-cowswap-ux.svg' import { getAvailableChainsText } from '@cowprotocol/common-const' import { Color, UI } from '@cowprotocol/ui' @@ -23,21 +23,21 @@ export const COW_IS_DIFFERENT = [ fontSize: 28, color: `var(${UI.COLOR_BLUE_900_PRIMARY})`, description: "By aligning incentives between solvers and users, CoW Swap finds surplus you won't get anywhere else", - imgSrc: IMG_COWSWAP_COINS, + imgSrc: svgCoinsSrc, }, { bgColor: `var(${UI.COLOR_BLUE_900_PRIMARY})`, fontSize: 28, color: `var(${UI.COLOR_BLUE_100_PRIMARY})`, description: 'MEV is a $1.4+ billion problem that you never have to worry about on CoW Swap', - imgSrc: IMG_COWSWAP_MEV, + imgSrc: svgCowswapMevSrc, }, { bgColor: `var(${UI.COLOR_BLUE_100_PRIMARY})`, fontSize: 28, color: `var(${UI.COLOR_BLUE_900_PRIMARY})`, description: "CoW Swap's unique architecture enables advanced order types and seamless UX", - imgSrc: IMG_COWSWAP_UX, + imgSrc: svgCowswapUxSrc, }, ] @@ -48,7 +48,7 @@ export const ADVANCED_ORDER_TYPES = [ titleColor: Color.neutral98, title: 'Market orders (aka swaps)', description: 'CoW Swap market orders maximize surplus and minimize MEV', - imgSrc: IMG_COWSWAP_SWAPS, + imgSrc: svgCowswapSwapsSrc, }, { bgColor: `var(${UI.COLOR_BLUE_100_PRIMARY})`, @@ -57,7 +57,7 @@ export const ADVANCED_ORDER_TYPES = [ title: 'Limit orders', description: 'Placing a limit order is like setting a trap for a price for your trade. CoW Swap is the only DEX that offers surplus on limit orders – and one of the only DEXs that offers limit orders at all', - imgSrc: IMG_COWSWAP_LIMIT, + imgSrc: svgCowswapLimitSrc, }, { bgColor: Color.cowfi_lightBlue4, @@ -66,7 +66,7 @@ export const ADVANCED_ORDER_TYPES = [ title: 'TWAP orders', description: 'Time-weighted average price (TWAP) orders minimize price impact and volatility risk by letting you trade assets at fixed intervals over a period of time', - imgSrc: IMG_COWSWAP_TWAP, + imgSrc: svgCowswapTwapSrc, }, ] @@ -77,7 +77,7 @@ export const BETTER_UX = [ titleColor: `var(${UI.COLOR_BLUE_900_PRIMARY})`, title: 'Gasless trading', description: 'All gas fees are paid in the sell token - so you can save your precious ETH', - imgSrc: IMG_COWSWAP_GASLESS, + imgSrc: svgCowswapGaslessSrc, }, { bgColor: `var(${UI.COLOR_BLUE_900_PRIMARY})`, @@ -85,7 +85,7 @@ export const BETTER_UX = [ titleColor: Color.neutral98, title: 'No fees for failed transactions', description: "You shouldn't pay for what didn't work, so failed transactions are always free", - imgSrc: IMG_COWSWAP_NOFEES, + imgSrc: svgCowswapNofeesSrc, }, { bgColor: `var(${UI.COLOR_BLUE_100_PRIMARY})`, @@ -93,7 +93,7 @@ export const BETTER_UX = [ titleColor: `var(${UI.COLOR_BLUE_900_PRIMARY})`, title: 'Execute multiple trades at once', description: 'With intent-based trading, you can place as many orders as you want simultaneously', - imgSrc: IMG_COWSWAP_MULTIPLE, + imgSrc: svgCowswapMultipleSrc, }, ] diff --git a/apps/cow-fi/data/home/const.tsx b/apps/cow-fi/data/home/const.tsx index 166792ee29..83ebaa8540 100644 --- a/apps/cow-fi/data/home/const.tsx +++ b/apps/cow-fi/data/home/const.tsx @@ -1,11 +1,11 @@ import { initGtm } from '@cowprotocol/analytics' -import IMG_BITS from '@cowprotocol/assets/images/image-bits.svg' -import IMG_COINS from '@cowprotocol/assets/images/image-coins.svg' -import IMG_DISCORD from '@cowprotocol/assets/images/image-discord.svg' -import IMG_FORUM from '@cowprotocol/assets/images/image-forum.svg' -import IMG_GREEN_WAVES from '@cowprotocol/assets/images/image-green-waves.svg' -import IMG_SNAPSHOT from '@cowprotocol/assets/images/image-snapshot.svg' -import IMG_TUBE from '@cowprotocol/assets/images/image-tube.svg' +import svgBitsSrc from '@cowprotocol/assets/images/image-bits.svg' +import svgCoinsSrc from '@cowprotocol/assets/images/image-coins.svg' +import svgDiscordSrc from '@cowprotocol/assets/images/image-discord.svg' +import svgForumSrc from '@cowprotocol/assets/images/image-forum.svg' +import svgGreenWavesSrc from '@cowprotocol/assets/images/image-green-waves.svg' +import svgSnapshotSrc from '@cowprotocol/assets/images/image-snapshot.svg' +import svgTubeSrc from '@cowprotocol/assets/images/image-tube.svg' import { Color, ProductVariant, UI } from '@cowprotocol/ui' import SVG from 'react-inlinesvg' @@ -41,7 +41,7 @@ export const PRODUCT_LIST = [ linkBgColor: Color.cowfi_purple_bright, linkColor: Color.cowfi_purple_dark, productVariant: ProductVariant.CowDao, - iconImage: IMG_BITS, + iconImage: svgBitsSrc, }, { title: 'CoW Swap', @@ -57,7 +57,7 @@ export const PRODUCT_LIST = [ linkBgColor: `var(${UI.COLOR_BLUE_900_PRIMARY})`, linkColor: `var(${UI.COLOR_BLUE_300_PRIMARY})`, productVariant: ProductVariant.CowDao, - iconImage: IMG_COINS, + iconImage: svgCoinsSrc, }, { title: 'CoW AMM', @@ -71,7 +71,7 @@ export const PRODUCT_LIST = [ linkBgColor: Color.cowamm_green, linkColor: Color.cowamm_dark_green, productVariant: ProductVariant.CowDao, - iconImage: IMG_GREEN_WAVES, + iconImage: svgGreenWavesSrc, }, { title: 'MEV Blocker', @@ -85,7 +85,7 @@ export const PRODUCT_LIST = [ linkBgColor: Color.cowfi_orange_bright, linkColor: Color.cowfi_orange_pale, productVariant: ProductVariant.MevBlocker, - iconImage: IMG_TUBE, + iconImage: svgTubeSrc, }, ] @@ -96,7 +96,7 @@ export const CHANNEL_LIST = [ linkEvent: 'click-discord', iconColor: Color.cowfi_discord_pink, textColor: `var(${UI.COLOR_NEUTRAL_10})`, - iconImage: IMG_DISCORD, + iconImage: svgDiscordSrc, }, { title: 'Forum', @@ -104,7 +104,7 @@ export const CHANNEL_LIST = [ linkEvent: 'click-forum', iconColor: Color.cowamm_dark_green, textColor: Color.neutral98, - iconImage: IMG_FORUM, + iconImage: svgForumSrc, }, { title: 'Snapshot', @@ -112,7 +112,7 @@ export const CHANNEL_LIST = [ linkEvent: 'click-snapshot', iconColor: Color.cowfi_snapshot_red, textColor: Color.neutral98, - iconImage: IMG_SNAPSHOT, + iconImage: svgSnapshotSrc, }, ] diff --git a/apps/cow-fi/data/mev-blocker/const.tsx b/apps/cow-fi/data/mev-blocker/const.tsx index 13dfcf7370..6cf388245c 100644 --- a/apps/cow-fi/data/mev-blocker/const.tsx +++ b/apps/cow-fi/data/mev-blocker/const.tsx @@ -1,20 +1,20 @@ -import IMAGE_FASTFREE from '@cowprotocol/assets/images/image-fastfree.svg' -import IMAGE_FULLPROTECTION from '@cowprotocol/assets/images/image-fullprotection.svg' -import IMAGE_MEVBLOCKER_REVIEW_1 from '@cowprotocol/assets/images/image-mevblocker-review-1.svg' -import IMAGE_MEVBLOCKER_REVIEW_2 from '@cowprotocol/assets/images/image-mevblocker-review-2.svg' -import IMAGE_MEVBLOCKER_REVIEW_3 from '@cowprotocol/assets/images/image-mevblocker-review-3.svg' -import IMAGE_MEVBLOCKER_REVIEW_4 from '@cowprotocol/assets/images/image-mevblocker-review-4.svg' -import IMAGE_MEVBLOCKER_REVIEW_5 from '@cowprotocol/assets/images/image-mevblocker-review-5.svg' -import IMAGE_MEVBLOCKER_REVIEW_6 from '@cowprotocol/assets/images/image-mevblocker-review-6.svg' -import IMAGE_PROFIT from '@cowprotocol/assets/images/image-profit.svg' -import IMG_LOGO_AMBIRE from '@cowprotocol/assets/images/logo-ambire.svg' -import IMG_LOGO_BLOCKNATIVE from '@cowprotocol/assets/images/logo-blocknative.svg' -import IMG_LOGO_CRYPTO_COM from '@cowprotocol/assets/images/logo-crypto-com.svg' -import IMG_LOGO_KARPATKEY from '@cowprotocol/assets/images/logo-karpatkey.svg' -import IMG_LOGO_KEEPKEY from '@cowprotocol/assets/images/logo-keepkey.svg' -import IMG_LOGO_RABBY from '@cowprotocol/assets/images/logo-rabby.svg' -import IMG_LOGO_SAFE from '@cowprotocol/assets/images/logo-safe.svg' -import IMG_LOGO_UNISWAP from '@cowprotocol/assets/images/logo-uniswap.svg' +import svgFastfreeSrc from '@cowprotocol/assets/images/image-fastfree.svg' +import svgFullprotectionSrc from '@cowprotocol/assets/images/image-fullprotection.svg' +import svgMevblockerReview1Src from '@cowprotocol/assets/images/image-mevblocker-review-1.svg' +import svgMevblockerReview2Src from '@cowprotocol/assets/images/image-mevblocker-review-2.svg' +import svgMevblockerReview3Src from '@cowprotocol/assets/images/image-mevblocker-review-3.svg' +import svgMevblockerReview4Src from '@cowprotocol/assets/images/image-mevblocker-review-4.svg' +import svgMevblockerReview5Src from '@cowprotocol/assets/images/image-mevblocker-review-5.svg' +import svgMevblockerReview6Src from '@cowprotocol/assets/images/image-mevblocker-review-6.svg' +import svgProfitSrc from '@cowprotocol/assets/images/image-profit.svg' +import svgAmbireSrc from '@cowprotocol/assets/images/logo-ambire.svg' +import svgBlocknativeSrc from '@cowprotocol/assets/images/logo-blocknative.svg' +import svgCryptoComSrc from '@cowprotocol/assets/images/logo-crypto-com.svg' +import svgKarpatkeySrc from '@cowprotocol/assets/images/logo-karpatkey.svg' +import svgKeepkeySrc from '@cowprotocol/assets/images/logo-keepkey.svg' +import svgRabbySrc from '@cowprotocol/assets/images/logo-rabby.svg' +import svgSafeSrc from '@cowprotocol/assets/images/logo-safe.svg' +import svgUniswapSrc from '@cowprotocol/assets/images/logo-uniswap.svg' import { Color, ProductLogo, ProductVariant, UI } from '@cowprotocol/ui' import { CowFiCategory, toCowFiGtmEvent } from 'src/common/analytics/types' @@ -25,21 +25,21 @@ export const MEV_BLOCKER_LIST = [ { id: 'fullprotection', description: 'Protection from frontrunning and sandwich attacks on all types of transactions', - iconImage: IMAGE_FULLPROTECTION, + iconImage: svgFullprotectionSrc, bgColor: Color.cowfi_orange_bright, textColor: Color.cowfi_orange_pale, }, { id: 'profit', description: 'Profit from any backrunning opportunities your transactions create', - iconImage: IMAGE_PROFIT, + iconImage: svgProfitSrc, bgColor: Color.cowfi_peach, textColor: Color.cowfi_orange_bright, }, { id: 'fastfree', description: 'A fast, free, censorship-resistant solution open to all searchers and builders', - iconImage: IMAGE_FASTFREE, + iconImage: svgFastfreeSrc, bgColor: Color.cowfi_lightBlue4, textColor: `var(${UI.COLOR_BLUE_900_PRIMARY})`, }, @@ -48,15 +48,15 @@ export const MEV_BLOCKER_LIST = [ export const TRUSTED_BY_CONTENT = [ { href: 'https://uniswap.org/', - src: IMG_LOGO_UNISWAP, + src: svgUniswapSrc, }, { href: 'https://rabby.io/', - src: IMG_LOGO_RABBY, + src: svgRabbySrc, }, { href: 'https://crypto.com/', - src: IMG_LOGO_CRYPTO_COM, + src: svgCryptoComSrc, }, { href: 'https://swap.cow.fi/', @@ -64,23 +64,23 @@ export const TRUSTED_BY_CONTENT = [ }, { href: 'https://safe.global/', - src: IMG_LOGO_SAFE, + src: svgSafeSrc, }, { href: 'https://www.karpatkey.com/', - src: IMG_LOGO_KARPATKEY, + src: svgKarpatkeySrc, }, { href: 'https://www.keepkey.com/', - src: IMG_LOGO_KEEPKEY, + src: svgKeepkeySrc, }, { href: 'https://www.ambire.com/', - src: IMG_LOGO_AMBIRE, + src: svgAmbireSrc, }, { href: 'https://www.blocknative.com/', - src: IMG_LOGO_BLOCKNATIVE, + src: svgBlocknativeSrc, }, ] @@ -90,42 +90,42 @@ export const TESTIMONIAL_LIST = [ description: '– Anon', bgColor: `var(${UI.COLOR_BLUE_400_PRIMARY})`, textColor: `var(${UI.COLOR_NEUTRAL_0})`, - iconImage: IMAGE_MEVBLOCKER_REVIEW_1, + iconImage: svgMevblockerReview1Src, }, { title: "If I'd known about MEV Blocker sooner, I could've had a lambo by now", description: '– Anon', bgColor: Color.cowfi_orange_bright, textColor: Color.cowfi_orange_pale, - iconImage: IMAGE_MEVBLOCKER_REVIEW_2, + iconImage: svgMevblockerReview2Src, }, { title: 'I was tired of getting rekt, so I started using MEV Blocker', description: '– Anon', bgColor: `var(${UI.COLOR_NEUTRAL_100})`, textColor: Color.cowfi_orange_bright, - iconImage: IMAGE_MEVBLOCKER_REVIEW_3, + iconImage: svgMevblockerReview3Src, }, { title: 'Robots should work for me, not against me', description: '– Anon', bgColor: `var(${UI.COLOR_NEUTRAL_100})`, textColor: Color.cowfi_orange_bright, - iconImage: IMAGE_MEVBLOCKER_REVIEW_4, + iconImage: svgMevblockerReview4Src, }, { title: "Nobody's stolen my lunch money since I started using MEV Blocker", description: '– Anon', bgColor: Color.cowfi_yellow, textColor: Color.cowfi_orange_bright, - iconImage: IMAGE_MEVBLOCKER_REVIEW_5, + iconImage: svgMevblockerReview5Src, }, { title: 'I used MEV Blocker and I instantly went up a tax bracket', description: '– Anon', bgColor: Color.cowfi_orange_bright, textColor: Color.cowfi_yellow, - iconImage: IMAGE_MEVBLOCKER_REVIEW_6, + iconImage: svgMevblockerReview6Src, }, ] diff --git a/apps/cowswap-frontend/src/common/constants/routes.ts b/apps/cowswap-frontend/src/common/constants/routes.ts index 562f6e9ba1..6da2bfd741 100644 --- a/apps/cowswap-frontend/src/common/constants/routes.ts +++ b/apps/cowswap-frontend/src/common/constants/routes.ts @@ -1,4 +1,4 @@ -import EXPERIMENT_ICON from '@cowprotocol/assets/cow-swap/experiment.svg' +import svgExperimentSrc from '@cowprotocol/assets/cow-swap/experiment.svg' import { isInjectedWidget } from '@cowprotocol/common-utils' import { BadgeTypes } from '@cowprotocol/ui' @@ -89,7 +89,7 @@ export const HOOKS_STORE_MENU_ITEM: I18nIMenuItem = { route: Routes.HOOKS, label: msg`Hooks`, description: msg`Powerful tool to generate pre/post interaction for CoW Protocol`, - badgeImage: EXPERIMENT_ICON, + badgeImage: svgExperimentSrc, badgeType: BadgeTypes.INFORMATION, } diff --git a/apps/cowswap-frontend/src/common/pure/AddressInputPanel/ReceiverPanelBody.container.tsx b/apps/cowswap-frontend/src/common/pure/AddressInputPanel/ReceiverPanelBody.container.tsx index bf0eb7d23a..8c159d07ee 100644 --- a/apps/cowswap-frontend/src/common/pure/AddressInputPanel/ReceiverPanelBody.container.tsx +++ b/apps/cowswap-frontend/src/common/pure/AddressInputPanel/ReceiverPanelBody.container.tsx @@ -1,6 +1,6 @@ import { ReactElement, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react' -import OrderCheckIcon from '@cowprotocol/assets/cow-swap/order-check.svg' +import svgOrderCheckSrc from '@cowprotocol/assets/cow-swap/order-check.svg' import { TargetChainId } from '@cowprotocol/cow-sdk' import { Trans } from '@lingui/react/macro' @@ -89,7 +89,7 @@ export function ReceiverPanelBody({ {chainPrefixWarning && } - {isValid && !loading &&