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

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

{{#if ssr}}
import { createSSRApp, h } from 'vue'
{{#else}}
import { createApp, h } from 'vue'
{{/if}}
import type { DefineComponent } from 'vue'
import { createInertiaApp } from '@inertiajs/vue3'
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}.vue`' }},
      import.meta.glob<DefineComponent>('../pages/**/*.vue'),
    )
  },

  setup({ el, App, props, plugin }) {
    {{#if ssr}}
    createSSRApp({ render: () => h(App, props) })
    {{#else}}
    createApp({ render: () => h(App, props) })
    {{/if}}
      .use(plugin)
      .mount(el)
  },
})
