import { sentryHandleError } from '~/lib/sentry';
/**
* Using our conditional Sentry implementation instead of direct import
* This avoids loading Sentry in development environments
*/
import type { AppLoadContext } from '~/lib/remix-types';
import { RemixServer } from '@remix-run/react';
import { isbot } from 'isbot';
import { renderToString } from 'react-dom/server';
import { renderHeadToString } from 'remix-island';
import { Head } from './root';
import { themeStore } from '~/lib/stores/theme';
export const handleError = sentryHandleError;
export default async function handleRequest(
request: Request,
responseStatusCode: number,
responseHeaders: Headers,
remixContext: any,
_loadContext: AppLoadContext,
) {
// Check if the request is from a bot
const userAgent = request.headers.get('user-agent');
const isBot = isbot(userAgent || '');
// Create the HTML string
const markup = renderToString(