Files
Easytier/easytier-gui/src/main.ts
T
Mg Pig 1f2517c731 feat(gui): add service and remote mode support (#1578)
This PR fundamentally restructures the EasyTier GUI, introducing support for service mode and remote mode, transforming it from a simple desktop application into a powerful network management terminal. This change allows users to persistently run the EasyTier core as a background service or remotely manage multiple EasyTier instances, greatly improving deployment flexibility and manageability.
2025-11-25 13:59:27 +08:00

64 lines
1.5 KiB
TypeScript

import Aura from '@primeuix/themes/aura';
import PrimeVue from 'primevue/config';
import EasyTierFrontendLib, { I18nUtils } from 'easytier-frontend-lib';
import { createRouter, createWebHistory } from 'vue-router/auto';
import { routes } from 'vue-router/auto-routes';
import App from '~/App.vue';
import 'easytier-frontend-lib/style.css';
import { ConfirmationService, DialogService, ToastService } from 'primevue';
import '~/styles.css';
if (import.meta.env.PROD) {
document.addEventListener('keydown', (event) => {
if (
event.key === 'F5'
|| (event.ctrlKey && event.key === 'r')
|| (event.metaKey && event.key === 'r')
) {
event.preventDefault()
}
})
document.addEventListener('contextmenu', (event) => {
event.preventDefault()
})
}
async function main() {
await I18nUtils.loadLanguageAsync(localStorage.getItem('lang') || 'en')
const app = createApp(App)
const router = createRouter({
history: createWebHistory(),
routes,
})
app.use(router)
app.use(createPinia())
app.use(EasyTierFrontendLib)
// app.use(i18n, { useScope: 'global' })
app.use(PrimeVue, {
theme: {
preset: Aura,
options: {
prefix: 'p',
darkModeSelector: 'system',
cssLayer: {
name: 'primevue',
order: 'tailwind-base, primevue, tailwind-utilities',
},
},
},
})
app.use(ToastService)
app.use(DialogService)
app.use(ConfirmationService)
app.mount('#app')
}
main()