From bcca7f4f2ef8ba3c069e27c048f50e83e6a98d6d Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Sun, 31 May 2026 10:49:26 +0100 Subject: [PATCH] frontend(block-edit): rework the block edit carousel and add tests --- .../components/modal/block-edit.component.ts | 393 ++++++++++++++++-- .../modal/block-edit.component.vitest.ts | 14 + 2 files changed, 371 insertions(+), 36 deletions(-) create mode 100644 frontend/src/app/components/modal/block-edit.component.vitest.ts diff --git a/frontend/src/app/components/modal/block-edit.component.ts b/frontend/src/app/components/modal/block-edit.component.ts index a7d5d3b..58cad90 100644 --- a/frontend/src/app/components/modal/block-edit.component.ts +++ b/frontend/src/app/components/modal/block-edit.component.ts @@ -3,9 +3,7 @@ import { ChangeDetectionStrategy, input, output, - inject, signal, - computed, effect, viewChild, ElementRef, @@ -15,7 +13,6 @@ import { } from '@angular/core'; import { Block, HslColor } from '../../models'; import { SelectAddComponent } from '../shared/select-add/select-add.component'; -import { ToggleComponent } from '../shared/toggle/toggle.component'; import { getColorOfTag } from '../../utils/color'; export interface BlockEditSave { @@ -24,25 +21,41 @@ export interface BlockEditSave { tag: string; description: string; is_done: boolean; + difficulty: number; } interface EditedValue { tag: string; description: string; is_done: boolean; + difficulty: number; +} + +function clampDifficulty(value: number): number { + return Math.max(1, Math.min(100, value)); +} + +export function createDoneValue(defaultDone: boolean, currentDone: boolean, edited: boolean): boolean { + return edited ? currentDone : defaultDone; } @Component({ selector: 'lt-block-edit', standalone: true, - imports: [SelectAddComponent, ToggleComponent], + imports: [SelectAddComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: ` + @if (viewTitle()) { +

{{ viewTitle() }}

+ } +