Files
nimbus/resources/js/app/app.ts
Mazen Touati 8780a79557 feat: persist UI state (#32)
* feat: persist UI state

* test: fix var declaration

* test: increate e2e timeout

sometimes there might be a network latency to load CDN assets like the fonts. Let's give the tests a maximum of 1 minute to fully run.
2026-01-11 01:32:57 +01:00

54 lines
1.1 KiB
TypeScript

/**
* Main Application Entry Point
*
* This file serves as the primary entry point for the Vue.js application.
* It initializes the Vue app with all necessary plugins, stores, and routing.
*/
/*
* CSS & Bootstrap Imports.
*/
import '~/app.css';
import './bootstrap';
/*
* Core Vue Dependencies.
*/
import { createPinia } from 'pinia';
import { createApp } from 'vue';
/*
* Application Components & Configuration.
*/
import { createPersistedState } from 'pinia-plugin-persistedstate';
import App from './App.vue';
import router from './router';
/**
* Application Initialization.
* Initialize and mount the Vue application
*
* This creates a new Vue app instance with:
* - Pinia store for state management
* - Vue Router for client-side routing
* - Main App component as the root component
*/
const app = createApp(App);
// Configure application plugins
const pinia = createPinia();
app.use(pinia);
pinia.use(
createPersistedState({
key: (id: string) => `nimbus:${id}`,
}),
);
app.use(router);
// Mount the application to the DOM
app.mount('#app');