style(front) : ajuste l'espacement sous les titres + PageHeader sur la messagerie
- Retire les marges hautes redondantes (doublon avec le pb du PageHeader) : dashboard (KPI), my-tasks (kanban + liste), time-tracking, documents - Messagerie : titre passé sur <PageHeader> (cohérent avec les autres pages), bouton refresh déplacé dans #actions Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -95,11 +95,13 @@ function handleTaskLinked(_taskId: number): void {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="flex h-full flex-col overflow-hidden">
|
<div class="flex h-full flex-col overflow-hidden">
|
||||||
<div class="flex flex-shrink-0 items-center justify-between border-b border-neutral-200 bg-white px-4 py-3">
|
<div class="flex-shrink-0">
|
||||||
<h1 class="text-lg font-semibold text-neutral-900">
|
<PageHeader>
|
||||||
{{ t('mail.title') }}
|
{{ t('mail.title') }}
|
||||||
</h1>
|
<template #actions>
|
||||||
<MailRefreshButton />
|
<MailRefreshButton />
|
||||||
|
</template>
|
||||||
|
</PageHeader>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-1 overflow-hidden">
|
<div class="flex flex-1 overflow-hidden">
|
||||||
|
|||||||
@@ -450,7 +450,7 @@ onMounted(async () => {
|
|||||||
|
|
||||||
<!-- Kanban View — grouped by canonical category -->
|
<!-- Kanban View — grouped by canonical category -->
|
||||||
<div v-if="viewMode === 'kanban'">
|
<div v-if="viewMode === 'kanban'">
|
||||||
<div class="mt-6 flex h-[calc(100vh-260px)] gap-3 overflow-x-auto pb-4">
|
<div class="flex h-[calc(100vh-260px)] gap-3 overflow-x-auto pb-4">
|
||||||
<div
|
<div
|
||||||
v-for="cat in CATEGORIES"
|
v-for="cat in CATEGORIES"
|
||||||
:key="cat"
|
:key="cat"
|
||||||
@@ -510,7 +510,7 @@ onMounted(async () => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- List View -->
|
<!-- List View -->
|
||||||
<div v-if="viewMode === 'list'" class="mt-6 flex flex-col gap-2.5 rounded-[10px] bg-tertiary-500 p-2.5">
|
<div v-if="viewMode === 'list'" class="flex flex-col gap-2.5 rounded-[10px] bg-tertiary-500 p-2.5">
|
||||||
<TaskBulkActions
|
<TaskBulkActions
|
||||||
:selected-count="selectedTaskIds.size"
|
:selected-count="selectedTaskIds.size"
|
||||||
:total-count="tasks.length"
|
:total-count="tasks.length"
|
||||||
|
|||||||
@@ -98,7 +98,7 @@
|
|||||||
</PageHeader>
|
</PageHeader>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="relative z-0 mt-4 -mb-24 min-h-0 flex-1">
|
<div class="relative z-0 -mb-24 min-h-0 flex-1">
|
||||||
<TimeEntryList
|
<TimeEntryList
|
||||||
v-if="viewMode === 'list'"
|
v-if="viewMode === 'list'"
|
||||||
:entries="filteredEntries"
|
:entries="filteredEntries"
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<!-- Filtre local + rechargement -->
|
<!-- Filtre local + rechargement -->
|
||||||
<div class="mt-4 flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
<div class="max-w-sm flex-1">
|
<div class="max-w-sm flex-1">
|
||||||
<MalioInputText
|
<MalioInputText
|
||||||
v-model="filter"
|
v-model="filter"
|
||||||
|
|||||||
@@ -548,7 +548,7 @@ const lineOptions = {
|
|||||||
|
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<!-- KPI Cards -->
|
<!-- KPI Cards -->
|
||||||
<div class="mt-6 grid grid-cols-2 gap-4 lg:grid-cols-4">
|
<div class="grid grid-cols-2 gap-4 lg:grid-cols-4">
|
||||||
<div class="rounded-xl border border-neutral-100 bg-neutral-50 p-5">
|
<div class="rounded-xl border border-neutral-100 bg-neutral-50 p-5">
|
||||||
<p class="text-xs font-medium uppercase tracking-wider text-neutral-400">
|
<p class="text-xs font-medium uppercase tracking-wider text-neutral-400">
|
||||||
{{ $t('dashboard.stats.hoursPeriod') }}
|
{{ $t('dashboard.stats.hoursPeriod') }}
|
||||||
|
|||||||
Reference in New Issue
Block a user