diff --git a/app.config.ts b/app.config.ts index b55656b..999e942 100755 --- a/app.config.ts +++ b/app.config.ts @@ -1,15 +1,8 @@ -import { Locales } from './locales/locales' - export const socialMedia = [ { - label: 'Twitter', - href: 'https://twitter.com/0xdevhub', - icon: 'twitter' - }, - { - label: 'Discord', - href: 'https://discord.gg/skvN5fnt5M', - icon: 'discord' + label: 'X', + href: 'https://x.com/gervickasjs', + icon: 'x' }, { label: 'Github', @@ -21,7 +14,7 @@ export const socialMedia = [ const appConfig = { name: '0xdevhub', meta: { - description: 'on-chain & off-chain dev hub' + description: 'gervickas.js blockchain app hub' }, socialMedia } diff --git a/app/[locale]/apps/components/Container.tsx b/app/[locale]/apps/components/Container.tsx index bc9a36e..6419c94 100644 --- a/app/[locale]/apps/components/Container.tsx +++ b/app/[locale]/apps/components/Container.tsx @@ -2,8 +2,7 @@ import { Locales } from '@/locales/locales' import { useI18n } from '@/locales/client' -import { HeadingNavigation } from '@/app/components/typography' -import { Typography } from '@/app/components' +import { Text, HeadingNavigation } from '@/app/components/typography' export const AppsContainer = () => { const t = useI18n() @@ -12,10 +11,10 @@ export const AppsContainer = () => {
{t(Locales.APPS)} - + Enjoy thousand of the latest ethereum apps, games, music, movies, TV, books, magazines & more. Anytime, anywhere, across your devices. - +
) diff --git a/app/[locale]/apps/components/index.ts b/app/[locale]/apps/components/index.ts index 6b1e163..c0ccbb4 100644 --- a/app/[locale]/apps/components/index.ts +++ b/app/[locale]/apps/components/index.ts @@ -1 +1 @@ -export { default as Container } from './Container' +export { default as AppsContainer } from './Container' diff --git a/app/[locale]/apps/loading.tsx b/app/[locale]/apps/loading.tsx deleted file mode 100644 index 28887a5..0000000 --- a/app/[locale]/apps/loading.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { Loading as LoadingComponent } from '@/app/components/Loading' - -export default function Loading() { - return -} diff --git a/app/[locale]/components/MaintenanceMode.tsx b/app/[locale]/components/MaintenanceMode.tsx index 8fd72e6..ee48115 100644 --- a/app/[locale]/components/MaintenanceMode.tsx +++ b/app/[locale]/components/MaintenanceMode.tsx @@ -1,4 +1,5 @@ -import { Logo, Social } from '@/app/components' +import { Logo } from '@/app/components' +import { SocialMedia } from '@/app/components/social' export const MaintenanceMode = () => { return ( @@ -7,7 +8,7 @@ export const MaintenanceMode = () => {
- +
) diff --git a/app/[locale]/layout.tsx b/app/[locale]/layout.tsx index b9bce3b..1f900ff 100644 --- a/app/[locale]/layout.tsx +++ b/app/[locale]/layout.tsx @@ -3,11 +3,11 @@ import { type ReactNode } from 'react' import { useDarkMode, useIsClient } from 'usehooks-ts' import classNames from 'classnames' -import { MaintenanceMode } from './components/MaintenanceMode' import StyledJsxRegistry from '@/app/registry' import { Header, Footer } from '@/app/components' -import { WalletProvider } from '../components/wallet/Provider' -import { LanguageProvider } from '../components/language' +import { MaintenanceMode } from '@/app/[locale]/components/MaintenanceMode' +import { Provider as WalletProvider } from '@/app/components/wallet' +import { Provider as LanguageProvider } from '@/app/components/language' export type BaseLayoutProps = { children: ReactNode diff --git a/app/components/card/Card.tsx b/app/components/Card.tsx similarity index 92% rename from app/components/card/Card.tsx rename to app/components/Card.tsx index 87a751d..f0a7f0b 100644 --- a/app/components/card/Card.tsx +++ b/app/components/Card.tsx @@ -12,8 +12,8 @@ export const Card = ({ bgOpacity = 0.6, as: Component = 'div', ...props -}: CardProps) => { - return createElement( +}: CardProps) => + createElement( Component, { ...props, @@ -28,6 +28,5 @@ export const Card = ({ }, children ) -} export default Card diff --git a/app/components/footer/Footer.tsx b/app/components/Footer.tsx similarity index 100% rename from app/components/footer/Footer.tsx rename to app/components/Footer.tsx diff --git a/app/components/header/Header.tsx b/app/components/Header.tsx similarity index 89% rename from app/components/header/Header.tsx rename to app/components/Header.tsx index dffb3d9..9f27ea8 100755 --- a/app/components/header/Header.tsx +++ b/app/components/Header.tsx @@ -1,8 +1,9 @@ import { type HTMLProps } from 'react' import dynamic from 'next/dynamic' import classNames from 'classnames' -import { Separator, Logo, Loading, Navigation } from '@/app/components' +import { Separator, Logo, Loading } from '@/app/components' import { Locales } from '@/locales/locales' +import { MainNav } from '@/app/components/navigation/main/Main' const Wallet = dynamic(() => import('@/app/components/wallet/Wallet'), { ssr: false, @@ -24,7 +25,7 @@ export const Header = ({ className, ...props }: HTMLProps) => { >
- ) => { const currentLocale = useCurrentLocale() @@ -25,9 +25,9 @@ export const LanguageList = (props: HTMLProps) => { 'flex cursor-pointer items-center justify-between space-x-2 p-2' )} > - + {locale} - + {locale === currentLocale && ( )} diff --git a/app/components/language/Selector.tsx b/app/components/language/Selector.tsx index a1baed5..ef109cf 100644 --- a/app/components/language/Selector.tsx +++ b/app/components/language/Selector.tsx @@ -4,7 +4,7 @@ import { type HTMLProps } from 'react' import { ChevronDownIcon } from '@heroicons/react/24/solid' import classNames from 'classnames' import { useCurrentLocale } from '@/locales/client' -import { Typography } from '..' +import { Text } from '@/app/components/typography' export type LanguageSelectorProps = HTMLProps & { isOpen?: boolean @@ -24,9 +24,9 @@ export const LanguageSelector = ({ 'flex cursor-pointer justify-between' )} > - + {currentLocale} - + & LinkProps & { @@ -37,9 +37,9 @@ export const AsideNavigationItem = ({ )} > {icon} - + {label} - + ) } diff --git a/app/components/navigation/aside/index.ts b/app/components/navigation/aside/index.ts index d704f54..9c669e9 100644 --- a/app/components/navigation/aside/index.ts +++ b/app/components/navigation/aside/index.ts @@ -1,7 +1,2 @@ export { default as AsideNavigationItem } from './AsideNavigationItem' - -import { AsideNavigation } from './AsideNavigation' - -export { AsideNavigation } - -export default AsideNavigation +export { default as AsideNavigation } from './AsideNavigation' diff --git a/app/components/navigation/index.ts b/app/components/navigation/index.ts index d9516e9..8ac3653 100755 --- a/app/components/navigation/index.ts +++ b/app/components/navigation/index.ts @@ -1,2 +1,2 @@ -export { default as AsideNavigation } from './aside' -export { default as MainNavigation } from './main' +export * as Aside from './aside' +export * as Main from './main' diff --git a/app/components/navigation/main/Main.tsx b/app/components/navigation/main/Main.tsx index 4a258c0..d6cde72 100755 --- a/app/components/navigation/main/Main.tsx +++ b/app/components/navigation/main/Main.tsx @@ -4,7 +4,7 @@ import { useEffect, type HTMLProps, useCallback } from 'react' import classNames from 'classnames' import { ArrowLeftIcon, Bars3BottomLeftIcon } from '@heroicons/react/24/solid' import { useToggle, useMediaQuery } from 'usehooks-ts' -import { Card } from '@/app/components/card/Card' +import { Card } from '@/app/components/Card' import { MainList } from './MainList' import { MainListItemProps } from './MainListItem' @@ -12,7 +12,7 @@ type MainProps = HTMLProps & { navLinks: MainListItemProps[] } -export const Main = ({ navLinks, ...props }: MainProps) => { +export const MainNav = ({ navLinks, ...props }: MainProps) => { const [isOpened, toggle] = useToggle() const matches = useMediaQuery(`(min-width: 1024px`) @@ -77,4 +77,4 @@ export const Main = ({ navLinks, ...props }: MainProps) => { ) } -export default Main +export default MainNav diff --git a/app/components/navigation/main/MainListItem.tsx b/app/components/navigation/main/MainListItem.tsx index 843c937..c103643 100644 --- a/app/components/navigation/main/MainListItem.tsx +++ b/app/components/navigation/main/MainListItem.tsx @@ -5,7 +5,7 @@ import classNames from 'classnames' import { useI18n } from '@/locales/client' import { LocalesKeys } from '@/locales/locales' import useCurrentPath from '@/app/lib/hooks/useCurrentPath' -import { Typography } from '../..' +import { Text } from '@/app/components/typography' export const Variant = { default: { @@ -49,7 +49,7 @@ export const MainListItem = ({ : Variant[variant || 'default'].classes ])} > - {t(label)} + {t(label)} ) } diff --git a/app/components/navigation/main/index.ts b/app/components/navigation/main/index.ts index a8513bc..ed70d45 100644 --- a/app/components/navigation/main/index.ts +++ b/app/components/navigation/main/index.ts @@ -1,8 +1,3 @@ export { default as MainList } from './MainList' export { default as MainListItem } from './MainListItem' - -import { Main } from './Main' - -export { Main } - -export default Main +export { default as MainNav } from './Main' diff --git a/app/components/settings/Container.tsx b/app/components/settings/Container.tsx index ae2ed0e..d8867aa 100644 --- a/app/components/settings/Container.tsx +++ b/app/components/settings/Container.tsx @@ -3,9 +3,11 @@ import { type HTMLProps } from 'react' import classNames from 'classnames' import { Heading } from '@/app/components/typography/Heading' -import { Language, Theme } from '@/app/components' + import { useI18n } from '@/locales/client' import { Locales } from '@/locales/locales' +import { Theme } from '@/app/components/theme' +import { Language } from '@/app/components/language' export const SettingsContainer = (props: HTMLProps) => { const t = useI18n() diff --git a/app/components/settings/index.ts b/app/components/settings/index.ts index 4c7f656..d257a96 100644 --- a/app/components/settings/index.ts +++ b/app/components/settings/index.ts @@ -1,8 +1,3 @@ export { default as SettingsSelector } from './Selector' export { default as SettingsContainer } from './Container' - -import { Settings } from './Settings' - -export { Settings } - -export default Settings +export { default as Settings } from './Settings' diff --git a/app/components/social/SocialMedia.tsx b/app/components/social/SocialMedia.tsx index 92194e0..674644a 100644 --- a/app/components/social/SocialMedia.tsx +++ b/app/components/social/SocialMedia.tsx @@ -1,5 +1,5 @@ import { Children, type HTMLProps, type SVGProps } from 'react' -import { Discord, Twitter, Github } from './icons' +import { Discord, X, Github } from './icons' import classNames from 'classnames' import { socialMedia } from '@/app.config' import Link from 'next/link' @@ -29,7 +29,7 @@ export const SocialMedia = ({ { { discord: , - twitter: , + x: , github: }[icon] } diff --git a/app/components/social/icons/X.tsx b/app/components/social/icons/X.tsx new file mode 100644 index 0000000..c89b690 --- /dev/null +++ b/app/components/social/icons/X.tsx @@ -0,0 +1,20 @@ +import { type SVGProps } from 'react' + +export const XIcon = (props: SVGProps) => ( + +) +export default XIcon diff --git a/app/components/social/icons/index.tsx b/app/components/social/icons/index.tsx index 7d967b0..327d78d 100644 --- a/app/components/social/icons/index.tsx +++ b/app/components/social/icons/index.tsx @@ -1,3 +1,4 @@ export { default as Discord } from './Discord' export { default as Twitter } from './Twitter' export { default as Github } from './Github' +export { default as X } from './X' diff --git a/app/components/social/index.ts b/app/components/social/index.ts index c62b580..6c69fa5 100644 --- a/app/components/social/index.ts +++ b/app/components/social/index.ts @@ -1,7 +1,3 @@ export * as SocialIcons from './icons' -import { SocialMedia } from './SocialMedia' - -export { SocialMedia } - -export default SocialMedia +export { default as SocialMedia } from './SocialMedia' diff --git a/app/components/theme/List.tsx b/app/components/theme/List.tsx index 563b866..4996445 100644 --- a/app/components/theme/List.tsx +++ b/app/components/theme/List.tsx @@ -6,7 +6,7 @@ import { useDarkMode } from 'usehooks-ts' import { CheckBadgeIcon } from '@heroicons/react/24/solid' import { useI18n } from '@/locales/client' import { Locales } from '@/locales/locales' -import { Typography } from '..' +import { Text } from '@/app/components/typography' export const ThemeList = (props: HTMLProps) => { const t = useI18n() @@ -37,7 +37,7 @@ export const ThemeList = (props: HTMLProps) => { )} onClick={theme.onClick} > - {theme.label} + {theme.label} {theme.active && ( diff --git a/app/components/theme/Selector.tsx b/app/components/theme/Selector.tsx index a4f6fe3..9826dec 100644 --- a/app/components/theme/Selector.tsx +++ b/app/components/theme/Selector.tsx @@ -6,7 +6,7 @@ import classNames from 'classnames' import { useDarkMode } from 'usehooks-ts' import { useI18n } from '@/locales/client' import { Locales } from '@/locales/locales' -import { Typography } from '..' +import { Text } from '@/app/components/typography' export type ThemeSelectorProps = HTMLProps & { isOpen?: boolean @@ -24,9 +24,7 @@ export const ThemeSelector = ({ isOpen, ...props }: ThemeSelectorProps) => { 'flex cursor-pointer justify-between' )} > - - {isDarkMode ? t(Locales.DARK) : t(Locales.LIGHT)} - + {isDarkMode ? t(Locales.DARK) : t(Locales.LIGHT)} void diff --git a/app/components/typography/Text.tsx b/app/components/typography/Text.tsx index d5089b1..de6ccad 100644 --- a/app/components/typography/Text.tsx +++ b/app/components/typography/Text.tsx @@ -1,3 +1,4 @@ +'use client' import { type HTMLProps, createElement } from 'react' import classNames from 'classnames' diff --git a/app/components/wallet/avatar/Avatar.tsx b/app/components/wallet/Avatar.tsx similarity index 100% rename from app/components/wallet/avatar/Avatar.tsx rename to app/components/wallet/Avatar.tsx diff --git a/app/components/wallet/avatar/index.ts b/app/components/wallet/avatar/index.ts deleted file mode 100644 index 1848a56..0000000 --- a/app/components/wallet/avatar/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as Avatar } from './Avatar' diff --git a/app/components/wallet/index.ts b/app/components/wallet/index.ts index 4c7d12e..b0de84a 100644 --- a/app/components/wallet/index.ts +++ b/app/components/wallet/index.ts @@ -1,12 +1,3 @@ +export { default as Avatar } from './Avatar' +export { default as Wallet } from './Wallet' export { default as Provider } from './Provider' - -export * as Avatar from './avatar' -export * as Button from './button' -export * as Network from './network' -export * as Panel from './panel' - -import { Wallet } from './Wallet' - -export { Wallet } - -export default Wallet diff --git a/app/components/wallet/network/List.tsx b/app/components/wallet/network/List.tsx index d35608d..1d7be66 100644 --- a/app/components/wallet/network/List.tsx +++ b/app/components/wallet/network/List.tsx @@ -6,7 +6,7 @@ import classNames from 'classnames' import useNetwork, { ChainConfig } from '@/app/lib/wallet/hooks/useNetwork' import { Loading } from '@/app/components/Loading' import { ExclamationCircleIcon } from '@heroicons/react/24/solid' -import { Typography } from '../..' +import { Text } from '@/app/components/typography' type NetworkListProps = HTMLProps & { chain: ChainConfig @@ -33,7 +33,7 @@ export const NetworkList = ({ chain, chains, ...props }: NetworkListProps) => { )} onClick={() => switchNetwork && switchNetwork(chainItem.id)} > - {chainItem.name} + {chainItem.name} {chain.id === chainItem.id && ( diff --git a/app/components/wallet/network/Selector.tsx b/app/components/wallet/network/Selector.tsx index 58a99e1..d680ee3 100644 --- a/app/components/wallet/network/Selector.tsx +++ b/app/components/wallet/network/Selector.tsx @@ -12,7 +12,7 @@ import classNames from 'classnames' import { ChainConfig } from '@/app/lib/wallet/hooks/useNetwork' import { useI18n } from '@/locales/client' import { Locales } from '@/locales/locales' -import { Typography } from '../..' +import { Text } from '@/app/components/typography' type NetworkSelectorProps = HTMLProps & { chain: ChainConfig @@ -42,9 +42,9 @@ export const NetworkSelector = ({ ) : ( )} - + {chain.unsupported ? t(Locales.NOT_ALLOWED) : chain.name} - +
- {t(Locales.WALLET)} + {t(Locales.WALLET)}
- - {addressUtils.toEllipsis(address!, 8, 6)} - + {addressUtils.toEllipsis(address!, 8, 6)} copy(address!)} width={18} @@ -47,16 +45,14 @@ export const PanelContainer = ({
- {t(Locales.NETWORK)} + {t(Locales.NETWORK)}
- {t(Locales.BALANCE)} + {t(Locales.BALANCE)}
- - {balanceUtils.cropDecimals(balance?.formatted)} - - {balance?.symbol} + {balanceUtils.cropDecimals(balance?.formatted)} + {balance?.symbol}
diff --git a/app/components/wallet/panel/Selector.tsx b/app/components/wallet/panel/Selector.tsx index 1888627..fe498d5 100644 --- a/app/components/wallet/panel/Selector.tsx +++ b/app/components/wallet/panel/Selector.tsx @@ -2,7 +2,7 @@ import { type HTMLProps } from 'react' import { useWallet } from '@/app/lib/wallet/hooks' -import { Avatar } from '../avatar/Avatar' +import { Avatar } from '../Avatar' import classNames from 'classnames' export type PanelSelectorProps = HTMLProps & {