feat(frontend): harmoniser navigation et libellés

This commit is contained in:
Matthieu
2025-09-24 09:39:15 +02:00
parent 83b3e33b1e
commit f924c65ab8
8 changed files with 210 additions and 118 deletions

View File

@@ -2,7 +2,7 @@
<main class="container mx-auto px-6 py-8">
<div class="my-8">
<div class="flex justify-between items-center mb-6">
<h2 class="text-2xl font-bold">Machines</h2>
<h2 class="text-2xl font-bold">Parc Machines</h2>
<NuxtLink to="/machines/new" class="btn btn-primary">
<IconLucidePlus class="w-5 h-5 mr-2" aria-hidden="true" />
Ajouter une machine

View File

@@ -2,9 +2,9 @@
<main class="mx-auto flex w-full max-w-6xl flex-col gap-8 px-4 py-8 sm:px-6 lg:px-8">
<header class="space-y-2">
<p class="text-sm uppercase tracking-wide text-primary">Administration</p>
<h1 class="text-3xl font-bold text-base-content">Types de modèles</h1>
<h1 class="text-3xl font-bold text-base-content">{{ heading }}</h1>
<p class="text-base text-base-content/70">
Gérez les types de modèles pour les composants et les pièces. Ajoutez, modifiez ou supprimez des entrées avec tri, recherche et pagination.
Gérez les catégories utilisées pour structurer les catalogues de composants et de pièces. Ajoutez, modifiez ou supprimez des entrées avec tri, recherche et pagination.
</p>
</header>
@@ -45,7 +45,7 @@
</template>
<script setup lang="ts">
import { onBeforeUnmount, onMounted, ref, watch } from 'vue';
import { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue';
import { useHead } from '#imports';
import ModelTypesToolbar from '~/components/model-types/Toolbar.vue';
import ModelTypesTable from '~/components/model-types/Table.vue';
@@ -85,9 +85,11 @@ let activeController: AbortController | null = null;
const { showError, showSuccess } = useToast();
useHead({
title: 'Types de modèles',
});
const heading = computed(() => (category.value === 'COMPONENT' ? 'Catégorie de composant' : 'Catégorie de pièce'));
useHead(() => ({
title: heading.value,
}));
const extractErrorMessage = (error: unknown) => {
if (error && typeof error === 'object') {

View File

@@ -2,7 +2,7 @@
<main class="container mx-auto px-6 py-8 space-y-8">
<header class="flex flex-col gap-4 md:flex-row md:items-center md:justify-between">
<div class="space-y-1">
<h1 class="text-3xl font-bold text-gray-800">Modèles de composants</h1>
<h1 class="text-3xl font-bold text-gray-800">Catalogue de composant</h1>
<p class="text-sm text-gray-500">Gérez les modèles disponibles pour chaque famille de composant.</p>
</div>
<div class="tabs tabs-boxed">

View File

@@ -1,17 +1,17 @@
<template>
<div class="min-h-[60vh] flex flex-col items-center justify-center gap-6 text-center">
<div class="space-y-2">
<h1 class="text-3xl font-semibold">Gestion des modèles</h1>
<h1 class="text-3xl font-semibold">Gestion des catalogues</h1>
<p class="text-sm text-gray-500">
Administrez les modèles de composants et de pièces utilisés lors de la configuration des machines.
</p>
</div>
<div class="flex flex-wrap items-center justify-center gap-3">
<NuxtLink to="/models/components" class="btn btn-primary">
Modèles de composants
Catalogue de composant
</NuxtLink>
<NuxtLink to="/models/pieces" class="btn btn-outline">
Modèles de pièces
Catalogue de pièce
</NuxtLink>
</div>
</div>

View File

@@ -2,7 +2,7 @@
<main class="container mx-auto px-6 py-8 space-y-8">
<header class="flex flex-col gap-4 md:flex-row md:items-center md:justify-between">
<div class="space-y-1">
<h1 class="text-3xl font-bold text-gray-800">Modèles de pièces</h1>
<h1 class="text-3xl font-bold text-gray-800">Catalogue de pièce</h1>
<p class="text-sm text-gray-500">Gérez les modèles disponibles pour chaque groupe de pièces.</p>
</div>
<div class="tabs tabs-boxed">

View File

@@ -6,7 +6,7 @@
<div class="my-8">
<!-- Header with Add Button -->
<div class="flex justify-between items-center mb-6">
<h2 class="text-2xl font-bold text-gray-800">Types de Machines</h2>
<h2 class="text-2xl font-bold text-gray-800">Schémas de machine</h2>
<NuxtLink to="/generator" class="btn btn-primary">
<IconLucidePlus
class="w-5 h-5 mr-2"