Setup docker for production and development
Change ./init.sh to be an executable then run it. The default inner container ports are as followed: - Postgres: 5432:5432 - Backend: 3001:3000 - Frontend: 3000:3000 - Frontend dev: 8000 The backend image needs to be built: docker compose up -d --build
This commit is contained in:
77
frontend/components/blogItem.tsx
Normal file
77
frontend/components/blogItem.tsx
Normal file
@@ -0,0 +1,77 @@
|
||||
import { BlogInterface } from "@/components/blog";
|
||||
|
||||
export interface BlogItemParams {
|
||||
slug: string;
|
||||
title_style: string;
|
||||
subtitle_style: string;
|
||||
p_style: string;
|
||||
default_img: string;
|
||||
blog_content: BlogInterface;
|
||||
}
|
||||
|
||||
export default function BlogItem({ params }: { params: BlogItemParams }) {
|
||||
return (
|
||||
<main className="flex flex-col w-full lg:md:py-24 sm:py-24">
|
||||
<section className="container self-center max-w-2xl">
|
||||
<div className="blog-title w-full h-28 justify-center">
|
||||
<h1 className="mb-3 text-pretty text-3xl font-semibold lg:text-5xl">
|
||||
{params.slug}
|
||||
</h1>
|
||||
</div>
|
||||
<div className="content">
|
||||
<div>
|
||||
<h2 className={params.subtitle_style}>Subtitle 1</h2>
|
||||
<p className={params.p_style}>
|
||||
Lorem ipsum dolor sit amet, consectetur adipisicing
|
||||
elit. Deleniti architecto incidunt, hic in
|
||||
consectetur eligendi nobis numquam tenetur sit
|
||||
repellat et unde, maxime ducimus autem esse
|
||||
temporibus omnis eum molestias!
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<img
|
||||
src={params.default_img}
|
||||
alt={params.slug}
|
||||
className="aspect-[16/9] mb-5 rounded-sm h-full w-full object-cover object-center"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<h2 className={params.subtitle_style}>Subtitle 2</h2>
|
||||
<p className={params.p_style}>
|
||||
Lorem ipsm dolor sit amet, consectetur adipisicing
|
||||
elit. Deleniti architecto incidunt, hic in
|
||||
consectetur eligendi nobis numquam tenetur sit
|
||||
repellat et unde, maxime ducimus autem esse
|
||||
temporibus omnis eum molestias!
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<img
|
||||
src={params.default_img}
|
||||
alt={params.slug}
|
||||
className="aspect-[16/9] mb-5 rounded-sm h-full w-full object-cover object-center"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<h2 className={params.subtitle_style}>Subtitle 3</h2>
|
||||
<p className={params.p_style}>
|
||||
Lorem ipsum dolor sit amet, consectetur adipisicing
|
||||
elit. Deleniti architecto incidunt, hic in
|
||||
consectetur eligendi nobis numquam tenetur sit
|
||||
repellat et unde, maxime ducimus autem esse
|
||||
temporibus omnis eum molestias!
|
||||
</p>
|
||||
<p className={params.p_style}>
|
||||
Lorem ipsum dolor sit amet, consectetur adipisicing
|
||||
elit. Deleniti architecto incidunt, hic in
|
||||
consectetur eligendi nobis numquam tenetur sit
|
||||
repellat et unde, maxime ducimus autem esse
|
||||
temporibus omnis eum molestias!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user