lfqian's picture
Add auto-refresh service: refresh data daily at 5 AM ET
0b89e2d
import { createApp } from 'vue'
import App from './App.vue'
import router from './router/index.js'
import { autoRefreshService } from './lib/autoRefresh.js'
// PrimeVue setup
import PrimeVue from 'primevue/config'
import Aura from '@primevue/themes/aura'
import { definePreset } from '@primevue/themes'
import Button from 'primevue/button'
import Card from 'primevue/card'
import Dropdown from 'primevue/dropdown'
import MultiSelect from 'primevue/multiselect'
import InputText from 'primevue/inputtext'
import InputSwitch from 'primevue/inputswitch'
import TabView from 'primevue/tabview'
import TabPanel from 'primevue/tabpanel'
import DataTable from 'primevue/datatable'
import Column from 'primevue/column'
import ProgressSpinner from 'primevue/progressspinner'
import Checkbox from 'primevue/checkbox'
import Divider from 'primevue/divider'
import DatePicker from 'primevue/datepicker'
import Slider from 'primevue/slider'
import Tooltip from 'primevue/tooltip'
import Drawer from 'primevue/drawer'
import Tag from 'primevue/tag'
import emailjs from 'emailjs-com'
// Styles
import 'primeicons/primeicons.css'
import 'primeflex/primeflex.css'
// PrimeVue v4 theme preset (Aura - slate)
const AuraSlate = definePreset(Aura, {
semantic: {
primary: {
50: '{slate.50}',
100: '{slate.100}',
200: '{slate.200}',
300: '{slate.300}',
400: '{slate.400}',
500: '{slate.500}',
600: '{slate.600}',
700: '{slate.700}',
800: '{slate.800}',
900: '{slate.900}',
950: '{slate.950}'
}
}
})
const app = createApp(App)
app.use(router)
app.use(PrimeVue, {
theme: {
preset: AuraSlate,
options: {
darkModeSelector: '.dark-mode',
cssLayer: false
}
}
})
app.component('Button', Button)
app.component('Card', Card)
app.component('Dropdown', Dropdown)
app.component('MultiSelect', MultiSelect)
app.component('InputText', InputText)
app.component('InputSwitch', InputSwitch)
app.component('TabView', TabView)
app.component('TabPanel', TabPanel)
app.component('DataTable', DataTable)
app.component('Column', Column)
app.component('ProgressSpinner', ProgressSpinner)
app.component('Checkbox', Checkbox)
app.component('Divider', Divider)
app.component('DatePicker', DatePicker)
app.component('Slider', Slider)
app.component('Drawer', Drawer)
app.component('Tag', Tag)
app.directive('tooltip', Tooltip)
// Initialize EmailJS using env public key if available
try {
const pubKey = import.meta.env.VITE_EMAILJS_PUBLIC_KEY
if (pubKey) { emailjs.init(pubKey) }
} catch (_) { }
// Start auto-refresh service (daily at 5 AM ET)
autoRefreshService.start()
app.mount('#app')