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

120
src/routeTree.gen.ts Normal file
View File

@@ -0,0 +1,120 @@
/* eslint-disable */
// @ts-nocheck
// noinspection JSUnusedGlobalSymbols
// This file was automatically generated by TanStack Router.
// You should NOT make any changes in this file as it will be overwritten.
// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.
import { Route as rootRouteImport } from './routes/__root'
import { Route as LoginRouteImport } from './routes/login'
import { Route as AuthenticatedRouteImport } from './routes/_authenticated'
import { Route as IndexRouteImport } from './routes/index'
import { Route as AuthenticatedPlanesRouteImport } from './routes/_authenticated/planes'
const LoginRoute = LoginRouteImport.update({
id: '/login',
path: '/login',
getParentRoute: () => rootRouteImport,
} as any)
const AuthenticatedRoute = AuthenticatedRouteImport.update({
id: '/_authenticated',
getParentRoute: () => rootRouteImport,
} as any)
const IndexRoute = IndexRouteImport.update({
id: '/',
path: '/',
getParentRoute: () => rootRouteImport,
} as any)
const AuthenticatedPlanesRoute = AuthenticatedPlanesRouteImport.update({
id: '/planes',
path: '/planes',
getParentRoute: () => AuthenticatedRoute,
} as any)
export interface FileRoutesByFullPath {
'/': typeof IndexRoute
'/login': typeof LoginRoute
'/planes': typeof AuthenticatedPlanesRoute
}
export interface FileRoutesByTo {
'/': typeof IndexRoute
'/login': typeof LoginRoute
'/planes': typeof AuthenticatedPlanesRoute
}
export interface FileRoutesById {
__root__: typeof rootRouteImport
'/': typeof IndexRoute
'/_authenticated': typeof AuthenticatedRouteWithChildren
'/login': typeof LoginRoute
'/_authenticated/planes': typeof AuthenticatedPlanesRoute
}
export interface FileRouteTypes {
fileRoutesByFullPath: FileRoutesByFullPath
fullPaths: '/' | '/login' | '/planes'
fileRoutesByTo: FileRoutesByTo
to: '/' | '/login' | '/planes'
id: '__root__' | '/' | '/_authenticated' | '/login' | '/_authenticated/planes'
fileRoutesById: FileRoutesById
}
export interface RootRouteChildren {
IndexRoute: typeof IndexRoute
AuthenticatedRoute: typeof AuthenticatedRouteWithChildren
LoginRoute: typeof LoginRoute
}
declare module '@tanstack/react-router' {
interface FileRoutesByPath {
'/login': {
id: '/login'
path: '/login'
fullPath: '/login'
preLoaderRoute: typeof LoginRouteImport
parentRoute: typeof rootRouteImport
}
'/_authenticated': {
id: '/_authenticated'
path: ''
fullPath: ''
preLoaderRoute: typeof AuthenticatedRouteImport
parentRoute: typeof rootRouteImport
}
'/': {
id: '/'
path: '/'
fullPath: '/'
preLoaderRoute: typeof IndexRouteImport
parentRoute: typeof rootRouteImport
}
'/_authenticated/planes': {
id: '/_authenticated/planes'
path: '/planes'
fullPath: '/planes'
preLoaderRoute: typeof AuthenticatedPlanesRouteImport
parentRoute: typeof AuthenticatedRoute
}
}
}
interface AuthenticatedRouteChildren {
AuthenticatedPlanesRoute: typeof AuthenticatedPlanesRoute
}
const AuthenticatedRouteChildren: AuthenticatedRouteChildren = {
AuthenticatedPlanesRoute: AuthenticatedPlanesRoute,
}
const AuthenticatedRouteWithChildren = AuthenticatedRoute._addFileChildren(
AuthenticatedRouteChildren,
)
const rootRouteChildren: RootRouteChildren = {
IndexRoute: IndexRoute,
AuthenticatedRoute: AuthenticatedRouteWithChildren,
LoginRoute: LoginRoute,
}
export const routeTree = rootRouteImport
._addFileChildren(rootRouteChildren)
._addFileTypes<FileRouteTypes>()