Skip to content

Commit c8ac274

Browse files
authored
chore: release v1.102.0
chore: release v1.102.0
2 parents 1d2c6f4 + 7371046 commit c8ac274

File tree

265 files changed

+8161
-3947
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

265 files changed

+8161
-3947
lines changed

.github/workflows/cow-files.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: 'Deploy: files.cow.fi'
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'static-files/public/**'
9+
pull_request:
10+
paths:
11+
- 'static-files/public/**'
12+
workflow_dispatch: # Manual trigger
13+
14+
# Required for authenticating with AWS IAM
15+
permissions:
16+
id-token: write
17+
contents: read
18+
19+
env:
20+
NODE_VERSION: lts/gallium
21+
22+
jobs:
23+
deploy:
24+
name: Deploy to files.cow.fi
25+
runs-on: ubuntu-latest
26+
steps:
27+
- name: Checkout code
28+
uses: actions/checkout@v4
29+
30+
- name: Configure AWS credentials
31+
uses: aws-actions/configure-aws-credentials@v2
32+
with:
33+
role-to-assume: arn:aws:iam::693696263829:role/cow-files-github-action-role
34+
role-session-name: githubactionsession
35+
aws-region: eu-central-1
36+
37+
- name: Upload to S3
38+
run: |
39+
aws s3 sync static-files/public/ s3://files.cow.fi/cow-files/ \
40+
--delete \
41+
--exclude ".DS_Store" \
42+
--exclude "*.tmp" \
43+
--exclude "*.temp"
44+
45+
- name: Invalidate CloudFront cache
46+
run: |
47+
aws cloudfront create-invalidation \
48+
--distribution-id ${{ secrets.CLOUDFRONT_DISTRIBUTION_ID }} \
49+
--paths "/cow-files/*"

apps/cow-fi/app/(learn)/learn/page.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ export default async function Page() {
2121
name: category?.attributes?.name || '',
2222
slug: category?.attributes?.slug || '',
2323
description: category?.attributes?.description || '',
24-
bgColor: category?.attributes?.backgroundColor || '#fff',
25-
textColor: category?.attributes?.textColor || '#000',
24+
bgColor: category?.attributes?.backgroundColor || '#FFFFFF',
25+
textColor: category?.attributes?.textColor || '#000000',
2626
link: `/learn/topic/${category?.attributes?.slug}`,
27-
iconColor: '#fff',
27+
iconColor: '#FFFFFF',
2828
imageUrl,
2929
}
3030
}) || []

apps/cow-fi/app/(learn)/learn/topics/page.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
'use server'
22

33
import { getArticles, getCategories } from '../../../../services/cms'
4+
import { Color } from '@cowprotocol/ui'
45
import { TopicsPageComponent } from '@/components/TopicsPageComponent'
56

