From a0932652aaca1b43a705c93094623894b8a5b261 Mon Sep 17 00:00:00 2001 From: kamask Date: Sat, 5 Sep 2026 14:41:15 +0300 Subject: [PATCH] =?UTF-8?q?refactor:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=BD=D1=8B=D0=B5=20=D1=86=D0=B2=D0=B5=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=20css=20=D0=B8=20=D1=81=D1=82=D0=B8=D0=BB=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B0=20=D0=B8=D0=BA=D0=BE=D0=BD=D0=BA=D0=B0?= =?UTF-8?q?=20=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D0=B0=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=BE=D0=B9=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/app.ts | 6 +++--- src/app/features/tasks/task-list.ts | 30 ++++++++++++++++++++++------- src/styles.css | 17 ++++++++++++---- 3 files changed, 39 insertions(+), 14 deletions(-) diff --git a/src/app/app.ts b/src/app/app.ts index f90179a..e6219b9 100644 --- a/src/app/app.ts +++ b/src/app/app.ts @@ -1,5 +1,5 @@ import { Component } from '@angular/core'; -import { RouterLink, RouterOutlet } from '@angular/router'; +import { RouterOutlet } from '@angular/router'; @Component({ selector: 'ksk-crm-root', @@ -16,11 +16,11 @@ import { RouterLink, RouterOutlet } from '@angular/router'; align-items: center; padding: 8px; min-height: 100dvh; - background: var(--bg-base); + background: var(--bg-base-color); main { width: 100%; - background: var(--surface); + background: var(--surface-color); padding: 1ch; border-radius: 5px; } diff --git a/src/app/features/tasks/task-list.ts b/src/app/features/tasks/task-list.ts index 30eff4c..06ccab5 100644 --- a/src/app/features/tasks/task-list.ts +++ b/src/app/features/tasks/task-list.ts @@ -1,4 +1,4 @@ -import { Component, computed, inject, linkedSignal, resource, signal } from '@angular/core'; +import { Component, computed, inject, resource, signal } from '@angular/core'; import { TaskItem } from './task-item'; import { Task } from './task'; import { TaskService } from './task-service'; @@ -12,9 +12,11 @@ import { lucideSquarePlus } from '@ng-icons/lucide'; imports: [TaskItem, RouterLink, FormsModule, NgIcon], providers: [provideIcons({ lucideSquarePlus })], template: ` -
- - +
+ + + +
@for (task of filteredTasks(); track $index) { @@ -23,14 +25,28 @@ import { lucideSquarePlus } from '@ng-icons/lucide';
`, styles: ` + .topBar { + display: flex; + + a { + display: inline-flex; + align-items: center; + justify-content: center; + margin-left: 1ch; + } + } + input { outline: none; - padding: 5px; + padding: 1ch; + flex-grow: 1; } + button { cursor: pointer; padding: 5px; } + .result { margin-top: 20px; } @@ -44,10 +60,10 @@ export class TaskList { loader: () => this.taskService.getAllTasks(), }); - searchInput = signal(''); + filterInput = signal(''); filteredTasks = computed(() => { - const s = this.searchInput(); + const s = this.filterInput(); const tasks = this.tasks.value(); if (!tasks) return []; diff --git a/src/styles.css b/src/styles.css index 213ad96..a435f99 100644 --- a/src/styles.css +++ b/src/styles.css @@ -4,13 +4,17 @@ @import '@fontsource/inter/700.css'; :root { - --gray: oklch(28% 0 0); - --white: white; + --gray-base: oklch(28% 0 0); + --white-base: oklch(100% 0 0); + --blue-base: oklch(62.3% 0.214 259.815); + --green-base: oklch(70.4% 0.14 182.503); --font-family-base: 'Inter'; - --bg-base: var(--gray); - --surface: var(--white); + --bg-base-color: var(--gray-base); + --surface-color: var(--white-base); + --primary-color: var(--blue-base); + --success-color: var(--green-base); } * { @@ -22,3 +26,8 @@ body { font-family: var(--font-family-base), system-ui, -apple-system, sans-serif; } + +a { + text-decoration: none; + color: var(--primary-color); +}