Spaces:
Running
Running
File size: 2,525 Bytes
ac784c2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
import { createApp } from 'vue'
import App from './App.vue'
import router from './router/index.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 (_) { }
app.mount('#app')
|