{{ task().title }}
+{{ task().description }}
+ + + +Loading...
+ } + + @if (error()) { +{{ error() }}
+ } + + @if (task(); as task) { +Description: {{ task.description }}
+Due Date: {{ task.dueDate }}
+
+ Loading tasks...
+| Task | +Progress | +Status | +Due Date | +Notes | +
|---|---|---|---|---|
| + {{ task.title }} + {{ task.description }} + | +
+
+
+ {{ getStateProgress(task) }}%
+
+ |
+ + + {{ getStateLabel(task) }} + + | ++ + + {{ task.dueDate }} + + | ++ {{ task.notes.length }} {{ task.notes.length === 1 ? 'note' : 'notes' }} + | +
| No tasks found | +||||
{{ task.description }}
+ } + +{{ task.description }}
+ } + +{{ task().description }}
+ + + +task-form works!
diff --git a/src/app/features/tasks/ui/task-form/task-form.ts b/src/app/features/tasks/ui/task-form/task-form.ts new file mode 100644 index 0000000..76aa29d --- /dev/null +++ b/src/app/features/tasks/ui/task-form/task-form.ts @@ -0,0 +1,30 @@ +import { ChangeDetectionStrategy, Component, input, output } from '@angular/core'; +import { FormGroup, ReactiveFormsModule } from '@angular/forms'; +import { CreateTaskDto, UpdateTaskDto } from '../../data-access/models/task.model'; + +@Component({ + selector: 'emi-task-form', + imports: [ReactiveFormsModule], + templateUrl: './task-form.html', + styleUrl: './task-form.css', + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class TaskForm { + form = input.requiredmodal works!
diff --git a/src/app/shared/ui/modal/modal.ts b/src/app/shared/ui/modal/modal.ts new file mode 100644 index 0000000..73b9269 --- /dev/null +++ b/src/app/shared/ui/modal/modal.ts @@ -0,0 +1,10 @@ +import { ChangeDetectionStrategy, Component } from '@angular/core'; + +@Component({ + selector: 'emi-modal', + imports: [], + templateUrl: './modal.html', + styleUrl: './modal.css', + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class Modal {} diff --git a/src/app/shared/ui/not-found/not-found.css b/src/app/shared/ui/not-found/not-found.css new file mode 100644 index 0000000..2ac2338 --- /dev/null +++ b/src/app/shared/ui/not-found/not-found.css @@ -0,0 +1,29 @@ +.not-found { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + min-height: 60vh; + padding: var(--space-8); + text-align: center; +} + +.not-found__code { + font-family: var(--font-display); + font-size: var(--fs-3xl); + font-weight: var(--fw-bold); + color: var(--color-brand-primary); + margin-bottom: var(--space-4); +} + +.not-found__title { + font-size: var(--fs-xl); + margin-bottom: var(--space-4); +} + +.not-found__description { + font-size: var(--fs-md); + color: var(--text-secondary); + margin-bottom: var(--space-8); + max-width: 480px; +} diff --git a/src/app/shared/ui/not-found/not-found.html b/src/app/shared/ui/not-found/not-found.html new file mode 100644 index 0000000..0805c36 --- /dev/null +++ b/src/app/shared/ui/not-found/not-found.html @@ -0,0 +1,10 @@ ++ The page you're looking for doesn't exist or has been moved. +
+ + Go to Tasks + +