From 3249b49d809c5a6871105ef59299aa842ee9f134 Mon Sep 17 00:00:00 2001 From: y3drk Date: Mon, 7 Apr 2025 14:29:47 +0200 Subject: [PATCH 1/4] initial setup of new npm package - namehashlabs-react & test integration with apps/name.ai --- apps/nameai.io/app/layout.tsx | 2 +- apps/nameai.io/package.json | 2 +- apps/nameai.io/tailwind.config.ts | 2 +- packages/namehashlabs-react/CHANGELOG.md | 1 + packages/namehashlabs-react/LICENSE | 21 ++ packages/namehashlabs-react/package.json | 63 +++++ packages/namehashlabs-react/postcss.config.js | 6 + packages/namehashlabs-react/src/footer.tsx | 217 ++++++++++++++++++ .../namehashlabs-react/src/icons/efp-icon.tsx | 35 +++ .../src/icons/email-icon.tsx | 24 ++ .../src/icons/farcaster-icon.tsx | 27 +++ .../src/icons/github-icon.tsx | 21 ++ .../namehashlabs-react/src/icons/index.ts | 8 + .../src/icons/namehash-labs-logo.tsx | 67 ++++++ .../src/icons/service-provider-badge.tsx | 114 +++++++++ .../src/icons/telegram-icon.tsx | 20 ++ .../src/icons/twitter-icon.tsx | 12 + packages/namehashlabs-react/src/index.ts | 3 + packages/namehashlabs-react/src/styles.css | 3 + .../namehashlabs-react/tailwind.config.ts | 7 + packages/namehashlabs-react/tsconfig.json | 17 ++ packages/namehashlabs-react/tsup.config.js | 11 + pnpm-lock.yaml | 54 ++++- 23 files changed, 730 insertions(+), 7 deletions(-) create mode 100644 packages/namehashlabs-react/CHANGELOG.md create mode 100644 packages/namehashlabs-react/LICENSE create mode 100644 packages/namehashlabs-react/package.json create mode 100644 packages/namehashlabs-react/postcss.config.js create mode 100644 packages/namehashlabs-react/src/footer.tsx create mode 100644 packages/namehashlabs-react/src/icons/efp-icon.tsx create mode 100644 packages/namehashlabs-react/src/icons/email-icon.tsx create mode 100644 packages/namehashlabs-react/src/icons/farcaster-icon.tsx create mode 100644 packages/namehashlabs-react/src/icons/github-icon.tsx create mode 100644 packages/namehashlabs-react/src/icons/index.ts create mode 100644 packages/namehashlabs-react/src/icons/namehash-labs-logo.tsx create mode 100644 packages/namehashlabs-react/src/icons/service-provider-badge.tsx create mode 100644 packages/namehashlabs-react/src/icons/telegram-icon.tsx create mode 100644 packages/namehashlabs-react/src/icons/twitter-icon.tsx create mode 100644 packages/namehashlabs-react/src/index.ts create mode 100644 packages/namehashlabs-react/src/styles.css create mode 100644 packages/namehashlabs-react/tailwind.config.ts create mode 100644 packages/namehashlabs-react/tsconfig.json create mode 100644 packages/namehashlabs-react/tsup.config.js diff --git a/apps/nameai.io/app/layout.tsx b/apps/nameai.io/app/layout.tsx index 41143fa78..5fa4a4c00 100644 --- a/apps/nameai.io/app/layout.tsx +++ b/apps/nameai.io/app/layout.tsx @@ -7,7 +7,7 @@ import Link from "next/link"; import type { Metadata } from "next"; import { Button } from "@namehash/namekit-react"; import { Toaster } from "sonner"; -import { Footer } from "@namehash/internal"; +import { Footer } from "@namehash/namehashlabs-react"; const inter = Inter({ subsets: ["latin"] }); diff --git a/apps/nameai.io/package.json b/apps/nameai.io/package.json index e606a51ea..50322113d 100644 --- a/apps/nameai.io/package.json +++ b/apps/nameai.io/package.json @@ -13,7 +13,7 @@ "@headlessui/react": "2.2.0", "@heroicons/react": "2.2.0", "@namehash/ens-webfont": "workspace:*", - "@namehash/internal": "workspace:*", + "@namehash/namehashlabs-react": "workspace:*", "@namehash/nameai": "workspace:*", "@namehash/namekit-react": "workspace:*", "classcat": "5.0.5", diff --git a/apps/nameai.io/tailwind.config.ts b/apps/nameai.io/tailwind.config.ts index 957002d07..a45fe9ade 100644 --- a/apps/nameai.io/tailwind.config.ts +++ b/apps/nameai.io/tailwind.config.ts @@ -6,7 +6,7 @@ export default { "./pages/**/*.{js,ts,jsx,tsx,mdx}", "./components/**/*.{js,ts,jsx,tsx,mdx}", "./app/**/*.{js,ts,jsx,tsx,mdx}", - "./node_modules/@namehash/internal/src/**/*.{js,jsx,ts,tsx}", + "./node_modules/@namehash/namehashlabs-react/src/**/*.{js,jsx,ts,tsx}", ], theme: { extend: { diff --git a/packages/namehashlabs-react/CHANGELOG.md b/packages/namehashlabs-react/CHANGELOG.md new file mode 100644 index 000000000..d18df3af9 --- /dev/null +++ b/packages/namehashlabs-react/CHANGELOG.md @@ -0,0 +1 @@ +# @namehash/namehashlabs-react \ No newline at end of file diff --git a/packages/namehashlabs-react/LICENSE b/packages/namehashlabs-react/LICENSE new file mode 100644 index 000000000..f6a94f8b1 --- /dev/null +++ b/packages/namehashlabs-react/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 NameHash + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/namehashlabs-react/package.json b/packages/namehashlabs-react/package.json new file mode 100644 index 000000000..207da7af5 --- /dev/null +++ b/packages/namehashlabs-react/package.json @@ -0,0 +1,63 @@ +{ + "name": "@namehash/namehashlabs-react", + "description": "Larger React UI components for building webpages NameHash-style", + "version": "0.0.1", + "license": "MIT", + "type": "commonjs", + "repository": { + "type": "git", + "url": "git+https://github.com/namehash/namekit.git", + "directory": "packages/namhashlabs-react" + }, + "homepage": "https://github.com/namehash/namekit/tree/main/packages/namehashlabs-react", + "keywords": [ + "ENS", + "NameKit", + "NameHash", + "NameHashLabs" + ], + "scripts": { + "build": "tsup", + "dev": "tsup --watch" + }, + "sideEffects": false, + "main": "./dist/index.mjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "styles": "./dist/index.css", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "default": "./dist/index.mjs" + }, + "./styles.css": { + "import": "./dist/index.css", + "default": "./dist/index.css" + } + }, + "dependencies": { + "@namehash/namekit-react": "workspace:*", + "classcat": "5.0.5" + }, + "devDependencies": { + "@namekit/tsconfig": "workspace:*", + "@types/react": "18.3.1", + "@types/react-dom": "18.3.1", + "autoprefixer": "10.4.20", + "next": "14.2.21", + "postcss": "8.4.47", + "react": "18.3.1", + "react-dom": "18.3.1", + "tailwindcss": "3.4.13", + "tsup": "8.3.5", + "typescript": "5.6.2" + }, + "peerDependencies": { + "react": "^18", + "react-dom": "^18" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/packages/namehashlabs-react/postcss.config.js b/packages/namehashlabs-react/postcss.config.js new file mode 100644 index 000000000..12a703d90 --- /dev/null +++ b/packages/namehashlabs-react/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/packages/namehashlabs-react/src/footer.tsx b/packages/namehashlabs-react/src/footer.tsx new file mode 100644 index 000000000..9eb3ced70 --- /dev/null +++ b/packages/namehashlabs-react/src/footer.tsx @@ -0,0 +1,217 @@ +import { Link } from "@namehash/namekit-react"; +import NextLink from "next/link"; +import { + EfpIcon, + EmailIcon, + FarcasterIcon, + GithubIcon, + NameHashLabsLogo, + ServiceProviderBadge, + TelegramIcon, + TwitterIcon, +} from "./icons"; +const footerProducts = [ + { + name: "ENSNode", + href: "https://ensnode.io", + }, + { + name: "ENSRainbow", + href: "https://ensrainbow.io", + }, + { + name: "ENSAdmin", + href: "https://admin.ensnode.io", + }, + { + name: "ENSv2 Referral Programs", + href: "https://namehashlabs.org/ens-v2-referral-programs", + }, + { + name: "NameGraph", + href: "https://namegraph.dev", + }, + { + name: "NameAI", + href: "https://nameai.io/", + }, + { + name: "NameGuard", + href: "https://nameguard.io", + }, + { + name: "NameKit", + href: "https://namekit.io", + }, +]; + +const footerResources = [ + { + name: "Contact us", + href: "https://namehashlabs.org/contact", + }, + { + name: "Careers", + href: "https://namehashlabs.org/careers", + }, + { + name: "Partners", + href: "https://namehashlabs.org/partners", + }, + { + name: "Brand assets", + href: "https://namehashlabs.org/brand-assets", + }, +]; + +type FooterProps = { + openResourcesInNewTab?: boolean; +} & React.HTMLAttributes; + +export const Footer = ({ + openResourcesInNewTab = true, + ...props +}: FooterProps) => { + return ( +
+
+
+
+ + +

+ Founded in 2022, Namehash Labs is dedicated to developing open + source infrastructure that helps the Ethereum Name Service (ENS) + Protocol grow. +

+ + +
+ +
+
+ Infrastructure +
    + {footerProducts.map((product) => { + return ( +
  • + + + {product.name} + + +
  • + ); + })} +
+
+
+ Resources +
    + {footerResources.map((resource) => { + return ( +
  • + + + {resource.name} + + +
  • + ); + })} +
+
+
+
+ +
+

+ © NameHash Labs. All Rights Reserved +

+ +
+ + + + + + + + + + + + + + + + + + +
+ +
+ + Made with + {"❤️"} + by + + + + NameHash Labs + + +
+
+
+
+ ); +}; diff --git a/packages/namehashlabs-react/src/icons/efp-icon.tsx b/packages/namehashlabs-react/src/icons/efp-icon.tsx new file mode 100644 index 000000000..6220aedb4 --- /dev/null +++ b/packages/namehashlabs-react/src/icons/efp-icon.tsx @@ -0,0 +1,35 @@ +import { SVGProps } from "react"; + +export const EfpIcon = (props: SVGProps) => { + return ( + + + + + + + + + + + + ); +}; diff --git a/packages/namehashlabs-react/src/icons/email-icon.tsx b/packages/namehashlabs-react/src/icons/email-icon.tsx new file mode 100644 index 000000000..1c8bd5937 --- /dev/null +++ b/packages/namehashlabs-react/src/icons/email-icon.tsx @@ -0,0 +1,24 @@ +import { SVGProps } from "react"; + +export const EmailIcon = (props: SVGProps) => { + return ( + + + + + ); +}; diff --git a/packages/namehashlabs-react/src/icons/farcaster-icon.tsx b/packages/namehashlabs-react/src/icons/farcaster-icon.tsx new file mode 100644 index 000000000..65031bdd6 --- /dev/null +++ b/packages/namehashlabs-react/src/icons/farcaster-icon.tsx @@ -0,0 +1,27 @@ +import { SVGProps } from "react"; + +export const FarcasterIcon = (props: SVGProps) => { + return ( + + + + + + ); +}; diff --git a/packages/namehashlabs-react/src/icons/github-icon.tsx b/packages/namehashlabs-react/src/icons/github-icon.tsx new file mode 100644 index 000000000..f9e00bf0f --- /dev/null +++ b/packages/namehashlabs-react/src/icons/github-icon.tsx @@ -0,0 +1,21 @@ +import { SVGProps } from "react"; + +export const GithubIcon = (props: SVGProps) => { + return ( + + + + ); +}; diff --git a/packages/namehashlabs-react/src/icons/index.ts b/packages/namehashlabs-react/src/icons/index.ts new file mode 100644 index 000000000..4b535cc72 --- /dev/null +++ b/packages/namehashlabs-react/src/icons/index.ts @@ -0,0 +1,8 @@ +export * from "./namehash-labs-logo"; +export * from "./twitter-icon"; +export * from "./telegram-icon"; +export * from "./farcaster-icon"; +export * from "./github-icon"; +export * from "./email-icon"; +export * from "./service-provider-badge"; +export * from "./efp-icon"; diff --git a/packages/namehashlabs-react/src/icons/namehash-labs-logo.tsx b/packages/namehashlabs-react/src/icons/namehash-labs-logo.tsx new file mode 100644 index 000000000..da0c9f788 --- /dev/null +++ b/packages/namehashlabs-react/src/icons/namehash-labs-logo.tsx @@ -0,0 +1,67 @@ +import { SVGProps } from "react"; + +export const NameHashLabsLogo = (props: SVGProps) => { + return ( + + + + + + + + + + + + + + + + ); +}; diff --git a/packages/namehashlabs-react/src/icons/service-provider-badge.tsx b/packages/namehashlabs-react/src/icons/service-provider-badge.tsx new file mode 100644 index 000000000..073f6a2c8 --- /dev/null +++ b/packages/namehashlabs-react/src/icons/service-provider-badge.tsx @@ -0,0 +1,114 @@ +export const ServiceProviderBadge = ( + props: React.HTMLAttributes +) => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +}; diff --git a/packages/namehashlabs-react/src/icons/telegram-icon.tsx b/packages/namehashlabs-react/src/icons/telegram-icon.tsx new file mode 100644 index 000000000..1e37ef34c --- /dev/null +++ b/packages/namehashlabs-react/src/icons/telegram-icon.tsx @@ -0,0 +1,20 @@ +import { SVGProps } from "react"; + +export const TelegramIcon = (props: SVGProps) => { + return ( + + + + ); +}; diff --git a/packages/namehashlabs-react/src/icons/twitter-icon.tsx b/packages/namehashlabs-react/src/icons/twitter-icon.tsx new file mode 100644 index 000000000..043f9ef66 --- /dev/null +++ b/packages/namehashlabs-react/src/icons/twitter-icon.tsx @@ -0,0 +1,12 @@ +import { SVGProps } from "react"; + +export const TwitterIcon = (props: SVGProps) => { + return ( + + + + ); +}; diff --git a/packages/namehashlabs-react/src/index.ts b/packages/namehashlabs-react/src/index.ts new file mode 100644 index 000000000..5a7475dcd --- /dev/null +++ b/packages/namehashlabs-react/src/index.ts @@ -0,0 +1,3 @@ +import "./styles.css"; + +export { Footer } from "./footer"; diff --git a/packages/namehashlabs-react/src/styles.css b/packages/namehashlabs-react/src/styles.css new file mode 100644 index 000000000..b5c61c956 --- /dev/null +++ b/packages/namehashlabs-react/src/styles.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/packages/namehashlabs-react/tailwind.config.ts b/packages/namehashlabs-react/tailwind.config.ts new file mode 100644 index 000000000..07563c2f5 --- /dev/null +++ b/packages/namehashlabs-react/tailwind.config.ts @@ -0,0 +1,7 @@ +import type { Config } from "tailwindcss"; + +const config: Config = { + content: ["src/**/*.{ts,tsx,js,jsx,mdx}"], +}; + +export default config; diff --git a/packages/namehashlabs-react/tsconfig.json b/packages/namehashlabs-react/tsconfig.json new file mode 100644 index 000000000..05f051798 --- /dev/null +++ b/packages/namehashlabs-react/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "strict": true, + "jsx": "react-jsx", + "module": "ES2020", + "outDir": "./dist", + "rootDir": "./src", + "moduleResolution": "bundler", + "target": "ES2020", + "resolveJsonModule": true, + "lib": ["dom", "dom.iterable", "esnext"], + "declaration": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true + }, + "include": ["src/**/*.ts", "src/**/*.tsx"] +} diff --git a/packages/namehashlabs-react/tsup.config.js b/packages/namehashlabs-react/tsup.config.js new file mode 100644 index 000000000..79e7412ac --- /dev/null +++ b/packages/namehashlabs-react/tsup.config.js @@ -0,0 +1,11 @@ +import { defineConfig } from 'tsup'; + +export default defineConfig({ + entry: { + index: 'src/index.ts', + }, + dts: true, + format: ["esm"], + clean: true, + skipNodeModulesBundle: true, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4fcae857a..d91a5e0d3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -99,12 +99,12 @@ importers: '@namehash/ens-webfont': specifier: workspace:* version: link:../../packages/ens-webfont - '@namehash/internal': - specifier: workspace:* - version: link:../../internal/internal '@namehash/nameai': specifier: workspace:* version: link:../../packages/nameai-sdk + '@namehash/namehashlabs-react': + specifier: workspace:* + version: link:../../packages/namehashlabs-react '@namehash/namekit-react': specifier: workspace:* version: link:../../packages/namekit-react @@ -317,6 +317,9 @@ importers: '@namehash/nameguard-react': specifier: workspace:* version: link:../../packages/nameguard-react + '@namehash/namehashlabs-react': + specifier: workspace:* + version: link:../../packages/namehashlabs-react '@namehash/namekit-react': specifier: workspace:* version: link:../../packages/namekit-react @@ -870,6 +873,49 @@ importers: specifier: 1.6.0 version: 1.6.0(@types/node@22.7.4) + packages/namehashlabs-react: + dependencies: + '@namehash/namekit-react': + specifier: workspace:* + version: link:../namekit-react + classcat: + specifier: 5.0.5 + version: 5.0.5 + devDependencies: + '@namekit/tsconfig': + specifier: workspace:* + version: link:../../internal/tsconfig + '@types/react': + specifier: 18.3.1 + version: 18.3.1 + '@types/react-dom': + specifier: 18.3.1 + version: 18.3.1 + autoprefixer: + specifier: 10.4.20 + version: 10.4.20(postcss@8.4.47) + next: + specifier: 14.2.21 + version: 14.2.21(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + postcss: + specifier: 8.4.47 + version: 8.4.47 + react: + specifier: 18.3.1 + version: 18.3.1 + react-dom: + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) + tailwindcss: + specifier: 3.4.13 + version: 3.4.13 + tsup: + specifier: 8.3.5 + version: 8.3.5(jiti@1.21.7)(postcss@8.4.47)(typescript@5.6.2)(yaml@2.7.0) + typescript: + specifier: 5.6.2 + version: 5.6.2 + packages/namekit-react: dependencies: '@adraffy/ens-normalize': @@ -9217,7 +9263,7 @@ snapshots: '@types/react-dom@18.3.1': dependencies: - '@types/react': 18.3.11 + '@types/react': 19.0.8 '@types/react-dom@19.0.3(@types/react@19.0.8)': dependencies: From 729dca732575d47b12c644102d93ca9d61776748 Mon Sep 17 00:00:00 2001 From: y3drk Date: Mon, 7 Apr 2025 14:37:44 +0200 Subject: [PATCH 2/4] fix frozen lockfile --- pnpm-lock.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d91a5e0d3..f4779e534 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -317,9 +317,6 @@ importers: '@namehash/nameguard-react': specifier: workspace:* version: link:../../packages/nameguard-react - '@namehash/namehashlabs-react': - specifier: workspace:* - version: link:../../packages/namehashlabs-react '@namehash/namekit-react': specifier: workspace:* version: link:../../packages/namekit-react From 0fd3bf843fd61e0f4e91e86b8a546d4c44563a4b Mon Sep 17 00:00:00 2001 From: y3drk Date: Mon, 14 Apr 2025 14:23:30 +0200 Subject: [PATCH 3/4] integrating new package into: nameguard, namehashlabs, namekit and namegraph LPs --- apps/namegraph.dev/app/layout.tsx | 2 +- apps/namegraph.dev/package.json | 2 +- apps/namegraph.dev/tailwind.config.ts | 2 +- apps/nameguard.io/package.json | 1 + apps/nameguard.io/src/app/layout.tsx | 2 +- apps/nameguard.io/tailwind.config.ts | 1 + apps/namehashlabs.org/app/layout.tsx | 2 +- apps/namehashlabs.org/package.json | 1 + apps/namehashlabs.org/tailwind.config.ts | 1 + apps/namekit.io/package.json | 1 + apps/namekit.io/src/app/layout.tsx | 2 +- apps/namekit.io/tailwind.config.ts | 1 + pnpm-lock.yaml | 15 ++++++++++++--- 13 files changed, 24 insertions(+), 9 deletions(-) diff --git a/apps/namegraph.dev/app/layout.tsx b/apps/namegraph.dev/app/layout.tsx index 3873c85e2..ea0e925f6 100644 --- a/apps/namegraph.dev/app/layout.tsx +++ b/apps/namegraph.dev/app/layout.tsx @@ -5,7 +5,7 @@ import { GithubIcon } from "@/components/footer/github-icon"; import { TldSelect } from "@/components/tld-select"; import { Providers } from "@/components/providers"; import { Button } from "@/components/ui/button"; -import { Footer } from "@namehash/internal"; +import { Footer } from "@namehash/namehashlabs-react"; import "@namehash/namekit-react/styles.css"; import "@namehash/nameguard-react/styles.css"; import "ethereum-identity-kit/css"; diff --git a/apps/namegraph.dev/package.json b/apps/namegraph.dev/package.json index fc5309b2f..fafa5c797 100644 --- a/apps/namegraph.dev/package.json +++ b/apps/namegraph.dev/package.json @@ -12,7 +12,7 @@ "@adraffy/ens-normalize": "1.11.0", "@heroicons/react": "2.2.0", "@namehash/ens-utils": "workspace:*", - "@namehash/internal": "workspace:*", + "@namehash/namehashlabs-react": "workspace:*", "@namehash/nameai": "1.1.4", "@namehash/namegraph-sdk": "workspace:*", "@namehash/nameguard": "0.9.0", diff --git a/apps/namegraph.dev/tailwind.config.ts b/apps/namegraph.dev/tailwind.config.ts index 796f574fa..a9cd209eb 100644 --- a/apps/namegraph.dev/tailwind.config.ts +++ b/apps/namegraph.dev/tailwind.config.ts @@ -6,7 +6,7 @@ const config: Config = { "./pages/**/*.{js,ts,jsx,tsx,mdx}", "./components/**/*.{js,ts,jsx,tsx,mdx}", "./app/**/*.{js,ts,jsx,tsx,mdx}", - "./node_modules/@namehash/internal/src/**/*.{js,jsx,ts,tsx}", + "./node_modules/@namehash/namehashlabs-react/src/**/*.{js,jsx,ts,tsx}", ], safelist: ["rounded-big", "rounded-biggest"], theme: { diff --git a/apps/nameguard.io/package.json b/apps/nameguard.io/package.json index 3c5aaf445..66b0a8cf0 100644 --- a/apps/nameguard.io/package.json +++ b/apps/nameguard.io/package.json @@ -14,6 +14,7 @@ "@namehash/internal": "workspace:*", "@namehash/nameguard": "workspace:*", "@namehash/nameguard-react": "workspace:*", + "@namehash/namehashlabs-react": "workspace:*", "@namehash/namekit-react": "workspace:*", "@vercel/analytics": "1.3.1", "@vercel/speed-insights": "1.0.12", diff --git a/apps/nameguard.io/src/app/layout.tsx b/apps/nameguard.io/src/app/layout.tsx index 5b5ff5e3e..ff85d9ad1 100644 --- a/apps/nameguard.io/src/app/layout.tsx +++ b/apps/nameguard.io/src/app/layout.tsx @@ -10,7 +10,7 @@ import React from "react"; import { Analytics } from "@vercel/analytics/react"; import { SpeedInsights } from "@vercel/speed-insights/next"; import { Header } from "@/components/organisms"; -import { Footer } from "@namehash/internal"; +import { Footer } from "@namehash/namehashlabs-react"; const inter = Inter({ variable: "--font-inter", subsets: ["latin"] }); diff --git a/apps/nameguard.io/tailwind.config.ts b/apps/nameguard.io/tailwind.config.ts index ae13d0232..e65943488 100644 --- a/apps/nameguard.io/tailwind.config.ts +++ b/apps/nameguard.io/tailwind.config.ts @@ -7,6 +7,7 @@ const config: Config = { "./src/app/**/*.{js,ts,jsx,tsx,mdx}", "./src/app/*.{js,ts,jsx,tsx,mdx}", "./node_modules/@namehash/nameguard-react/**/*.{js,jsx,ts,tsx}", + "./node_modules/@namehash/namehashlabs-react/**/*.{js,jsx,ts,tsx}", "./node_modules/@namehash/internal/src/**/*.{js,jsx,ts,tsx}", ], theme: { diff --git a/apps/namehashlabs.org/app/layout.tsx b/apps/namehashlabs.org/app/layout.tsx index dacca2b2b..31aec746d 100644 --- a/apps/namehashlabs.org/app/layout.tsx +++ b/apps/namehashlabs.org/app/layout.tsx @@ -20,7 +20,7 @@ import { defaultMetaOpengraph, defaultMetaTwitter, } from "./shared-metadata"; -import { Footer } from "@namehash/internal"; +import { Footer } from "@namehash/namehashlabs-react"; import Providers from "@/components/3 - organisms/Providers"; const inter = Inter({ diff --git a/apps/namehashlabs.org/package.json b/apps/namehashlabs.org/package.json index 09a7e53de..b675559e1 100644 --- a/apps/namehashlabs.org/package.json +++ b/apps/namehashlabs.org/package.json @@ -14,6 +14,7 @@ "@heroicons/react": "2.2.0", "@namehash/ens-webfont": "workspace:*", "@namehash/internal": "workspace:*", + "@namehash/namehashlabs-react": "workspace:*", "@namehash/namekit-react": "workspace:*", "@tanstack/react-query": "5.65.1", "@vercel/analytics": "1.3.1", diff --git a/apps/namehashlabs.org/tailwind.config.ts b/apps/namehashlabs.org/tailwind.config.ts index 8ddb8375b..30baeedfd 100644 --- a/apps/namehashlabs.org/tailwind.config.ts +++ b/apps/namehashlabs.org/tailwind.config.ts @@ -6,6 +6,7 @@ const config: Config = { "./components/**/*.{js,ts,jsx,tsx,mdx}", "./app/**/*.{js,ts,jsx,tsx,mdx}", "./node_modules/@namehash/internal/src/**/*.{js,jsx,ts,tsx}", + "./node_modules/@namehash/namehashlabs-react/src/**/*.{js,jsx,ts,tsx}", ], theme: { extend: { diff --git a/apps/namekit.io/package.json b/apps/namekit.io/package.json index 778d63f2c..98e7ecd47 100644 --- a/apps/namekit.io/package.json +++ b/apps/namekit.io/package.json @@ -21,6 +21,7 @@ "react-dom": "18.3.1", "react-hot-toast": "2.4.1", "@namehash/internal": "workspace:*", + "@namehash/namehashlabs-react": "workspace:*", "@namehash/namekit-react": "workspace:*", "@namehash/ens-webfont": "workspace:*", "react-wrap-balancer": "1.1.1" diff --git a/apps/namekit.io/src/app/layout.tsx b/apps/namekit.io/src/app/layout.tsx index 2c12f6454..535117d3a 100644 --- a/apps/namekit.io/src/app/layout.tsx +++ b/apps/namekit.io/src/app/layout.tsx @@ -5,7 +5,7 @@ import "@namehash/ens-webfont"; import { Header } from "@/components/organisms/header"; import { Inter } from "next/font/google"; -import { Footer } from "@namehash/internal"; +import { Footer } from "@namehash/namehashlabs-react"; const inter = Inter({ subsets: ["latin"], diff --git a/apps/namekit.io/tailwind.config.ts b/apps/namekit.io/tailwind.config.ts index 0b4edd24f..e1830603b 100644 --- a/apps/namekit.io/tailwind.config.ts +++ b/apps/namekit.io/tailwind.config.ts @@ -6,6 +6,7 @@ export default { "./src/components/**/*.{js,ts,jsx,tsx,mdx}", "./src/app/**/*.{js,ts,jsx,tsx,mdx}", "./node_modules/@namehash/internal/src/**/*.{js,jsx,ts,tsx}", + "./node_modules/@namehash/namehashlabs-react/src/**/*.{js,jsx,ts,tsx}", ], theme: { extend: { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f4779e534..08ee8b47d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -169,9 +169,6 @@ importers: '@namehash/ens-utils': specifier: workspace:* version: link:../../packages/ens-utils - '@namehash/internal': - specifier: workspace:* - version: link:../../internal/internal '@namehash/nameai': specifier: 1.1.4 version: 1.1.4(bufferutil@4.0.9)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.24.1) @@ -184,6 +181,9 @@ importers: '@namehash/nameguard-react': specifier: 0.8.2 version: 0.8.2(@types/react@18.3.1)(bufferutil@4.0.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.24.1) + '@namehash/namehashlabs-react': + specifier: workspace:* + version: link:../../packages/namehashlabs-react '@namehash/namekit-react': specifier: workspace:* version: link:../../packages/namekit-react @@ -317,6 +317,9 @@ importers: '@namehash/nameguard-react': specifier: workspace:* version: link:../../packages/nameguard-react + '@namehash/namehashlabs-react': + specifier: workspace:* + version: link:../../packages/namehashlabs-react '@namehash/namekit-react': specifier: workspace:* version: link:../../packages/namekit-react @@ -390,6 +393,9 @@ importers: '@namehash/internal': specifier: workspace:* version: link:../../internal/internal + '@namehash/namehashlabs-react': + specifier: workspace:* + version: link:../../packages/namehashlabs-react '@namehash/namekit-react': specifier: workspace:* version: link:../../packages/namekit-react @@ -484,6 +490,9 @@ importers: '@namehash/internal': specifier: workspace:* version: link:../../internal/internal + '@namehash/namehashlabs-react': + specifier: workspace:* + version: link:../../packages/namehashlabs-react '@namehash/namekit-react': specifier: workspace:* version: link:../../packages/namekit-react From 4e5c4aa928debb0a62a6eaabb3a5df686d340bcc Mon Sep 17 00:00:00 2001 From: y3drk Date: Mon, 14 Apr 2025 14:55:29 +0200 Subject: [PATCH 4/4] removal of Footer from internal package --- internal/internal/src/footer.tsx | 217 ------------------ internal/internal/src/icons/efp-icon.tsx | 35 --- internal/internal/src/icons/email-icon.tsx | 24 -- .../internal/src/icons/farcaster-icon.tsx | 27 --- internal/internal/src/icons/github-icon.tsx | 21 -- internal/internal/src/icons/index.ts | 8 - .../internal/src/icons/namehash-labs-logo.tsx | 67 ------ .../src/icons/service-provider-badge.tsx | 114 --------- internal/internal/src/icons/telegram-icon.tsx | 20 -- internal/internal/src/icons/twitter-icon.tsx | 12 - internal/internal/src/index.ts | 2 - 11 files changed, 547 deletions(-) delete mode 100644 internal/internal/src/footer.tsx delete mode 100644 internal/internal/src/icons/efp-icon.tsx delete mode 100644 internal/internal/src/icons/email-icon.tsx delete mode 100644 internal/internal/src/icons/farcaster-icon.tsx delete mode 100644 internal/internal/src/icons/github-icon.tsx delete mode 100644 internal/internal/src/icons/index.ts delete mode 100644 internal/internal/src/icons/namehash-labs-logo.tsx delete mode 100644 internal/internal/src/icons/service-provider-badge.tsx delete mode 100644 internal/internal/src/icons/telegram-icon.tsx delete mode 100644 internal/internal/src/icons/twitter-icon.tsx diff --git a/internal/internal/src/footer.tsx b/internal/internal/src/footer.tsx deleted file mode 100644 index 9eb3ced70..000000000 --- a/internal/internal/src/footer.tsx +++ /dev/null @@ -1,217 +0,0 @@ -import { Link } from "@namehash/namekit-react"; -import NextLink from "next/link"; -import { - EfpIcon, - EmailIcon, - FarcasterIcon, - GithubIcon, - NameHashLabsLogo, - ServiceProviderBadge, - TelegramIcon, - TwitterIcon, -} from "./icons"; -const footerProducts = [ - { - name: "ENSNode", - href: "https://ensnode.io", - }, - { - name: "ENSRainbow", - href: "https://ensrainbow.io", - }, - { - name: "ENSAdmin", - href: "https://admin.ensnode.io", - }, - { - name: "ENSv2 Referral Programs", - href: "https://namehashlabs.org/ens-v2-referral-programs", - }, - { - name: "NameGraph", - href: "https://namegraph.dev", - }, - { - name: "NameAI", - href: "https://nameai.io/", - }, - { - name: "NameGuard", - href: "https://nameguard.io", - }, - { - name: "NameKit", - href: "https://namekit.io", - }, -]; - -const footerResources = [ - { - name: "Contact us", - href: "https://namehashlabs.org/contact", - }, - { - name: "Careers", - href: "https://namehashlabs.org/careers", - }, - { - name: "Partners", - href: "https://namehashlabs.org/partners", - }, - { - name: "Brand assets", - href: "https://namehashlabs.org/brand-assets", - }, -]; - -type FooterProps = { - openResourcesInNewTab?: boolean; -} & React.HTMLAttributes; - -export const Footer = ({ - openResourcesInNewTab = true, - ...props -}: FooterProps) => { - return ( -
-
-
-
- - -

- Founded in 2022, Namehash Labs is dedicated to developing open - source infrastructure that helps the Ethereum Name Service (ENS) - Protocol grow. -

- - -
- -
-
- Infrastructure -
    - {footerProducts.map((product) => { - return ( -
  • - - - {product.name} - - -
  • - ); - })} -
-
-
- Resources -
    - {footerResources.map((resource) => { - return ( -
  • - - - {resource.name} - - -
  • - ); - })} -
-
-
-
- -
-

- © NameHash Labs. All Rights Reserved -

- -
- - - - - - - - - - - - - - - - - - -
- -
- - Made with - {"❤️"} - by - - - - NameHash Labs - - -
-
-
-
- ); -}; diff --git a/internal/internal/src/icons/efp-icon.tsx b/internal/internal/src/icons/efp-icon.tsx deleted file mode 100644 index 6220aedb4..000000000 --- a/internal/internal/src/icons/efp-icon.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { SVGProps } from "react"; - -export const EfpIcon = (props: SVGProps) => { - return ( - - - - - - - - - - - - ); -}; diff --git a/internal/internal/src/icons/email-icon.tsx b/internal/internal/src/icons/email-icon.tsx deleted file mode 100644 index 1c8bd5937..000000000 --- a/internal/internal/src/icons/email-icon.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { SVGProps } from "react"; - -export const EmailIcon = (props: SVGProps) => { - return ( - - - - - ); -}; diff --git a/internal/internal/src/icons/farcaster-icon.tsx b/internal/internal/src/icons/farcaster-icon.tsx deleted file mode 100644 index 65031bdd6..000000000 --- a/internal/internal/src/icons/farcaster-icon.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { SVGProps } from "react"; - -export const FarcasterIcon = (props: SVGProps) => { - return ( - - - - - - ); -}; diff --git a/internal/internal/src/icons/github-icon.tsx b/internal/internal/src/icons/github-icon.tsx deleted file mode 100644 index f9e00bf0f..000000000 --- a/internal/internal/src/icons/github-icon.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { SVGProps } from "react"; - -export const GithubIcon = (props: SVGProps) => { - return ( - - - - ); -}; diff --git a/internal/internal/src/icons/index.ts b/internal/internal/src/icons/index.ts deleted file mode 100644 index 4b535cc72..000000000 --- a/internal/internal/src/icons/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -export * from "./namehash-labs-logo"; -export * from "./twitter-icon"; -export * from "./telegram-icon"; -export * from "./farcaster-icon"; -export * from "./github-icon"; -export * from "./email-icon"; -export * from "./service-provider-badge"; -export * from "./efp-icon"; diff --git a/internal/internal/src/icons/namehash-labs-logo.tsx b/internal/internal/src/icons/namehash-labs-logo.tsx deleted file mode 100644 index da0c9f788..000000000 --- a/internal/internal/src/icons/namehash-labs-logo.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import { SVGProps } from "react"; - -export const NameHashLabsLogo = (props: SVGProps) => { - return ( - - - - - - - - - - - - - - - - ); -}; diff --git a/internal/internal/src/icons/service-provider-badge.tsx b/internal/internal/src/icons/service-provider-badge.tsx deleted file mode 100644 index 073f6a2c8..000000000 --- a/internal/internal/src/icons/service-provider-badge.tsx +++ /dev/null @@ -1,114 +0,0 @@ -export const ServiceProviderBadge = ( - props: React.HTMLAttributes -) => { - return ( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ); -}; diff --git a/internal/internal/src/icons/telegram-icon.tsx b/internal/internal/src/icons/telegram-icon.tsx deleted file mode 100644 index 1e37ef34c..000000000 --- a/internal/internal/src/icons/telegram-icon.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { SVGProps } from "react"; - -export const TelegramIcon = (props: SVGProps) => { - return ( - - - - ); -}; diff --git a/internal/internal/src/icons/twitter-icon.tsx b/internal/internal/src/icons/twitter-icon.tsx deleted file mode 100644 index 043f9ef66..000000000 --- a/internal/internal/src/icons/twitter-icon.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import { SVGProps } from "react"; - -export const TwitterIcon = (props: SVGProps) => { - return ( - - - - ); -}; diff --git a/internal/internal/src/index.ts b/internal/internal/src/index.ts index f00d1cb80..d3c1a2d98 100644 --- a/internal/internal/src/index.ts +++ b/internal/internal/src/index.ts @@ -5,5 +5,3 @@ export { validateContactFormData } from "./contact-form/validation"; export { type ContactFormDataProps } from "./contact-form/types"; export { CalendarButton } from "./calendar-button"; - -export { Footer } from "./footer";