Add responsive pricing page with three tiers#15
Open
durga710 wants to merge 13 commits into
Open
Conversation
Teammates can now create accounts with an invite code from AUTH_TEAM_INVITE_CODES (comma-separated). Sign-up provisions a local User row immediately, which doubles as the membership record; sign-in and requireUser() authorize the owner email or any enrolled member instead of a single hardcoded operator email. - auth-policy: getTeamInviteCodes / isValidTeamInviteCode / canEnrollWithInvite helpers - auth: isAuthorizedDashboardAuthUser() permits owner email or an existing local User row; getOptionalUser drops the owner-only gate - actions: sign-in authorizes after authentication and signs out unauthorized sessions; sign-up gates on owner email OR invite code and upserts the membership row - middleware: protected routes check authentication only (membership needs the DB and is enforced by requireUser); /sign-in?error=... stays reachable for authenticated sessions to avoid redirect loops - new edge-safe auth-route-policy helper + unit tests (node:test/tsx) - sign-in/sign-up copy updated for workspace/team access https://claude.ai/code/session_013M57ExYGVz7k4pFXNMTBL9 Co-authored-by: Claude <noreply@anthropic.com>
Live data from GitHub for project tracking: - github.ts: fetchRepoActivity() — uncached snapshot of recent commits, open PRs, open issues, last push for a linked repo - new GET /api/projects/[id]/github route (owner-scoped, rate-limited) - RepoActivityPanel on the project detail page polls every 60s while the tab is visible, with links into the repo - copilot gains a read_repo_activity tool for 'what changed recently' Copilot uploads: - chat UI: paperclip attach (up to 4 per message), client-side photo downscaling to JPEG ≤1600px, PDFs ≤2.5MB, text files inlined; chips with remove, attachment badges on sent messages - chat route: attachments schema; images → input_image, PDFs → input_file, text → inlined input_text via the Responses API; only the newest message carries payloads https://claude.ai/code/session_013M57ExYGVz7k4pFXNMTBL9 Co-authored-by: Claude <noreply@anthropic.com>
sourceRepo previously had no UI or API path to ever be set, so the live repo activity panel could never appear. The project page now renders the panel unconditionally: unlinked projects get an inline owner/repo form that PATCHes the project, linked ones get a pencil to change it. ProjectCreate/Update schemas accept a validated sourceRepo. https://claude.ai/code/session_013M57ExYGVz7k4pFXNMTBL9 Co-authored-by: Claude <noreply@anthropic.com>
…tus (#4) * feat: copilot builds apps — multi-file pushes to GitHub with PR + preview The Copilot can now build a described app end-to-end: a new build_app_files tool writes up to 15 files to a branch of one of the operator's repos in a single commit (git data API: tree + commit + ref) and optionally opens a PR. Repos connected to Vercel get an automatic live preview deployment on that PR, closing the describe → build → running-app loop. - github.ts: pushFilesToRepo() (blob/tree/commit/ref) and createPullRequest(); openPullRequest reuses the latter - repo-files.ts: pure guardrails (repo/branch/path validation, file count + size caps) with unit tests - copilot system prompt teaches the build workflow; chat starter added https://claude.ai/code/session_013M57ExYGVz7k4pFXNMTBL9 * feat: in-browser code editor + live deployment status Replit-style workspace at /dashboard/code: open any repo the token can reach, browse its file tree, edit in Monaco (vs-dark, language by extension), and commit all edits as one commit to the branch. New files supported; HTML files get a sandboxed iframe 'run preview'. Repo picker pre-filled from projects' linked repos, deep-linkable via ?repo=. - /api/github/tree, /api/github/file (reads), /api/github/commit (write, audited, reuses pushFilesToRepo + repo-files guardrails) - live repo panel: deployments (environment, state, open link) read from GitHub's deployments API, plus an 'edit code' link - sidebar gains a Code entry https://claude.ai/code/session_013M57ExYGVz7k4pFXNMTBL9 --------- Co-authored-by: Claude <noreply@anthropic.com>
* fix: dashboard navigation on mobile The sidebar is hidden below lg and the topbar had no menu, so phones had no way to reach any dashboard section. Adds a horizontally scrollable nav rail under the topbar (lg:hidden) sharing the sidebar's NAV_ITEMS, with active state and the inbox unread badge. https://claude.ai/code/session_013M57ExYGVz7k4pFXNMTBL9 * chore: manual workflow to probe which build each public host serves https://claude.ai/code/session_013M57ExYGVz7k4pFXNMTBL9 --------- Co-authored-by: Claude <noreply@anthropic.com>
https://claude.ai/code/session_013M57ExYGVz7k4pFXNMTBL9 Co-authored-by: Claude <noreply@anthropic.com>
Auth only requires NEXT_PUBLIC_SUPABASE_URL/_ANON_KEY; also accept SUPABASE_URL/SUPABASE_ANON_KEY (the names the Supabase Vercel integration creates) so sign-in works with either naming. https://claude.ai/code/session_013M57ExYGVz7k4pFXNMTBL9 Co-authored-by: Claude <noreply@anthropic.com>
GET /api/health/auth reports booleans only: Supabase env present, database reachable, serving commit. Probe workflow reads it. https://claude.ai/code/session_013M57ExYGVz7k4pFXNMTBL9 Co-authored-by: Claude <noreply@anthropic.com>
The chat copilot was answering build requests with setup tutorials instead of pushing code. Hard rule in the system prompt: act via build_app_files, never reply with steps/code for the operator to run. Live context now lists the linked repos it can push to, so it has concrete targets instead of avoiding the tool. https://claude.ai/code/session_013M57ExYGVz7k4pFXNMTBL9 Co-authored-by: Claude <noreply@anthropic.com>
build_app_files failures on ungranted repos now explain the fine-grained PAT fix verbatim, and a new list_github_repos tool gives the model the real set of push targets so it stops interrogating the operator about branch names. https://claude.ai/code/session_013M57ExYGVz7k4pFXNMTBL9 Co-authored-by: Claude <noreply@anthropic.com>
'Welcome to GCODE': pick a repo (live from /api/github/repos), describe the app, and GCODE writes the code, opens the PR, and surfaces the live preview link — clickable, in its own page with its own persona. - chat API gains mode=builder + repo: a GCODE persona laser-focused on build_app_files with PR always opened, one-line replies with links - GET /api/github/repos for the studio's repo picker - sidebar gains GCODE (Rocket) between AI Copilot and Code https://claude.ai/code/session_013M57ExYGVz7k4pFXNMTBL9 Co-authored-by: Claude <noreply@anthropic.com>
GCODE is the front door now. The editor page stays reachable from each project's 'edit code' link for direct file edits. https://claude.ai/code/session_013M57ExYGVz7k4pFXNMTBL9 Co-authored-by: Claude <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds a dedicated pricing page (
pricing.html) featuring three tiers — Starter, Pro, and Enterprise — with responsive design, pricing details, and CTA buttons.