Files
adam-acs/inertia/app/app.ts
T
Kevin L'HereecandCopilot d1c65dbf1e chore: initial commit — AdonisJS v7 TR-069 ACS
- Docker infrastructure (Dockerfile, docker-compose.yml, genieacs-sim)
- AdonisJS v7 app with Inertia.js + Vue 3
- MongoDB integration
- CWMP/TR-069 state machine engine
- Configuration engine with compliance tracking
- Branding: ADAM ACS (favicon, navbar, locales)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-29 16:46:37 +02:00

36 lines
1021 B
TypeScript

import { createApp, h } from 'vue'
import type { DefineComponent } from 'vue'
import { createInertiaApp } from '@inertiajs/vue3'
import DefaultLayout from '../layouts/MainLayout.vue'
import { createI18n } from 'vue-i18n'
import fr from '../locales/fr.json'
import en from '../locales/en.json'
import 'boosted/dist/css/boosted.min.css'
import './app.css'
const i18n = createI18n({
legacy: false,
locale: 'fr',
fallbackLocale: 'en',
messages: { fr, en },
})
createInertiaApp({
title: (title) => `${title} - ADAM ACS`,
resolve: (name) => {
const pages = import.meta.glob('../pages/**/*.vue', { eager: true }) as Record<string, { default: DefineComponent }>
const page = pages[`../pages/${name}.vue`]
if (!page) {
throw new Error(`Page not found: ${name}`)
}
page.default.layout = page.default.layout || DefaultLayout
return page
},
setup({ el, App, props, plugin }) {
createApp({ render: () => h(App, props) })
.use(plugin)
.use(i18n)
.mount(el)
},
})