)
}
diff --git a/app/components/ui/newsletter.tsx b/app/components/ui/newsletter.tsx
index 1c4f212..a21793b 100644
--- a/app/components/ui/newsletter.tsx
+++ b/app/components/ui/newsletter.tsx
@@ -1,7 +1,7 @@
import { Button } from '~/components/ui/button'
import { APP } from '~/data/meta'
-export const UiNewsLetter = () => {
+export const Newsletter = () => {
return (
<>
diff --git a/app/pages/news-detail/data.ts b/app/pages/news-detail/data.ts
new file mode 100644
index 0000000..17291a7
--- /dev/null
+++ b/app/pages/news-detail/data.ts
@@ -0,0 +1,11 @@
+import type { TNewsDetail } from '~/types/news'
+
+export const CONTENT: TNewsDetail = {
+ title: 'Hotman Paris Membuka Perpustakaan di tengah Diskotik',
+ content:
+ 'Pengacara Kondang, Hotman Paris Hutapea, membuka sebuah perpustakaan baru di dalam diskotik nya yang berlokasi di daerah Jakarta Pusat, Hotman berkata Perpustakaan ini dibuka dengan harapan untuk meningkatkan gairah membaca masyarakat Indonesia, namun sayangnya..',
+ featured: '/images/news-1.jpg',
+ slug: 'hotman-paris-membuka-perpustakaan-di-tengah-diskotik',
+ author: 'John Doe',
+ date: new Date(),
+}
diff --git a/app/pages/news-detail/index.tsx b/app/pages/news-detail/index.tsx
new file mode 100644
index 0000000..b1e0fa3
--- /dev/null
+++ b/app/pages/news-detail/index.tsx
@@ -0,0 +1,17 @@
+import { Card } from '~/components/ui/card'
+
+import { CONTENT } from './data'
+
+export const NewsDetailPage = () => {
+ const { title } = CONTENT
+ return (
+
+
+
+ {title}
+
+ News Detail
+
+
+ )
+}
diff --git a/app/pages/news/data.ts b/app/pages/news/data.ts
index 63d4ec2..9888613 100644
--- a/app/pages/news/data.ts
+++ b/app/pages/news/data.ts
@@ -9,7 +9,8 @@ export const SPOTLIGHT: TNews = {
title: 'Hotman Paris Membuka Perpustakaan di tengah Diskotik',
content:
'Pengacara Kondang, Hotman Paris Hutapea, membuka sebuah perpustakaan baru di dalam diskotik nya yang berlokasi di daerah Jakarta Pusat, Hotman berkata Perpustakaan ini dibuka dengan harapan untuk meningkatkan gairah membaca masyarakat Indonesia, namun sayangnya..',
- image: '/images/news-1.jpg',
+ featured: '/images/news-1.jpg',
+ slug: 'hotman-paris-membuka-perpustakaan-di-tengah-diskotik',
},
],
}
@@ -23,22 +24,25 @@ export const BERITA: TNews = {
title: 'Travelling as a way of self-discovery and progress',
content:
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros.',
- image: '/images/news-2.jpg',
+ featured: '/images/news-2.jpg',
tag: ['Hukum Property'],
+ slug: 'travelling-as-a-way-of-self-discovery-and-progress',
},
{
title: 'How does writing influence your personal brand?',
content:
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros.',
- image: '/images/news-3.jpg',
+ featured: '/images/news-3.jpg',
tag: ['Hukum'],
+ slug: 'how-does-writing-influence-your-personal-brand',
},
{
title: 'Helping a local business reinvent itself',
content:
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros.',
- image: '/images/news-4.jpg',
+ featured: '/images/news-4.jpg',
tag: ['Hukum Property', 'PREMIUM CONTENT'],
+ slug: 'helping-a-local-business-reinvent-itself',
},
],
}
@@ -52,22 +56,25 @@ export const KAJIAN: TNews = {
title: 'Travelling as a way of self-discovery and progress',
content:
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros.',
- image: '/images/news-2.jpg',
+ featured: '/images/news-2.jpg',
tag: ['Hukum Property', 'PREMIUM CONTENT'],
+ slug: 'travelling-as-a-way-of-self-discovery-and-progress',
},
{
title: 'How does writing influence your personal brand?',
content:
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros.',
- image: '/images/news-3.jpg',
+ featured: '/images/news-3.jpg',
tag: ['Hukum Property', 'PREMIUM CONTENT'],
+ slug: 'how-does-writing-influence-your-personal-brand',
},
{
title: 'Helping a local business reinvent itself',
content:
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros.',
- image: '/images/news-4.jpg',
+ featured: '/images/news-4.jpg',
tag: ['Hukum Property', 'PREMIUM CONTENT'],
+ slug: 'helping-a-local-business-reinvent-itself',
},
],
}
diff --git a/app/pages/news/index.tsx b/app/pages/news/index.tsx
index 04c8dee..2528b4c 100644
--- a/app/pages/news/index.tsx
+++ b/app/pages/news/index.tsx
@@ -1,8 +1,8 @@
import { Card } from '~/components/ui/card'
import { Carousel } from '~/components/ui/carousel'
+import { Newsletter } from '~/components/ui/newsletter'
import { BERITA, KAJIAN, SPOTLIGHT } from './data'
-import { Newsletter } from './newsletter'
export const NewsPage = () => {
return (
diff --git a/app/pages/news/newsletter.tsx b/app/pages/news/newsletter.tsx
deleted file mode 100644
index 53057e9..0000000
--- a/app/pages/news/newsletter.tsx
+++ /dev/null
@@ -1,3 +0,0 @@
-export const Newsletter = () => {
- return
Newsletter
-}
diff --git a/app/routes/_layout.news.$slug.tsx b/app/routes/_layout.news.$slug.tsx
new file mode 100644
index 0000000..93d567b
--- /dev/null
+++ b/app/routes/_layout.news.$slug.tsx
@@ -0,0 +1,7 @@
+import { NewsDetailPage } from '~/pages/news-detail'
+
+const NewsDetailLayout = () => {
+ return
+}
+
+export default NewsDetailLayout
diff --git a/app/routes/_layout.news.tsx b/app/routes/_layout.news.tsx
index 7c02deb..1977241 100644
--- a/app/routes/_layout.news.tsx
+++ b/app/routes/_layout.news.tsx
@@ -1,5 +1,6 @@
import { Outlet } from 'react-router'
+import { Banner } from '~/components/ui/banner'
import { FooterLinks } from '~/layouts/footer-links'
import { FooterNewsletter } from '~/layouts/footer-newsletter'
import { HeaderMenu } from '~/layouts/header-menu'
@@ -13,11 +14,7 @@ const NewsLayout = () => {
-

+
diff --git a/app/types/news.ts b/app/types/news.ts
index df00bd8..fdd854b 100644
--- a/app/types/news.ts
+++ b/app/types/news.ts
@@ -2,10 +2,15 @@ export type TNews = {
title: string
description: string
type: 'hero' | 'grid'
- items: {
- title: string
- content: string
- image: string
- tag?: Array
- }[]
+ items: Pick[]
+}
+
+export type TNewsDetail = {
+ title: string
+ content: string
+ featured: string
+ author: string
+ date: Date
+ slug: string
+ tag?: Array
}