INIT(app): initial commit
- Initialize project structure - Add base configuration
This commit is contained in:
5
services/nextjs/app/(movies)/movies/[id]/error.tsx
Normal file
5
services/nextjs/app/(movies)/movies/[id]/error.tsx
Normal file
@@ -0,0 +1,5 @@
|
||||
"use client"
|
||||
|
||||
export default function Error(){
|
||||
return <h1>Something broke...</h1>
|
||||
}
|
||||
3
services/nextjs/app/(movies)/movies/[id]/loading.tsx
Normal file
3
services/nextjs/app/(movies)/movies/[id]/loading.tsx
Normal file
@@ -0,0 +1,3 @@
|
||||
export default function Loading() {
|
||||
return <h2>Loading a movie :id</h2>;
|
||||
}
|
||||
26
services/nextjs/app/(movies)/movies/[id]/page.tsx
Normal file
26
services/nextjs/app/(movies)/movies/[id]/page.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
import { Suspense } from "react";
|
||||
import MovieInfo from "@/components/movie-info";
|
||||
import VideosInfo from "@/components/movie-videos";
|
||||
import { getMovie } from "@/components/movie-info";
|
||||
|
||||
interface Iparams {
|
||||
params: { id: string };
|
||||
}
|
||||
|
||||
export async function generateMetadata({ params: { id } }: Iparams) {
|
||||
const movie = await getMovie(id);
|
||||
return { title: movie.title };
|
||||
}
|
||||
|
||||
export default async function MovieDetail({ params: { id } }: Iparams) {
|
||||
return (
|
||||
<div>
|
||||
<Suspense fallback={<h1>Loading movie info</h1>}>
|
||||
<MovieInfo id={id} />
|
||||
</Suspense>
|
||||
<Suspense fallback={<h1>Loading videos info</h1>}>
|
||||
<VideosInfo id={id} />
|
||||
</Suspense>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user