diff --git a/kontor-angular/src/app/kontor/comic/comic-artist/comic-artist.component.ts b/kontor-angular/src/app/kontor/comic/comic-artist/comic-artist.component.ts
index b24e6de..99a7938 100644
--- a/kontor-angular/src/app/kontor/comic/comic-artist/comic-artist.component.ts
+++ b/kontor-angular/src/app/kontor/comic/comic-artist/comic-artist.component.ts
@@ -1,5 +1,5 @@
import { Component, input } from '@angular/core';
-import { Artist } from '../comic-artists/artist.model';
+import { Artist } from '../comic.model';
import { RouterLink, RouterLinkActive } from '@angular/router';
@Component({
diff --git a/kontor-angular/src/app/kontor/comic/comic-artists-list/comic-artists-list.component.ts b/kontor-angular/src/app/kontor/comic/comic-artists-list/comic-artists-list.component.ts
index 025d9a6..44e22cc 100644
--- a/kontor-angular/src/app/kontor/comic/comic-artists-list/comic-artists-list.component.ts
+++ b/kontor-angular/src/app/kontor/comic/comic-artists-list/comic-artists-list.component.ts
@@ -1,5 +1,5 @@
import { Component, DestroyRef, inject, OnInit, signal } from '@angular/core';
-import { Artist } from '../comic-artists/artist.model';
+import { Artist } from '../comic.model';
import { ComicArtistComponent } from '../comic-artist/comic-artist.component';
import { ArtistService } from '../comic-artists/artist.service';
diff --git a/kontor-angular/src/app/kontor/comic/comic-artists/artist.model.ts b/kontor-angular/src/app/kontor/comic/comic-artists/artist.model.ts
deleted file mode 100644
index 9a7ec9f..0000000
--- a/kontor-angular/src/app/kontor/comic/comic-artists/artist.model.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-export interface Artist {
- id: string;
- name: string;
-}
-
-export interface ArtistDetails {
- id: string;
- name: string;
- weblink: string;
-}
\ No newline at end of file
diff --git a/kontor-angular/src/app/kontor/comic/comic-artists/artist.service.ts b/kontor-angular/src/app/kontor/comic/comic-artists/artist.service.ts
index 10a61e4..a755f91 100644
--- a/kontor-angular/src/app/kontor/comic/comic-artists/artist.service.ts
+++ b/kontor-angular/src/app/kontor/comic/comic-artists/artist.service.ts
@@ -2,7 +2,7 @@ import { inject, Injectable, signal } from "@angular/core";
import { HttpClient } from "@angular/common/http";
import { catchError, map, throwError } from "rxjs";
import { ErrorService } from "../../../shared/error.service";
-import { Artist, ArtistDetails } from "./artist.model";
+import { Artist, ArtistDetails } from "../comic.model";
@Injectable({
providedIn: 'root',
diff --git a/kontor-angular/src/app/kontor/comic/comic-artists/comic-artists.component.css b/kontor-angular/src/app/kontor/comic/comic-artists/comic-artists.component.css
index 03c2857..6825193 100644
--- a/kontor-angular/src/app/kontor/comic/comic-artists/comic-artists.component.css
+++ b/kontor-angular/src/app/kontor/comic/comic-artists/comic-artists.component.css
@@ -2,4 +2,12 @@
display: grid;
grid-template-columns: 1fr 1fr;
grid-gap: 20px;
+}
+section {
+margin-left: 10px;
+padding: 10px;
+}
+article {
+ margin-left: 10px;
+ padding: 5px;
}
\ No newline at end of file
diff --git a/kontor-angular/src/app/kontor/comic/comic-artists/comic-artists.component.html b/kontor-angular/src/app/kontor/comic/comic-artists/comic-artists.component.html
index 736d4a3..1d79cc3 100644
--- a/kontor-angular/src/app/kontor/comic/comic-artists/comic-artists.component.html
+++ b/kontor-angular/src/app/kontor/comic/comic-artists/comic-artists.component.html
@@ -7,6 +7,16 @@
@if (artist()) {
{{ artist().name }}
{{ artist().name }}
+ @for (work of artist().works; track work.worktype.id) {
+
+
+ @for (comic of work.comics; track comic.id) {
+
+
+
+ }
+
+ }
} @else {
Artist Details
}
diff --git a/kontor-angular/src/app/kontor/comic/comic-artists/comic-artists.component.ts b/kontor-angular/src/app/kontor/comic/comic-artists/comic-artists.component.ts
index 43cd7d7..9542c18 100644
--- a/kontor-angular/src/app/kontor/comic/comic-artists/comic-artists.component.ts
+++ b/kontor-angular/src/app/kontor/comic/comic-artists/comic-artists.component.ts
@@ -1,12 +1,14 @@
import { Component, inject, input } from '@angular/core';
import { ComicArtistsListComponent } from '../comic-artists-list/comic-artists-list.component';
-import { ArtistDetails } from './artist.model';
import { ActivatedRouteSnapshot, ResolveFn, RouterStateSnapshot } from '@angular/router';
import { ArtistService } from './artist.service';
+import { ComicComicComponent } from "../comic-comic/comic-comic.component";
+import { ComicWorktypeComponent } from "../comic-worktype/comic-worktype.component";
+import { ArtistDetails } from '../comic.model';
@Component({
selector: 'app-comic-artists',
- imports: [ComicArtistsListComponent],
+ imports: [ComicArtistsListComponent, ComicComicComponent, ComicWorktypeComponent],
templateUrl: './comic-artists.component.html',
styleUrl: './comic-artists.component.css'
})
diff --git a/kontor-angular/src/app/kontor/comic/comic-comic/comic-comic.component.ts b/kontor-angular/src/app/kontor/comic/comic-comic/comic-comic.component.ts
index 5508e11..ad24f26 100644
--- a/kontor-angular/src/app/kontor/comic/comic-comic/comic-comic.component.ts
+++ b/kontor-angular/src/app/kontor/comic/comic-comic/comic-comic.component.ts
@@ -1,5 +1,5 @@
import { Component, input } from '@angular/core';
-import { Comic } from '../comic-comics/comic.model';
+import { Comic } from '../comic.model';
import { RouterLink, RouterLinkActive } from '@angular/router';
@Component({
diff --git a/kontor-angular/src/app/kontor/comic/comic-comics-list/comic-comics-list.component.ts b/kontor-angular/src/app/kontor/comic/comic-comics-list/comic-comics-list.component.ts
index ec94c71..057306c 100644
--- a/kontor-angular/src/app/kontor/comic/comic-comics-list/comic-comics-list.component.ts
+++ b/kontor-angular/src/app/kontor/comic/comic-comics-list/comic-comics-list.component.ts
@@ -1,5 +1,5 @@
import { Component, DestroyRef, inject, OnInit, signal } from '@angular/core';
-import { Comic } from '../comic-comics/comic.model';
+import { Comic } from '../comic.model';
import { ComicService } from '../comic-comics/comic.service';
import { ComicComicComponent } from "../comic-comic/comic-comic.component";
diff --git a/kontor-angular/src/app/kontor/comic/comic-comics/comic-comics.component.ts b/kontor-angular/src/app/kontor/comic/comic-comics/comic-comics.component.ts
index 3c15733..89a983f 100644
--- a/kontor-angular/src/app/kontor/comic/comic-comics/comic-comics.component.ts
+++ b/kontor-angular/src/app/kontor/comic/comic-comics/comic-comics.component.ts
@@ -1,6 +1,6 @@
import { Component, inject, input } from '@angular/core';
import { ComicComicsListComponent } from "../comic-comics-list/comic-comics-list.component";
-import { ComicDetails } from './comic.model';
+import { ComicDetails } from '../comic.model';
import { ActivatedRouteSnapshot, ResolveFn, RouterStateSnapshot } from '@angular/router';
import { ComicService } from './comic.service';
diff --git a/kontor-angular/src/app/kontor/comic/comic-comics/comic.service.ts b/kontor-angular/src/app/kontor/comic/comic-comics/comic.service.ts
index 9ba608f..76a8d35 100644
--- a/kontor-angular/src/app/kontor/comic/comic-comics/comic.service.ts
+++ b/kontor-angular/src/app/kontor/comic/comic-comics/comic.service.ts
@@ -1,6 +1,6 @@
import { HttpClient } from "@angular/common/http";
import { inject, Injectable, signal } from "@angular/core";
-import { Comic, ComicDetails } from "./comic.model";
+import { Comic, ComicDetails } from "../comic.model";
import { catchError, map, throwError } from "rxjs";
@Injectable({
diff --git a/kontor-angular/src/app/kontor/comic/comic-worktype/comic-worktype.component.css b/kontor-angular/src/app/kontor/comic/comic-worktype/comic-worktype.component.css
new file mode 100644
index 0000000..e69de29
diff --git a/kontor-angular/src/app/kontor/comic/comic-worktype/comic-worktype.component.html b/kontor-angular/src/app/kontor/comic/comic-worktype/comic-worktype.component.html
new file mode 100644
index 0000000..a9709ce
--- /dev/null
+++ b/kontor-angular/src/app/kontor/comic/comic-worktype/comic-worktype.component.html
@@ -0,0 +1,5 @@
+
diff --git a/kontor-angular/src/app/kontor/comic/comic-worktype/comic-worktype.component.spec.ts b/kontor-angular/src/app/kontor/comic/comic-worktype/comic-worktype.component.spec.ts
new file mode 100644
index 0000000..88c4876
--- /dev/null
+++ b/kontor-angular/src/app/kontor/comic/comic-worktype/comic-worktype.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ComicWorktypeComponent } from './comic-worktype.component';
+
+describe('ComicWorktypeComponent', () => {
+ let component: ComicWorktypeComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ imports: [ComicWorktypeComponent]
+ })
+ .compileComponents();
+
+ fixture = TestBed.createComponent(ComicWorktypeComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/kontor-angular/src/app/kontor/comic/comic-worktype/comic-worktype.component.ts b/kontor-angular/src/app/kontor/comic/comic-worktype/comic-worktype.component.ts
new file mode 100644
index 0000000..260ad68
--- /dev/null
+++ b/kontor-angular/src/app/kontor/comic/comic-worktype/comic-worktype.component.ts
@@ -0,0 +1,13 @@
+import { Component, input } from '@angular/core';
+import { RouterLink, RouterLinkActive } from '@angular/router';
+import { Worktype } from '../comic.model';
+
+@Component({
+ selector: 'app-comic-worktype',
+ imports: [RouterLink, RouterLinkActive],
+ templateUrl: './comic-worktype.component.html',
+ styleUrl: './comic-worktype.component.css'
+})
+export class ComicWorktypeComponent {
+ worktype = input.required();
+}
diff --git a/kontor-angular/src/app/kontor/comic/comic-comics/comic.model.ts b/kontor-angular/src/app/kontor/comic/comic.model.ts
similarity index 51%
rename from kontor-angular/src/app/kontor/comic/comic-comics/comic.model.ts
rename to kontor-angular/src/app/kontor/comic/comic.model.ts
index 98bdc10..ecbb790 100644
--- a/kontor-angular/src/app/kontor/comic/comic-comics/comic.model.ts
+++ b/kontor-angular/src/app/kontor/comic/comic.model.ts
@@ -1,3 +1,15 @@
+
+
+export interface Artist {
+ id: string;
+ name: string;
+}
+
+export interface Worktype {
+ id: string;
+ name: string;
+}
+
export interface Comic {
id: string;
title: string;
@@ -20,3 +32,15 @@ export interface ComicDetails {
name: string,
];
}
+
+export interface ArtistWorktypeComics {
+ worktype: Worktype;
+ comics: Comic[];
+}
+
+export interface ArtistDetails {
+ id: string;
+ name: string;
+ weblink: string;
+ works: ArtistWorktypeComics[];
+}