diff --git a/apps/deploy-fe/src/app/(web3-authenticated)/(dashboard)/home/loading.tsx b/apps/deploy-fe/src/app/(web3-authenticated)/(dashboard)/home/loading.tsx new file mode 100644 index 0000000..0e7311c --- /dev/null +++ b/apps/deploy-fe/src/app/(web3-authenticated)/(dashboard)/home/loading.tsx @@ -0,0 +1,6 @@ +'use client' +import { LoadingOverlay } from '@/components/foundation/loading/loading-overlay' + +export default function Loading() { + return +} diff --git a/apps/deploy-fe/src/app/(web3-authenticated)/(dashboard)/home/page.tsx b/apps/deploy-fe/src/app/(web3-authenticated)/(dashboard)/home/page.tsx index 69c5058..d14ecb7 100644 --- a/apps/deploy-fe/src/app/(web3-authenticated)/(dashboard)/home/page.tsx +++ b/apps/deploy-fe/src/app/(web3-authenticated)/(dashboard)/home/page.tsx @@ -1,28 +1,33 @@ -import PageWrapper from '@/components/foundation/page-wrapper' -import { Button } from '@workspace/ui/components/button' -import { Github, Shapes } from 'lucide-react' +import { auth, clerkClient } from '@clerk/nextjs/server' +import { Octokit } from '@octokit/rest' +import { notFound } from 'next/navigation' + +export default async function Page() { + const clerk = await clerkClient() + const authenticated = await auth() + const userId = authenticated.userId + + if (!userId) { + return notFound() + } + + // try { + const { data } = await clerk.users.getUserOauthAccessToken(userId, 'github') + console.log(data[0]?.token) + // if (data[0]?.token.length > 0) { + const octokit = new Octokit({ + auth: data[0]?.token + }) + const isAuthenticated = await octokit.orgs.listForAuthenticatedUser() + console.log(isAuthenticated) + // const userrr = await octokit.rest.repos.get() + // console.log(userrr) + // } + // } catch (error) {} -export default function OnboardingFlow() { return ( - -
-
- - -

- Deploy your first app -

-

- Once connected, you can import a repository from your account or - start with one of our templates. -

-
- - -
-
+
+ {JSON.stringify(data[0]?.token, null, 2)} +
) } diff --git a/apps/deploy-fe/src/app/api/auth/route.ts b/apps/deploy-fe/src/app/api/auth/route.ts new file mode 100644 index 0000000..dc56365 --- /dev/null +++ b/apps/deploy-fe/src/app/api/auth/route.ts @@ -0,0 +1,52 @@ +// nextjs route handler, checks import { NextResponse } from 'next/server' +import { auth } from '@clerk/nextjs/server' +import { clerkClient } from '@clerk/nextjs/server' +import { NextResponse } from 'next/server' + +export async function GET() { + await auth.protect() + + const clerk = await clerkClient() + const authenticated = await auth() + + // if (!userId) { + // return new Response('Unauthorized', { status: 401 }) + // } + + // if (!userId) { + // return new Response('Unauthorized', { status: 401 }) + // } + + const userId = authenticated.userId + + if (!userId) { + return new Response(JSON.stringify({ error: 'Error: No signed in user' }), { + status: 401 + }) + } + + console.log('Frome the api') + // try { + // let res + // if (userId) { + const res = await clerk.users.getUserOauthAccessToken(userId, 'github') + // } + // } catch (error) { + // console.error(error) + // } + // const github = await clerk.getUserOAuthAccessToken('oauth_github') + + // const { userId } = await auth() + // if (!userId) { + // return new Response('Unauthorized', { status: 401 }) + // } + + // const token = await getToken({ template: 'oauth_github' }) + + // Fetch data from Supabase and return it. + // const data = { token: token } + // console.log(data) + // + const data = res.data[0]?.token + return NextResponse.json({ res: data }) +} diff --git a/apps/deploy-fe/src/app/page.tsx b/apps/deploy-fe/src/app/page.tsx index ec82297..c99d78b 100644 --- a/apps/deploy-fe/src/app/page.tsx +++ b/apps/deploy-fe/src/app/page.tsx @@ -4,6 +4,7 @@ import PageWrapper from '@/components/foundation/page-wrapper' import { Button } from '@workspace/ui/components/button' import type { Metadata } from 'next' import Link from 'next/link' + export const metadata: Metadata = { title: 'Home Page', description: 'Home page description' @@ -24,7 +25,7 @@ export default function Page() { action now. Keep it scannable, short and benefit-driven.

- {/*