Files
DredgeTours/resources/js/app.ts
2025-09-17 23:34:37 +10:00

34 lines
1.2 KiB
TypeScript

import '../css/app.css';
import { createInertiaApp } from '@inertiajs/vue3';
import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers';
import type { DefineComponent } from 'vue';
import { createApp, h } from 'vue';
import { initializeTheme } from './composables/useAppearance';
import vuetify from "@/plugins/vuetify.js";
import {intersectionTransition} from "@/directives/intersectionTransition";
import {hoverEffects} from "@/directives/hoverEffects";
const appName = import.meta.env.VITE_APP_NAME || 'Laravel';
createInertiaApp({
title: (title) => (title ? `${title} - ${appName}` : appName),
resolve: (name) => resolvePageComponent(`./pages/${name}.vue`, import.meta.glob<DefineComponent>('./pages/**/*.vue')),
setup({ el, App, props, plugin }) {
console.log('Inertia app mounted', props.initialPage);
createApp({ render: () => h(App, props) })
.use(plugin)
.use(vuetify)
.directive('show-on-intersect', intersectionTransition)
.directive('hover', hoverEffects)
.mount(el);
},
progress: {
color: '#4B5563',
},
});
// This will set light / dark mode on page load...
initializeTheme();