Scaffold iniziale Vue 3 + Vite

Aggiunge struttura base del progetto: package.json, vite.config.js,
index.html con viewport mobile, main.js, CSS globale mobile-first
e .gitignore.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-24 23:13:49 +01:00
parent f7c4a34772
commit 3eb0860a3d
6 changed files with 117 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
node_modules/
dist/
.DS_Store

12
index.html Normal file
View File

@@ -0,0 +1,12 @@
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>BitePlan</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
</body>
</html>

17
package.json Normal file
View File

@@ -0,0 +1,17 @@
{
"name": "biteplan",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
"dependencies": {
"vue": "^3.4.0"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.0.0",
"vite": "^5.0.0"
}
}

5
src/main.js Normal file
View File

@@ -0,0 +1,5 @@
import { createApp } from 'vue'
import App from './App.vue'
import './style.css'
createApp(App).mount('#app')

74
src/style.css Normal file
View File

@@ -0,0 +1,74 @@
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
:root {
--color-bg: #f5f5f5;
--color-surface: #ffffff;
--color-primary: #2d6a4f;
--color-primary-light: #52b788;
--color-text: #1a1a1a;
--color-muted: #6b7280;
--color-border: #e5e7eb;
--color-danger: #dc2626;
--radius: 8px;
--nav-height: 60px;
}
html, body {
height: 100%;
font-family: system-ui, -apple-system, sans-serif;
font-size: 16px;
background: var(--color-bg);
color: var(--color-text);
}
#app {
height: 100%;
display: flex;
flex-direction: column;
max-width: 480px;
margin: 0 auto;
background: var(--color-bg);
}
.page {
flex: 1;
overflow-y: auto;
padding: 16px;
padding-bottom: calc(var(--nav-height) + 16px);
}
.page-title {
font-size: 1.25rem;
font-weight: 700;
margin-bottom: 16px;
}
button {
font-size: 1rem;
cursor: pointer;
border: none;
border-radius: var(--radius);
min-height: 44px;
padding: 0 16px;
}
input[type="text"],
input[type="number"] {
font-size: 1rem;
border: 1px solid var(--color-border);
border-radius: var(--radius);
padding: 10px 12px;
min-height: 44px;
width: 100%;
background: var(--color-surface);
color: var(--color-text);
}
input:focus {
outline: 2px solid var(--color-primary);
outline-offset: 1px;
}

6
vite.config.js Normal file
View File

@@ -0,0 +1,6 @@
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
export default defineConfig({
plugins: [vue()]
})