WIP
7a65ab04
5 file(s) · +41 −40
| 8 | 8 | ||
| 9 | 9 | // https://astro.build/config |
|
| 10 | 10 | export default defineConfig({ |
|
| 11 | - | site: "https://stevedylan.dev", |
|
| 12 | - | outDir: "dist", |
|
| 13 | - | image: { |
|
| 14 | - | service: passthroughImageService(), |
|
| 15 | - | }, |
|
| 16 | - | markdown: { |
|
| 17 | - | shikiConfig: { |
|
| 18 | - | theme: "css-variables", |
|
| 19 | - | wrap: true, |
|
| 20 | - | }, |
|
| 21 | - | }, |
|
| 22 | - | prefetch: true, |
|
| 23 | - | integrations: [mdx({}), tailwind({ |
|
| 24 | - | config: { |
|
| 25 | - | applyBaseStyles: false, |
|
| 26 | - | }, |
|
| 27 | - | }), sitemap(), react()], |
|
| 28 | - | vite: { |
|
| 29 | - | define: { |
|
| 30 | - | "process.env.NODE_ENV": `'${process.env.NODE_ENV}'`, |
|
| 31 | - | }, |
|
| 32 | - | }, |
|
| 33 | - | output: "hybrid", |
|
| 34 | - | adapter: cloudflare(), |
|
| 35 | - | }); |
|
| 11 | + | site: "https://stevedylan.dev", |
|
| 12 | + | outDir: "dist", |
|
| 13 | + | image: { |
|
| 14 | + | service: passthroughImageService(), |
|
| 15 | + | }, |
|
| 16 | + | markdown: { |
|
| 17 | + | shikiConfig: { |
|
| 18 | + | theme: "css-variables", |
|
| 19 | + | wrap: true, |
|
| 20 | + | }, |
|
| 21 | + | }, |
|
| 22 | + | prefetch: true, |
|
| 23 | + | integrations: [ |
|
| 24 | + | mdx({}), |
|
| 25 | + | tailwind({ |
|
| 26 | + | config: { |
|
| 27 | + | applyBaseStyles: false, |
|
| 28 | + | }, |
|
| 29 | + | }), |
|
| 30 | + | sitemap(), |
|
| 31 | + | react(), |
|
| 32 | + | ], |
|
| 33 | + | vite: { |
|
| 34 | + | define: { |
|
| 35 | + | "process.env.NODE_ENV": `'${process.env.NODE_ENV}'`, |
|
| 36 | + | "process.env": process.env, |
|
| 37 | + | }, |
|
| 38 | + | }, |
|
| 39 | + | output: "hybrid", |
|
| 40 | + | adapter: cloudflare(), |
|
| 41 | + | }); |
| 1 | - | import { createClient } from "@supabase/supabase-js"; |
|
| 2 | - | ||
| 3 | - | export function SignInButton({ supabaseUrl, supabaseKey }) { |
|
| 4 | - | const supabase = createClient(supabaseUrl, supabaseKey); |
|
| 1 | + | import { supabase } from "src/lib/supabase"; |
|
| 5 | 2 | ||
| 3 | + | export function SignInButton() { |
|
| 6 | 4 | async function signInWithGithub() { |
|
| 7 | 5 | await supabase.auth.signInWithOAuth({ |
|
| 8 | 6 | provider: "github", |
| 1 | - | // const { env } = Astro.locals.runtime; |
|
| 2 | - | // import { createClient } from "@supabase/supabase-js"; |
|
| 1 | + | import { createClient } from "@supabase/supabase-js"; |
|
| 3 | 2 | ||
| 4 | - | // export const supabase = createClient( |
|
| 5 | - | // env.PUBLIC_SUPABASE_URL, |
|
| 6 | - | // env.PUBLIC_SUPABASE_ANON_KEY, |
|
| 7 | - | // ); |
|
| 3 | + | export const supabase = createClient( |
|
| 4 | + | import.meta.env.PUBLIC_SUPABASE_URL, |
|
| 5 | + | import.meta.env.PUBLIC_SUPABASE_ANON_KEY, |
|
| 6 | + | ); |
| 1 | 1 | import { createServerClient, parseCookieHeader } from "@supabase/ssr"; |
|
| 2 | 2 | import type { APIRoute } from "astro"; |
|
| 3 | 3 | ||
| 4 | - | export const GET: APIRoute = async ({ request, redirect, locals }) => { |
|
| 4 | + | export const GET: APIRoute = async ({ request, redirect }) => { |
|
| 5 | 5 | const requestUrl = new URL(request.url); |
|
| 6 | 6 | const code = requestUrl.searchParams.get("code"); |
|
| 7 | 7 | const next = requestUrl.searchParams.get("next") || "/"; |
|
| 8 | 8 | ||
| 9 | 9 | if (code) { |
|
| 10 | 10 | const supabase = createServerClient( |
|
| 11 | - | locals.runtime.env.PUBLIC_SUPABASE_URL, |
|
| 12 | - | locals.runtime.env.PUBLIC_SUPABASE_ANON_KEY, |
|
| 11 | + | import.meta.env.PUBLIC_SUPABASE_URL, |
|
| 12 | + | import.meta.env.PUBLIC_SUPABASE_ANON_KEY, |
|
| 13 | 13 | { |
|
| 14 | 14 | cookies: { |
|
| 15 | 15 | getAll() { |
| 11 | 11 | <PageLayout meta={meta}> |
|
| 12 | 12 | <div class="space-y-6"> |
|
| 13 | 13 | <SignInButton |
|
| 14 | - | supabaseUrl={Astro.locals.runtime.env.PUBLIC_SUPABASE_URL} |
|
| 15 | - | supabaseKey={Astro.locals.runtime.env.PUBLIC_SUPABASE_ANON_KEY} |
|
| 16 | 14 | client:load /> |
|
| 17 | 15 | </div> |
|
| 18 | 16 | </PageLayout> |