Skip to content

feat(levelcode): add "Continue with GitHub" to the Cloud login - #85

Merged
ndemianc merged 1 commit into
developfrom
feat/levelcode-github-login
Jul 22, 2026
Merged

feat(levelcode): add "Continue with GitHub" to the Cloud login#85
ndemianc merged 1 commit into
developfrom
feat/levelcode-github-login

Conversation

@ndemianc

Copy link
Copy Markdown
Member

What

Adds a Continue with GitHub button beside Google on /ai/login.

The backend already does the work — oauth_start/oauth_callback accept github (it was the reference provider in web_spec), so this is purely the front door. ProviderSignIn now renders both providers through a shared ProviderLink, reusing the same PKCE-paired oauth_start URL builder and <a> link semantics from the Google PR.

Verified in the dev preview

Both buttons render in-theme (Google G, GitHub mark) and the anchors resolve to:

/ai/auth/oauth/google
/ai/auth/oauth/github

tsc -b and eslint clean. No backend change (github already works and is tested).

login with Google and GitHub buttons

Go-live (human task — like Google)

Unlike Google (which reused the existing GOOGLE_CLIENT_ID), GitHub has no existing client to reuse, so:

  1. Create a GitHub OAuth App (github.com/settings/developers → New OAuth App), Authorization callback URL https://levelcode.ai/ai/auth/callback.
  2. Set GITHUB_OAUTH_ID + GITHUB_OAUTH_SECRET in the EB env.

Then GitHub sign-in completes end-to-end: web → /ai/account, editor → the levelcode:// deep-link.

🤖 Generated with Claude Code

Adds a GitHub button beside Google. The backend already accepts `github` on the
same oauth_start/oauth_callback path (it was the reference provider in web_spec),
so this is purely the front door: ProviderSignIn now renders both providers via a
shared ProviderLink, reusing the same PKCE-paired oauth_start URL builder and the
<a> link semantics.

Verified in the dev preview: both buttons render in-theme (Google G, GitHub mark)
and link to /ai/auth/oauth/{google,github}. tsc -b and eslint clean.

Go-live (a human task, like Google): create a GitHub OAuth App with callback
https://levelcode.ai/ai/auth/callback and set GITHUB_OAUTH_ID / GITHUB_OAUTH_SECRET
in the EB env — unlike Google there's no existing client to reuse.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds GitHub as an additional social login option on the LevelCode Cloud /ai/login page by refactoring the existing Google provider button into a reusable provider-link component and introducing a GitHub icon.

Changes:

  • Refactors the Google-only sign-in link into a reusable ProviderLink used by multiple providers.
  • Adds a “Continue with GitHub” link alongside “Continue with Google”.
  • Introduces a GitHub mark SVG icon for the new provider button.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +39 to +44
}: {
provider: string;
label: string;
redirectUri?: string;
codeChallenge?: string;
children: ReactNode;
@ndemianc
ndemianc merged commit 02862b6 into develop Jul 22, 2026
1 check passed
@ndemianc
ndemianc deleted the feat/levelcode-github-login branch July 22, 2026 23:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants