From 01da58072faca3030fdde57493ec3801d1b58b3e Mon Sep 17 00:00:00 2001 From: myelinated-wackerow <263208946+myelinated-wackerow@users.noreply.github.com> Date: Tue, 5 May 2026 20:51:44 -0700 Subject: [PATCH 1/2] chore: remove unused/stale components Drops a batch of components identified as unused or story-only in the design-system audit (#18131): - AdoptionChart, AreaChart, BarChart (local; remaining usages import from recharts directly), BoxGrid, EthVideo, Layer2ProductCard, RandomAppList, Stat - Banners: UpgradeBannerNotification, EventsOrganizerBanner, DismissableBanner - ui: drawer, buttons/SvgButtonLink, buttons/ButtonTwoLines (and ButtonLinkTwoLines), radio-group (Quiz uses Radix directly) Removes their stories, the orphaned bn/dapps markdown file (the /dapps route redirects to /apps, a React route), the now-orphaned vaul dependency (only consumer was ui/drawer), and a stale TODO in PathButton referencing the removed ButtonLinkTwoLines. Drops the adoption-chart-* keys from the English page-energy-consumption.json (the issue text named the wrong file). Non-English equivalents are removed in a follow-up commit since pipeline manifests for that namespace are not yet in place. Refs #18131 Co-Authored-By: Claude Opus 4.7 Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com> --- package.json | 1 - pnpm-lock.yaml | 18 -- public/content/translations/bn/dapps/index.md | 32 --- src/components/AdoptionChart/index.tsx | 100 --------- src/components/AdoptionChart/lazy.tsx | 10 - src/components/AdoptionChart/loading.tsx | 28 --- src/components/AreaChart/index.tsx | 142 ------------ .../DismissableBanner.stories.tsx | 57 ----- .../Banners/DismissableBanner/index.tsx | 52 ----- .../Banners/EventsOrganizerBanner.tsx | 59 ----- .../Banners/UpgradeBannerNotification.tsx | 21 -- src/components/BarChart/index.tsx | 124 ----------- src/components/BoxGrid.tsx | 98 --------- src/components/EthVideo.tsx | 25 --- src/components/Layer2ProductCard.tsx | 113 ---------- src/components/RandomAppList.tsx | 73 ------ src/components/Simulator/PathButton.tsx | 1 - src/components/Stat/Stat.stories.tsx | 45 ---- src/components/Stat/index.tsx | 58 ----- .../ButtonLinkTwoLines.stories.tsx | 35 --- .../ui/__stories__/ButtonTwoLines.stories.tsx | 46 ---- .../ui/__stories__/RadioGroup.stories.tsx | 68 ------ src/components/ui/buttons/ButtonTwoLines.tsx | 207 ------------------ src/components/ui/buttons/SvgButtonLink.tsx | 71 ------ src/components/ui/drawer.tsx | 115 ---------- src/components/ui/radio-group.tsx | 45 ---- src/intl/en/page-energy-consumption.json | 9 - src/layouts/Static.tsx | 2 - 28 files changed, 1655 deletions(-) delete mode 100644 public/content/translations/bn/dapps/index.md delete mode 100644 src/components/AdoptionChart/index.tsx delete mode 100644 src/components/AdoptionChart/lazy.tsx delete mode 100644 src/components/AdoptionChart/loading.tsx delete mode 100644 src/components/AreaChart/index.tsx delete mode 100644 src/components/Banners/DismissableBanner/DismissableBanner.stories.tsx delete mode 100644 src/components/Banners/DismissableBanner/index.tsx delete mode 100644 src/components/Banners/EventsOrganizerBanner.tsx delete mode 100644 src/components/Banners/UpgradeBannerNotification.tsx delete mode 100644 src/components/BarChart/index.tsx delete mode 100644 src/components/BoxGrid.tsx delete mode 100644 src/components/EthVideo.tsx delete mode 100644 src/components/Layer2ProductCard.tsx delete mode 100644 src/components/RandomAppList.tsx delete mode 100644 src/components/Stat/Stat.stories.tsx delete mode 100644 src/components/Stat/index.tsx delete mode 100644 src/components/ui/__stories__/ButtonLinkTwoLines.stories.tsx delete mode 100644 src/components/ui/__stories__/ButtonTwoLines.stories.tsx delete mode 100644 src/components/ui/__stories__/RadioGroup.stories.tsx delete mode 100644 src/components/ui/buttons/ButtonTwoLines.tsx delete mode 100644 src/components/ui/buttons/SvgButtonLink.tsx delete mode 100644 src/components/ui/drawer.tsx delete mode 100644 src/components/ui/radio-group.tsx diff --git a/package.json b/package.json index 3e458e2e5eb..10049625465 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,6 @@ "tailwind-variants": "^3.2.2", "tw-animate-css": "^1.4.0", "usehooks-ts": "^3.1.0", - "vaul": "^1.0.0", "viem": "^2.23.3", "wagmi": "^2.14.11", "yaml-loader": "^0.8.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7d536e5531e..38b6af901ae 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -228,9 +228,6 @@ importers: usehooks-ts: specifier: ^3.1.0 version: 3.1.1(react@19.2.4) - vaul: - specifier: ^1.0.0 - version: 1.1.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) viem: specifier: ^2.23.3 version: 2.30.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) @@ -11022,12 +11019,6 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vaul@1.1.2: - resolution: {integrity: sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==} - peerDependencies: - react: ^19.2.4 - react-dom: ^19.2.4 - vfile-matter@5.0.1: resolution: {integrity: sha512-o6roP82AiX0XfkyTHyRCMXgHfltUNlXSEqCIS80f+mbAyiQBE2fxtDVMtseyytGx75sihiJFo/zR6r/4LTs2Cw==} @@ -25252,15 +25243,6 @@ snapshots: vary@1.1.2: {} - vaul@1.1.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4): - dependencies: - '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - react: 19.2.4 - react-dom: 19.2.4(react@19.2.4) - transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' - vfile-matter@5.0.1: dependencies: vfile: 6.0.3 diff --git a/public/content/translations/bn/dapps/index.md b/public/content/translations/bn/dapps/index.md deleted file mode 100644 index 6f39d2787fc..00000000000 --- a/public/content/translations/bn/dapps/index.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: "ইথেরিয়াম অ্যাপ্লিকেশন (dapps) ব্যবহার করুন" -description: "ইথেরিয়াম ব্যবহার শুরু করার জন্য আপনার যে মৌলিক তথ্য প্রয়োজন।" -lang: bn ---- - -# ইথেরিয়াম ব্যবহার করা {#using-ethereum} - - - -**ইথেরিয়াম ব্যবহার শুরু করতে চান?** ইথেরিয়ামে তৈরি করা কয়েক শত বিকেন্দ্রীভূত অ্যাপ্লিকেশন (ড্যাপ) আছে যেগুলো আপনি আজই ব্যবহার করতে পারেন। - - - -## কীভাবে ইথেরিয়ামে নির্মিত একটি অ্যাপ্লিকেশন ব্যবহার করতে হয় {#how-to-use-an-application-built-on-ethereum} - -ইথেরিয়াম দিয়ে শুরু করার সর্বোত্তম উপায় হ'ল এখনই ঝাঁপিয়ে পড়া! - -এখানে ইথেরিয়ামে নির্মিত মাত্র কয়েকটি অ্যাপ দেওয়া হল - আমরা এই তালিকাটি ঘন ঘন পালটাই! - - - -ইথেরিয়ামে নির্মিত আরও অ্যাপ্লিকেশনগুলি দেখতে আগ্রহী? - -- [90টির বেশি ইথেরিয়াম অ্যাপ যা আপনি এখনই ব্যবহার করতে পারেন_এপ্রিল](https://media.consensys.net/40-ethereum-apps-you-can-use-right-now-d643333769f7) _24, 2019 - ConsenSys_ -- [Ethereum Dapps](https://www.stateofthedapps.com/rankings/platform/ethereum) _ স্টেট অফ দ্যাপস দ্বারা প্রায়শই আপডেট করা হয়।_ -- [ইথেরিয়াম ডিফাই (DeFI) ইকোসিস্টেম](https://defiprime.com/ethereum)_প্রায়শই আপডেট করা হয় - Defiprime_ -- [DeFi Llama](https://defillama.com/) _অ্যানালিটিক্স+ DeFi প্রোটোকলগুলির র‍্যাঙ্কিং- Defi Llama_ - -কিছু ইথেরিয়াম অ্যাপ্লিকেশনের একটি ওয়ালেট প্রয়োজন - [ইথেরিয়াম ওয়ালেট সম্পর্কে এখানে আরও জানুন](/wallets/)। - -কিছু ইথেরিয়াম অ্যাপ্লিকেশনের ETH প্রয়োজন হবে - [ETH সম্পর্কে এখানে আরও জানুন](/what-is-ether/)। diff --git a/src/components/AdoptionChart/index.tsx b/src/components/AdoptionChart/index.tsx deleted file mode 100644 index c3b2f00a136..00000000000 --- a/src/components/AdoptionChart/index.tsx +++ /dev/null @@ -1,100 +0,0 @@ -"use client" - -import { useTheme } from "next-themes" - -import type { ChildOnlyProp } from "@/lib/types" - -import { Flex } from "@/components/ui/flex" - -import { cn } from "@/lib/utils/cn" - -import useTranslation from "@/hooks/useTranslation" - -type CellProps = ChildOnlyProp & { - color?: string - className?: string -} - -const Column = ({ children }: ChildOnlyProp) => ( - {children} -) - -const Cell = ({ children, color, className, ...props }: CellProps) => ( -
- {children} -
-) - -const ColumnName = ({ children }: ChildOnlyProp) => ( - {children} -) - -const AdoptionChart = () => { - const { t } = useTranslation("page-what-is-ethereum") - const { resolvedTheme } = useTheme() - const isDark = resolvedTheme === "dark" - - return ( - - - 2010 - - {t("adoption-chart-investors-label")} - - - - - 2014 - - {t("adoption-chart-investors-label")} - - - {t("adoption-chart-developers-label")} - - - {t("adoption-chart-companies-label")} - - - - - {t("adoption-chart-column-now-label")} - - {t("adoption-chart-investors-label")} - - - {t("adoption-chart-developers-label")} - - - {t("adoption-chart-companies-label")} - - - {t("adoption-chart-artists-label")} - - - {t("adoption-chart-musicians-label")} - - - {t("adoption-chart-writers-label")} - - - {t("adoption-chart-gamers-label")} - - - {t("adoption-chart-refugees-label")} - - - - ) -} - -export default AdoptionChart diff --git a/src/components/AdoptionChart/lazy.tsx b/src/components/AdoptionChart/lazy.tsx deleted file mode 100644 index 5733a36989e..00000000000 --- a/src/components/AdoptionChart/lazy.tsx +++ /dev/null @@ -1,10 +0,0 @@ -"use client" - -import dynamic from "next/dynamic" - -import Loading from "./loading" - -export default dynamic(() => import("./index"), { - ssr: false, - loading: Loading, -}) diff --git a/src/components/AdoptionChart/loading.tsx b/src/components/AdoptionChart/loading.tsx deleted file mode 100644 index 402e1a7ed4b..00000000000 --- a/src/components/AdoptionChart/loading.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Skeleton } from "@/components/ui/skeleton" - -const Loading = () => ( -
-
- -
-
- {Array.from({ length: 3 }).map((_, idx) => ( -
- -
- ))} -
-
- {Array.from({ length: 8 }).map((_, idx) => ( -
- -
- ))} -
- - - -
-) - -export default Loading diff --git a/src/components/AreaChart/index.tsx b/src/components/AreaChart/index.tsx deleted file mode 100644 index a450b474e23..00000000000 --- a/src/components/AreaChart/index.tsx +++ /dev/null @@ -1,142 +0,0 @@ -"use client" - -import { TrendingUp } from "lucide-react" -import { - Area, - AreaChart as RechartsAreaChart, - CartesianGrid, - XAxis, -} from "recharts" - -import { - Card, - CardContent, - CardFooter, - CardHeader, - CardParagraph, - CardTitle, -} from "@/components/ui/card" -import { - ChartConfig, - ChartContainer, - ChartTooltip, - ChartTooltipContent, -} from "@/components/ui/chart" - -type AreaChartDataPoint = { xValue: string; yValue: number } - -/** - * AreaChartProps defines the properties for the AreaChart component. - * - * @property {AreaChartDataPoint[]} data - The data to be displayed in the chart. Each object should have an `xValue` and `yValue` property. - * @property {string} [title] - The title of the chart. - * @property {string} [description] - The description of the chart. - * @property {string} [footerText] - The footer text of the chart. - * @property {string} [footerSubText] - The footer subtext of the chart. - */ -type AreaChartProps = { - data: AreaChartDataPoint[] - title?: string - description?: string - footerText?: string - footerSubText?: string -} - -const defaultChartConfig = { - value: { - label: "Value", - color: "hsl(var(--accent-a))", - }, -} satisfies ChartConfig - -/** - * AreaChart component renders an area chart with the provided data and optional title, description, footer text, and footer subtext. - * - * @param {AreaChartProps} props - The properties for the AreaChart component. - * @returns {JSX.Element} The rendered AreaChart component. - */ -export function AreaChart({ - data, - title, - description, - footerText, - footerSubText, -}: AreaChartProps) { - return ( - - - {title && {title}} - {description && ( - - {description} - - )} - - - - - - value.slice(0, 3)} - /> - } /> - - - - - - - - - - - {(footerText || footerSubText) && ( - -
-
- {footerText && ( -
- {footerText} -
- )} - {footerSubText && ( -
- {footerSubText} -
- )} -
-
-
- )} -
- ) -} diff --git a/src/components/Banners/DismissableBanner/DismissableBanner.stories.tsx b/src/components/Banners/DismissableBanner/DismissableBanner.stories.tsx deleted file mode 100644 index 5bf9f9e92ad..00000000000 --- a/src/components/Banners/DismissableBanner/DismissableBanner.stories.tsx +++ /dev/null @@ -1,57 +0,0 @@ -import React from "react" -import { Info } from "lucide-react" -import { Meta, StoryObj } from "@storybook/nextjs" - -import { Center } from "@/components/ui/flex" - -import DismissableBanner from "." - -const meta = { - title: "Molecules / Navigation / DismissableBanner", - component: DismissableBanner, - parameters: { - layout: "fullscreen", - }, - decorators: [ - (Story) => ( -
- -
- ), - ], -} satisfies Meta - -export default meta -type Story = StoryObj - -export const Basic: Story = { - args: { - storageKey: "dismissable-banner-1", - children:

This is a dismissable banner notification.

, - }, -} - -export const WithLongText: Story = { - args: { - storageKey: "dismissable-banner-2", - children: ( -

- This is a dismissable banner with a very long text content to see how it - handles overflow and wrapping. It should be able to manage the text - properly without breaking the layout. -

- ), - }, -} - -export const WithIcon: Story = { - args: { - storageKey: "dismissable-banner-3", - children: ( -
- - This banner includes an icon. -
- ), - }, -} diff --git a/src/components/Banners/DismissableBanner/index.tsx b/src/components/Banners/DismissableBanner/index.tsx deleted file mode 100644 index b184b3cc847..00000000000 --- a/src/components/Banners/DismissableBanner/index.tsx +++ /dev/null @@ -1,52 +0,0 @@ -"use client" - -import { useEffect, useState } from "react" -import { X } from "lucide-react" - -import { Button } from "@/components/ui/buttons/Button" -import { Center } from "@/components/ui/flex" - -import { cn } from "@/lib/utils/cn" - -import BannerNotification from "../BannerNotification" - -import { useTranslation } from "@/hooks/useTranslation" - -type DismissableBannerProps = React.HTMLAttributes & { - storageKey: string -} - -const DismissableBanner = ({ - children, - storageKey, - className, -}: DismissableBannerProps) => { - const { t } = useTranslation("common") - const [show, setShow] = useState(false) - - useEffect(() => { - const isDismissed = localStorage.getItem(storageKey) === "true" - setShow(!isDismissed) - }, [storageKey]) - - const onClose = () => { - localStorage.setItem(storageKey, "true") - setShow(false) - } - - return ( - -
{children}
- -
- ) -} - -export default DismissableBanner diff --git a/src/components/Banners/EventsOrganizerBanner.tsx b/src/components/Banners/EventsOrganizerBanner.tsx deleted file mode 100644 index 70c256dd623..00000000000 --- a/src/components/Banners/EventsOrganizerBanner.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import { cn } from "@/lib/utils/cn" - -import { Image } from "../Image" -import { ButtonLink } from "../ui/buttons/Button" -import { Flex, Stack } from "../ui/flex" - -import PeopleLearning from "@/public/images/people-learning.png" - -// TODO: refactor to use CalloutBanner component -function EventsOrganizerBanner({ - className, - ...props -}: React.HTMLAttributes) { - return ( - - ) -} - -export default EventsOrganizerBanner diff --git a/src/components/Banners/UpgradeBannerNotification.tsx b/src/components/Banners/UpgradeBannerNotification.tsx deleted file mode 100644 index af535369c21..00000000000 --- a/src/components/Banners/UpgradeBannerNotification.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import Emoji from "../Emoji" -import InlineLink from "../ui/Link" - -import BannerNotification from "./BannerNotification" - -const UpgradeBannerNotification = () => ( - - -
- - We've deprecated our use of 'Eth1' and 'Eth2' - terms. - {" "} - - Read the full announcement - -
-
-) - -export default UpgradeBannerNotification diff --git a/src/components/BarChart/index.tsx b/src/components/BarChart/index.tsx deleted file mode 100644 index d4c2985a0db..00000000000 --- a/src/components/BarChart/index.tsx +++ /dev/null @@ -1,124 +0,0 @@ -"use client" - -import { TrendingUp } from "lucide-react" -import { - Bar, - BarChart as RechartsBarChart, - CartesianGrid, - XAxis, -} from "recharts" - -import { - Card, - CardContent, - CardFooter, - CardHeader, - CardParagraph, - CardTitle, -} from "@/components/ui/card" -import { - ChartConfig, - ChartContainer, - ChartTooltip, - ChartTooltipContent, -} from "@/components/ui/chart" - -type BarChartDataPoint = { category: string; value: number } - -/** - * BarChartProps defines the properties for the BarChart component. - * - * @property {BarChartItem[]} data - The data to be displayed in the chart. Each object should have a `category` and `value` property. - * @property {string} [title] - The title of the chart. - * @property {string} [description] - The description of the chart. - * @property {string} [footerText] - The footer text of the chart. - * @property {string} [footerSubText] - The footer subtext of the chart. - */ -type BarChartProps = { - data: BarChartDataPoint[] - title?: string - description?: string - footerText?: string - footerSubText?: string -} - -const defaultChartConfig = { - value: { - label: "Value", - color: "hsl(var(--accent-a))", - }, -} satisfies ChartConfig - -/** - * BarChart component renders a bar chart with the provided data and optional title, description, footer text, and footer subtext. - * - * @param {BarChartProps} props - The properties for the BarChart component. - * @returns {JSX.Element} The rendered BarChart component. - */ -export function BarChart({ - data, - title, - description, - footerText, - footerSubText, -}: BarChartProps) { - return ( - - - {title && {title}} - {description && ( - - {description} - - )} - - - - - - - } /> - - - - - {(footerText || footerSubText) && ( - -
-
- {footerText && ( -
- {footerText} -
- )} - {footerSubText && ( -
- {footerSubText} -
- )} -
-
-
- )} -
- ) -} diff --git a/src/components/BoxGrid.tsx b/src/components/BoxGrid.tsx deleted file mode 100644 index a1a1a44bf16..00000000000 --- a/src/components/BoxGrid.tsx +++ /dev/null @@ -1,98 +0,0 @@ -import React, { useState } from "react" - -import type { MatomoEventOptions } from "@/lib/types" - -import { cn } from "@/lib/utils/cn" -import { trackCustomEvent } from "@/lib/utils/matomo" - -import { Flex } from "./ui/flex" -import Emoji from "./Emoji" - -export interface BoxItem { - emoji: string - title: string - description: string - matomo: MatomoEventOptions -} - -export type BoxGridProps = { - items: Array -} - -// Represent string as 32-bit integer -const hashCode = (stringPhrase: string): number => { - let hash = 0 - for (const char of stringPhrase) { - const code = char.charCodeAt(0) - hash = (hash << 5) - hash + code - hash |= 0 - } - return Math.abs(hash) -} - -// Theme variables from Theme.js -const colors = [ - "bg-[#ffe78e]", - "bg-[#ef7d7d]", - "bg-[#a7d0f4]", - "bg-[#6fc4a0]", - "bg-[#ffe3d3]", - "bg-[#ffa1c3]", - "bg-[#a4a4ff]", -] - -const BoxGrid = ({ items }: BoxGridProps) => { - const [indexOpen, setOpenIndex] = useState(0) - - return ( -
- {items.map((item, idx: number) => { - const colorIdx = hashCode(item.emoji) % colors.length - const color = colors[colorIdx] - const isOpen = idx === indexOpen - - return ( - { - setOpenIndex(idx) - trackCustomEvent({ - eventCategory: item.matomo.eventCategory, - eventAction: item.matomo.eventAction, - eventName: item.matomo.eventName, - }) - }} - key={idx} - > - -
-

- {item.title} -

- {isOpen && ( -

- {item.description} -

- )} -
-
- ) - })} -
- ) -} - -export default BoxGrid diff --git a/src/components/EthVideo.tsx b/src/components/EthVideo.tsx deleted file mode 100644 index 66f477b33c9..00000000000 --- a/src/components/EthVideo.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import useColorModeValue from "@/hooks/useColorModeValue" - -const EthVideo = () => { - const src = useColorModeValue( - "/images/ethereum-hero-light.mp4", - "/images/ethereum-hero-dark.mp4" - ) - - return ( -
-
- ) -} - -export default EthVideo diff --git a/src/components/Layer2ProductCard.tsx b/src/components/Layer2ProductCard.tsx deleted file mode 100644 index c5f7e1dbe65..00000000000 --- a/src/components/Layer2ProductCard.tsx +++ /dev/null @@ -1,113 +0,0 @@ -import { StaticImageData } from "next/image" - -import { Card, CardContent, CardFooter, CardHeader } from "@/components/ui/card" - -import { ButtonLink } from "./ui/buttons/Button" -import InlineLink from "./ui/Link" -import { Image } from "./Image" - -import { useTranslation } from "@/hooks/useTranslation" - -export type Layer2ProductCardProps = { - children?: React.ReactNode - url?: string - background: string - image: StaticImageData - name: string - description: string - note?: string - alt?: string - bridge?: string - tokenLists?: string - ecosystemPortal?: string -} - -const Layer2ProductCard = ({ - url, - background, - image, - name, - description, - note = "", - alt = "", - children, - bridge, - tokenLists, - ecosystemPortal, -}: Layer2ProductCardProps) => { - const { t } = useTranslation("page-layer-2") - - return ( - -
- {alt} -
- - -
-

{name}

- {children &&
{children}
} -
-
- - -
-

{description}

- - {note && ( -

- {t("layer-2-note")} {note} -

- )} -
- -
- {bridge && ( - - {name} {t("layer-2-bridge")} - - )} - - {ecosystemPortal && ( - - {name} {t("layer-2-ecosystem-portal")} - - )} - - {tokenLists && ( - - {name} {t("layer-2-token-lists")} - - )} -
-
- - - {url && ( - - {t("layer-2-explore")} {name} - - )} - -
- ) -} - -export default Layer2ProductCard diff --git a/src/components/RandomAppList.tsx b/src/components/RandomAppList.tsx deleted file mode 100644 index 15c9579ee40..00000000000 --- a/src/components/RandomAppList.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import { useEffect, useState } from "react" -import { shuffle } from "lodash" - -import type { TranslationKey } from "@/lib/types" - -import InlineLink from "./ui/Link" -import Translation from "./Translation" - -interface App { - name: string - url: string - description: TranslationKey -} - -const appList: Array = [ - { - name: "Gitcoin", - url: "https://gitcoin.co", - description: "page-apps-dapp-description-gitcoin", - }, - { - name: "Cent", - url: "https://beta.cent.co", - description: "page-apps-dapp-description-cent", - }, - { - name: "Gods Unchained", - url: "https://godsunchained.com/", - description: "page-apps-dapp-description-gods-unchained", - }, - { - name: "DAI", - url: "https://makerdao.com/en/", - description: "page-stablecoins-accordion-earn-project-2-description", - }, - { - name: "Decentraland", - url: "https://decentraland.org/", - description: "page-apps-dapp-description-decentraland", - }, - { - name: "Augur", - url: "https://www.augur.net/", - description: "page-apps-dapp-description-augur", - }, - { - name: "Ethereum Name Service", - url: "http://ens.domains/", - description: "page-apps-dapp-description-ens", - }, -] - -const RandomAppList = () => { - const [randomAppList, setRandomAppList] = useState>([]) - - useEffect(() => { - const list = shuffle(appList) - setRandomAppList(list) - }, []) - - return ( -
    - {randomAppList.map((item, idx) => ( -
  • - {item.name} - , -
  • - ))} -
- ) -} - -export default RandomAppList diff --git a/src/components/Simulator/PathButton.tsx b/src/components/Simulator/PathButton.tsx index c3a90c03faa..ef7f70b68b8 100644 --- a/src/components/Simulator/PathButton.tsx +++ b/src/components/Simulator/PathButton.tsx @@ -9,7 +9,6 @@ type PathButtonProps = { } export const PathButton = ({ pathSummary, handleClick }: PathButtonProps) => { const { primaryText, secondaryText, Icon } = pathSummary - // TODO: Convert this component to use ButtonLinkTwoLines return ( - - )} - - {content.contentValue} - - ) -} - -export default Stat diff --git a/src/components/ui/__stories__/ButtonLinkTwoLines.stories.tsx b/src/components/ui/__stories__/ButtonLinkTwoLines.stories.tsx deleted file mode 100644 index 42cb66db992..00000000000 --- a/src/components/ui/__stories__/ButtonLinkTwoLines.stories.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { Circle } from "lucide-react" -import type { Meta, StoryObj } from "@storybook/nextjs" - -import { ButtonLinkTwoLines as ButtonLinkTwoLinesComponent } from "../buttons/ButtonTwoLines" -import { Stack } from "../flex" - -const meta = { - title: "Atoms / Form / Buttons / ButtonTwoLines", - component: ButtonLinkTwoLinesComponent, -} satisfies Meta - -export default meta - -type Story = StoryObj - -export const ButtonLinkTwoLines: Story = { - args: { - icon: Circle, - mainText: "Main Text", - helperText: "Helper Text", - className: "w-[300px]", - href: "#", - }, - render: (args) => ( - - - - - ), -} diff --git a/src/components/ui/__stories__/ButtonTwoLines.stories.tsx b/src/components/ui/__stories__/ButtonTwoLines.stories.tsx deleted file mode 100644 index fd2f5cf0648..00000000000 --- a/src/components/ui/__stories__/ButtonTwoLines.stories.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import { Circle } from "lucide-react" -import { Meta, StoryObj } from "@storybook/nextjs" - -import { ButtonTwoLines as ButtonTwoLinesComponent } from "../buttons/ButtonTwoLines" -import { HStack, Stack } from "../flex" - -const meta = { - title: "Atoms / Form / Buttons / ButtonTwoLines", - component: ButtonTwoLinesComponent, -} satisfies Meta - -export default meta - -type Story = StoryObj - -export const ButtonTwoLines: Story = { - args: { - icon: Circle, - mainText: "Main Text", - helperText: "Helper Text", - className: "w-[300px]", - }, - render: (args) => ( - - - - - - - - - - - ), -} diff --git a/src/components/ui/__stories__/RadioGroup.stories.tsx b/src/components/ui/__stories__/RadioGroup.stories.tsx deleted file mode 100644 index f682ee66326..00000000000 --- a/src/components/ui/__stories__/RadioGroup.stories.tsx +++ /dev/null @@ -1,68 +0,0 @@ -import type { Meta, StoryObj } from "@storybook/nextjs" - -import { HStack } from "../flex" -import { - RadioGroup, - RadioGroupItem, - type RadioGroupItemProps, -} from "../radio-group" - -const meta = { - title: "Atoms / Form / Radio", - component: RadioGroup, -} satisfies Meta - -export default meta - -const DEFAULT_CHECKED = "checked" - -const radioSet: Array = [ - { - id: "default", - value: "default", - label: "default", - }, - { - id: DEFAULT_CHECKED, - value: DEFAULT_CHECKED, - label: DEFAULT_CHECKED, - }, - { - id: "disabled", - value: "disabled", - disabled: true, - label: "disabled", - }, - { - id: "disabled-checked", - value: "disabled-checked", - disabled: true, - checked: true, - label: "disabled-checked", - }, - { - id: "invalid", - value: "invalid", - "aria-invalid": true, - label: "invalid", - }, -] - -export const Radio: StoryObj = { - args: { - defaultValue: DEFAULT_CHECKED, - className: "gap-4", - }, - render: (args) => ( - - {radioSet.map((radio) => ( - - - - ))} - - ), -} diff --git a/src/components/ui/buttons/ButtonTwoLines.tsx b/src/components/ui/buttons/ButtonTwoLines.tsx deleted file mode 100644 index 5f6336ae937..00000000000 --- a/src/components/ui/buttons/ButtonTwoLines.tsx +++ /dev/null @@ -1,207 +0,0 @@ -import type { LucideIcon } from "lucide-react" - -import { cn } from "@/lib/utils/cn" - -import { Stack } from "../flex" - -import { - Button, - ButtonLink, - type ButtonLinkProps, - type ButtonProps, -} from "./Button" - -type CommonProps = { - icon: LucideIcon | React.FC> - iconAlignment?: "left" | "right" | "start" | "end" - /** - * Reduced choices of the button variant. - * - * This component only accepts the `solid` or `outline` variant - */ - variant?: "solid" | "outline" - /** - * Reduced choices of the button size - * - * This component only accepts the `md` or `sm` sizes - */ - size?: "md" | "sm" - mainText: string - helperText: string - /** - * Should the main text be below the helper text instead of ab? - */ - reverseTextOrder?: boolean -} - -type OmittedTypes = "variant" | "size" | "children" - -type ButtonTwoLinesProps = Omit & CommonProps - -/** - * Button that renders two styled lines of text - */ -export const ButtonTwoLines = ({ - className, - iconAlignment = "start", - size = "md", - variant, - ...props -}: ButtonTwoLinesProps) => { - const isIconLeft = ["left", "start"].includes(iconAlignment) - - const [childProps, ownProps] = createSplitProps()( - { ...props, isIconLeft, size, variant }, - [ - "reverseTextOrder", - "mainText", - "helperText", - "variant", - "icon", - "isIconLeft", - "isSecondary", - "size", - ] - ) - - return ( - - ) -} - -type ButtonLinkTwoLinesProps = Omit & CommonProps - -/** - * ButtonLink that renders two styled lines of text - */ -export const ButtonLinkTwoLines = ({ - className, - iconAlignment = "start", - size = "md", - variant, - ...props -}: ButtonLinkTwoLinesProps) => { - const isIconLeft = ["left", "start"].includes(iconAlignment) - - const [childProps, ownProps] = createSplitProps()( - { ...props, isIconLeft, size, variant }, - [ - "reverseTextOrder", - "mainText", - "helperText", - "variant", - "icon", - "isIconLeft", - "isSecondary", - "size", - ] - ) - - return ( - - - - ) -} - -type ChildContentProps = Omit & { - isIconLeft: boolean - isSecondary?: boolean -} - -const ChildContent = ({ - helperText, - icon: Icon, - mainText, - reverseTextOrder = false, - size, - variant, - isIconLeft, - isSecondary, -}: ChildContentProps) => { - const ButtonIcon = () => ( - - ) - return ( - <> - {isIconLeft && } - - - {mainText} - - - {helperText} - - - {!isIconLeft && } - - ) -} - -/** - * Split props ripped from Ark UI and simplified: - * https://github.com/chakra-ui/ark/blob/main/packages/react/src/utils/create-split-props.ts - */ -type EnsureKeys = - keyof ChildContentProps extends ExpectedKeys[number] - ? unknown - : `Missing required keys: ${Exclude & string}` - -function createSplitProps() { - return < - Keys extends (keyof ChildContentProps)[], - Props = Required, - >( - props: Props, - keys: Keys & EnsureKeys - ) => - (keys as string[]).reduce< - [ChildContentProps, Omit>] - >( - (previousValue, currentValue) => { - const [target, source] = previousValue - const key = currentValue - if (source[key] !== undefined) { - target[key] = source[key] - } - delete source[key] - return [target, source] - }, - [{} as ChildContentProps, { ...props }] - ) -} diff --git a/src/components/ui/buttons/SvgButtonLink.tsx b/src/components/ui/buttons/SvgButtonLink.tsx deleted file mode 100644 index 54bb8b1b4f4..00000000000 --- a/src/components/ui/buttons/SvgButtonLink.tsx +++ /dev/null @@ -1,71 +0,0 @@ -import type { FC, SVGProps } from "react" -import { tv, type VariantProps } from "tailwind-variants" - -import { cn } from "@/lib/utils/cn" - -import { BaseLink, LinkProps } from "../Link" - -const variants = tv({ - base: "flex items-center gap-3.5", - variants: { - variant: { - col: "flex-col text-center [&_.body]:text-center", - row: "flex-row text-start [&_.body]:text-start [&_.header]:self-start", - }, - }, - defaultVariants: { - variant: "row", - }, -}) - -type Variants = VariantProps - -export type SvgButtonLinkProps = LinkProps & { - Svg: FC> - label?: string - size?: number -} & Variants - -const SvgButtonLink = ({ - label, - children, - Svg, - className, - variant, - ...props -}: SvgButtonLinkProps) => ( - -
-
- -
-
- {label &&

{label}

} - {children} -
-
-
-) - -export default SvgButtonLink diff --git a/src/components/ui/drawer.tsx b/src/components/ui/drawer.tsx deleted file mode 100644 index 071bd6d63b3..00000000000 --- a/src/components/ui/drawer.tsx +++ /dev/null @@ -1,115 +0,0 @@ -import * as React from "react" -import { Drawer as DrawerPrimitive } from "vaul" - -import { cn } from "@/lib/utils/cn" - -const Drawer = ({ - shouldScaleBackground = true, - ...props -}: React.ComponentProps) => ( - -) -Drawer.displayName = "Drawer" - -const DrawerTrigger = DrawerPrimitive.Trigger - -const DrawerPortal = DrawerPrimitive.Portal - -const DrawerClose = DrawerPrimitive.Close - -const DrawerOverlay = React.forwardRef< - React.ComponentRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName - -const DrawerContent = React.forwardRef< - React.ComponentRef, - React.ComponentPropsWithoutRef ->(({ className, children, ...props }, ref) => ( - - - - {children} - - -)) -DrawerContent.displayName = "DrawerContent" - -const DrawerHeader = ({ - className, - ...props -}: React.HTMLAttributes) => ( -
-) -DrawerHeader.displayName = "DrawerHeader" - -const DrawerFooter = ({ - className, - ...props -}: React.HTMLAttributes) => ( -
-) -DrawerFooter.displayName = "DrawerFooter" - -const DrawerTitle = React.forwardRef< - React.ComponentRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -DrawerTitle.displayName = DrawerPrimitive.Title.displayName - -const DrawerDescription = React.forwardRef< - React.ComponentRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -DrawerDescription.displayName = DrawerPrimitive.Description.displayName - -export { - Drawer, - DrawerClose, - DrawerContent, - DrawerDescription, - DrawerFooter, - DrawerHeader, - DrawerOverlay, - DrawerPortal, - DrawerTitle, - DrawerTrigger, -} diff --git a/src/components/ui/radio-group.tsx b/src/components/ui/radio-group.tsx deleted file mode 100644 index 6ec4740a4c1..00000000000 --- a/src/components/ui/radio-group.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import * as React from "react" -import { Circle } from "lucide-react" -import * as RadioGroupPrimitive from "@radix-ui/react-radio-group" - -import { cn } from "@/lib/utils/cn" - -import { commonControlClasses } from "./checkbox" - -const RadioGroup = React.forwardRef< - React.ComponentRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => { - return ( - - ) -}) -RadioGroup.displayName = RadioGroupPrimitive.Root.displayName - -type RadioGroupItemProps = React.ComponentPropsWithoutRef< - typeof RadioGroupPrimitive.Item -> - -const RadioGroupItem = React.forwardRef< - React.ComponentRef, - RadioGroupItemProps ->(({ className, ...props }, ref) => { - return ( - - - - - - ) -}) -RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName - -export { RadioGroup, RadioGroupItem, type RadioGroupItemProps } diff --git a/src/intl/en/page-energy-consumption.json b/src/intl/en/page-energy-consumption.json index dacef9f0a3e..ed8bcaacb61 100644 --- a/src/intl/en/page-energy-consumption.json +++ b/src/intl/en/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "Artists", - "adoption-chart-column-now-label": "Now", - "adoption-chart-companies-label": "Companies", - "adoption-chart-developers-label": "Developers", - "adoption-chart-gamers-label": "Gamers", - "adoption-chart-investors-label": "Investors", - "adoption-chart-musicians-label": "Musicians", - "adoption-chart-refugees-label": "Refugees", - "adoption-chart-writers-label": "Writers", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", diff --git a/src/layouts/Static.tsx b/src/layouts/Static.tsx index 0a263b81f3f..3fadc553230 100644 --- a/src/layouts/Static.tsx +++ b/src/layouts/Static.tsx @@ -4,7 +4,6 @@ import type { HTMLAttributes } from "react" import type { ChildOnlyProp, Lang } from "@/lib/types" import type { MdPageContent, StaticFrontmatter } from "@/lib/interfaces" -import EventsOrganizerBanner from "@/components/Banners/EventsOrganizerBanner" import Breadcrumbs from "@/components/Breadcrumbs" import Callout from "@/components/Callout" import Contributors from "@/components/Contributors" @@ -62,7 +61,6 @@ export const staticComponents = { Callout, Contributors, EnergyConsumptionChart, - EventsOrganizerBanner, GlossaryDefinition, GlossaryTooltip, Link, From b22d2e12928d72118194eaccfb1c61074e24dec6 Mon Sep 17 00:00:00 2001 From: myelinated-wackerow <263208946+myelinated-wackerow@users.noreply.github.com> Date: Tue, 5 May 2026 20:52:00 -0700 Subject: [PATCH 2/2] chore(intl): drop adoption-chart keys Removes the orphaned adoption-chart-* keys from all 24 non-English page-energy-consumption.json files. The owning component (AdoptionChart) was deleted in the prior commit; the namespace has no pipeline manifest yet, so the keys are removed manually here rather than waiting on propagation. Closes #18131 Co-Authored-By: Claude Opus 4.7 Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com> --- src/intl/ar/page-energy-consumption.json | 9 --------- src/intl/bn/page-energy-consumption.json | 11 +---------- src/intl/cs/page-energy-consumption.json | 9 --------- src/intl/de/page-energy-consumption.json | 11 +---------- src/intl/es/page-energy-consumption.json | 9 --------- src/intl/fr/page-energy-consumption.json | 9 --------- src/intl/hi/page-energy-consumption.json | 9 --------- src/intl/id/page-energy-consumption.json | 11 +---------- src/intl/it/page-energy-consumption.json | 11 +---------- src/intl/ja/page-energy-consumption.json | 9 --------- src/intl/ko/page-energy-consumption.json | 9 --------- src/intl/mr/page-energy-consumption.json | 9 --------- src/intl/pl/page-energy-consumption.json | 9 --------- src/intl/pt-br/page-energy-consumption.json | 9 --------- src/intl/ru/page-energy-consumption.json | 9 --------- src/intl/sw/page-energy-consumption.json | 9 --------- src/intl/ta/page-energy-consumption.json | 11 +---------- src/intl/te/page-energy-consumption.json | 9 --------- src/intl/tr/page-energy-consumption.json | 9 --------- src/intl/uk/page-energy-consumption.json | 9 --------- src/intl/ur/page-energy-consumption.json | 11 +---------- src/intl/vi/page-energy-consumption.json | 9 --------- src/intl/zh-tw/page-energy-consumption.json | 9 --------- src/intl/zh/page-energy-consumption.json | 9 --------- 24 files changed, 6 insertions(+), 222 deletions(-) diff --git a/src/intl/ar/page-energy-consumption.json b/src/intl/ar/page-energy-consumption.json index ce8592fd09f..39e97494511 100644 --- a/src/intl/ar/page-energy-consumption.json +++ b/src/intl/ar/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "الفنانون", - "adoption-chart-column-now-label": "الآن", - "adoption-chart-companies-label": "الشركات", - "adoption-chart-developers-label": "المبرمجون", - "adoption-chart-gamers-label": "اللاعبون", - "adoption-chart-investors-label": "المستثمرون", - "adoption-chart-musicians-label": "الموسيقيون", - "adoption-chart-refugees-label": "اللاجئون", - "adoption-chart-writers-label": "الكُتّاب", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", diff --git a/src/intl/bn/page-energy-consumption.json b/src/intl/bn/page-energy-consumption.json index 6d3d519c24c..07fcd37ee4a 100644 --- a/src/intl/bn/page-energy-consumption.json +++ b/src/intl/bn/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "শিল্পীরা", - "adoption-chart-column-now-label": "এখন", - "adoption-chart-companies-label": "কোম্পানিগুলো", - "adoption-chart-developers-label": "ডেভেলপাররা", - "adoption-chart-gamers-label": "গেমাররা", - "adoption-chart-investors-label": "বিনিয়োগকারীরা", - "adoption-chart-musicians-label": "সঙ্গীতশিল্পীরা", - "adoption-chart-refugees-label": "শরণার্থীরা", - "adoption-chart-writers-label": "লেখকরা", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", @@ -18,4 +9,4 @@ "energy-consumption-chart-paypal-label": "PayPal", "energy-consumption-gold-mining-cbeci-label": "স্বর্ণ উত্তোলন", "energy-consumption-chart-legend": "TWh/yr-এ বার্ষিক শক্তি খরচ" -} \ No newline at end of file +} diff --git a/src/intl/cs/page-energy-consumption.json b/src/intl/cs/page-energy-consumption.json index d4b1cab592f..2de9575a6b7 100644 --- a/src/intl/cs/page-energy-consumption.json +++ b/src/intl/cs/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "Umělci", - "adoption-chart-column-now-label": "Nyní", - "adoption-chart-companies-label": "Společnosti", - "adoption-chart-developers-label": "Vývojáři", - "adoption-chart-gamers-label": "Hráči", - "adoption-chart-investors-label": "Investoři", - "adoption-chart-musicians-label": "Hudebníci", - "adoption-chart-refugees-label": "Uprchlíci", - "adoption-chart-writers-label": "Spisovatelé", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", diff --git a/src/intl/de/page-energy-consumption.json b/src/intl/de/page-energy-consumption.json index ac45105160f..54b61b5596d 100644 --- a/src/intl/de/page-energy-consumption.json +++ b/src/intl/de/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "Künstler", - "adoption-chart-column-now-label": "Jetzt", - "adoption-chart-companies-label": "Unternehmen", - "adoption-chart-developers-label": "Entwickler", - "adoption-chart-gamers-label": "Gamer", - "adoption-chart-investors-label": "Investoren", - "adoption-chart-musicians-label": "Musiker", - "adoption-chart-refugees-label": "Geflüchtete", - "adoption-chart-writers-label": "Autoren", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", @@ -18,4 +9,4 @@ "energy-consumption-chart-paypal-label": "PayPal", "energy-consumption-gold-mining-cbeci-label": "Goldabbau", "energy-consumption-chart-legend": "Jährlicher Energieverbrauch in TWh/Jahr" -} \ No newline at end of file +} diff --git a/src/intl/es/page-energy-consumption.json b/src/intl/es/page-energy-consumption.json index 8121757166e..5ce2d4691fb 100644 --- a/src/intl/es/page-energy-consumption.json +++ b/src/intl/es/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "Artistas", - "adoption-chart-column-now-label": "Ahora", - "adoption-chart-companies-label": "Empresas", - "adoption-chart-developers-label": "Desarrolladores", - "adoption-chart-gamers-label": "Jugadores", - "adoption-chart-investors-label": "Inversores", - "adoption-chart-musicians-label": "Músicos", - "adoption-chart-refugees-label": "Refugiados", - "adoption-chart-writers-label": "Escritores", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "PoW de BTC", "energy-consumption-chart-eth-pos-label": "PoS de ETH", diff --git a/src/intl/fr/page-energy-consumption.json b/src/intl/fr/page-energy-consumption.json index 2942ea59d38..d13a9acc05c 100644 --- a/src/intl/fr/page-energy-consumption.json +++ b/src/intl/fr/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "Artistes", - "adoption-chart-column-now-label": "Maintenant", - "adoption-chart-companies-label": "Sociétés", - "adoption-chart-developers-label": "Développeurs", - "adoption-chart-gamers-label": "Gamers", - "adoption-chart-investors-label": "Investisseurs", - "adoption-chart-musicians-label": "Musiciens", - "adoption-chart-refugees-label": "Réfugiés", - "adoption-chart-writers-label": "Auteurs", "energy-consumption-chart-airbnb-label": "Airbnb", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", diff --git a/src/intl/hi/page-energy-consumption.json b/src/intl/hi/page-energy-consumption.json index 63a6113c7b2..ddcca286546 100644 --- a/src/intl/hi/page-energy-consumption.json +++ b/src/intl/hi/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "कलाकार", - "adoption-chart-column-now-label": "अभी", - "adoption-chart-companies-label": "कंपनियां", - "adoption-chart-developers-label": "डेवलपर", - "adoption-chart-gamers-label": "खिलाड़ी", - "adoption-chart-investors-label": "निवेशक", - "adoption-chart-musicians-label": "संगीतकार", - "adoption-chart-refugees-label": "शरणार्थी", - "adoption-chart-writers-label": "लेखक", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", diff --git a/src/intl/id/page-energy-consumption.json b/src/intl/id/page-energy-consumption.json index 28c939a0471..81a4770f103 100644 --- a/src/intl/id/page-energy-consumption.json +++ b/src/intl/id/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "Seniman", - "adoption-chart-column-now-label": "Sekarang", - "adoption-chart-companies-label": "Perusahaan", - "adoption-chart-developers-label": "Pengembang", - "adoption-chart-gamers-label": "Gamer", - "adoption-chart-investors-label": "Investor", - "adoption-chart-musicians-label": "Musisi", - "adoption-chart-refugees-label": "Pengungsi", - "adoption-chart-writers-label": "Penulis", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", @@ -18,4 +9,4 @@ "energy-consumption-chart-paypal-label": "PayPal", "energy-consumption-gold-mining-cbeci-label": "Penambangan emas", "energy-consumption-chart-legend": "Konsumsi Energi Tahunan dalam TWh/tahun" -} \ No newline at end of file +} diff --git a/src/intl/it/page-energy-consumption.json b/src/intl/it/page-energy-consumption.json index 00c5a90d28a..279bfff96e2 100644 --- a/src/intl/it/page-energy-consumption.json +++ b/src/intl/it/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "Artisti", - "adoption-chart-column-now-label": "Ora", - "adoption-chart-companies-label": "Aziende", - "adoption-chart-developers-label": "Sviluppatori", - "adoption-chart-gamers-label": "Giocatori", - "adoption-chart-investors-label": "Investitori", - "adoption-chart-musicians-label": "Musicisti", - "adoption-chart-refugees-label": "Rifugiati", - "adoption-chart-writers-label": "Scrittori", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", @@ -18,4 +9,4 @@ "energy-consumption-chart-paypal-label": "PayPal", "energy-consumption-gold-mining-cbeci-label": "Estrazione dell'oro", "energy-consumption-chart-legend": "Consumo energetico annuale in TWh/anno" -} \ No newline at end of file +} diff --git a/src/intl/ja/page-energy-consumption.json b/src/intl/ja/page-energy-consumption.json index d6515a8546e..1edc8bba746 100644 --- a/src/intl/ja/page-energy-consumption.json +++ b/src/intl/ja/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "アーティスト", - "adoption-chart-column-now-label": "現在", - "adoption-chart-companies-label": "企業", - "adoption-chart-developers-label": "デベロッパー", - "adoption-chart-gamers-label": "ゲーマー", - "adoption-chart-investors-label": "投資家", - "adoption-chart-musicians-label": "ミュージシャン", - "adoption-chart-refugees-label": "難民", - "adoption-chart-writers-label": "ライター", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", diff --git a/src/intl/ko/page-energy-consumption.json b/src/intl/ko/page-energy-consumption.json index 4d46d150adb..6bc352b9f9d 100644 --- a/src/intl/ko/page-energy-consumption.json +++ b/src/intl/ko/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "아티스트", - "adoption-chart-column-now-label": "현재", - "adoption-chart-companies-label": "기업", - "adoption-chart-developers-label": "개발자", - "adoption-chart-gamers-label": "게이머", - "adoption-chart-investors-label": "투자자", - "adoption-chart-musicians-label": "뮤지션", - "adoption-chart-refugees-label": "피난민", - "adoption-chart-writers-label": "작가", "energy-consumption-chart-airbnb-label": "에어비앤비", "energy-consumption-chart-btc-pow-label": "BTC 작업 증명", "energy-consumption-chart-eth-pos-label": "ETH 지분 증명", diff --git a/src/intl/mr/page-energy-consumption.json b/src/intl/mr/page-energy-consumption.json index 54ebc5c6334..a5445468cde 100644 --- a/src/intl/mr/page-energy-consumption.json +++ b/src/intl/mr/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "कलाकार", - "adoption-chart-column-now-label": "आता", - "adoption-chart-companies-label": "कंपन्या", - "adoption-chart-developers-label": "विकासक", - "adoption-chart-gamers-label": "गेमर्स", - "adoption-chart-investors-label": "गुंतवणूकदार", - "adoption-chart-musicians-label": "संगीतकार", - "adoption-chart-refugees-label": "निर्वासित", - "adoption-chart-writers-label": "लेखक", "energy-consumption-chart-airbnb-label": "एअर बीएनबी", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", diff --git a/src/intl/pl/page-energy-consumption.json b/src/intl/pl/page-energy-consumption.json index 1265b1d1704..ebe66540cf3 100644 --- a/src/intl/pl/page-energy-consumption.json +++ b/src/intl/pl/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "Artyści", - "adoption-chart-column-now-label": "Teraz", - "adoption-chart-companies-label": "Firmy", - "adoption-chart-developers-label": "Deweloperzy", - "adoption-chart-gamers-label": "Gracze", - "adoption-chart-investors-label": "Inwestorzy", - "adoption-chart-musicians-label": "Muzycy", - "adoption-chart-refugees-label": "Uchodźcy", - "adoption-chart-writers-label": "Pisarze", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", diff --git a/src/intl/pt-br/page-energy-consumption.json b/src/intl/pt-br/page-energy-consumption.json index c3bc2508243..4f03b0b67fb 100644 --- a/src/intl/pt-br/page-energy-consumption.json +++ b/src/intl/pt-br/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "Artistas", - "adoption-chart-column-now-label": "Agora", - "adoption-chart-companies-label": "Empresas", - "adoption-chart-developers-label": "Desenvolvedores", - "adoption-chart-gamers-label": "Jogadores", - "adoption-chart-investors-label": "Investidores", - "adoption-chart-musicians-label": "Músicos", - "adoption-chart-refugees-label": "Refugiados", - "adoption-chart-writers-label": "Escritores", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", diff --git a/src/intl/ru/page-energy-consumption.json b/src/intl/ru/page-energy-consumption.json index 2462451487a..5541a3ea497 100644 --- a/src/intl/ru/page-energy-consumption.json +++ b/src/intl/ru/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "Художники", - "adoption-chart-column-now-label": "Сейчас", - "adoption-chart-companies-label": "Компании", - "adoption-chart-developers-label": "Разработчикам", - "adoption-chart-gamers-label": "Геймеры", - "adoption-chart-investors-label": "Инвесторы", - "adoption-chart-musicians-label": "Музыканты", - "adoption-chart-refugees-label": "Беженцы", - "adoption-chart-writers-label": "Писатели", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", diff --git a/src/intl/sw/page-energy-consumption.json b/src/intl/sw/page-energy-consumption.json index b9d4e4d5e0a..928fd98fa5c 100644 --- a/src/intl/sw/page-energy-consumption.json +++ b/src/intl/sw/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "Wasanii", - "adoption-chart-column-now-label": "Sasa", - "adoption-chart-companies-label": "Makampuni", - "adoption-chart-developers-label": "Wasanidi programu", - "adoption-chart-gamers-label": "Wachezaji", - "adoption-chart-investors-label": "Wawekezaji", - "adoption-chart-musicians-label": "Waimbaji", - "adoption-chart-refugees-label": "Wakimbizi", - "adoption-chart-writers-label": "Waandishi", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "Uthibitisho-wa-Kazi wa Bitcoin", "energy-consumption-chart-eth-pos-label": "Uthibitisho-wa-Hisa wa Ethereum", diff --git a/src/intl/ta/page-energy-consumption.json b/src/intl/ta/page-energy-consumption.json index a1306539fb9..437838398b1 100644 --- a/src/intl/ta/page-energy-consumption.json +++ b/src/intl/ta/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "கலைஞர்கள்", - "adoption-chart-column-now-label": "இப்போது", - "adoption-chart-companies-label": "நிறுவனங்கள்", - "adoption-chart-developers-label": "உருவாக்குநர்கள்", - "adoption-chart-gamers-label": "விளையாட்டாளர்கள்", - "adoption-chart-investors-label": "முதலீட்டாளர்கள்", - "adoption-chart-musicians-label": "இசைக்கலைஞர்கள்", - "adoption-chart-refugees-label": "அகதிகள்", - "adoption-chart-writers-label": "எழுத்தாளர்கள்", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", @@ -18,4 +9,4 @@ "energy-consumption-chart-paypal-label": "PayPal", "energy-consumption-gold-mining-cbeci-label": "தங்கச் சுரங்கம்", "energy-consumption-chart-legend": "ஆண்டு ஆற்றல் நுகர்வு TWh/yr இல்" -} \ No newline at end of file +} diff --git a/src/intl/te/page-energy-consumption.json b/src/intl/te/page-energy-consumption.json index 52a3ac8f8fd..d9d5732e829 100644 --- a/src/intl/te/page-energy-consumption.json +++ b/src/intl/te/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "కళాకారులు", - "adoption-chart-column-now-label": "ఇప్పుడు", - "adoption-chart-companies-label": "కంపెనీలు", - "adoption-chart-developers-label": "డెవలపర్లు", - "adoption-chart-gamers-label": "గేమర్లు", - "adoption-chart-investors-label": "పెట్టుబడిదారులు", - "adoption-chart-musicians-label": "సంగీత విద్వాంసులు", - "adoption-chart-refugees-label": "శరణార్థులు", - "adoption-chart-writers-label": "రచయితలు", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH ప్రూఫ్ ఆఫ్ స్టేక్", diff --git a/src/intl/tr/page-energy-consumption.json b/src/intl/tr/page-energy-consumption.json index 1ef1eddefd6..be5ba89c7c0 100644 --- a/src/intl/tr/page-energy-consumption.json +++ b/src/intl/tr/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "Sanatçılar", - "adoption-chart-column-now-label": "Şimdi", - "adoption-chart-companies-label": "Şirketler", - "adoption-chart-developers-label": "Geliştiriciler", - "adoption-chart-gamers-label": "Oyuncular", - "adoption-chart-investors-label": "Yatırımcılar", - "adoption-chart-musicians-label": "Müzisyenler", - "adoption-chart-refugees-label": "Mülteciler", - "adoption-chart-writers-label": "Yazarlar", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", diff --git a/src/intl/uk/page-energy-consumption.json b/src/intl/uk/page-energy-consumption.json index 6de36547d0b..80822d99928 100644 --- a/src/intl/uk/page-energy-consumption.json +++ b/src/intl/uk/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "Художники", - "adoption-chart-column-now-label": "Зараз", - "adoption-chart-companies-label": "Компанії", - "adoption-chart-developers-label": "Розробникам", - "adoption-chart-gamers-label": "Любителі ігор", - "adoption-chart-investors-label": "Інвестори", - "adoption-chart-musicians-label": "Музиканти", - "adoption-chart-refugees-label": "Біженці", - "adoption-chart-writers-label": "Письменники", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", diff --git a/src/intl/ur/page-energy-consumption.json b/src/intl/ur/page-energy-consumption.json index e2d2a732c80..65ea2afcf3a 100644 --- a/src/intl/ur/page-energy-consumption.json +++ b/src/intl/ur/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "فنکار", - "adoption-chart-column-now-label": "اب", - "adoption-chart-companies-label": "کمپنیاں", - "adoption-chart-developers-label": "ڈیولپرز", - "adoption-chart-gamers-label": "گیمرز", - "adoption-chart-investors-label": "سرمایہ کار", - "adoption-chart-musicians-label": "موسیقار", - "adoption-chart-refugees-label": "پناہ گزین", - "adoption-chart-writers-label": "مصنفین", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", @@ -18,4 +9,4 @@ "energy-consumption-chart-paypal-label": "PayPal", "energy-consumption-gold-mining-cbeci-label": "سونے کی کان کنی", "energy-consumption-chart-legend": "سالانہ توانائی کی کھپت TWh/yr میں" -} \ No newline at end of file +} diff --git a/src/intl/vi/page-energy-consumption.json b/src/intl/vi/page-energy-consumption.json index c0ae4c9afec..e3362d1cdae 100644 --- a/src/intl/vi/page-energy-consumption.json +++ b/src/intl/vi/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "Nghệ sĩ", - "adoption-chart-column-now-label": "Hiện tại", - "adoption-chart-companies-label": "Doanh nghiệp", - "adoption-chart-developers-label": "Nhà phát triển", - "adoption-chart-gamers-label": "Game thủ", - "adoption-chart-investors-label": "Nhà đầu tư", - "adoption-chart-musicians-label": "Nhạc sĩ", - "adoption-chart-refugees-label": "Người tị nạn", - "adoption-chart-writers-label": "Nhà văn", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "BTC PoW", "energy-consumption-chart-eth-pos-label": "ETH PoS", diff --git a/src/intl/zh-tw/page-energy-consumption.json b/src/intl/zh-tw/page-energy-consumption.json index 48d508da347..186197a8feb 100644 --- a/src/intl/zh-tw/page-energy-consumption.json +++ b/src/intl/zh-tw/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "藝術家", - "adoption-chart-column-now-label": "現在", - "adoption-chart-companies-label": "公司", - "adoption-chart-developers-label": "開發者", - "adoption-chart-gamers-label": "遊戲玩家", - "adoption-chart-investors-label": "投資者", - "adoption-chart-musicians-label": "音樂家", - "adoption-chart-refugees-label": "難民", - "adoption-chart-writers-label": "作家", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "比特幣工作量證明", "energy-consumption-chart-eth-pos-label": "以太幣權益證明", diff --git a/src/intl/zh/page-energy-consumption.json b/src/intl/zh/page-energy-consumption.json index 3ea7341d518..7be776c3acb 100644 --- a/src/intl/zh/page-energy-consumption.json +++ b/src/intl/zh/page-energy-consumption.json @@ -1,13 +1,4 @@ { - "adoption-chart-artists-label": "艺术家", - "adoption-chart-column-now-label": "当前", - "adoption-chart-companies-label": "公司", - "adoption-chart-developers-label": "开发者", - "adoption-chart-gamers-label": "玩家", - "adoption-chart-investors-label": "投资者", - "adoption-chart-musicians-label": "音乐家", - "adoption-chart-refugees-label": "难民", - "adoption-chart-writers-label": "作者", "energy-consumption-chart-airbnb-label": "AirBnB", "energy-consumption-chart-btc-pow-label": "比特币工作量证明", "energy-consumption-chart-eth-pos-label": "以太坊权益证明",