123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import './bootstrap'
  2. import { createApp, h } from 'vue'
  3. import { createInertiaApp } from '@inertiajs/inertia-vue3'
  4. import { InertiaProgress } from '@inertiajs/progress'
  5. import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers'
  6. import 'primevue/resources/primevue.min.css'
  7. import 'primeflex/primeflex.css'
  8. import 'primeicons/primeicons.css'
  9. import 'primevue/resources/themes/lara-light-indigo/theme.css'
  10. import '../css/layout.scss'
  11. import PrimeVue from 'primevue/config'
  12. import StyleClass from 'primevue/styleclass'
  13. import AutoComplete from 'primevue/autocomplete'
  14. import Badge from 'primevue/badge'
  15. import Button from 'primevue/button'
  16. import Calendar from 'primevue/calendar'
  17. import Card from 'primevue/card'
  18. import Chart from 'primevue/chart'
  19. import Column from 'primevue/column'
  20. import ColumnGroup from 'primevue/columngroup'
  21. import ConfirmationService from 'primevue/confirmationservice'
  22. import ConfirmDialog from 'primevue/confirmdialog'
  23. import DataTable from 'primevue/datatable'
  24. import DialogService from 'primevue/dialogservice'
  25. import DynamicDialog from 'primevue/dynamicdialog'
  26. import Divider from 'primevue/divider'
  27. import Dropdown from 'primevue/dropdown'
  28. import Editor from 'primevue/editor'
  29. import InputNumber from 'primevue/inputnumber'
  30. import InputText from 'primevue/inputtext'
  31. import Message from 'primevue/message'
  32. import Password from 'primevue/password'
  33. import Row from 'primevue/row'
  34. import Ripple from 'primevue/ripple'
  35. import TabView from 'primevue/tabview'
  36. import TabPanel from 'primevue/tabpanel'
  37. import Tooltip from 'primevue/tooltip'
  38. createInertiaApp({
  39. title: (title) => `${title} - Cahaya Agung`,
  40. resolve: (name) =>
  41. resolvePageComponent(
  42. `./pages/${name}.vue`,
  43. import.meta.glob('./pages/**/*.vue')
  44. ),
  45. setup({ el, App, props, plugin }) {
  46. createApp({ render: () => h(App, props) })
  47. .mixin({ methods: { route } })
  48. .use(plugin)
  49. .use(PrimeVue, {
  50. ripple: true,
  51. })
  52. .use(ConfirmationService)
  53. .use(DialogService)
  54. .directive('styleclass', StyleClass)
  55. .directive('tooltip', Tooltip)
  56. .directive('ripple', Ripple)
  57. .component('AutoComplete', AutoComplete)
  58. .component('Button', Button)
  59. .component('Badge', Badge)
  60. .component('Card', Card)
  61. .component('Calendar', Calendar)
  62. .component('Chart', Chart)
  63. .component('Column', Column)
  64. .component('ColumnGroup', ColumnGroup)
  65. .component('ConfirmDialog', ConfirmDialog)
  66. .component('DataTable', DataTable)
  67. .component('Divider', Divider)
  68. .component('DynamicDialog', DynamicDialog)
  69. .component('Dropdown', Dropdown)
  70. .component('Editor', Editor)
  71. .component('InputNumber', InputNumber)
  72. .component('InputText', InputText)
  73. .component('Message', Message)
  74. .component('Password', Password)
  75. .component('Row', Row)
  76. .component('TabView', TabView)
  77. .component('TabPanel', TabPanel)
  78. .mount(el)
  79. },
  80. })
  81. InertiaProgress.init({
  82. color: '#4F46E5',
  83. })