diff --git a/src/app/shared/components/tag-card/tag-card.component.html b/src/app/shared/components/tag-card/tag-card.component.html
new file mode 100644
index 0000000..71d791f
--- /dev/null
+++ b/src/app/shared/components/tag-card/tag-card.component.html
@@ -0,0 +1,40 @@
+
+
+
+
+
![Thumbnail]()
+
+
+
+
diff --git a/src/app/shared/components/tag-card/tag-card.component.scss b/src/app/shared/components/tag-card/tag-card.component.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/shared/components/tag-card/tag-card.component.ts b/src/app/shared/components/tag-card/tag-card.component.ts
new file mode 100644
index 0000000..20b6201
--- /dev/null
+++ b/src/app/shared/components/tag-card/tag-card.component.ts
@@ -0,0 +1,19 @@
+import { Component, EventEmitter, Input, Output } from '@angular/core';
+import { TagListEntry } from 'src/app/model/TagListEntry';
+import { VideoListEntry } from 'src/app/model/VideoListEntry';
+
+@Component({
+ selector: 'shared-tag-card',
+ templateUrl: './tag-card.component.html',
+ styleUrls: ['./tag-card.component.scss'],
+})
+export class TagCardComponent {
+ @Input() tag: TagListEntry | null = null;
+ @Output() clicked = new EventEmitter
();
+
+ onClick(): void {
+ if (this.tag === null) return;
+
+ this.clicked.emit(this.tag);
+ }
+}
diff --git a/src/app/shared/components/video-card/video-card.component.html b/src/app/shared/components/video-card/video-card.component.html
index 865bfe6..8ab1950 100644
--- a/src/app/shared/components/video-card/video-card.component.html
+++ b/src/app/shared/components/video-card/video-card.component.html
@@ -1,7 +1,7 @@