backend api, swagger, tooling, frontend skeleton
This commit is contained in:
3
frontend/app.vue
Normal file
3
frontend/app.vue
Normal file
@@ -0,0 +1,3 @@
|
||||
<template>
|
||||
<NuxtPage />
|
||||
</template>
|
||||
45
frontend/assets/css/main.css
Normal file
45
frontend/assets/css/main.css
Normal file
@@ -0,0 +1,45 @@
|
||||
:root {
|
||||
--bg: #f5f1e8;
|
||||
--text: #1f1b16;
|
||||
--accent: #c46b2d;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: "Space Grotesk", system-ui, sans-serif;
|
||||
background: var(--bg);
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--accent);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 1100px;
|
||||
margin: 0 auto;
|
||||
padding: 24px;
|
||||
}
|
||||
|
||||
.hero {
|
||||
display: grid;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.grid {
|
||||
display: grid;
|
||||
gap: 16px;
|
||||
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
||||
}
|
||||
|
||||
.card {
|
||||
border: 1px solid #e3d8c5;
|
||||
border-radius: 16px;
|
||||
padding: 16px;
|
||||
background: #fffaf2;
|
||||
}
|
||||
12
frontend/nuxt.config.ts
Normal file
12
frontend/nuxt.config.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
export default defineNuxtConfig({
|
||||
devtools: { enabled: true },
|
||||
app: {
|
||||
head: {
|
||||
title: 'MatosBox',
|
||||
meta: [
|
||||
{ name: 'viewport', content: 'width=device-width, initial-scale=1' }
|
||||
]
|
||||
}
|
||||
},
|
||||
css: ['~/assets/css/main.css']
|
||||
})
|
||||
13
frontend/package.json
Normal file
13
frontend/package.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "matosbox-frontend",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "nuxt dev",
|
||||
"build": "nuxt build",
|
||||
"preview": "nuxt preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"nuxt": "3.12.3"
|
||||
}
|
||||
}
|
||||
6
frontend/pages/emplacements/index.vue
Normal file
6
frontend/pages/emplacements/index.vue
Normal file
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<main class="container">
|
||||
<h1>Emplacements</h1>
|
||||
<p>Arborescence a connecter a l'API.</p>
|
||||
</main>
|
||||
</template>
|
||||
12
frontend/pages/index.vue
Normal file
12
frontend/pages/index.vue
Normal file
@@ -0,0 +1,12 @@
|
||||
<template>
|
||||
<main class="container">
|
||||
<section class="hero">
|
||||
<h1>MatosBox</h1>
|
||||
<p>Inventaire simple pour le materiel, les composants et les outils.</p>
|
||||
<nav class="grid">
|
||||
<NuxtLink class="card" to="/objets">Voir les objets</NuxtLink>
|
||||
<NuxtLink class="card" to="/emplacements">Voir les emplacements</NuxtLink>
|
||||
</nav>
|
||||
</section>
|
||||
</main>
|
||||
</template>
|
||||
6
frontend/pages/objets/[id].vue
Normal file
6
frontend/pages/objets/[id].vue
Normal file
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<main class="container">
|
||||
<h1>Fiche objet</h1>
|
||||
<p>Detail a connecter a l'API.</p>
|
||||
</main>
|
||||
</template>
|
||||
6
frontend/pages/objets/index.vue
Normal file
6
frontend/pages/objets/index.vue
Normal file
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<main class="container">
|
||||
<h1>Objets</h1>
|
||||
<p>Liste a connecter a l'API.</p>
|
||||
</main>
|
||||
</template>
|
||||
Reference in New Issue
Block a user