import './bootstrap' import '../css/app.css' import '../css/spinner.css' import 'flowbite' import 'react-toastify/dist/ReactToastify.css' import React from 'react' import NProgress from 'nprogress' import { createRoot } from 'react-dom/client' import { createInertiaApp, router } from '@inertiajs/react' import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers' const appName = window.document.getElementsByTagName('title')[0]?.innerText || 'Laravel' createInertiaApp({ title: (title) => `${title} - ${appName}`, resolve: (name) => resolvePageComponent( `./Customer/${name}.jsx`, import.meta.glob('./Customer/**/*.jsx') ), setup({ el, App, props }) { const root = createRoot(el) root.render() }, progress: { color: '#F1A410', showSpinner: true, includeCSS: true }, }) let timeout = null NProgress.configure({ template: '
Loading
', }) router.on('start', () => { timeout = setTimeout(() => NProgress.start(), 250) }) router.on('progress', (event) => { if (NProgress.isStarted() && event.detail.progress.percentage) { NProgress.set((event.detail.progress.percentage / 100) * 0.9) } }) router.on('finish', (event) => { clearTimeout(timeout) if (!NProgress.isStarted()) { return } else if (event.detail.visit.completed) { NProgress.done() } else if (event.detail.visit.interrupted) { NProgress.set(0) } else if (event.detail.visit.cancelled) { NProgress.done() NProgress.remove() } })