feat : layout administration (WIP)

This commit is contained in:
2026-02-05 16:47:01 +01:00
parent 3062709f08
commit c186e6a5e1
4 changed files with 83 additions and 45 deletions

34
.idea/workspace.xml generated
View File

@@ -4,12 +4,12 @@
<option name="autoReloadType" value="SELECTIVE" /> <option name="autoReloadType" value="SELECTIVE" />
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="7c107abe-5995-4428-8429-b146aaca8386" name="Changes" comment="feat : Ajout de la sélection des bovins étape 3 d'une réception (WIP)"> <list default="true" id="7c107abe-5995-4428-8429-b146aaca8386" name="Changes" comment="feat : layout administration (WIP)">
<change afterPath="$PROJECT_DIR$/frontend/layouts/admin.vue" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/pages/admin/dashboard.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/config/reference.php" beforeDir="false" afterPath="$PROJECT_DIR$/config/reference.php" afterDir="false" /> <change beforePath="$PROJECT_DIR$/config/reference.php" beforeDir="false" afterPath="$PROJECT_DIR$/config/reference.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/package-lock.json" beforeDir="false" afterPath="$PROJECT_DIR$/frontend/package-lock.json" afterDir="false" /> <change beforePath="$PROJECT_DIR$/frontend/layouts/admin.vue" beforeDir="false" afterPath="$PROJECT_DIR$/frontend/layouts/admin.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/layouts/default.vue" beforeDir="false" afterPath="$PROJECT_DIR$/frontend/layouts/default.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/frontend/pages/admin/dashboard.vue" beforeDir="false" afterPath="$PROJECT_DIR$/frontend/pages/admin/dashboard.vue" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -40,7 +40,7 @@
<component name="Git.Settings"> <component name="Git.Settings">
<option name="RECENT_BRANCH_BY_REPOSITORY"> <option name="RECENT_BRANCH_BY_REPOSITORY">
<map> <map>
<entry key="$PROJECT_DIR$" value="feat/271-expedition-etape-1" /> <entry key="$PROJECT_DIR$" value="develop" />
</map> </map>
</option> </option>
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
@@ -228,7 +228,7 @@
"RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true", "RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
"RunOnceActivity.git.unshallow": "true", "RunOnceActivity.git.unshallow": "true",
"RunOnceActivity.typescript.service.memoryLimit.init": "true", "RunOnceActivity.typescript.service.memoryLimit.init": "true",
"git-widget-placeholder": "develop", "git-widget-placeholder": "feat/front-end-layout-admin",
"last_opened_file_path": "/home/sroy/Documents/test/Ferme", "last_opened_file_path": "/home/sroy/Documents/test/Ferme",
"node.js.detected.package.eslint": "true", "node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true", "node.js.detected.package.tslint": "true",
@@ -298,14 +298,6 @@
<workItem from="1770195959162" duration="18915000" /> <workItem from="1770195959162" duration="18915000" />
<workItem from="1770274844804" duration="3940000" /> <workItem from="1770274844804" duration="3940000" />
</task> </task>
<task id="LOCAL-00001" summary="feat : Ajout de pinia, création de la table weight et reception mise en place du système de step pour les receptions (WIP)">
<option name="closed" value="true" />
<created>1768237763998</created>
<option name="number" value="00001" />
<option name="presentableId" value="LOCAL-00001" />
<option name="project" value="LOCAL" />
<updated>1768237763998</updated>
</task>
<task id="LOCAL-00002" summary="feat : Ajout de zod, création d'un composant de chargement loading-dots.vue et finalisation du flow d'une reception"> <task id="LOCAL-00002" summary="feat : Ajout de zod, création d'un composant de chargement loading-dots.vue et finalisation du flow d'une reception">
<option name="closed" value="true" /> <option name="closed" value="true" />
<created>1768316052474</created> <created>1768316052474</created>
@@ -690,7 +682,15 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1770217875423</updated> <updated>1770217875423</updated>
</task> </task>
<option name="localTasksCounter" value="50" /> <task id="LOCAL-00050" summary="feat : layout administration (WIP)">
<option name="closed" value="true" />
<created>1770296486375</created>
<option name="number" value="00050" />
<option name="presentableId" value="LOCAL-00050" />
<option name="project" value="LOCAL" />
<updated>1770296486375</updated>
</task>
<option name="localTasksCounter" value="51" />
<servers /> <servers />
</component> </component>
<component name="TypeScriptGeneratedFilesManager"> <component name="TypeScriptGeneratedFilesManager">
@@ -740,7 +740,6 @@
</option> </option>
</component> </component>
<component name="VcsManagerConfiguration"> <component name="VcsManagerConfiguration">
<MESSAGE value="fix : correction du path URI pour la création d'un poids dans une réception" />
<MESSAGE value="feat : Ajout du bundle Monolog pour la gestion des logs" /> <MESSAGE value="feat : Ajout du bundle Monolog pour la gestion des logs" />
<MESSAGE value="fix : affiche plus détail dans les logs en recette/prod" /> <MESSAGE value="fix : affiche plus détail dans les logs en recette/prod" />
<MESSAGE value="fix : modification du script de déploiement pour corriger le problème d'écriture des logs de prod" /> <MESSAGE value="fix : modification du script de déploiement pour corriger le problème d'écriture des logs de prod" />
@@ -765,7 +764,8 @@
<MESSAGE value="feat : ajout de colonne pour les Supplier, Address. Modification du numéro de réception et ajout de fixtures" /> <MESSAGE value="feat : ajout de colonne pour les Supplier, Address. Modification du numéro de réception et ajout de fixtures" />
<MESSAGE value="feat : mise à jour du bon de réception" /> <MESSAGE value="feat : mise à jour du bon de réception" />
<MESSAGE value="feat : Ajout de la sélection des bovins étape 3 d'une réception (WIP)" /> <MESSAGE value="feat : Ajout de la sélection des bovins étape 3 d'une réception (WIP)" />
<option name="LAST_COMMIT_MESSAGE" value="feat : Ajout de la sélection des bovins étape 3 d'une réception (WIP)" /> <MESSAGE value="feat : layout administration (WIP)" />
<option name="LAST_COMMIT_MESSAGE" value="feat : layout administration (WIP)" />
</component> </component>
<component name="XDebuggerManager"> <component name="XDebuggerManager">
<breakpoint-manager> <breakpoint-manager>

