import './bootstrap';
import '../css/app.css';
import {VelureVuePlugin} from '@robojuice/velure-ui';
import { createApp, h } from 'vue';
import { createInertiaApp } from '@inertiajs/vue3';
import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers';
import { ZiggyVue } from '../../vendor/tightenco/ziggy';
import {} from "pinia";
import UserResult from "@/Components/Search/UserResult.vue";
const appName = import.meta.env.VITE_APP_NAME || 'Laravel';
createInertiaApp({
title: (title) => \`\${title} - \${appName}\`,
resolve: (name) => resolvePageComponent(\`./Pages/\${name}.vue\`, import.meta.glob('./Pages/**/*.vue')),
setup({ el, App, props, plugin }) {
return createApp({ render: () => h(App, props) })
.use(plugin)
.use(ZiggyVue)
.use(VelureVuePlugin, (app) => {
return {
globalSearchQuery: async (query) => {
// get the route using Ziggy
const route = app.config.globalProperties.route('api.global-search');
const response = await axios.get(route, {params: {query}});
response.data.data.sort((a, b) => {
if (a.type < b.type) { return -1; }
if (a.type > b.type) { return 1; }
return 0;
});
return response.data;
},
globalSearchComponents: {
User: UserResult,
}
};
})
.mount(el);
},
progress: {
color: '#4B5563',
},
});