{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "Convex UI Library", "homepage": "https://convex-ui.vercel.app", "items": [ { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "password-based-auth-nextjs", "type": "registry:block", "title": "Password-Based Authentication (Next.js)", "description": "Complete password-based authentication flow for Next.js with Convex Auth. Includes login, sign-up, password reset, protected routes, and full Convex backend.", "registryDependencies": [ "button", "input", "label", "card", "alert", "avatar", "skeleton" ], "dependencies": [ "lucide-react", "@convex-dev/auth@latest", "convex@latest", "@auth/core" ], "files": [ { "path": "src/registry/convex/blocks/password-based-auth-nextjs/components/login-form.tsx", "type": "registry:component", "target": "src/components/login-form.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-nextjs/components/sign-up-form.tsx", "type": "registry:component", "target": "src/components/sign-up-form.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-nextjs/components/forgot-password-form.tsx", "type": "registry:component", "target": "src/components/forgot-password-form.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-nextjs/components/update-password-form.tsx", "type": "registry:component", "target": "src/components/update-password-form.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-nextjs/components/logout-button.tsx", "type": "registry:component", "target": "src/components/logout-button.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-nextjs/app/auth/login/page.tsx", "type": "registry:page", "target": "src/app/auth/login/page.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-nextjs/app/auth/sign-up/page.tsx", "type": "registry:page", "target": "src/app/auth/sign-up/page.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-nextjs/app/auth/forgot-password/page.tsx", "type": "registry:page", "target": "src/app/auth/forgot-password/page.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-nextjs/app/auth/update-password/page.tsx", "type": "registry:page", "target": "src/app/auth/update-password/page.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-nextjs/app/auth/sign-up-success/page.tsx", "type": "registry:page", "target": "src/app/auth/sign-up-success/page.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-nextjs/app/protected/page.tsx", "type": "registry:page", "target": "src/app/protected/page.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-nextjs/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/password-based-auth-nextjs/convex/auth.ts", "type": "registry:file", "target": "convex/auth.ts" }, { "path": "src/registry/convex/blocks/password-based-auth-nextjs/convex/auth.config.ts", "type": "registry:file", "target": "convex/auth.config.ts" }, { "path": "src/registry/convex/blocks/password-based-auth-nextjs/convex/users.ts", "type": "registry:file", "target": "convex/users.ts" }, { "path": "src/registry/convex/blocks/password-based-auth-nextjs/convex/http.ts", "type": "registry:file", "target": "convex/http.ts" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/client.ts", "type": "registry:lib", "target": "src/lib/convex/client.ts" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/provider.tsx", "type": "registry:lib", "target": "src/lib/convex/provider.tsx" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/server.ts", "type": "registry:lib", "target": "src/lib/convex/server.ts" }, { "path": "src/registry/convex/clients/nextjs/proxy.ts", "type": "registry:lib", "target": "src/proxy.ts" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "NEXT_PUBLIC_CONVEX_URL": "", "AUTH_RESEND_KEY": "", "AUTH_EMAIL_FROM": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env.local` file as `NEXT_PUBLIC_CONVEX_URL`.\n\n3. Set environment variables in the Convex dashboard (Settings > Environment Variables):\n - `AUTH_RESEND_KEY` - Your Resend API key (required for email verification/reset)\n - `AUTH_EMAIL_FROM` - Sender email address (optional, defaults to onboarding@resend.dev)\n\n4. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env.local` file as `NEXT_PUBLIC_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "password-based-auth-react", "type": "registry:block", "title": "Password-Based Authentication (React)", "description": "Complete password-based authentication flow for React with Convex Auth. Includes login, sign-up, password reset forms, and full Convex backend.", "registryDependencies": [ "button", "input", "label", "card", "alert", "avatar", "skeleton" ], "dependencies": [ "lucide-react", "@convex-dev/auth@latest", "convex@latest", "@auth/core" ], "files": [ { "path": "src/registry/convex/blocks/password-based-auth-react/components/login-form.tsx", "type": "registry:component", "target": "components/login-form.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-react/components/sign-up-form.tsx", "type": "registry:component", "target": "components/sign-up-form.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-react/components/forgot-password-form.tsx", "type": "registry:component", "target": "components/forgot-password-form.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-react/components/update-password-form.tsx", "type": "registry:component", "target": "components/update-password-form.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-react/components/logout-button.tsx", "type": "registry:component", "target": "components/logout-button.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-react/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/password-based-auth-react/convex/auth.ts", "type": "registry:file", "target": "convex/auth.ts" }, { "path": "src/registry/convex/blocks/password-based-auth-react/convex/auth.config.ts", "type": "registry:file", "target": "convex/auth.config.ts" }, { "path": "src/registry/convex/blocks/password-based-auth-react/convex/users.ts", "type": "registry:file", "target": "convex/users.ts" }, { "path": "src/registry/convex/blocks/password-based-auth-react/convex/http.ts", "type": "registry:file", "target": "convex/http.ts" }, { "path": "src/registry/convex/clients/react/lib/convex/client.ts", "type": "registry:lib", "target": "lib/convex/client.ts" }, { "path": "src/registry/convex/clients/react/lib/convex/provider.tsx", "type": "registry:lib", "target": "lib/convex/provider.tsx" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "VITE_CONVEX_URL": "", "AUTH_RESEND_KEY": "", "AUTH_EMAIL_FROM": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. Set environment variables in the Convex dashboard (Settings > Environment Variables):\n - `AUTH_RESEND_KEY` - Your Resend API key (required for email verification/reset)\n - `AUTH_EMAIL_FROM` - Sender email address (optional, defaults to onboarding@resend.dev)\n\n4. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "password-based-auth-tanstack", "type": "registry:block", "title": "Password-Based Authentication (TanStack)", "description": "Complete password-based authentication flow for TanStack Start with Convex Auth. Includes login, sign-up, password reset, protected routes, and full Convex backend.", "registryDependencies": [ "button", "input", "label", "card", "alert", "avatar", "skeleton" ], "dependencies": [ "lucide-react", "@convex-dev/auth@latest", "convex@latest", "@tanstack/react-router", "@auth/core", "@convex-dev/react-query@latest", "@tanstack/react-query@latest" ], "files": [ { "path": "src/registry/convex/blocks/password-based-auth-tanstack/components/login-form.tsx", "type": "registry:component", "target": "components/login-form.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-tanstack/components/sign-up-form.tsx", "type": "registry:component", "target": "components/sign-up-form.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-tanstack/components/forgot-password-form.tsx", "type": "registry:component", "target": "components/forgot-password-form.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-tanstack/components/update-password-form.tsx", "type": "registry:component", "target": "components/update-password-form.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-tanstack/components/logout-button.tsx", "type": "registry:component", "target": "components/logout-button.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-tanstack/routes/auth/login.tsx", "type": "registry:page", "target": "app/routes/auth/login.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-tanstack/routes/auth/sign-up.tsx", "type": "registry:page", "target": "app/routes/auth/sign-up.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-tanstack/routes/auth/forgot-password.tsx", "type": "registry:page", "target": "app/routes/auth/forgot-password.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-tanstack/routes/auth/update-password.tsx", "type": "registry:page", "target": "app/routes/auth/update-password.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-tanstack/routes/auth/sign-up-success.tsx", "type": "registry:page", "target": "app/routes/auth/sign-up-success.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-tanstack/routes/_protected/index.tsx", "type": "registry:page", "target": "app/routes/_protected/index.tsx" }, { "path": "src/registry/convex/blocks/password-based-auth-tanstack/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/password-based-auth-tanstack/convex/auth.ts", "type": "registry:file", "target": "convex/auth.ts" }, { "path": "src/registry/convex/blocks/password-based-auth-tanstack/convex/auth.config.ts", "type": "registry:file", "target": "convex/auth.config.ts" }, { "path": "src/registry/convex/blocks/password-based-auth-tanstack/convex/users.ts", "type": "registry:file", "target": "convex/users.ts" }, { "path": "src/registry/convex/blocks/password-based-auth-tanstack/convex/http.ts", "type": "registry:file", "target": "convex/http.ts" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/client.ts", "type": "registry:lib", "target": "lib/convex/client.ts" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/provider.tsx", "type": "registry:lib", "target": "lib/convex/provider.tsx" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/server.ts", "type": "registry:lib", "target": "lib/convex/server.ts" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "VITE_CONVEX_URL": "", "AUTH_RESEND_KEY": "", "AUTH_EMAIL_FROM": "", "AUTH_GITHUB_ID": "", "AUTH_GITHUB_SECRET": "", "AUTH_GOOGLE_ID": "", "AUTH_GOOGLE_SECRET": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Set environment variables in the Convex dashboard (Settings > Environment Variables):\n - `AUTH_RESEND_KEY` - Your Resend API key (required for email verification/reset)\n - `AUTH_EMAIL_FROM` - Sender email address (optional, defaults to onboarding@resend.dev)\n - `AUTH_GITHUB_ID` / `AUTH_GITHUB_SECRET` - GitHub OAuth credentials (optional)\n - `AUTH_GOOGLE_ID` / `AUTH_GOOGLE_SECRET` - Google OAuth credentials (optional)\n\n3. For OAuth providers, configure callback URLs in their dashboards:\n - GitHub: `https:///api/auth/callback/github`\n - Google: `https:///api/auth/callback/google`\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "social-auth-nextjs", "type": "registry:block", "title": "Social Authentication (Next.js)", "description": "Social authentication (OAuth) for Next.js with Convex Auth. Supports GitHub and Google sign-in with full Convex backend.", "registryDependencies": ["button", "card", "alert", "avatar", "skeleton"], "dependencies": [ "lucide-react", "@convex-dev/auth@latest", "convex@latest", "@auth/core" ], "files": [ { "path": "src/registry/convex/blocks/social-auth-nextjs/components/login-form.tsx", "type": "registry:component", "target": "src/components/login-form.tsx" }, { "path": "src/registry/convex/blocks/social-auth-nextjs/components/logout-button.tsx", "type": "registry:component", "target": "src/components/logout-button.tsx" }, { "path": "src/registry/convex/blocks/social-auth-nextjs/app/auth/login/page.tsx", "type": "registry:page", "target": "src/app/auth/login/page.tsx" }, { "path": "src/registry/convex/blocks/social-auth-nextjs/app/protected/page.tsx", "type": "registry:page", "target": "src/app/protected/page.tsx" }, { "path": "src/registry/convex/blocks/social-auth-nextjs/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/social-auth-nextjs/convex/auth.ts", "type": "registry:file", "target": "convex/auth.ts" }, { "path": "src/registry/convex/blocks/social-auth-nextjs/convex/auth.config.ts", "type": "registry:file", "target": "convex/auth.config.ts" }, { "path": "src/registry/convex/blocks/social-auth-nextjs/convex/users.ts", "type": "registry:file", "target": "convex/users.ts" }, { "path": "src/registry/convex/blocks/social-auth-nextjs/convex/http.ts", "type": "registry:file", "target": "convex/http.ts" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/client.ts", "type": "registry:lib", "target": "src/lib/convex/client.ts" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/provider.tsx", "type": "registry:lib", "target": "src/lib/convex/provider.tsx" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/server.ts", "type": "registry:lib", "target": "src/lib/convex/server.ts" }, { "path": "src/registry/convex/clients/nextjs/proxy.ts", "type": "registry:lib", "target": "src/proxy.ts" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "NEXT_PUBLIC_CONVEX_URL": "", "AUTH_GITHUB_ID": "", "AUTH_GITHUB_SECRET": "", "AUTH_GOOGLE_ID": "", "AUTH_GOOGLE_SECRET": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Set environment variables in the Convex dashboard (Settings > Environment Variables):\n - `AUTH_GITHUB_ID` / `AUTH_GITHUB_SECRET` - GitHub OAuth credentials\n - `AUTH_GOOGLE_ID` / `AUTH_GOOGLE_SECRET` - Google OAuth credentials\n\n3. Configure OAuth callback URLs in each provider's dashboard:\n - GitHub: `https:///api/auth/callback/github`\n - Google: `https:///api/auth/callback/google`\n\nAt least one OAuth provider must be configured for authentication to work.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env.local` file as `NEXT_PUBLIC_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "social-auth-react", "type": "registry:block", "title": "Social Authentication (React)", "description": "Social authentication (OAuth) components for React with Convex Auth. Supports GitHub and Google sign-in with full Convex backend.", "registryDependencies": ["button", "card", "alert"], "dependencies": [ "lucide-react", "@convex-dev/auth@latest", "convex@latest", "@auth/core" ], "files": [ { "path": "src/registry/convex/blocks/social-auth-react/components/login-form.tsx", "type": "registry:component", "target": "components/login-form.tsx" }, { "path": "src/registry/convex/blocks/social-auth-react/components/logout-button.tsx", "type": "registry:component", "target": "components/logout-button.tsx" }, { "path": "src/registry/convex/blocks/social-auth-react/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/social-auth-react/convex/auth.ts", "type": "registry:file", "target": "convex/auth.ts" }, { "path": "src/registry/convex/blocks/social-auth-react/convex/auth.config.ts", "type": "registry:file", "target": "convex/auth.config.ts" }, { "path": "src/registry/convex/blocks/social-auth-react/convex/users.ts", "type": "registry:file", "target": "convex/users.ts" }, { "path": "src/registry/convex/blocks/social-auth-react/convex/http.ts", "type": "registry:file", "target": "convex/http.ts" }, { "path": "src/registry/convex/clients/react/lib/convex/client.ts", "type": "registry:lib", "target": "lib/convex/client.ts" }, { "path": "src/registry/convex/clients/react/lib/convex/provider.tsx", "type": "registry:lib", "target": "lib/convex/provider.tsx" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "VITE_CONVEX_URL": "", "AUTH_GITHUB_ID": "", "AUTH_GITHUB_SECRET": "", "AUTH_GOOGLE_ID": "", "AUTH_GOOGLE_SECRET": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Set environment variables in the Convex dashboard (Settings > Environment Variables):\n - `AUTH_GITHUB_ID` / `AUTH_GITHUB_SECRET` - GitHub OAuth credentials\n - `AUTH_GOOGLE_ID` / `AUTH_GOOGLE_SECRET` - Google OAuth credentials\n\n3. Configure OAuth callback URLs in each provider's dashboard:\n - GitHub: `https:///api/auth/callback/github`\n - Google: `https:///api/auth/callback/google`\n\nAt least one OAuth provider must be configured for authentication to work.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "social-auth-tanstack", "type": "registry:block", "title": "Social Authentication (TanStack)", "description": "Social authentication (OAuth) for TanStack Start with Convex Auth. Supports GitHub and Google sign-in with full Convex backend.", "registryDependencies": ["button", "card", "alert", "avatar", "skeleton"], "dependencies": [ "lucide-react", "@convex-dev/auth@latest", "convex@latest", "@auth/core", "@tanstack/react-router", "@convex-dev/react-query@latest", "@tanstack/react-query@latest" ], "files": [ { "path": "src/registry/convex/blocks/social-auth-tanstack/components/login-form.tsx", "type": "registry:component", "target": "components/login-form.tsx" }, { "path": "src/registry/convex/blocks/social-auth-tanstack/components/logout-button.tsx", "type": "registry:component", "target": "components/logout-button.tsx" }, { "path": "src/registry/convex/blocks/social-auth-tanstack/routes/auth/login.tsx", "type": "registry:page", "target": "app/routes/auth/login.tsx" }, { "path": "src/registry/convex/blocks/social-auth-tanstack/routes/_protected/index.tsx", "type": "registry:page", "target": "app/routes/_protected/index.tsx" }, { "path": "src/registry/convex/blocks/social-auth-tanstack/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/social-auth-tanstack/convex/auth.ts", "type": "registry:file", "target": "convex/auth.ts" }, { "path": "src/registry/convex/blocks/social-auth-tanstack/convex/auth.config.ts", "type": "registry:file", "target": "convex/auth.config.ts" }, { "path": "src/registry/convex/blocks/social-auth-tanstack/convex/users.ts", "type": "registry:file", "target": "convex/users.ts" }, { "path": "src/registry/convex/blocks/social-auth-tanstack/convex/http.ts", "type": "registry:file", "target": "convex/http.ts" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/client.ts", "type": "registry:lib", "target": "lib/convex/client.ts" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/provider.tsx", "type": "registry:lib", "target": "lib/convex/provider.tsx" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/server.ts", "type": "registry:lib", "target": "lib/convex/server.ts" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "VITE_CONVEX_URL": "", "AUTH_GITHUB_ID": "", "AUTH_GITHUB_SECRET": "", "AUTH_GOOGLE_ID": "", "AUTH_GOOGLE_SECRET": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Set environment variables in the Convex dashboard (Settings > Environment Variables):\n - `AUTH_GITHUB_ID` / `AUTH_GITHUB_SECRET` - GitHub OAuth credentials\n - `AUTH_GOOGLE_ID` / `AUTH_GOOGLE_SECRET` - Google OAuth credentials\n\n3. Configure OAuth callback URLs in each provider's dashboard:\n - GitHub: `https:///api/auth/callback/github`\n - Google: `https:///api/auth/callback/google`\n\nAt least one OAuth provider must be configured for authentication to work.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "realtime-chat-nextjs", "type": "registry:component", "title": "Realtime Chat (Next.js)", "description": "A realtime chat component powered by Convex live queries. Messages sync instantly across all connected clients. Includes full Convex backend with demo mode support.", "registryDependencies": ["input", "button"], "dependencies": [ "lucide-react", "convex@latest", "@auth/core", "@convex-dev/auth@latest" ], "files": [ { "path": "src/registry/convex/blocks/realtime-chat-nextjs/components/chat-message.tsx", "type": "registry:component", "target": "src/components/chat-message.tsx" }, { "path": "src/registry/convex/blocks/realtime-chat-nextjs/components/realtime-chat.tsx", "type": "registry:component", "target": "src/components/realtime-chat.tsx" }, { "path": "src/registry/convex/blocks/realtime-chat-nextjs/hooks/use-realtime-chat.tsx", "type": "registry:hook", "target": "src/hooks/use-realtime-chat.ts" }, { "path": "src/registry/convex/blocks/realtime-chat-nextjs/hooks/use-chat-scroll.tsx", "type": "registry:hook", "target": "src/hooks/use-chat-scroll.ts" }, { "path": "src/registry/convex/blocks/realtime-chat-nextjs/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/realtime-chat-nextjs/convex/messages.ts", "type": "registry:file", "target": "convex/messages.ts" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/client.ts", "type": "registry:lib", "target": "src/lib/convex/client.ts" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/provider.tsx", "type": "registry:lib", "target": "src/lib/convex/provider.tsx" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/server.ts", "type": "registry:lib", "target": "src/lib/convex/server.ts" }, { "path": "src/registry/convex/clients/nextjs/proxy.ts", "type": "registry:lib", "target": "src/proxy.ts" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "NEXT_PUBLIC_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server.\n\n2. Copy the deployment URL to your `.env.local` file as `NEXT_PUBLIC_CONVEX_URL`.\n\n3. The Convex schema and functions will be automatically deployed when you run `npx convex dev`.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env.local` file as `NEXT_PUBLIC_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "realtime-chat-react", "type": "registry:component", "title": "Realtime Chat (React)", "description": "A realtime chat component powered by Convex live queries. Messages sync instantly across all connected clients. Includes full Convex backend with demo mode support.", "registryDependencies": ["input", "button"], "dependencies": [ "lucide-react", "convex@latest", "@auth/core", "@convex-dev/auth@latest" ], "files": [ { "path": "src/registry/convex/blocks/realtime-chat-react/components/chat-message.tsx", "type": "registry:component", "target": "components/chat-message.tsx" }, { "path": "src/registry/convex/blocks/realtime-chat-react/components/realtime-chat.tsx", "type": "registry:component", "target": "components/realtime-chat.tsx" }, { "path": "src/registry/convex/blocks/realtime-chat-react/hooks/use-realtime-chat.tsx", "type": "registry:hook", "target": "hooks/use-realtime-chat.tsx" }, { "path": "src/registry/convex/blocks/realtime-chat-react/hooks/use-chat-scroll.tsx", "type": "registry:hook", "target": "hooks/use-chat-scroll.tsx" }, { "path": "src/registry/convex/blocks/realtime-chat-react/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/realtime-chat-react/convex/messages.ts", "type": "registry:file", "target": "convex/messages.ts" }, { "path": "src/registry/convex/clients/react/lib/convex/client.ts", "type": "registry:lib", "target": "lib/convex/client.ts" }, { "path": "src/registry/convex/clients/react/lib/convex/provider.tsx", "type": "registry:lib", "target": "lib/convex/provider.tsx" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "VITE_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. The Convex schema and functions will be automatically deployed when you run `npx convex dev`.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "realtime-chat-tanstack", "type": "registry:component", "title": "Realtime Chat (TanStack Start)", "description": "A realtime chat component powered by Convex live queries. Messages sync instantly across all connected clients. Includes full Convex backend with demo mode support.", "registryDependencies": ["input", "button"], "dependencies": [ "lucide-react", "convex@latest", "@auth/core", "@convex-dev/react-query@latest", "@tanstack/react-query@latest", "@convex-dev/auth@latest" ], "files": [ { "path": "src/registry/convex/blocks/realtime-chat-tanstack/components/chat-message.tsx", "type": "registry:component", "target": "components/chat-message.tsx" }, { "path": "src/registry/convex/blocks/realtime-chat-tanstack/components/realtime-chat.tsx", "type": "registry:component", "target": "components/realtime-chat.tsx" }, { "path": "src/registry/convex/blocks/realtime-chat-tanstack/hooks/use-realtime-chat.tsx", "type": "registry:hook", "target": "hooks/use-realtime-chat.tsx" }, { "path": "src/registry/convex/blocks/realtime-chat-tanstack/hooks/use-chat-scroll.tsx", "type": "registry:hook", "target": "hooks/use-chat-scroll.tsx" }, { "path": "src/registry/convex/blocks/realtime-chat-tanstack/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/realtime-chat-tanstack/convex/messages.ts", "type": "registry:file", "target": "convex/messages.ts" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/client.ts", "type": "registry:lib", "target": "lib/convex/client.ts" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/provider.tsx", "type": "registry:lib", "target": "lib/convex/provider.tsx" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/server.ts", "type": "registry:lib", "target": "lib/convex/server.ts" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "VITE_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. The Convex schema and functions will be automatically deployed when you run `npx convex dev`.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "realtime-cursor-nextjs", "type": "registry:component", "title": "Realtime Cursors (Next.js)", "description": "Display realtime cursor positions of other users in a room. Perfect for collaborative applications. Includes full Convex backend with presence tracking.", "registryDependencies": [], "dependencies": [ "framer-motion", "convex@latest", "@auth/core", "@convex-dev/auth@latest" ], "files": [ { "path": "src/registry/convex/blocks/realtime-cursor-nextjs/components/cursor.tsx", "type": "registry:component", "target": "src/components/cursor.tsx" }, { "path": "src/registry/convex/blocks/realtime-cursor-nextjs/components/realtime-cursors.tsx", "type": "registry:component", "target": "src/components/realtime-cursors.tsx" }, { "path": "src/registry/convex/blocks/realtime-cursor-nextjs/hooks/use-realtime-cursors.ts", "type": "registry:hook", "target": "src/hooks/use-realtime-cursors.ts" }, { "path": "src/registry/convex/blocks/realtime-cursor-nextjs/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/realtime-cursor-nextjs/convex/presence.ts", "type": "registry:file", "target": "convex/presence.ts" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/client.ts", "type": "registry:lib", "target": "src/lib/convex/client.ts" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/provider.tsx", "type": "registry:lib", "target": "src/lib/convex/provider.tsx" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/server.ts", "type": "registry:lib", "target": "src/lib/convex/server.ts" }, { "path": "src/registry/convex/clients/nextjs/proxy.ts", "type": "registry:lib", "target": "src/proxy.ts" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "NEXT_PUBLIC_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server.\n\n2. Copy the deployment URL to your `.env.local` file as `NEXT_PUBLIC_CONVEX_URL`.\n\n3. The Convex schema and functions will be automatically deployed when you run `npx convex dev`.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env.local` file as `NEXT_PUBLIC_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "realtime-cursor-react", "type": "registry:component", "title": "Realtime Cursors (React)", "description": "Display realtime cursor positions of other users in a room. Perfect for collaborative applications. Includes full Convex backend with presence tracking.", "registryDependencies": [], "dependencies": [ "framer-motion", "convex@latest", "@auth/core", "@convex-dev/auth@latest" ], "files": [ { "path": "src/registry/convex/blocks/realtime-cursor-react/components/cursor.tsx", "type": "registry:component", "target": "components/cursor.tsx" }, { "path": "src/registry/convex/blocks/realtime-cursor-react/components/realtime-cursors.tsx", "type": "registry:component", "target": "components/realtime-cursors.tsx" }, { "path": "src/registry/convex/blocks/realtime-cursor-react/hooks/use-realtime-cursors.ts", "type": "registry:hook", "target": "hooks/use-realtime-cursors.ts" }, { "path": "src/registry/convex/blocks/realtime-cursor-react/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/realtime-cursor-react/convex/presence.ts", "type": "registry:file", "target": "convex/presence.ts" }, { "path": "src/registry/convex/clients/react/lib/convex/client.ts", "type": "registry:lib", "target": "lib/convex/client.ts" }, { "path": "src/registry/convex/clients/react/lib/convex/provider.tsx", "type": "registry:lib", "target": "lib/convex/provider.tsx" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "VITE_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. The Convex schema and functions will be automatically deployed when you run `npx convex dev`.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "realtime-cursor-tanstack", "type": "registry:component", "title": "Realtime Cursors (TanStack Start)", "description": "Display realtime cursor positions of other users in a room. Perfect for collaborative applications. Includes full Convex backend with presence tracking.", "registryDependencies": [], "dependencies": [ "framer-motion", "convex@latest", "@auth/core", "@convex-dev/react-query@latest", "@tanstack/react-query@latest", "@convex-dev/auth@latest" ], "files": [ { "path": "src/registry/convex/blocks/realtime-cursor-tanstack/components/cursor.tsx", "type": "registry:component", "target": "components/cursor.tsx" }, { "path": "src/registry/convex/blocks/realtime-cursor-tanstack/components/realtime-cursors.tsx", "type": "registry:component", "target": "components/realtime-cursors.tsx" }, { "path": "src/registry/convex/blocks/realtime-cursor-tanstack/hooks/use-realtime-cursors.ts", "type": "registry:hook", "target": "hooks/use-realtime-cursors.ts" }, { "path": "src/registry/convex/blocks/realtime-cursor-tanstack/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/realtime-cursor-tanstack/convex/presence.ts", "type": "registry:file", "target": "convex/presence.ts" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/client.ts", "type": "registry:lib", "target": "lib/convex/client.ts" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/provider.tsx", "type": "registry:lib", "target": "lib/convex/provider.tsx" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/server.ts", "type": "registry:lib", "target": "lib/convex/server.ts" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "VITE_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. The Convex schema and functions will be automatically deployed when you run `npx convex dev`.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "realtime-avatar-stack-nextjs", "type": "registry:component", "title": "Realtime Avatar Stack (Next.js)", "description": "Display a stack of avatars showing users currently present in a room. Updates in realtime as users join and leave. Includes full Convex backend with presence tracking.", "registryDependencies": ["avatar", "tooltip"], "dependencies": [ "convex@latest", "@auth/core", "@convex-dev/auth@latest" ], "files": [ { "path": "src/registry/convex/blocks/realtime-avatar-stack-nextjs/components/avatar-stack.tsx", "type": "registry:component", "target": "src/components/avatar-stack.tsx" }, { "path": "src/registry/convex/blocks/realtime-avatar-stack-nextjs/components/realtime-avatar-stack.tsx", "type": "registry:component", "target": "src/components/realtime-avatar-stack.tsx" }, { "path": "src/registry/convex/blocks/realtime-avatar-stack-nextjs/hooks/use-realtime-presence-room.ts", "type": "registry:hook", "target": "src/hooks/use-realtime-presence-room.ts" }, { "path": "src/registry/convex/blocks/realtime-avatar-stack-nextjs/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/realtime-avatar-stack-nextjs/convex/presence.ts", "type": "registry:file", "target": "convex/presence.ts" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/client.ts", "type": "registry:lib", "target": "src/lib/convex/client.ts" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/provider.tsx", "type": "registry:lib", "target": "src/lib/convex/provider.tsx" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/server.ts", "type": "registry:lib", "target": "src/lib/convex/server.ts" }, { "path": "src/registry/convex/clients/nextjs/proxy.ts", "type": "registry:lib", "target": "src/proxy.ts" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "NEXT_PUBLIC_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server.\n\n2. Copy the deployment URL to your `.env.local` file as `NEXT_PUBLIC_CONVEX_URL`.\n\n3. The Convex schema and functions will be automatically deployed when you run `npx convex dev`.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env.local` file as `NEXT_PUBLIC_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "realtime-avatar-stack-react", "type": "registry:component", "title": "Realtime Avatar Stack (React)", "description": "Display a stack of avatars showing users currently present in a room. Updates in realtime as users join and leave. Includes full Convex backend with presence tracking.", "registryDependencies": ["avatar", "tooltip"], "dependencies": [ "convex@latest", "@auth/core", "@convex-dev/auth@latest" ], "files": [ { "path": "src/registry/convex/blocks/realtime-avatar-stack-react/components/avatar-stack.tsx", "type": "registry:component", "target": "components/avatar-stack.tsx" }, { "path": "src/registry/convex/blocks/realtime-avatar-stack-react/components/realtime-avatar-stack.tsx", "type": "registry:component", "target": "components/realtime-avatar-stack.tsx" }, { "path": "src/registry/convex/blocks/realtime-avatar-stack-react/hooks/use-realtime-presence-room.ts", "type": "registry:hook", "target": "hooks/use-realtime-presence-room.ts" }, { "path": "src/registry/convex/blocks/realtime-avatar-stack-react/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/realtime-avatar-stack-react/convex/presence.ts", "type": "registry:file", "target": "convex/presence.ts" }, { "path": "src/registry/convex/clients/react/lib/convex/client.ts", "type": "registry:lib", "target": "lib/convex/client.ts" }, { "path": "src/registry/convex/clients/react/lib/convex/provider.tsx", "type": "registry:lib", "target": "lib/convex/provider.tsx" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "VITE_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. The Convex schema and functions will be automatically deployed when you run `npx convex dev`.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "realtime-avatar-stack-tanstack", "type": "registry:component", "title": "Realtime Avatar Stack (TanStack Start)", "description": "Display a stack of avatars showing users currently present in a room. Updates in realtime as users join and leave. Includes full Convex backend with presence tracking.", "registryDependencies": ["avatar", "tooltip"], "dependencies": [ "convex@latest", "@auth/core", "@convex-dev/react-query@latest", "@tanstack/react-query@latest", "@convex-dev/auth@latest" ], "files": [ { "path": "src/registry/convex/blocks/realtime-avatar-stack-tanstack/components/avatar-stack.tsx", "type": "registry:component", "target": "components/avatar-stack.tsx" }, { "path": "src/registry/convex/blocks/realtime-avatar-stack-tanstack/components/realtime-avatar-stack.tsx", "type": "registry:component", "target": "components/realtime-avatar-stack.tsx" }, { "path": "src/registry/convex/blocks/realtime-avatar-stack-tanstack/hooks/use-realtime-presence-room.ts", "type": "registry:hook", "target": "hooks/use-realtime-presence-room.ts" }, { "path": "src/registry/convex/blocks/realtime-avatar-stack-tanstack/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/realtime-avatar-stack-tanstack/convex/presence.ts", "type": "registry:file", "target": "convex/presence.ts" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/client.ts", "type": "registry:lib", "target": "lib/convex/client.ts" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/provider.tsx", "type": "registry:lib", "target": "lib/convex/provider.tsx" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/server.ts", "type": "registry:lib", "target": "lib/convex/server.ts" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "VITE_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. The Convex schema and functions will be automatically deployed when you run `npx convex dev`.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "dropzone-nextjs", "type": "registry:component", "title": "Dropzone (Next.js)", "description": "A file upload dropzone component powered by Convex storage. Supports drag and drop, file validation, upload progress, and full Convex backend.", "registryDependencies": ["button"], "dependencies": [ "lucide-react", "react-dropzone", "convex@latest", "@auth/core", "@convex-dev/auth@latest" ], "files": [ { "path": "src/registry/convex/blocks/dropzone-nextjs/components/dropzone.tsx", "type": "registry:component", "target": "src/components/dropzone.tsx" }, { "path": "src/registry/convex/blocks/dropzone-nextjs/hooks/use-convex-upload.ts", "type": "registry:hook", "target": "src/hooks/use-convex-upload.ts" }, { "path": "src/registry/convex/blocks/dropzone-nextjs/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/dropzone-nextjs/convex/files.ts", "type": "registry:file", "target": "convex/files.ts" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/client.ts", "type": "registry:lib", "target": "src/lib/convex/client.ts" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/provider.tsx", "type": "registry:lib", "target": "src/lib/convex/provider.tsx" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/server.ts", "type": "registry:lib", "target": "src/lib/convex/server.ts" }, { "path": "src/registry/convex/clients/nextjs/proxy.ts", "type": "registry:lib", "target": "src/proxy.ts" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "NEXT_PUBLIC_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server.\n\n2. Copy the deployment URL to your `.env.local` file as `NEXT_PUBLIC_CONVEX_URL`.\n\n3. The Convex schema and functions will be automatically deployed when you run `npx convex dev`.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env.local` file as `NEXT_PUBLIC_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "dropzone-react", "type": "registry:component", "title": "Dropzone (React)", "description": "A file upload dropzone component powered by Convex storage. Supports drag and drop, file validation, upload progress, and full Convex backend.", "registryDependencies": ["button"], "dependencies": [ "lucide-react", "react-dropzone", "convex@latest", "@auth/core", "@convex-dev/auth@latest" ], "files": [ { "path": "src/registry/convex/blocks/dropzone-react/components/dropzone.tsx", "type": "registry:component", "target": "components/dropzone.tsx" }, { "path": "src/registry/convex/blocks/dropzone-react/hooks/use-convex-upload.ts", "type": "registry:hook", "target": "hooks/use-convex-upload.ts" }, { "path": "src/registry/convex/blocks/dropzone-react/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/dropzone-react/convex/files.ts", "type": "registry:file", "target": "convex/files.ts" }, { "path": "src/registry/convex/clients/react/lib/convex/client.ts", "type": "registry:lib", "target": "lib/convex/client.ts" }, { "path": "src/registry/convex/clients/react/lib/convex/provider.tsx", "type": "registry:lib", "target": "lib/convex/provider.tsx" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "VITE_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. The Convex schema and functions will be automatically deployed when you run `npx convex dev`.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "dropzone-tanstack", "type": "registry:component", "title": "Dropzone (TanStack Start)", "description": "A file upload dropzone component powered by Convex storage. Supports drag and drop, file validation, upload progress, and full Convex backend.", "registryDependencies": ["button"], "dependencies": [ "lucide-react", "react-dropzone", "convex@latest", "@auth/core", "@convex-dev/react-query@latest", "@tanstack/react-query@latest", "@convex-dev/auth@latest" ], "files": [ { "path": "src/registry/convex/blocks/dropzone-tanstack/components/dropzone.tsx", "type": "registry:component", "target": "components/dropzone.tsx" }, { "path": "src/registry/convex/blocks/dropzone-tanstack/hooks/use-convex-upload.ts", "type": "registry:hook", "target": "hooks/use-convex-upload.ts" }, { "path": "src/registry/convex/blocks/dropzone-tanstack/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/dropzone-tanstack/convex/files.ts", "type": "registry:file", "target": "convex/files.ts" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/client.ts", "type": "registry:lib", "target": "lib/convex/client.ts" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/provider.tsx", "type": "registry:lib", "target": "lib/convex/provider.tsx" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/server.ts", "type": "registry:lib", "target": "lib/convex/server.ts" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "VITE_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. The Convex schema and functions will be automatically deployed when you run `npx convex dev`.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "current-user-avatar-nextjs", "type": "registry:component", "title": "Current User Avatar (Next.js)", "description": "A reactive avatar component that displays the current authenticated user's image and name. Updates automatically when user data changes. Includes Convex backend for user queries.", "registryDependencies": ["avatar", "skeleton"], "dependencies": [ "convex@latest", "@convex-dev/auth@latest", "@auth/core" ], "files": [ { "path": "src/registry/convex/blocks/current-user-avatar-nextjs/components/current-user-avatar.tsx", "type": "registry:component", "target": "src/components/current-user-avatar.tsx" }, { "path": "src/registry/convex/blocks/current-user-avatar-nextjs/hooks/use-current-user-image.ts", "type": "registry:hook", "target": "src/hooks/use-current-user-image.ts" }, { "path": "src/registry/convex/blocks/current-user-avatar-nextjs/hooks/use-current-user-name.ts", "type": "registry:hook", "target": "src/hooks/use-current-user-name.ts" }, { "path": "src/registry/convex/blocks/current-user-avatar-nextjs/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/current-user-avatar-nextjs/convex/users.ts", "type": "registry:file", "target": "convex/users.ts" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/client.ts", "type": "registry:lib", "target": "src/lib/convex/client.ts" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/provider.tsx", "type": "registry:lib", "target": "src/lib/convex/provider.tsx" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/server.ts", "type": "registry:lib", "target": "src/lib/convex/server.ts" }, { "path": "src/registry/convex/clients/nextjs/proxy.ts", "type": "registry:lib", "target": "src/proxy.ts" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "NEXT_PUBLIC_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server.\n\n2. Copy the deployment URL to your `.env.local` file as `NEXT_PUBLIC_CONVEX_URL`.\n\n3. This component requires Convex Auth to be configured. Make sure you have authentication set up in your project.\n\n4. The Convex schema and functions will be automatically deployed when you run `npx convex dev`.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env.local` file as `NEXT_PUBLIC_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "current-user-avatar-react", "type": "registry:component", "title": "Current User Avatar (React)", "description": "A reactive avatar component that displays the current authenticated user's image and name. Updates automatically when user data changes. Includes Convex backend for user queries.", "registryDependencies": ["avatar", "skeleton"], "dependencies": [ "convex@latest", "@convex-dev/auth@latest", "@auth/core" ], "files": [ { "path": "src/registry/convex/blocks/current-user-avatar-react/components/current-user-avatar.tsx", "type": "registry:component", "target": "components/current-user-avatar.tsx" }, { "path": "src/registry/convex/blocks/current-user-avatar-react/hooks/use-current-user-image.ts", "type": "registry:hook", "target": "hooks/use-current-user-image.ts" }, { "path": "src/registry/convex/blocks/current-user-avatar-react/hooks/use-current-user-name.ts", "type": "registry:hook", "target": "hooks/use-current-user-name.ts" }, { "path": "src/registry/convex/blocks/current-user-avatar-react/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/current-user-avatar-react/convex/users.ts", "type": "registry:file", "target": "convex/users.ts" }, { "path": "src/registry/convex/clients/react/lib/convex/client.ts", "type": "registry:lib", "target": "lib/convex/client.ts" }, { "path": "src/registry/convex/clients/react/lib/convex/provider.tsx", "type": "registry:lib", "target": "lib/convex/provider.tsx" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "VITE_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. This component requires Convex Auth to be configured. Make sure you have authentication set up in your project.\n\n4. The Convex schema and functions will be automatically deployed when you run `npx convex dev`.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "current-user-avatar-tanstack", "type": "registry:component", "title": "Current User Avatar (TanStack Start)", "description": "A reactive avatar component that displays the current authenticated user's image and name. Updates automatically when user data changes. Includes Convex backend for user queries.", "registryDependencies": ["avatar", "skeleton"], "dependencies": [ "convex@latest", "@convex-dev/auth@latest", "@auth/core", "@convex-dev/react-query@latest", "@tanstack/react-query@latest" ], "files": [ { "path": "src/registry/convex/blocks/current-user-avatar-tanstack/components/current-user-avatar.tsx", "type": "registry:component", "target": "components/current-user-avatar.tsx" }, { "path": "src/registry/convex/blocks/current-user-avatar-tanstack/hooks/use-current-user-image.ts", "type": "registry:hook", "target": "hooks/use-current-user-image.ts" }, { "path": "src/registry/convex/blocks/current-user-avatar-tanstack/hooks/use-current-user-name.ts", "type": "registry:hook", "target": "hooks/use-current-user-name.ts" }, { "path": "src/registry/convex/blocks/current-user-avatar-tanstack/convex/schema.ts", "type": "registry:file", "target": "convex/schema.ts" }, { "path": "src/registry/convex/blocks/current-user-avatar-tanstack/convex/users.ts", "type": "registry:file", "target": "convex/users.ts" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/client.ts", "type": "registry:lib", "target": "lib/convex/client.ts" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/provider.tsx", "type": "registry:lib", "target": "lib/convex/provider.tsx" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/server.ts", "type": "registry:lib", "target": "lib/convex/server.ts" } ], "envVars": { "CONVEX_DEPLOYMENT": "", "VITE_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. This component requires Convex Auth to be configured. Make sure you have authentication set up in your project.\n\n4. The Convex schema and functions will be automatically deployed when you run `npx convex dev`.\n\n## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`." }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "convex-client-nextjs", "type": "registry:lib", "title": "Convex Client for Next.js", "description": "Convex client setup for Next.js with authentication support", "registryDependencies": [], "dependencies": [ "convex@latest", "@convex-dev/auth@latest", "@auth/core" ], "envVars": { "CONVEX_DEPLOYMENT": "", "NEXT_PUBLIC_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env.local` file as `NEXT_PUBLIC_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`.", "files": [ { "path": "src/registry/convex/clients/nextjs/lib/convex/client.ts", "type": "registry:lib", "target": "src/lib/convex/client.ts" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/provider.tsx", "type": "registry:lib", "target": "src/lib/convex/provider.tsx" }, { "path": "src/registry/convex/clients/nextjs/lib/convex/server.ts", "type": "registry:lib", "target": "src/lib/convex/server.ts" }, { "path": "src/registry/convex/clients/nextjs/proxy.ts", "type": "registry:lib", "target": "src/proxy.ts" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "convex-client-react", "type": "registry:lib", "title": "Convex Client for React", "description": "Convex client setup for React (Vite) with authentication support", "registryDependencies": [], "dependencies": [ "convex@latest", "@convex-dev/auth@latest", "@auth/core" ], "envVars": { "CONVEX_DEPLOYMENT": "", "VITE_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`.", "files": [ { "path": "src/registry/convex/clients/react/lib/convex/client.ts", "type": "registry:lib", "target": "lib/convex/client.ts" }, { "path": "src/registry/convex/clients/react/lib/convex/provider.tsx", "type": "registry:lib", "target": "lib/convex/provider.tsx" } ] }, { "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "convex-client-tanstack", "type": "registry:lib", "title": "Convex Client for TanStack Start", "description": "Convex client setup for TanStack Start with React Query integration and authentication support", "registryDependencies": [], "dependencies": [ "convex@latest", "@convex-dev/auth@latest", "@auth/core", "@convex-dev/react-query@latest", "@tanstack/react-query@latest" ], "envVars": { "CONVEX_DEPLOYMENT": "", "VITE_CONVEX_URL": "" }, "docs": "## Post-Install Setup\n\n1. Run `npx convex dev` to start the Convex dev server and get your deployment URL.\n\n2. Copy the deployment URL to your `.env` file as `VITE_CONVEX_URL`.\n\n3. Wrap your app with the `ConvexAuthProvider` from `lib/convex/provider.tsx`.", "files": [ { "path": "src/registry/convex/clients/tanstack/lib/convex/client.ts", "type": "registry:lib", "target": "lib/convex/client.ts" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/provider.tsx", "type": "registry:lib", "target": "lib/convex/provider.tsx" }, { "path": "src/registry/convex/clients/tanstack/lib/convex/server.ts", "type": "registry:lib", "target": "lib/convex/server.ts" } ] } ] }