Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
ec4ab14
reset dapps
corwintines Jun 5, 2025
38040d2
setup programatic seo routes
corwintines Jun 7, 2025
7686d0d
setup dapps structure
corwintines Jun 11, 2025
f2d411f
setup categories with types
corwintines Jun 11, 2025
0bcac61
/dapps placeholder
corwintines Jun 11, 2025
ebdee27
setup base categories
corwintines Jun 11, 2025
8338b54
setup dapp
corwintines Jun 11, 2025
5e27d13
DappsHighlight setup and implemented
corwintines Jun 16, 2025
c4f1a6a
Setup DappCard
corwintines Jun 16, 2025
f92b71b
staff picks
corwintines Jun 16, 2025
0152215
setup Top applications section
corwintines Jun 17, 2025
2f01d32
style TopDapps
corwintines Jun 17, 2025
eb24c91
categories section
corwintines Jun 17, 2025
aca6828
Merge branch 'dev' into dapps-revamp
corwintines Jun 17, 2025
616a913
styling cleanup
corwintines Jun 24, 2025
c13f494
hero
corwintines Jun 24, 2025
e9d4ebe
heroes and icon
corwintines Jun 24, 2025
4d1a74f
nav bar
corwintines Jun 24, 2025
c02b777
small nav refactor and cleanup
corwintines Jun 24, 2025
d920292
z-index fix
corwintines Jun 24, 2025
8b3067d
gradient
corwintines Jun 24, 2025
22b20bd
highlight card number
corwintines Jun 24, 2025
d06f6ac
categories table
corwintines Jun 24, 2025
3d7eb18
fetching and using data
corwintines Jun 27, 2025
9c58d14
fix a bunch html errors
corwintines Jun 29, 2025
28a997f
responsive nav
corwintines Jun 30, 2025
01382e4
fix highlights styling
corwintines Jun 30, 2025
0835710
small style adjustment
corwintines Jun 30, 2025
3b7e397
fix highlight filtering
corwintines Jun 30, 2025
819b40e
Get /dapps/app working again
corwintines Jun 30, 2025
909152c
Merge branch 'dev' into dapps-revamp
corwintines Jun 30, 2025
abfb515
Update Dapp image handling and configuration
corwintines Jun 30, 2025
e6e632b
Merge branch 'dev' into dapps-revamp
corwintines Jun 30, 2025
eed8e4e
responsive header
corwintines Jun 30, 2025
b9e9c98
fix typing
corwintines Jun 30, 2025
7218fa6
Refactor DappsHighlight component and update mock data
corwintines Jun 30, 2025
d1103d0
screenshot mocks
corwintines Jun 30, 2025
10cf877
Enhance Dapp page layout and functionality
corwintines Jul 1, 2025
4177fb6
breadcrumbs and small tweaks
corwintines Jul 2, 2025
f9e1597
Enhance Dapp details and update mock data
corwintines Jul 2, 2025
0d130e0
Add related Dapps section to Dapp page
corwintines Jul 2, 2025
e67bf2b
Implement ChainImages component and update Dapp details
corwintines Jul 2, 2025
151b39c
Enhance Dapp page with language support and layout improvements
corwintines Jul 2, 2025
9310070
Add ScreenshotSwiper component and enhance Dapp page layout
corwintines Jul 3, 2025
2065a6d
Add SuggestAnApp component to Dapp pages
corwintines Jul 3, 2025
60f1d44
Enhance Dapp data and configuration
corwintines Jul 7, 2025
71b0cb7
Merge branch 'dev' into dapps-revamp
corwintines Jul 8, 2025
dde61b7
Refactor Dapp and Wallet pages to use SimpleHero component for improv…
corwintines Jul 8, 2025
d91d33d
Refactor DappCard component styling
corwintines Jul 8, 2025
8b0afbb
Refactor Dapp and Roadmap components to use SubpageCard for improved …
corwintines Jul 8, 2025
72825d8
Update Dapp categories and icons for improved clarity and consistency
corwintines Jul 8, 2025
027dccd
Enhance DappsTable styling for improved layout
corwintines Jul 8, 2025
a77edb1
Update src/components/ChainImages/index.tsx
corwintines Jul 8, 2025
e985750
Update app/[locale]/dapps/[...slug]/_components/ScreenshotSwiper.tsx
corwintines Jul 8, 2025
56e98dd
Update app/[locale]/dapps/_components/DappsHighlight.tsx
corwintines Jul 8, 2025
e464836
add .env variable to .env.example
corwintines Jul 9, 2025
360e206
Refactor CategoriesNav component to remove framer-motion dependency
corwintines Jul 9, 2025
993ab63
Enhance DappsTable item selection styling
corwintines Jul 9, 2025
d91f4b6
Update DappsTable to display filtered item count
corwintines Jul 9, 2025
f47c4ef
Update Dapp description styling for improved readability
corwintines Jul 9, 2025
6e97dd0
Refactor Dapp page and TopDapps component for future enhancements
corwintines Jul 9, 2025
fd8cc22
Update ScreenshotSwiper component to include index in map function
corwintines Jul 9, 2025
e342cba
Refactor DappsTable and ScreenshotSwiper components for performance i…
corwintines Jul 9, 2025
60a9dc6
Refactor CategoriesNav and ResourcesNav components to use TabNav for …
corwintines Jul 10, 2025
98dcf72
Refactor Dapp slug handling and category navigation for consistency
corwintines Jul 10, 2025
52f397b
Refactor slug generation across Dapp components for consistency
corwintines Jul 10, 2025
36db244
Refactor DappsHighlight component to improve rendering and structure
corwintines Jul 10, 2025
38ab4c6
Comment out community picks section in Dapps page for future implemen…
corwintines Jul 10, 2025
79475c1
Migrate /dapps to /apps, and update all links in repo
corwintines Jul 11, 2025
d9b1be1
Refactor Dapp components to App components for consistency and clarity
corwintines Jul 11, 2025
4a4db77
Refactor Dapp to App migration across the codebase
corwintines Jul 11, 2025
e7688a5
Update stablecoins page and translations across multiple languages
corwintines Jul 11, 2025
04ee840
Enhance TopApps component with dynamic category icons
corwintines Jul 11, 2025
570ea24
Refactor category page layout to integrate SimpleHero component
corwintines Jul 11, 2025
19f8b09
Implement TruncatedText component in AppsHighlight for improved descr…
corwintines Jul 16, 2025
20805f6
Refactor AppCard and Page components for improved button styling and …
corwintines Jul 16, 2025
907b413
Refactor Page and fetchApps functions for improved logic and performance
corwintines Jul 17, 2025
d272422
Update appsData.json with new entries and modifications across catego…
corwintines Jul 17, 2025
756f545
Add subcategory count to AppsTable for improved app filtering
corwintines Jul 17, 2025
d796e0e
Enhance AppCard and Page components for improved layout and readability
corwintines Jul 17, 2025
597bafc
Remove unused translation fetching and update metadata generation in …
corwintines Jul 17, 2025
e610220
Refactor ChainImages component to filter displayed chains based on ne…
corwintines Jul 17, 2025
cb30db7
fix: swiper container layout, use grid
wackerow Jul 21, 2025
313a096
Enhance layout and styling across multiple components
corwintines Jul 22, 2025
3902b18
Update SuggestAnApp component to link to app submission form
corwintines Jul 22, 2025
58a1166
Update TopApps component to adjust swiper settings and enhance link b…
corwintines Jul 22, 2025
5b0b8e6
setup base for apps learn page
corwintines Jul 23, 2025
a01f9ba
Refactor ScreenshotSwiper component to simplify swiper settings and i…
corwintines Jul 23, 2025
2bccbd2
meta titles and description
corwintines Jul 25, 2025
22c8a11
Add modal functionality to ScreenshotSwiper for enhanced image viewin…
corwintines Jul 25, 2025
be0d108
matomo events
corwintines Jul 28, 2025
b03b1f8
Merge branch 'dapps-revamp' into apps-learn-page
corwintines Jul 28, 2025
75d9f08
/apps/learn page
corwintines Jul 28, 2025
38fa270
SEO optimization
corwintines Jul 28, 2025
c4a2be8
refactor: catch-all segment to simple dynamic
wackerow Jul 29, 2025
e57c15c
refactor: relocate apps content to /what-are-apps
wackerow Jul 29, 2025
d10b721
feat: add page to /learn and use-cases dropdown
wackerow Jul 29, 2025
09522f1
Merge branch 'dev' into dapps-revamp
wackerow Aug 6, 2025
fd87fd0
refactor: remove /learn page and update related components for dropdo…
corwintines Aug 7, 2025
9ff7ea9
Merge pull request #15946 from ethereum/apps-learn-page
corwintines Aug 7, 2025
a6db15b
Merge branch 'dev' into dapps-revamp
corwintines Aug 7, 2025
1026253
Staff picks -> Discover
corwintines Aug 7, 2025
3b010d3
feat: add community picks feature and update app components
corwintines Aug 8, 2025
1f8a3aa
feat: enhance app content with user stories and browsing feature
corwintines Aug 10, 2025
dbabcc9
redirects
corwintines Aug 12, 2025
70a44ed
Merge branch 'dev' into dapps-revamp
corwintines Aug 12, 2025
d2684ca
Update app/[locale]/apps/[application]/page.tsx
corwintines Aug 13, 2025
4545e3a
Merge branch 'dev' into dapps-revamp
corwintines Aug 13, 2025
0e7630c
fix build error
corwintines Aug 13, 2025
6438b52
Update app/[locale]/apps/[application]/page.tsx
corwintines Aug 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
# Google API key and Calendar ID (required to fetch Calendar events)
# GOOGLE_API_KEY=
# GOOGLE_CALENDAR_ID=
# GOOGLE_SHEET_ID_DAPPS=

