Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,12 @@ class MovieApiService extends ApiServiceBase {
cast {
name
}
crew {
key
value {
name
}
}
}
}
`;
Expand All @@ -67,7 +73,7 @@ class MovieApiService extends ApiServiceBase {
public async GetMovieById(id: string): Promise<Movie> {
console.log('query recent movie');
const movieById: DocumentNode = gql`
query movieByIdQuery($id: String) {
query movieByIdQuery($id: String!) {
movieById(id: $id) {
id
title
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,20 @@
<script setup lang="ts">
import { Movie, Person } from '@/types/MovieTypes';
import CrewCard from './CrewCard.vue';
import { defineProps } from 'vue';
import { computed, defineProps } from 'vue';
import defaultImage from '@/assets/DefaultMoviePoster.png';

interface Props {
movie: Movie;
}
const props = defineProps<Props>();

const posterUrl = computed(() => {
return props.movie.posterUrl?.trim().length
? props.movie.posterUrl
: defaultImage;
});

function findCrewMembers(
currentMovie: Movie,
key: string
Expand Down Expand Up @@ -38,6 +45,16 @@
</div>
</div>

<!-- Poster -->
<div class="col-auto d-flex align-items-start pe-3">
<img
:src="posterUrl"
alt="Movie Poster"
class="img-fluid rounded"
style="width: 150px; height: auto"
/>
</div>

<!-- Director Section Below Language -->
<div class="row mt-3">
<div class="col">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<div class="col-2">
<div v-if="recentMovies && recentMovies.length > 0">
<ul class="list-unstyled">
<li v-for="(movie, index) in recentMovies" :key="index">
<li v-for="(movie, index) in recentMovies" :key="index" class="m-2">
<MovieCardMini :movie="movie" />
</li>
</ul>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ export interface Movie {
movieLanguage: string;
releaseDate: Date;
cast: Person[];
crew: KeyValuePair<string,Person[]>[];
crew: KeyValuePair<string, Person[]>[];
posterUrl?: string;
}


export interface KeyValuePair<TKey,TValue> {
export interface KeyValuePair<TKey, TValue> {
key: TKey;
value: TValue;
}
Expand Down
2 changes: 1 addition & 1 deletion server/Configuration/mockoon-env.json
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@
"responses": [
{
"uuid": "910bf483-f271-4caa-bc04-29e4df48f9fe",
"body": "{\n \"data\": {\n \"recentMovies\": [\n {\n \"title\": \"Ennu Ninte Moideen\",\n \"movieLanguage\": \"Malayalam\",\n \"releaseDate\": \"2023-08-07T18:30:00.000Z\",\n \"cast\": [\n {\n \"name\": \"Prithviraj\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Parvathy\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Saikumar\",\n \"__typename\": \"PersonType\"\n }\n ],\n \"__typename\": \"MovieType\"\n },\n {\n \"title\": \"Argo\",\n \"movieLanguage\": \"English\",\n \"releaseDate\": \"2023-08-06T18:30:00.000Z\",\n \"cast\": [\n {\n \"name\": \"Ben Affleck\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Bryan Cranston\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Alan Arkin\",\n \"__typename\": \"PersonType\"\n }\n ],\n \"__typename\": \"MovieType\"\n },\n {\n \"title\": \"The Great Indian Kitchen\",\n \"movieLanguage\": \"Malayalam\",\n \"releaseDate\": \"2023-02-15T18:30:00.000Z\",\n \"cast\": [\n {\n \"name\": \"Nimisha Sajayan\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Suraj Venjaramoodu\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Ajitha\",\n \"__typename\": \"PersonType\"\n }\n ],\n \"__typename\": \"MovieType\"\n },\n {\n \"title\": \"Cast Away\",\n \"movieLanguage\": \"English\",\n \"releaseDate\": \"2023-01-08T18:30:00.000Z\",\n \"cast\": [\n {\n \"name\": \"Tom Hanks\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Helen Hunt\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Nick Searcy\",\n \"__typename\": \"PersonType\"\n }\n ],\n \"__typename\": \"MovieType\"\n },\n {\n \"title\": \"Premam\",\n \"movieLanguage\": \"Malayalam\",\n \"releaseDate\": \"2022-03-14T18:30:00.000Z\",\n \"cast\": [\n {\n \"name\": \"Nivin Pauly\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Sai Pallavi\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Madonna Sebastian\",\n \"__typename\": \"PersonType\"\n }\n ],\n \"__typename\": \"MovieType\"\n },\n {\n \"title\": \"Bangalore Days\",\n \"movieLanguage\": \"Malayalam\",\n \"releaseDate\": \"2022-03-05T18:30:00.000Z\",\n \"cast\": [\n {\n \"name\": \"Dulquer Salmaan\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Nivin Pauly\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Nazriya Nazim\",\n \"__typename\": \"PersonType\"\n }\n ],\n \"__typename\": \"MovieType\"\n },\n {\n \"title\": \"Forensic\",\n \"movieLanguage\": \"Malayalam\",\n \"releaseDate\": \"2022-03-03T18:30:00.000Z\",\n \"cast\": [\n {\n \"name\": \"Tovino Thomas\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Mamta Mohandas\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Reba Monica John\",\n \"__typename\": \"PersonType\"\n }\n ],\n \"__typename\": \"MovieType\"\n },\n {\n \"title\": \"Arrival\",\n \"movieLanguage\": \"English\",\n \"releaseDate\": \"2022-01-08T18:30:00.000Z\",\n \"cast\": [\n {\n \"name\": \"Amy Adams\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Jeremy Renner\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Forest Whitaker\",\n \"__typename\": \"PersonType\"\n }\n ],\n \"__typename\": \"MovieType\"\n },\n {\n \"title\": \"Puzhu\",\n \"movieLanguage\": \"Malayalam\",\n \"releaseDate\": \"2021-12-14T18:30:00.000Z\",\n \"cast\": [\n {\n \"name\": \"Mammootty\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Parvathy\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Appunni Sasi\",\n \"__typename\": \"PersonType\"\n }\n ],\n \"__typename\": \"MovieType\"\n },\n {\n \"title\": \"Lincoln\",\n \"movieLanguage\": \"English\",\n \"releaseDate\": \"2021-08-17T18:30:00.000Z\",\n \"cast\": [\n {\n \"name\": \"Daniel Day-Lewis\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Sally Field\",\n \"__typename\": \"PersonType\"\n },\n {\n \"name\": \"Tommy Lee Jones\",\n \"__typename\": \"PersonType\"\n }\n ],\n \"__typename\": \"MovieType\"\n }\n ]\n }\n}",
"body": "{\r\n \"data\": {\r\n \"recentMovies\": [\r\n {\r\n \"id\": \"928f0db4-95aa-4ee5-bd40-677d9640230a\",\r\n \"title\": \"Ennu Ninte Moideen\",\r\n \"movieLanguage\": \"Malayalam\",\r\n \"releaseDate\": \"2023-08-07T18:30:00.000Z\",\r\n \"cast\": [\r\n {\r\n \"name\": \"Prithviraj\"\r\n },\r\n {\r\n \"name\": \"Parvathy\"\r\n },\r\n {\r\n \"name\": \"Saikumar\"\r\n }\r\n ],\r\n \"crew\": [\r\n {\r\n \"key\": \"Director\",\r\n \"value\": [\r\n {\r\n \"name\": \"R. S. Vimal\"\r\n }\r\n ]\r\n },\r\n {\r\n \"key\": \"Music Director\",\r\n \"value\": [\r\n {\r\n \"name\": \"M. Jayachandran\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"id\": \"dbbe19aa-9d5e-4f11-8237-d9d6ad2939ba\",\r\n \"title\": \"Argo\",\r\n \"movieLanguage\": \"English\",\r\n \"releaseDate\": \"2023-08-06T18:30:00.000Z\",\r\n \"cast\": [\r\n {\r\n \"name\": \"Ben Affleck\"\r\n },\r\n {\r\n \"name\": \"Bryan Cranston\"\r\n },\r\n {\r\n \"name\": \"Alan Arkin\"\r\n }\r\n ],\r\n \"crew\": [\r\n {\r\n \"key\": \"Director\",\r\n \"value\": [\r\n {\r\n \"name\": \"Ben Affleck\"\r\n }\r\n ]\r\n },\r\n {\r\n \"key\": \"Music Director\",\r\n \"value\": [\r\n {\r\n \"name\": \"Alexandre Desplat\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n}",
"latency": 0,
"statusCode": 200,
"label": "Get Recent Movies",
Expand Down