first commit

This commit is contained in:
2025-08-04 14:18:40 +02:00
commit ef266dd0ae
13 changed files with 12120 additions and 0 deletions

24
.gitignore vendored Normal file
View File

@@ -0,0 +1,24 @@
# Nuxt dev/build outputs
.output
.data
.nuxt
.nitro
.cache
dist
# Node dependencies
node_modules
# Logs
logs
*.log
# Misc
.DS_Store
.fleet
.idea
# Local env files
.env
.env.*
!.env.example

75
README.md Normal file
View File

@@ -0,0 +1,75 @@
# Nuxt Minimal Starter
Look at the [Nuxt documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.
## Setup
Make sure to install dependencies:
```bash
# npm
npm install
# pnpm
pnpm install
# yarn
yarn install
# bun
bun install
```
## Development Server
Start the development server on `http://localhost:3000`:
```bash
# npm
npm run dev
# pnpm
pnpm dev
# yarn
yarn dev
# bun
bun run dev
```
## Production
Build the application for production:
```bash
# npm
npm run build
# pnpm
pnpm build
# yarn
yarn build
# bun
bun run build
```
Locally preview production build:
```bash
# npm
npm run preview
# pnpm
pnpm preview
# yarn
yarn preview
# bun
bun run preview
```
Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.

68
app/app.vue Normal file
View File

@@ -0,0 +1,68 @@
<template>
<v-app>
<!-- Toolbar at the top of the screen -->
<v-app-bar color="primary" height="48">
<!-- Title of the application with adjusted margin and font size -->
<v-app-bar-title class="text-h6 ms-3">
<v-icon icon="mdi-apps" @click="drawer = !drawer"></v-icon>
<span class="ms-1">My Application</span>
</v-app-bar-title>
<!-- Spacer to push the following elements to the right -->
<v-spacer />
<!-- Menu icons on the right side of the toolbar -->
<v-btn icon="mdi-home" @click="navigateTo('/')"></v-btn>
<v-btn
icon="mdi-cube-outline"
@click="navigateTo('/products')"
></v-btn>
<v-btn icon="mdi-email" @click="navigateTo('/contact')"></v-btn>
</v-app-bar>
<!-- Navigation drawer for menu actions -->
<v-navigation-drawer v-model="drawer">
<v-list>
<!-- Menu items in the drawer with icons -->
<v-list-item
@click="navigateTo('/')"
title="Home"
prepend-icon="mdi-home"
></v-list-item>
<v-list-item
@click="navigateTo('/products')"
title="Products"
prepend-icon="mdi-cube-outline"
></v-list-item>
<v-list-item
@click="navigateTo('/contact')"
title="Contact"
prepend-icon="mdi-email"
></v-list-item>
</v-list>
</v-navigation-drawer>
<!-- Main content of the application -->
<v-main>
<NuxtPage />
</v-main>
<!-- Smaller footer at the bottom of the screen -->
<v-footer app color="secondary" height="30">
<v-container class="text-caption text-center">
© {{ new Date().getFullYear() }} My Application - All Rights
Reserved
</v-container>
</v-footer>
</v-app>
</template>
<script setup>
// Drawer state to open/close the navigation drawer
const drawer = shallowRef(false);
</script>

9
app/pages/contact.vue Normal file
View File

@@ -0,0 +1,9 @@
<template>
<v-container
class="fill-height d-flex flex-column align-center justify-center text-center"
>
<v-icon icon="mdi-account-box" size="64"></v-icon>
<div class="mt-3">My Application's Contact Page</div>
</v-container>
</template>

9
app/pages/index.vue Normal file
View File

@@ -0,0 +1,9 @@
<template>
<v-container
class="fill-height d-flex flex-column align-center justify-center text-center"
>
<v-icon icon="mdi-home" size="64"></v-icon>
<div class="mt-3">My Application's Home Page</div>
</v-container>
</template>

9
app/pages/products.vue Normal file
View File

@@ -0,0 +1,9 @@
<template>
<v-container
class="fill-height d-flex flex-column align-center justify-center text-center"
>
<v-icon icon="mdi-cube-outline" size="64"></v-icon>
<div class="mt-3">My Application's Products Page</div>
</v-container>
</template>

7
app/plugins/vuetify.js Normal file
View File

@@ -0,0 +1,7 @@
import { createVuetify } from "vuetify";
import * as components from "vuetify/components";
export default defineNuxtPlugin((nuxtApp) => {
const vuetify = createVuetify({ components });
nuxtApp.vueApp.use(vuetify);
});

13
nuxt.config.ts Normal file
View File

@@ -0,0 +1,13 @@
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
compatibilityDate: "2025-07-15",
//pages: true,
ssr: false,
devtools: { enabled: false },
css: ["vuetify/styles", "@mdi/font/css/materialdesignicons.min.css"],
plugins: ["~/plugins/vuetify.js"],
components: true,
build: {
transpile: ["vuetify"],
},
});

11867
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

19
package.json Normal file
View File

@@ -0,0 +1,19 @@
{
"name": "nuxt-app",
"private": true,
"type": "module",
"scripts": {
"build": "nuxt build",
"dev": "nuxt dev",
"generate": "nuxt generate",
"preview": "nuxt preview",
"postinstall": "nuxt prepare"
},
"dependencies": {
"@mdi/font": "^7.4.47",
"nuxt": "^4.0.1",
"vue": "^3.5.18",
"vue-router": "^4.5.1",
"vuetify": "^3.9.3"
}
}

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

2
public/robots.txt Normal file
View File

@@ -0,0 +1,2 @@
User-Agent: *
Disallow:

18
tsconfig.json Normal file
View File

@@ -0,0 +1,18 @@
{
// https://nuxt.com/docs/guide/concepts/typescript
"files": [],
"references": [
{
"path": "./.nuxt/tsconfig.app.json"
},
{
"path": "./.nuxt/tsconfig.server.json"
},
{
"path": "./.nuxt/tsconfig.shared.json"
},
{
"path": "./.nuxt/tsconfig.node.json"
}
]
}