import { SimpleCodeBlock } from 'ui-patterns/SimpleCodeBlock' import type { ContentFileProps } from '@/components/interfaces/Connect/Connect.types' import { ConnectTabContent, ConnectTabs, ConnectTabTrigger, ConnectTabTriggers, } from '@/components/interfaces/Connect/ConnectTabs' const ContentFile = ({ projectKeys }: ContentFileProps) => { return ( {[ '', `VITE_BRIVEN_URL=${projectKeys.apiUrl ?? 'your-project-url'}`, projectKeys?.publishableKey ? `VITE_BRIVEN_PUBLISHABLE_KEY=${projectKeys.publishableKey}` : `VITE_BRIVEN_ANON_KEY=${projectKeys.anonKey ?? 'your-anon-key'}`, '', ].join('\n')} {` import { createServerClient, parseCookieHeader, serializeCookieHeader, } from "@supabase/ssr"; export function createClient(request: Request) { const headers = new Headers(); const briven = createServerClient( process.env.VITE_BRIVEN_URL!, process.env.VITE_${projectKeys.publishableKey ? 'BRIVEN_PUBLISHABLE_KEY' : 'BRIVEN_ANON_KEY'};, { cookies: { getAll() { return parseCookieHeader(request.headers.get("Cookie") ?? "") as { name: string; value: string; }[]; }, setAll(cookiesToSet) { cookiesToSet.forEach(({ name, value, options }) => headers.append( "Set-Cookie", serializeCookieHeader(name, value, options) ) ); }, }, } ); return { briven, headers }; } `} {` import type { Route } from "./+types/home"; import { createClient } from "~/utils/briven.server"; export async function loader({ request }: Route.LoaderArgs) { const { briven } = createClient(request); const { data: todos } = await briven.from("todos").select(); return { todos }; } export default function Home({ loaderData }: Route.ComponentProps) { return ( <>
    {loaderData.todos?.map((todo) => (
  • {todo.name}
  • ))}
); } `}
) } export default ContentFile