Новый экранчик для обзора дашей

This commit is contained in:
2026-02-23 15:54:20 +03:00
parent c30272fe8b
commit 47cffcc35f
35 changed files with 32880 additions and 828 deletions

View File

@@ -184,7 +184,7 @@
<!-- Sidebar -->
<div
class="bg-white border-r border-gray-200 flex flex-col h-screen fixed left-0 top-0 z-30 transition-[width] duration-200 ease-in-out
class="fixed left-0 top-0 z-30 flex h-screen flex-col border-r border-slate-200 bg-white shadow-sm transition-[width] duration-200 ease-in-out
{isExpanded ? 'w-sidebar' : 'w-sidebar-collapsed'}
{isMobileOpen
? 'translate-x-0 w-sidebar'
@@ -192,7 +192,7 @@
>
<!-- Header -->
<div
class="flex items-center p-4 border-b border-gray-200 {isExpanded
class="flex items-center border-b border-slate-200 p-4 {isExpanded
? 'justify-between'
: 'justify-center'}"
>
@@ -214,7 +214,7 @@
<div>
<!-- Category Header -->
<div
class="flex items-center justify-between px-4 py-3 cursor-pointer transition-colors hover:bg-gray-100
class="flex cursor-pointer items-center justify-between px-4 py-3 transition-colors hover:bg-slate-100
{activeCategory === category.id
? 'bg-primary-light text-primary md:border-r-2 md:border-primary'
: ''}"

View File

@@ -191,7 +191,7 @@
<!-- Drawer Overlay -->
{#if isOpen}
<div
class="fixed inset-0 bg-black/40 backdrop-blur-sm z-50"
class="fixed inset-0 z-50 bg-black/35 backdrop-blur-sm"
on:click={handleOverlayClick}
on:keydown={(e) => e.key === 'Escape' && handleClose()}
role="button"
@@ -200,13 +200,13 @@
>
<!-- Drawer Panel -->
<div
class="fixed right-0 top-0 h-full w-full max-w-[560px] bg-slate-900 shadow-[-8px_0_30px_rgba(0,0,0,0.3)] flex flex-col z-50 transition-transform duration-300 ease-out"
class="fixed right-0 top-0 z-50 flex h-full w-full max-w-[560px] flex-col border-l border-slate-200 bg-white shadow-[-8px_0_30px_rgba(15,23,42,0.15)] transition-transform duration-300 ease-out"
role="dialog"
aria-modal="true"
aria-label="Task drawer"
>
<!-- Header -->
<div class="flex items-center justify-between px-5 py-3.5 border-b border-slate-800 bg-slate-900">
<div class="flex items-center justify-between border-b border-slate-200 bg-white px-5 py-3.5">
<div class="flex items-center gap-2.5">
{#if !activeTaskId && recentTasks.length > 0}
<span class="flex items-center justify-center p-1.5 mr-1 text-cyan-400">
@@ -221,7 +221,7 @@
<Icon name="back" size={16} strokeWidth={2} />
</button>
{/if}
<h2 class="text-sm font-semibold text-slate-100 tracking-tight">
<h2 class="text-sm font-semibold tracking-tight text-slate-900">
{activeTaskId ? ($t.tasks?.details_logs || 'Task Details & Logs') : 'Recent Tasks'}
</h2>
{#if shortTaskId}
@@ -235,7 +235,7 @@
</div>
<div class="flex items-center gap-2">
<button
class="px-2.5 py-1 text-xs font-semibold rounded-md border border-slate-700 text-slate-300 bg-slate-800/60 hover:bg-slate-800 transition-colors"
class="rounded-md border border-slate-300 bg-slate-50 px-2.5 py-1 text-xs font-semibold text-slate-700 transition-colors hover:bg-slate-100"
on:click={goToReportsPage}
>
{$t.nav?.reports || "Reports"}
@@ -261,7 +261,7 @@
/>
{:else if loadingTasks}
<div class="flex flex-col items-center justify-center p-12 text-slate-500">
<div class="w-8 h-8 border-2 border-slate-200 border-t-blue-500 rounded-full animate-spin mb-4"></div>
<div class="mb-4 h-8 w-8 animate-spin rounded-full border-2 border-slate-200 border-t-blue-500"></div>
<p>Loading tasks...</p>
</div>
{:else if recentTasks.length > 0}

View File

@@ -89,14 +89,14 @@
</script>
<nav
class="bg-white border-b border-gray-200 fixed top-0 right-0 left-0 h-16 flex items-center justify-between px-4 z-40
class="fixed left-0 right-0 top-0 z-40 flex h-16 items-center justify-between border-b border-slate-200 bg-white px-4 shadow-sm
{isExpanded ? 'md:left-[240px]' : 'md:left-16'}"
>
<!-- Left section: Hamburger (mobile) + Logo -->
<div class="flex items-center gap-2">
<!-- Hamburger Menu (mobile only) -->
<button
class="p-2 rounded-lg hover:bg-gray-100 text-gray-600 md:hidden"
class="rounded-lg p-2 text-slate-600 transition-colors hover:bg-slate-100 md:hidden"
on:click={handleHamburgerClick}
aria-label="Toggle menu"
>
@@ -106,7 +106,7 @@
<!-- Logo/Brand -->
<a
href="/"
class="flex items-center text-xl font-bold text-gray-800 hover:text-primary transition-colors"
class="flex items-center text-xl font-bold text-slate-800 transition-colors hover:text-primary"
>
<span class="mr-2 inline-flex h-9 w-9 items-center justify-center rounded-xl bg-gradient-to-br from-sky-500 via-cyan-500 to-indigo-600 text-white shadow-sm">
<Icon name="layers" size={18} strokeWidth={2.1} />
@@ -128,10 +128,10 @@
</div>
<!-- Nav Actions -->
<div class="flex items-center space-x-4">
<div class="flex items-center gap-3 md:gap-4">
<!-- Activity Indicator -->
<div
class="relative cursor-pointer p-2 rounded-lg hover:bg-gray-100 transition-colors text-slate-600"
class="relative cursor-pointer rounded-lg p-2 text-slate-600 transition-colors hover:bg-slate-100"
on:click={handleActivityClick}
on:keydown={(e) =>
(e.key === "Enter" || e.key === " ") && handleActivityClick()}