import React from "react"; import "@fontsource/jetbrains-mono"; import "@fontsource-variable/inter"; import "@fontsource-variable/instrument-sans"; import { Rebase, RebaseAuth, useRebaseAuthController } from "@rebasepro/app"; import { RebaseAdmin, RebaseShell } from "@rebasepro/admin"; import { ErrorBoundary } from "@rebasepro/ui"; import { RebaseStudio } from "@rebasepro/studio"; import { createRebaseClient } from "@rebasepro/client"; import { collections } from "virtual:rebase-collections"; // Configuration from environment const API_URL = import.meta.env.VITE_API_URL || (import.meta.env.DEV ? "http://localhost:3001" : undefined); const GOOGLE_CLIENT_ID = import.meta.env.VITE_GOOGLE_CLIENT_ID; export function App() { const rebaseClient = React.useMemo(() => createRebaseClient({ baseUrl: API_URL, // Store the refresh token in an httpOnly cookie (XSS-safe) rather than // localStorage. The backend issues it via `auth.cookieAuth`. auth: { authFlowMode: "cookie" } }), []); const authController = useRebaseAuthController({ client: rebaseClient, googleClientId: GOOGLE_CLIENT_ID }); return ( ); }