2026-06-12 22:20:29 +08:00
|
|
|
// Vue 3 application entry point for Obelisk.
|
|
|
|
|
|
|
|
|
|
import { createApp } from 'vue';
|
|
|
|
|
import App from './App.vue';
|
|
|
|
|
import router from './router.js';
|
|
|
|
|
import { loadInitialData } from './data.js';
|
|
|
|
|
|
|
|
|
|
// Import all original CSS globally
|
|
|
|
|
import '../styles/base.css';
|
|
|
|
|
import '../styles/sidebar.css';
|
|
|
|
|
import '../styles/toolbar.css';
|
|
|
|
|
import '../styles/list.css';
|
|
|
|
|
import '../styles/detail.css';
|
|
|
|
|
import '../styles/statusbar.css';
|
|
|
|
|
|
|
|
|
|
const app = createApp(App);
|
|
|
|
|
|
|
|
|
|
app.use(router);
|
|
|
|
|
|
2026-06-13 03:42:01 +08:00
|
|
|
// Load data on startup
|
2026-06-12 22:20:29 +08:00
|
|
|
router.isReady().then(() => {
|
|
|
|
|
loadInitialData();
|
|
|
|
|
});
|
|
|
|
|
|
2026-06-13 03:42:01 +08:00
|
|
|
// Refresh data when window regains focus
|
|
|
|
|
document.addEventListener('visibilitychange', () => {
|
|
|
|
|
if (document.visibilityState === 'visible') {
|
|
|
|
|
loadInitialData();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
window.obelisk?.onIndexUpdated?.(() => {
|
|
|
|
|
loadInitialData();
|
|
|
|
|
});
|
|
|
|
|
|
2026-06-12 22:20:29 +08:00
|
|
|
app.mount('#app');
|