- Migrate all frontend from plain JS/Tailwind to TypeScript/Vuetify 3 (Vuexy design system) - Replace placeholder plans with 25 real products scraped from WHMCS: 9 VPS plans ($4.20-$30/mo), 8 dedicated servers ($44.39-$107.99/mo), 4 web hosting plans ($2.39-$15.99/mo), 4 MySQL hosting plans ($6-$30/mo) - Fix Pricing page: correct field mapping (service_type, price), display feature values instead of keys, proper price formatting - Update all marketing pages (Home, Products, VPS, Dedicated, Web Hosting) with real specs, pricing, and features from production WHMCS - Add 38 Vuexy @core SCSS override files for component styling - Create 4 layouts (Account, Admin, Auth, Marketing) with Vuetify - Add AppTextField/AppSelect/AppTextarea wrapper components - Purple primary theme (#7367F0), dark mode default - 52 tests passing, build clean Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
31 lines
808 B
TypeScript
31 lines
808 B
TypeScript
import './bootstrap'
|
|
import '@styles/styles.scss'
|
|
|
|
import { createApp, h } from 'vue'
|
|
import { createInertiaApp } from '@inertiajs/vue3'
|
|
import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers'
|
|
import { createPinia } from 'pinia'
|
|
import installVuetify from '@/plugins/vuetify'
|
|
|
|
const appName = import.meta.env.VITE_APP_NAME || 'EZSCALE'
|
|
|
|
createInertiaApp({
|
|
title: (title: string) => title ? `${title} - ${appName}` : appName,
|
|
resolve: (name: string) => resolvePageComponent(
|
|
`./Pages/${name}.vue`,
|
|
import.meta.glob('./Pages/**/*.vue'),
|
|
),
|
|
setup({ el, App, props, plugin }) {
|
|
const app = createApp({ render: () => h(App, props) })
|
|
|
|
app.use(plugin)
|
|
app.use(createPinia())
|
|
installVuetify(app)
|
|
|
|
app.mount(el)
|
|
},
|
|
progress: {
|
|
color: '#2563EB',
|
|
},
|
|
})
|