View File

@@ -1,29 +1,50 @@
<template> <template>
<div class="min-h-screen bg-white text-neutral-900"> <div class="min-h-screen text-neutral-900 grid grid-rows-[85px,1fr]">
<header class="fixed top-0 left-0 right-0 z-50 border-b border-neutral-200 bg-primary-500 h-[85px]"> <!-- HEADER -->
<div class="flex h-full w-full items-center px-6"> <header class="bg-primary-500 z-50 h-[85px]">
<NuxtLink to="/" class="flex items-center gap-3"> <div class="h-full w-full px-6 grid grid-cols-[auto,1fr,auto] items-center gap-8">
<span class="flex items-center justify-center bg-white text-xl font-bold uppercase text-primary-500 p-4"> <NuxtLink to="/" class="grid place-items-center">
<span class="grid place-items-center bg-white text-xl font-bold uppercase text-primary-500 p-4">
LOGO LOGO
</span> </span>
</NuxtLink> </NuxtLink>
<nav class="mx-8 flex flex-1 gap-8 text-2xl font-bold uppercase text-white"></nav> <nav class="text-2xl font-bold uppercase text-white"></nav>
<NuxtLink to="/" class="ml-auto text-xl font-bold uppercase text-white transition hover:opacity-80"> <NuxtLink
to="/"
class="text-xl font-bold uppercase text-white transition hover:opacity-80 justify-self-end"
>
Quitter le panel admin Quitter le panel admin
</NuxtLink> </NuxtLink>
</div> </div>
</header> </header>
<aside <div class="grid grid-cols-[16rem,1fr] h-[calc(100vh-85px)] min-h-0">
class="fixed left-0 top-[85px] z-40 w-64 h-[calc(100vh-85px)] bg-primary-500 text-white flex flex-col" <aside class="bg-primary-500 text-white min-h-0 grid grid-rows-[auto,1fr,auto]">
> <div class="p-4 font-semibold">Tableau de bord</div>
<div class="flex-1 overflow-y-auto p-4 space-y-4">
Dashboard <div class="overflow-y-auto min-h-0 p-4 space-y-3">
<!-- Ici il faut une list des entite modifiable -->
<div>Réception</div>
<div>Expédition</div>
<div>Véhicule</div>
<div>Poids</div>
<div>Fournisseur</div>
<div>Bovin</div>
<div>Type de livraison</div>
<div>Client</div>
<div>Transporteur</div>
<div>Adresse</div>
<div>Utilisateur</div>
<div>Batiments</div>
<div>Driver</div>
<div>Toto</div>
<div>Toto</div>
<div>Toto</div>
</div> </div>
<div class="p-4 border-t border-neutral-700"> <div class="p-4">
<button <button
@click="handleLogout" @click="handleLogout"
class="w-full bg-red-600 hover:bg-red-700 py-2 rounded font-bold" class="w-full bg-red-600 hover:bg-red-700 py-2 rounded font-bold"
@@ -33,15 +54,19 @@
</div> </div>
</aside> </aside>
<main class="pt-[85px] ml-64 px-6"> <!-- MAIN -->
<main class="min-h-0 overflow-auto px-6 py-6">
<div class="mx-auto w-full max-w-[1280px] py-6"> <div class="mx-auto w-full max-w-[1280px] py-6">
<slot /> <slot />
</div> </div>
</main> </main>
</div> </div>
</div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
const handleLogout = async () => { const handleLogout = async () => {
try { try {
await auth.logout() await auth.logout()

View File

@@ -28,6 +28,15 @@
Reception Reception
</a> </a>
</NuxtLink> </NuxtLink>
<NuxtLink to="/admin/dashboard" custom v-slot="{ href, navigate, isActive }">
<a
:href="href"
@click="navigate"
:class="isReceptionActive ? 'opacity-100' : 'opacity-50'"
>
Admin
</a>
</NuxtLink>
</nav> </nav>
<button <button
type="button" type="button"

View File

@@ -5,7 +5,11 @@ definePageMeta({
</script> </script>
<template> <template>
<h1>test</h1> <h1>Quam ob rem id primum videamus, si placet, quatenus amor in amicitia progredi debeat. Numne, si Coriolanus habuit amicos, ferre contra patriam arma illi cum Coriolano debuerunt? num Vecellinum amici regnum adpetentem, num Maelium debuerunt iuvare?
Cum haec taliaque sollicitas eius aures everberarent expositas semper eius modi rumoribus et patentes, varia animo tum miscente consilia, tandem id ut optimum factu elegit: et Vrsicinum primum ad se venire summo cum honore mandavit ea specie ut pro rerum tunc urgentium captu disponeretur concordi consilio, quibus virium incrementis Parthicarum gentium a arma minantium impetus frangerentur.
Ciliciam vero, quae Cydno amni exultat, Tarsus nobilitat, urbs perspicabilis hanc condidisse Perseus memoratur, Iovis filius et Danaes, vel certe ex Aethiopia profectus Sandan quidam nomine vir opulentus et nobilis et Anazarbus auctoris vocabulum referens, et Mopsuestia vatis illius domicilium Mopsi, quem a conmilitio Argonautarum cum aureo vellere direpto redirent, errore abstractum delatumque ad Africae litus mors repentina consumpsit, et ex eo cespite punico tecti manes eius heroici dolorum varietati medentur plerumque sospitales.</h1>
</template> </template>
<style scoped> <style scoped>