diff --git a/src/app/shared/components/video-card/video-card.component.html b/src/app/shared/components/video-card/video-card.component.html
new file mode 100644
index 0000000..865bfe6
--- /dev/null
+++ b/src/app/shared/components/video-card/video-card.component.html
@@ -0,0 +1,38 @@
+
+
+
+
+
![Thumbnail]()
+
+
+
+
diff --git a/src/app/shared/components/video-card/video-card.component.scss b/src/app/shared/components/video-card/video-card.component.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/shared/components/video-card/video-card.component.ts b/src/app/shared/components/video-card/video-card.component.ts
new file mode 100644
index 0000000..0605f06
--- /dev/null
+++ b/src/app/shared/components/video-card/video-card.component.ts
@@ -0,0 +1,18 @@
+import { Component, EventEmitter, Input, Output } from '@angular/core';
+import { VideoListEntry } from 'src/app/model/VideoListEntry';
+
+@Component({
+ selector: 'shared-video-card',
+ templateUrl: './video-card.component.html',
+ styleUrls: ['./video-card.component.scss'],
+})
+export class VideoCardComponent {
+ @Input() video: VideoListEntry | null = null;
+ @Output() clicked = new EventEmitter();
+
+ onClick(): void {
+ if (this.video === null) return;
+
+ this.clicked.emit(this.video);
+ }
+}
diff --git a/src/app/shared/components/video-list/video-list.component.html b/src/app/shared/components/video-list/video-list.component.html
index 48ec408..5ad79c7 100644
--- a/src/app/shared/components/video-list/video-list.component.html
+++ b/src/app/shared/components/video-list/video-list.component.html
@@ -10,28 +10,12 @@
id="card-container"
class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4 px-5"
>
-
-
-
-
-
+ [video]="video"
+ (clicked)="selectVideo(video)"
+ />
MyTube
-
+