diff --git a/apps/web/app/app.voidhash.com/(dashboard)/(project)/[organizationSlug]/[projectSlug]/developers/layout.tsx b/apps/web/app/app.voidhash.com/(dashboard)/(project)/[organizationSlug]/[projectSlug]/developers/layout.tsx index c4e6311f7..66ce47778 100644 --- a/apps/web/app/app.voidhash.com/(dashboard)/(project)/[organizationSlug]/[projectSlug]/developers/layout.tsx +++ b/apps/web/app/app.voidhash.com/(dashboard)/(project)/[organizationSlug]/[projectSlug]/developers/layout.tsx @@ -22,10 +22,10 @@ export default async function DevelopersLayout({ label: 'API Keys', path: `/${organizationSlug}/${projectSlug}/developers/api-keys` }, - { - label: 'Paywall Locations', - path: `/${organizationSlug}/${projectSlug}/developers/paywall-locations` - }, + // { + // label: 'Paywall Locations', + // path: `/${organizationSlug}/${projectSlug}/developers/paywall-locations` + // }, { label: 'Perks', path: `/${organizationSlug}/${projectSlug}/developers/perks` diff --git a/apps/web/features/shell/project-sidebar.tsx b/apps/web/features/shell/project-sidebar.tsx index 60ab85b2e..6c996e840 100644 --- a/apps/web/features/shell/project-sidebar.tsx +++ b/apps/web/features/shell/project-sidebar.tsx @@ -64,15 +64,6 @@ export function ProjectSidebar({ `/${organizationSlug}/${projectSlug}/products` ) }, - { - title: 'Paywalls', - url: `/${organizationSlug}/${projectSlug}/paywalls`, - icon: GalleryHorizontalEnd, - isActive: () => - pathname.startsWith( - `/${organizationSlug}/${projectSlug}/paywalls` - ) - }, { title: 'Developers', url: `/${organizationSlug}/${projectSlug}/developers`, diff --git a/apps/web/middleware.ts b/apps/web/middleware.ts index 64adc2f25..7886ffffd 100644 --- a/apps/web/middleware.ts +++ b/apps/web/middleware.ts @@ -17,7 +17,7 @@ export const config = { * 3. /_proxy/ (proxies for third-party services) * 4. Metadata files: favicon.ico, sitemap.xml, robots.txt, manifest.webmanifest */ - '/((?!api/|_next/|_proxy/|favicon.ico|sitemap.xml|robots.txt|manifest.webmanifest).*)' + '/((?!api/|_next/|_proxy/|favicon.ico|sitemap.xml|robots.txt|manifest.webmanifest|manifest.json).*)' ] }; diff --git a/apps/web/package.json b/apps/web/package.json index 53b807746..c66b46d3e 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -25,7 +25,7 @@ "@effect/platform": "^0.87.12", "@effect/platform-node": "^0.89.5", "@hono/zod-openapi": "beta", - "@hono/zod-validator": "^0.7.0", + "@hono/zod-validator": "^0.7.2", "@hookform/resolvers": "^5.1.1", "@polar-sh/nextjs": "^0.4.0", "@react-three/drei": "^10.1.2", @@ -67,7 +67,7 @@ "vite-tsconfig-paths": "^5.1.4", "voidhash": "0.0.1-alpha.4", "zod": "^4.0.2", - "zod-openapi": "^5.1.0" + "zod-openapi": "^5.3.1" }, "devDependencies": { "@effect/language-service": "^0.24.0", diff --git a/bun.lock b/bun.lock index d963ea5b7..5bfaa25d5 100644 --- a/bun.lock +++ b/bun.lock @@ -58,7 +58,7 @@ "@effect/platform": "^0.87.12", "@effect/platform-node": "^0.89.5", "@hono/zod-openapi": "beta", - "@hono/zod-validator": "^0.7.0", + "@hono/zod-validator": "^0.7.2", "@hookform/resolvers": "^5.1.1", "@polar-sh/nextjs": "^0.4.0", "@react-three/drei": "^10.1.2", @@ -100,7 +100,7 @@ "vite-tsconfig-paths": "^5.1.4", "voidhash": "0.0.1-alpha.4", "zod": "^4.0.2", - "zod-openapi": "^5.1.0", + "zod-openapi": "^5.3.1", }, "devDependencies": { "@effect/language-service": "^0.24.0", @@ -488,7 +488,7 @@ "@hono/zod-openapi": ["@hono/zod-openapi@1.0.0-beta.1", "", { "dependencies": { "@asteasolutions/zod-to-openapi": "^8.0.0-beta.3", "@hono/zod-validator": "^0.7.0" }, "peerDependencies": { "hono": ">=4.3.6", "zod": "^3.25.0" } }, "sha512-4GYMrB1+Ni0kCCBLUOPlVEGA5XcYzBShKheoXoxJjpitcxgZPwwoinunhgNqGCOF/VY0oLw5GXOiKtK0tkpOhA=="], - "@hono/zod-validator": ["@hono/zod-validator@0.7.1", "", { "peerDependencies": { "hono": ">=3.9.0", "zod": "^3.25.0 || ^4.0.0" } }, "sha512-8+vJT1RvezAx5sN7hiZ5Mis0RMuFL77nBEcqQQgT9ufoLkxr+7ll461WlBJQcGoQSY6EGMClVae19v3s/7bbgQ=="], + "@hono/zod-validator": ["@hono/zod-validator@0.7.2", "", { "peerDependencies": { "hono": ">=3.9.0", "zod": "^3.25.0 || ^4.0.0" } }, "sha512-ub5eL/NeZ4eLZawu78JpW/J+dugDAYhwqUIdp9KYScI6PZECij4Hx4UsrthlEUutqDDhPwRI0MscUfNkvn/mqQ=="], "@hookform/resolvers": ["@hookform/resolvers@5.1.1", "", { "dependencies": { "@standard-schema/utils": "^0.3.0" }, "peerDependencies": { "react-hook-form": "^7.55.0" } }, "sha512-J/NVING3LMAEvexJkyTLjruSm7aOFx7QX21pzkiJfMoNG0wl5aFEjLTl7ay7IQb9EWY6AkrBy7tHL2Alijpdcg=="], @@ -2882,7 +2882,7 @@ "zod-error": ["zod-error@1.5.0", "", { "dependencies": { "zod": "^3.20.2" } }, "sha512-zzopKZ/skI9iXpqCEPj+iLCKl9b88E43ehcU+sbRoHuwGd9F1IDVGQ70TyO6kmfiRL1g4IXkjsXK+g1gLYl4WQ=="], - "zod-openapi": ["zod-openapi@5.2.0", "", { "peerDependencies": { "zod": "^3.25.74 || ^4.0.0" } }, "sha512-f1bxel2MR5L5sxG9KNNAUs6Eh76VHrrF0pN06+W21MtO2f6oOaWkfY16r9rjTsXV9M3YmRITh++//Ur37GzUZg=="], + "zod-openapi": ["zod-openapi@5.3.1", "", { "peerDependencies": { "zod": "^3.25.74 || ^4.0.0" } }, "sha512-lRb4p4+WAhLGBvQCQf5SFxeZtnzO5m3GmCT4IDjOzGNlZFiVOuey9rWN+EVEDSVJC59B54tP2gxah1wVUplONw=="], "zod-validation-error": ["zod-validation-error@1.5.0", "", { "peerDependencies": { "zod": "^3.18.0" } }, "sha512-/7eFkAI4qV0tcxMBB/3+d2c1P6jzzZYdYSlBuAklzMuCrJu5bzJfHS0yVAS87dRHVlhftd6RFJDIvv03JgkSbw=="], @@ -2916,6 +2916,8 @@ "@esbuild-kit/core-utils/esbuild": ["esbuild@0.18.20", "", { "optionalDependencies": { "@esbuild/android-arm": "0.18.20", "@esbuild/android-arm64": "0.18.20", "@esbuild/android-x64": "0.18.20", "@esbuild/darwin-arm64": "0.18.20", "@esbuild/darwin-x64": "0.18.20", "@esbuild/freebsd-arm64": "0.18.20", "@esbuild/freebsd-x64": "0.18.20", "@esbuild/linux-arm": "0.18.20", "@esbuild/linux-arm64": "0.18.20", "@esbuild/linux-ia32": "0.18.20", "@esbuild/linux-loong64": "0.18.20", "@esbuild/linux-mips64el": "0.18.20", "@esbuild/linux-ppc64": "0.18.20", "@esbuild/linux-riscv64": "0.18.20", "@esbuild/linux-s390x": "0.18.20", "@esbuild/linux-x64": "0.18.20", "@esbuild/netbsd-x64": "0.18.20", "@esbuild/openbsd-x64": "0.18.20", "@esbuild/sunos-x64": "0.18.20", "@esbuild/win32-arm64": "0.18.20", "@esbuild/win32-ia32": "0.18.20", "@esbuild/win32-x64": "0.18.20" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA=="], + "@hono/zod-openapi/@hono/zod-validator": ["@hono/zod-validator@0.7.1", "", { "peerDependencies": { "hono": ">=3.9.0", "zod": "^3.25.0 || ^4.0.0" } }, "sha512-8+vJT1RvezAx5sN7hiZ5Mis0RMuFL77nBEcqQQgT9ufoLkxr+7ll461WlBJQcGoQSY6EGMClVae19v3s/7bbgQ=="], + "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], "@isaacs/cliui/strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="], @@ -3036,6 +3038,10 @@ "gray-matter/js-yaml": ["js-yaml@3.14.1", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g=="], + "hono-openapi/@hono/zod-validator": ["@hono/zod-validator@0.7.1", "", { "peerDependencies": { "hono": ">=3.9.0", "zod": "^3.25.0 || ^4.0.0" } }, "sha512-8+vJT1RvezAx5sN7hiZ5Mis0RMuFL77nBEcqQQgT9ufoLkxr+7ll461WlBJQcGoQSY6EGMClVae19v3s/7bbgQ=="], + + "hono-openapi/zod-openapi": ["zod-openapi@5.2.0", "", { "peerDependencies": { "zod": "^3.25.74 || ^4.0.0" } }, "sha512-f1bxel2MR5L5sxG9KNNAUs6Eh76VHrrF0pN06+W21MtO2f6oOaWkfY16r9rjTsXV9M3YmRITh++//Ur37GzUZg=="], + "import-fresh/resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], "importx/bundle-require": ["bundle-require@5.1.0", "", { "dependencies": { "load-tsconfig": "^0.2.3" }, "peerDependencies": { "esbuild": ">=0.18" } }, "sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA=="], diff --git a/packages/ui/components/logo.tsx b/packages/ui/components/logo.tsx index 639f77250..7b07a3eb0 100644 --- a/packages/ui/components/logo.tsx +++ b/packages/ui/components/logo.tsx @@ -1,44 +1,44 @@ -import type { SVGProps } from 'react'; -import { cn } from '../lib/utils'; +import type { SVGProps } from "react"; +import { cn } from "../lib/utils"; export const Logo = ({ className, - variant = 'default', - color = 'dual-tone' + variant = "default", + color = "mono", }: SVGProps & { - variant?: 'default' | 'short' | 'symbol'; - color?: 'dual-tone' | 'mono'; + variant?: "default" | "short" | "symbol"; + color?: "dual-tone" | "mono"; }) => { - const symbolColor = color === 'dual-tone' ? '#005EFF' : 'currentColor'; - if (variant === 'short') { + const symbolColor = color === "dual-tone" ? "#005EFF" : "currentColor"; + if (variant === "short") { return ( Voidhash ); } - if (variant === 'symbol') { + if (variant === "symbol") { return ( Voidhash ); - - // return ( - // - // - // - // - // - // - // - // - // - // - // - // ); }; diff --git a/packages/ui/hooks/use-mobile.ts b/packages/ui/hooks/use-mobile.ts index 0b09ed447..5a95470e0 100644 --- a/packages/ui/hooks/use-mobile.ts +++ b/packages/ui/hooks/use-mobile.ts @@ -1,3 +1,5 @@ +'use client'; + import { useEffect, useState } from 'react'; const MOBILE_BREAKPOINT = 768;