67
export default async function Page() {
@@ -15,8 +16,8 @@ export default async function Page() {
1516
name: category?.attributes?.name || '',
1617
slug: category?.attributes?.slug || '',
1718
description: category?.attributes?.description || '',
18-
bgColor: category?.attributes?.backgroundColor || '#fff',
19-
textColor: category?.attributes?.textColor || '#000',
19+
bgColor: category?.attributes?.backgroundColor || Color.neutral100,
20+
textColor: category?.attributes?.textColor || Color.neutral0,
2021
link: `/learn/topic/${category?.attributes?.slug}`,
2122
iconColor: 'transparent',
2223
imageUrl,

apps/cow-fi/app/(main)/careers/refer-to-earn/page.tsx

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
'use client'
22

33
import { Color } from '@cowprotocol/ui'
4-
4+
import { useCowAnalytics } from '@cowprotocol/analytics'
5+
import { CowFiCategory } from 'src/common/analytics/types'
56
import styled from 'styled-components/macro'
6-
77
import { ContainerCard, ArticleContent, Breadcrumbs, ArticleMainTitle, BodyContent } from '@/styles/styled'
88

9-
import { clickOnCareers } from '../../../../modules/analytics'
10-
119
const Wrapper = styled.div`
1210
display: flex;
1311
flex-flow: column wrap;
@@ -20,12 +18,23 @@ const Wrapper = styled.div`
2018
`
2119

2220
export default function Page() {
21+
const analytics = useCowAnalytics()
22+
2323
return (
2424
<Wrapper>
2525
<ContainerCard bgColor={Color.neutral100} minHeight="70vh" gap={62} gapMobile={42} centerContent touchFooter>
2626
<ArticleContent maxWidth="100%">
2727
<Breadcrumbs>
28-
<a href="/careers" onClick={() => clickOnCareers('click-breadcrumb-careers')}>
28+
<a
29+
href="/careers"
30+
onClick={() =>
31+
analytics.sendEvent({
32+
category: CowFiCategory.CAREERS,
33+
action: 'Click Breadcrumb',
34+
label: 'careers',
35+
})
36+
}
37+
>
2938
Careers
3039
</a>
3140
<span>Refer-to-Earn</span>
@@ -54,8 +63,8 @@ export default function Page() {
5463
<br />
5564
<b>
5665
Have Questions? Ask us at{' '}
57-
<a href="mailto:people@cow.fi" target="_blank" rel="noreferrer">
58-
people@cow.fi
66+
<a href="mailto:jobs@cow.fi" target="_blank" rel="noreferrer">
67+
jobs@cow.fi
5968
</a>
6069
</b>
6170
</p>
@@ -95,7 +104,7 @@ export default function Page() {
95104
<ul>
96105
<li>
97106
The referrer should reach out to a CoW core team member or directly contact the People department via
98-
email at <a href="mailto:people@cow.fi">people@cow.fi</a>, LinkedIn, or Telegram. When reaching out, the
107+
email at <a href="mailto:jobs@cow.fi">jobs@cow.fi</a>, LinkedIn, or Telegram. When reaching out, the
99108
Referrer must include the candidate's name, surname, and email or LinkedIn profile. The Referrer is
100109
responsible for ensuring that the Candidate has given consent to share this information.
101110
</li>

apps/cow-fi/app/(main)/cow-amm/page.tsx

Lines changed: 34 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import IMG_COWAMM_PASSIVE from '@cowprotocol/assets/images/image-cowamm-passive.
99
import IMG_COWAMM_REKT from '@cowprotocol/assets/images/image-cowamm-rekt.svg'
1010
import FAQ from '@/components/FAQ'
1111
import { Link, LinkType } from '@/components/Link'
12+
import { useCowAnalytics } from '@cowprotocol/analytics'
13+
import { CowFiCategory } from 'src/common/analytics/types'
1214

1315
import {
1416
ContainerCard,
@@ -38,59 +40,72 @@ import LazySVG from '@/components/LazySVG'
3840
import IMG_ICON_FAQ from '@cowprotocol/assets/images/icon-faq.svg'
3941

4042
import { COW_AMM_CONTENT, FAQ_DATA, LVR_CONTENT, QUOTES } from '@/data/cow-amm/const'
41-
import { clickOnCowAmm } from '../../../modules/analytics'
4243

4344
export default function Page() {
45+
const analytics = useCowAnalytics()
46+
4447
return (
4548
<PageWrapper>
4649
<HeroContainer variant="secondary" maxWidth={1300}>
4750
<HeroContent variant="secondary">
48-
<HeroSubtitle color={'#194D05'}>CoW AMM</HeroSubtitle>
51+
<HeroSubtitle color={Color.cowamm_dark_green}>CoW AMM</HeroSubtitle>
4952
<HeroTitle>The first MEV-capturing AMM, now live on Balancer</HeroTitle>
5053
<HeroDescription>
5154
CoW AMM protects LPs from LVR so they can provide liquidity with less risk and more return
5255
</HeroDescription>
5356
<Link
54-
bgColor={'#194D05'}
55-
color={'#BCEC79'}
57+
bgColor={Color.cowamm_dark_green}
58+
color={Color.cowamm_green}
5659
href="https://balancer.fi/pools/cow"
5760
external
5861
linkType={LinkType.HeroButton}
5962
utmContent={'cow-amm-hero-button-lp-on-cow-amm'}
60-
onClick={() => clickOnCowAmm('click-lp-on-cow-amm')}
63+
onClick={() =>
64+
analytics.sendEvent({
65+
category: CowFiCategory.COWAMM,
66+
action: 'Click LP on CoW AMM',
67+
label: 'hero-button',
68+
})
69+
}
6170
>
6271
LP on CoW AMM ↗
6372
</Link>
6473
</HeroContent>
65-
<HeroImage width={470} height={470} color={'#194D05'} marginMobile="24px auto 56px">
74+
<HeroImage width={470} height={470} color={Color.cowamm_dark_green} marginMobile="24px auto 56px">
6675
<LazySVG src={IMG_COWAMM_HERO} />
6776
</HeroImage>
6877
</HeroContainer>
6978

70-
<MetricsCard bgColor={Color.neutral100} color="#194D05" columns={3} touchFooter>
71-
<MetricsItem dividerColor="#9BD955">
79+
<MetricsCard bgColor={Color.neutral100} color={Color.cowamm_dark_green} columns={3} touchFooter>
80+
<MetricsItem dividerColor={Color.cowamm_green_light}>
7281
<h2>4.75%</h2>
7382
<p>more TVL achieved than reference pool (beta phase)</p>
7483
</MetricsItem>
75-
<MetricsItem dividerColor="#9BD955">
76-
<h2>$11M+</h2>
84+
<MetricsItem dividerColor={Color.cowamm_green_light}>
85+
<h2>$18M+</h2>
7786
<p>liquidity protected from LVR</p>
7887
</MetricsItem>
7988
<MetricsItem>
80-
<h2>$90K+</h2>
89+
<h2>$1.2M+</h2>
8190
<p>surplus captured for LPs (beta phase)</p>
8291
</MetricsItem>
8392

8493
<Link
8594
bgColor="transparent"
86-
color="#194D05"
95+
color={Color.cowamm_dark_green}
8796
margin="56px auto 0"
8897
gridFullWidth
8998
href="https://dune.com/cowprotocol/cow-amms-v2"
9099
external
91100
linkType={LinkType.SectionTitleButton}
92101
utmContent={'cow-amm-metrics-button-view-all'}
93-
onClick={() => clickOnCowAmm('click-view-all-metrics')}
102+
onClick={() =>
103+
analytics.sendEvent({
104+
category: CowFiCategory.COWAMM,
105+
action: 'Click View All Metrics',
106+
label: 'dune-analytics',
107+
})
108+
}
94109
>
95110
View all metrics on DUNE &#8599;
96111
</Link>
@@ -99,7 +114,7 @@ export default function Page() {
99114
<ContainerCard bgColor={Color.neutral10}>
100115
<ContainerCardSection>
101116
<SectionTitleWrapper color={Color.neutral100} maxWidth={1100} gap={56}>
102-
<SectionTitleIcon size={98}>
117+
<SectionTitleIcon $size={98}>
103118
<LazySVG src={IMG_ICON_CROWN_COW} />
104119
</SectionTitleIcon>
105120
<SectionTitleText>AMMs don&apos;t want you to know about LVR</SectionTitleText>
@@ -145,7 +160,7 @@ export default function Page() {
145160
<ContainerCard bgColor={'transparent'}>
146161
<ContainerCardSection>
147162
<SectionTitleWrapper padding="150px 0 0" marginMobile="0 auto" maxWidth={1170} color={Color.neutral10}>
148-
<SectionTitleIcon size={128}>
163+
<SectionTitleIcon $size={128}>
149164
<LazySVG src={IMG_ICON_BULB_COW} />
150165
</SectionTitleIcon>
151166
<SectionTitleText textAlign="center">Finally, an AMM designed with LPs in mind</SectionTitleText>
@@ -190,7 +205,7 @@ export default function Page() {
190205
<ContainerCard bgColor={Color.neutral100}>
191206
<ContainerCardSection>
192207
<SectionTitleWrapper color={Color.neutral10} maxWidth={1100} gap={56}>
193-
<SectionTitleIcon size={98}>
208+
<SectionTitleIcon $size={98}>
194209
<LazySVG src={IMG_ICON_CROWN_COW} />
195210
</SectionTitleIcon>
196211
<SectionTitleText>
@@ -236,7 +251,7 @@ export default function Page() {
236251
<ContainerCard bgColor={'transparent'}>
237252
<ContainerCardSection>
238253
<SectionTitleWrapper color={Color.neutral10} maxWidth={1100} gap={56}>
239-
<SectionTitleIcon size={128}>
254+
<SectionTitleIcon $size={128}>
240255
<LazySVG src={IMG_ICON_BULB_COW} />
241256
</SectionTitleIcon>
242257
<SectionTitleText>CoW AMM benefits LPs of all types</SectionTitleText>
@@ -310,7 +325,7 @@ export default function Page() {
310325
<ContainerCard bgColor={Color.neutral10} color={Color.neutral98}>
311326
<ContainerCardSection>
312327
<SectionTitleWrapper padding="150px 0 56px">
313-
<SectionTitleIcon size={82}>
328+
<SectionTitleIcon $size={82}>
314329
<ProductLogo variant={ProductVariant.CowProtocol} theme="dark" logoIconOnly />
315330
</SectionTitleIcon>
316331
<SectionTitleText>Trust the experts</SectionTitleText>
@@ -341,7 +356,7 @@ export default function Page() {
341356
<ContainerCard bgColor={Color.neutral90} color={Color.neutral10} touchFooter>
342357
<ContainerCardSection padding={'0 0 100px'}>
343358
<SectionTitleWrapper>
344-
<SectionTitleIcon size={62}>
359+
<SectionTitleIcon $size={62}>
345360
<LazySVG src={IMG_ICON_FAQ} />
346361
</SectionTitleIcon>
347362
<SectionTitleText>FAQs</SectionTitleText>

0 commit comments

Comments
 (0)