diff --git a/apps/insights.saladeaula.digital/app/routes/_app._index/route.tsx b/apps/insights.saladeaula.digital/app/routes/_app._index/route.tsx index f240d1b..5134d2c 100644 --- a/apps/insights.saladeaula.digital/app/routes/_app._index/route.tsx +++ b/apps/insights.saladeaula.digital/app/routes/_app._index/route.tsx @@ -4,10 +4,6 @@ export function meta({}: Route.MetaArgs) { return [{ title: 'Visão geral' }] } -export function loader({ context }: Route.LoaderArgs) { - return { message: context.cloudflare.env.VALUE_FROM_CLOUDFLARE } -} - export default function Route({}: Route.ComponentProps) { return <> } diff --git a/apps/insights.saladeaula.digital/app/routes/_app.enrollments._index/route.tsx b/apps/insights.saladeaula.digital/app/routes/_app.enrollments._index/route.tsx index 0a53f1a..a882121 100644 --- a/apps/insights.saladeaula.digital/app/routes/_app.enrollments._index/route.tsx +++ b/apps/insights.saladeaula.digital/app/routes/_app.enrollments._index/route.tsx @@ -5,6 +5,8 @@ import { MeiliSearchFilterBuilder } from 'meilisearch-helper' import { Suspense, useState } from 'react' import { Await, Outlet, useSearchParams } from 'react-router' +import { cloudflareContext } from '@repo/auth/context' + import { DataTable, DataTableViewOptions } from '@repo/ui/components/data-table' import { FacetedFilter } from '@repo/ui/components/faceted-filter' import { RangeCalendarFilter } from '@repo/ui/components/range-calendar-filter' @@ -22,6 +24,7 @@ export function meta({}: Route.MetaArgs) { } export async function loader({ context, request }: Route.LoaderArgs) { + const cloudflare = context.get(cloudflareContext) const { searchParams } = new URL(request.url) const query = searchParams.get('q') || '' const from = searchParams.get('from') @@ -49,7 +52,7 @@ export async function loader({ context, request }: Route.LoaderArgs) { query, page, hitsPerPage, - env: context.cloudflare.env + env: cloudflare.env }) return { @@ -76,7 +79,7 @@ export default function Route({ loaderData: { data } }: Route.ComponentProps) { - {({ hits, page, hitsPerPage, totalHits }) => ( + {({ hits, page = 1, hitsPerPage, totalHits }) => ( - {({ hits, page, hitsPerPage, totalHits }) => { + {({ hits, page = 1, hitsPerPage, totalHits }) => { return ( - {({ hits, page, hitsPerPage, totalHits }) => { + {({ hits, page = 1, hitsPerPage, totalHits }) => { return ( >('oidc') if (user?.accessToken && strategy) { diff --git a/apps/insights.saladeaula.digital/app/routes/~.api.$/route.ts b/apps/insights.saladeaula.digital/app/routes/~.api.$/route.ts index af722e6..458d32b 100644 --- a/apps/insights.saladeaula.digital/app/routes/~.api.$/route.ts +++ b/apps/insights.saladeaula.digital/app/routes/~.api.$/route.ts @@ -1,7 +1,7 @@ import type { Route } from './+types/route' import type { User } from '@repo/auth/auth' -import { userContext } from '@repo/auth/context' +import { userContext, cloudflareContext } from '@repo/auth/context' import { authMiddleware } from '@repo/auth/middleware/auth' export const middleware: Route.MiddlewareFunction[] = [authMiddleware] @@ -13,8 +13,9 @@ async function proxy({ context }: Route.ActionArgs): Promise { const pathname = new URL(request.url).pathname.replace(/^\/~\/api\//, '') - const user = context.get(userContext) as User - const url = new URL(pathname, context.cloudflare.env.API_URL) + const cloudflare = context.get(cloudflareContext) + const user = context.get(userContext)! + const url = new URL(pathname, cloudflare.env.API_URL) const headers = new Headers(request.headers) headers.set('Authorization', `Bearer ${user.accessToken}`) diff --git a/apps/insights.saladeaula.digital/workers/app.ts b/apps/insights.saladeaula.digital/workers/app.ts index 78f50ef..a6ca45a 100644 --- a/apps/insights.saladeaula.digital/workers/app.ts +++ b/apps/insights.saladeaula.digital/workers/app.ts @@ -1,12 +1,9 @@ import { createRequestHandler, RouterContextProvider } from 'react-router' +import { cloudflareContext } from '@repo/auth/context' -declare module 'react-router' { - export interface AppLoadContext { - cloudflare: { - env: Env - ctx: ExecutionContext - } - } +declare module '@repo/auth/context' { + interface CloudflareEnv extends Env {} + interface CloudflareCtx extends ExecutionContext {} } const requestHandler = createRequestHandler( @@ -16,11 +13,10 @@ const requestHandler = createRequestHandler( export default { async fetch(request, env, ctx) { - const context = new RouterContextProvider() - - return requestHandler( - request, - Object.assign(context, { cloudflare: { env, ctx } }) + const context = new RouterContextProvider( + new Map([[cloudflareContext, { env, ctx }]]) ) + + return requestHandler(request, context) } } satisfies ExportedHandler