63 lines
1.8 KiB
TypeScript
63 lines
1.8 KiB
TypeScript
import { createApp } from 'vue'
|
|
import router from './router.ts'
|
|
import App from './App.vue'
|
|
import { validateToken, initTheme } from './store.ts'
|
|
import { fluent, setLanguage } from './i18n'
|
|
import './base.css'
|
|
import { getLocalePreference } from './store.ts'
|
|
import { invoke } from '@tauri-apps/api/core'
|
|
|
|
export function logJS(msg: any) {
|
|
invoke('log', { message: typeof msg === 'string' ? msg : JSON.stringify(msg) }).catch(() => { });
|
|
}
|
|
|
|
async function init() {
|
|
await validateToken()
|
|
|
|
const app = createApp(App)
|
|
app.use(router)
|
|
app.use(fluent)
|
|
|
|
const savedLocale = await getLocalePreference();
|
|
const osLocale = navigator.language;
|
|
|
|
await initTheme();
|
|
|
|
if (savedLocale) {
|
|
setLanguage(savedLocale);
|
|
} else {
|
|
setLanguage(osLocale);
|
|
}
|
|
|
|
// await createChannel({
|
|
// id: 'messages',
|
|
// name: 'Messages',
|
|
// description: 'Notifications for new messages',
|
|
// importance: Importance.High,
|
|
// visibility: Visibility.Private,
|
|
// lights: true,
|
|
// lightColor: '#ff0000',
|
|
// vibration: true,
|
|
// sound: 'notification_sound',
|
|
// });
|
|
|
|
// window.addEventListener("error", (event) => {
|
|
// logJS(`Uncaught JS Error: ${event.message} at ${event.filename}:${event.lineno}:${event.colno}`);
|
|
// });
|
|
//
|
|
// window.addEventListener("unhandledrejection", (event) => {
|
|
// logJS(`Unhandled Promise Rejection: ${JSON.stringify(event.reason)}`);
|
|
// });
|
|
|
|
app.mount('#app')
|
|
}
|
|
|
|
init()
|
|
|
|
export const API = 'http://127.0.0.1:8080'
|
|
// export const API = 'http://192.168.1.183:8080'
|
|
// export const API = 'https://alatreon.org/frangipane'
|
|
export const API_WS = 'ws://127.0.0.1:8080/ws'
|
|
// export const API_WS = 'ws://192.168.1.183:8080/ws'
|
|
// export const API_WS = 'wss://alatreon.org/frangipane/ws'
|