{{{
  exports({ to: app.makePath('inertia/app/app.tsx') })
}}}
/// <reference path="../../adonisrc.ts" />
/// <reference path="../../config/inertia.ts" />

import '../css/app.css';

{{#if ssr}}
import { hydrateRoot } from 'react-dom/client'
{{#else}}
import { createRoot } from 'react-dom/client';
{{/if}}
import { createInertiaApp } from '@inertiajs/react';
import { resolvePageComponent } from '@adonisjs/inertia/helpers'

const appName = import.meta.env.VITE_APP_NAME || 'AdonisJS'

createInertiaApp({
  progress: { color: '#5468FF' },

  title: (title) => {{ '`${title} - ${appName}`' }},

  resolve: (name) => {
    return resolvePageComponent(
      {{ '`../pages/${name}.tsx`' }},
      import.meta.glob('../pages/**/*.tsx'),
    )
  },

  setup({ el, App, props }) {
    {{#if ssr}}
    hydrateRoot(el, <App {...props} />)
    {{#else}}
    createRoot(el).render(<App {...props} />);
    {{/if}}
  },
});
