- Vue 3.5 + Vite 8 + PrimeVue 4 (Aura) + TailwindCSS 4 + DM Sans - Sistema de tenant multi-prefeitura: bootstrap, prefeituraStore, getTenant - Tema dinâmico por município via applyTemplate (9 paletas) - Logo e foto de fundo resolvidos a partir do VITE_API_URL + path relativo - HomeView: hero split com foto/gradiente, carousel de avisos, cards de serviços - LoginView: fluxo 2 etapas (documento na home → senha em /login) - Roteamento completo: público (/), serviços (/servicos/*), portal autenticado (/portal/*) - authStore + authService estruturados para Keycloak PKCE (integração pendente) - Placeholders para todas as telas da área logada Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
41 lines
1.1 KiB
JSON
41 lines
1.1 KiB
JSON
{
|
|
"name": "portal-modumfiscal-web",
|
|
"private": true,
|
|
"version": "0.0.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"lint": "eslint --fix . --ext .vue,.js --ignore-path .gitignore"
|
|
},
|
|
"dependencies": {
|
|
"@primeuix/themes": "^2.0.3",
|
|
"axios": "^1.16.1",
|
|
"jwt-decode": "^4.0.0",
|
|
"pinia": "^3.0.4",
|
|
"pinia-plugin-persistedstate": "^4.7.1",
|
|
"pkce-challenge": "^6.0.0",
|
|
"primeicons": "^7.0.0",
|
|
"primevue": "^4.5.5",
|
|
"tailwindcss-primeui": "^0.6.1",
|
|
"vue": "^3.5.34",
|
|
"vue-router": "^5.0.7",
|
|
"zod": "^4.4.3"
|
|
},
|
|
"devDependencies": {
|
|
"@primevue/auto-import-resolver": "^4.5.5",
|
|
"@rushstack/eslint-patch": "^1.16.1",
|
|
"@tailwindcss/vite": "^4.3.0",
|
|
"@vitejs/plugin-vue": "^6.0.6",
|
|
"@vue/eslint-config-prettier": "^10.2.0",
|
|
"autoprefixer": "^10.5.0",
|
|
"eslint-plugin-vue": "^10.9.1",
|
|
"postcss": "^8.5.14",
|
|
"sass": "^1.99.0",
|
|
"tailwindcss": "^4.3.0",
|
|
"unplugin-vue-components": "^32.0.0",
|
|
"vite": "^8.0.12"
|
|
}
|
|
}
|