feat: add Supabase authentication context and routes

- Implemented Supabase authentication context in `supabase.tsx` for managing user login and logout.
- Created a new SVG logo file for branding.
- Set up main application entry point in `main.tsx` with router integration.
- Added web vitals reporting in `reportWebVitals.ts`.
- Generated route tree in `routeTree.gen.ts` for application routing.
- Established root route in `__root.tsx` with TanStack Router Devtools integration.
- Created authenticated route in `_authenticated.tsx` to protect routes.
- Developed planes route under authenticated section in `planes.tsx`.
- Implemented login route with form handling in `login.tsx`.
- Added index route with welcome message in `index.tsx`.
- Included basic styles in `styles.css`.
- Configured TypeScript settings in `tsconfig.json`.
- Set up Vite configuration with React and TanStack Router plugins in `vite.config.ts`.
This commit is contained in:
2025-08-19 15:38:37 -06:00
commit a52259451c
26 changed files with 1585 additions and 0 deletions

27
src/routes/__root.tsx Normal file
View File

@@ -0,0 +1,27 @@
import { Outlet, createRootRouteWithContext } from '@tanstack/react-router'
import { TanStackRouterDevtoolsPanel } from '@tanstack/react-router-devtools'
import { TanstackDevtools } from '@tanstack/react-devtools'
import type { SupabaseAuthState } from '@/auth/supabase'
interface AuthContext {
auth: SupabaseAuthState
}
export const Route = createRootRouteWithContext<AuthContext>()({
component: () => (
<>
<Outlet />
<TanstackDevtools
config={{
position: 'bottom-left',
}}
plugins={[
{
name: 'Tanstack Router',
render: <TanStackRouterDevtoolsPanel />,
},
]}
/>
</>
),
})