# Dune Analytics API key (required for total eth staked)
# DUNE_API_KEY=
Expand Down
11 changes: 2 additions & 9 deletions app/[locale]/10years/_components/UserStories/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,15 @@

import { useState } from "react"

import { Story } from "@/lib/types"

import Twitter from "@/components/icons/twitter.svg"
import { Button, ButtonLink } from "@/components/ui/buttons/Button"

import { cn } from "@/lib/utils/cn"

import { useTranslation } from "@/hooks/useTranslation"

type Story = {
name: string
storyEnglish: string
storyOriginal: string | null
twitter?: string
country: string
date: string
}

type StoriesProps = {
stories: Story[]
}
Expand Down
109 changes: 109 additions & 0 deletions app/[locale]/apps/[application]/_components/ScreenshotSwiper.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
"use client"

import { useState } from "react"

import { Image } from "@/components/Image"
import Modal from "@/components/ui/dialog-modal"
import {
Swiper,
SwiperContainer,
SwiperNavigation,
SwiperSlide,
} from "@/components/ui/swiper"

import { trackCustomEvent } from "@/lib/utils/matomo"

import { useBreakpointValue } from "@/hooks/useBreakpointValue"

interface ScreenshotSwiperProps {
screenshots: string[]
appName: string
}

const ScreenshotSwiper = ({ screenshots, appName }: ScreenshotSwiperProps) => {
const lazyPreloadPrevNext = useBreakpointValue({ base: 1, sm: 2, md: 4 })
const [isModalOpen, setIsModalOpen] = useState(false)
const [currentImageIndex, setCurrentImageIndex] = useState<number | null>(
null
)

const handleImageClick = (index: number) => {
setCurrentImageIndex(index)
setIsModalOpen(true)
}

return (
<SwiperContainer>
<Swiper
slidesPerView="auto"
spaceBetween={16}
lazyPreloadPrevNext={lazyPreloadPrevNext}
>
{screenshots.map((screenshot, index) => (
<SwiperSlide key={index} className="!w-auto">
<Image
src={screenshot}
alt={`Screenshot ${index + 1} of ${appName} showing the application interface`}
width={300}
height={600}
sizes="(max-width: 640px) 150px, (max-width: 1024px) 200px, 250px"
className="h-[200px] w-auto cursor-pointer rounded-lg object-contain transition-transform hover:scale-105 md:h-[350px]"
onClick={() => {
handleImageClick(index)
trackCustomEvent({
eventCategory: "detail",
eventAction: "gallery_open",
eventName: `app name ${appName}`,
})
}}
/>
</SwiperSlide>
))}
<SwiperNavigation />
</Swiper>

<Modal
open={isModalOpen}
onOpenChange={(open) => {
setIsModalOpen(open)
if (!open) {
setCurrentImageIndex(null)
}
}}
size="xl"
title={`${appName} Screenshots`}
contentProps={{
className: "max-w-[95vw] max-h-[95vh] p-2 md:p-8",
}}
>
<div className="relative">
<SwiperContainer>
<Swiper
slidesPerView={1}
spaceBetween={0}
initialSlide={currentImageIndex ?? 0}
>
{screenshots.map((screenshot, index) => (
<SwiperSlide key={index} className="!w-full">
<div className="flex items-center justify-center">
<Image
src={screenshot}
alt={`Screenshot ${index + 1} of ${appName}`}
width={800}
height={1200}
sizes="(max-width: 768px) 90vw, (max-width: 1024px) 80vw, 70vw"
className="max-h-[60vh] w-auto rounded-lg object-contain md:max-h-[70vh]"
/>
</div>
</SwiperSlide>
))}
<SwiperNavigation />
</Swiper>
</SwiperContainer>
</div>
</Modal>
</SwiperContainer>
)
}

export default ScreenshotSwiper
Loading