diff --git a/app/[locale]/(public)/(polda)/polda/layout.tsx b/app/[locale]/(public)/(polda)/polda/[polda_name]/layout.tsx similarity index 100% rename from app/[locale]/(public)/(polda)/polda/layout.tsx rename to app/[locale]/(public)/(polda)/polda/[polda_name]/layout.tsx diff --git a/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/contact-us.tsx b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/contact-us.tsx new file mode 100644 index 00000000..9c65ba11 --- /dev/null +++ b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/contact-us.tsx @@ -0,0 +1,131 @@ +import { Link } from "@/i18n/routing"; +import { Icon } from "@iconify/react/dist/iconify.js"; +import Image from "next/image"; +import React from "react"; + +const ContactUs = () => { + return ( +
+
+
+ {/* Logo */} +
+ +

Copyright @TribrataNews Kaltara

+
+ + {/* Contact Us */} +
+

Kontak Kami

+
+

+ + + + Jalan Komjen Dr. H.M. Jasin No.86, Bumi Rahayu, Kec. Tj. Selor, Kabupaten Bulungan, Kalimantan Utara 77212 +

+

+ + + + + + + Hotline Divisi HumasPolri (021) 72120599 +

+

+ + + + + + {" "} + Call Center 110 +

+

+ + + + ppid@polri.go.id +

+
+ + {/* Links */} +
+

Tautan

+
+
+ + + + + Tentang Kami{" "} + + + + + + Redaksi + + + + + + Pedoman Media Siber + + + + + + Index + +
+
+ + {/* Social Media */} + {/*
+

Sosial Media Humas

+
+
+ + + + + + + + + + + + + + + +
+
*/} +
+
+
+ ); +}; + +export default ContactUs; diff --git a/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/hero-kaltara.tsx b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/hero-kaltara.tsx new file mode 100644 index 00000000..1feef348 --- /dev/null +++ b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/hero-kaltara.tsx @@ -0,0 +1,161 @@ +"use client"; + +import { Skeleton } from "@/components/ui/skeleton"; +import { getHeroData } from "@/service/landing/landing"; +import { formatDateToIndonesian } from "@/utils/globals"; +import Image from "next/image"; +import { useParams } from "next/navigation"; +import React, { useEffect, useState } from "react"; + +const HeroKaltara = () => { + const [isLoading, setIsLoading] = useState(true); + const params = useParams(); + const locale = params?.locale; + const [heroData, setHeroData] = useState(); + + useEffect(() => { + const timer = setTimeout(() => { + setIsLoading(false); + }, 3000); + + return () => clearTimeout(timer); + }, []); + + useEffect(() => { + async function fetchCategories() { + const url = "https://netidhub.com/api/csrf"; + + try { + const response = await fetch(url); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + const data = await response.json(); + return data; // Menampilkan data yang diterima dari API + } catch (error) { + console.error("Fetch error: ", error); + } + } + + fetchCategories(); + initFetch(); + }, []); + + const initFetch = async () => { + const response = await getHeroData(); + console.log(response); + setHeroData(response?.data?.data?.content); + }; + + return ( +
+ {isLoading ? ( +
+ +
+ + +
+
+ ) : ( +
+ {heroData?.length > 0 && ( +
+ gambar-utama{" "} +

{heroData[0]?.title}

+
+

{heroData[0]?.categoryName}

+

+ {formatDateToIndonesian(new Date(heroData[0]?.createdAt))} {heroData[0]?.timezone ? heroData[0]?.timezone : "WIB"}|{" "} + + + {" "} + {heroData[0]?.clickCount}{" "} +

+
+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Repudiandae eum consectetur cum placeat non aperiam suscipit libero ipsa commodi. Quam dicta eligendi voluptate, ab sunt ratione accusamus esse animi vel libero veniam + nulla tenetur ipsum provident minus. Error ad eligendi quasi autem neque ex, iste perspiciatis magnam. Magni, quos sequi. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Velit rem veniam doloribus saepe atque quia + ut quaerat fugit harum. Velit quia quisquam consectetur blanditiis porro itaque perferendis. Voluptatibus fuga ipsam maxime, hic doloribus inventore, odio eos molestiae velit cum placeat! Est nostrum quas veritatis deserunt + itaque illum alias. Assumenda deleniti similique id. +

+
+ )} +
+ )} + + {isLoading ? ( +
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ ) : ( +
+ {heroData?.slice(0, 3).map((item: any) => ( +
+
+ +
+
+

{item?.title}

+
+

{item?.categoryName}

+

+ {formatDateToIndonesian(new Date(item?.createdAt))} {item?.timezone ? item?.timezone : "WIB"}|{" "} + + + {" "} + {item?.clickCount}{" "} +

+
+
+
+ ))} +
+ )} +
+ ); +}; + +export default HeroKaltara; diff --git a/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/latest-news.tsx b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/latest-news.tsx new file mode 100644 index 00000000..ca0ce048 --- /dev/null +++ b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/latest-news.tsx @@ -0,0 +1,168 @@ +"use client"; + +import { Skeleton } from "@/components/ui/skeleton"; +import { getHeroData } from "@/service/landing/landing"; +import { formatDateToIndonesian } from "@/utils/globals"; +import Image from "next/image"; +import { useParams } from "next/navigation"; +import React, { useEffect, useState } from "react"; + +const LatestNews = () => { + const [isLoading, setIsLoading] = useState(true); + const params = useParams(); + const locale = params?.locale; + const [heroData, setHeroData] = useState(); + + useEffect(() => { + const timer = setTimeout(() => { + setIsLoading(false); + }, 3000); + + return () => clearTimeout(timer); + }, []); + + useEffect(() => { + async function fetchCategories() { + const url = "https://netidhub.com/api/csrf"; + + try { + const response = await fetch(url); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + const data = await response.json(); + return data; // Menampilkan data yang diterima dari API + } catch (error) { + console.error("Fetch error: ", error); + } + } + + fetchCategories(); + initFetch(); + }, []); + + const initFetch = async () => { + const response = await getHeroData(); + console.log(response); + setHeroData(response?.data?.data?.content); + }; + + return ( + <> +
+
+

Berita Terbaru

+
+
+
+ {isLoading ? ( +
+ +
+ + +
+
+ ) : ( +
+ {heroData?.length > 0 && ( +
+ gambar-utama{" "} +

{heroData[0]?.title}

+
+

{heroData[0]?.categoryName}

+

+ {formatDateToIndonesian(new Date(heroData[0]?.createdAt))} {heroData[0]?.timezone ? heroData[0]?.timezone : "WIB"}|{" "} + + + {" "} + {heroData[0]?.clickCount}{" "} +

+
+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Repudiandae eum consectetur cum placeat non aperiam suscipit libero ipsa commodi. Quam dicta eligendi voluptate, ab sunt ratione accusamus esse animi vel libero + veniam nulla tenetur ipsum provident minus. Error ad eligendi quasi autem neque ex, iste perspiciatis magnam. Magni, quos sequi. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Velit rem veniam doloribus saepe + atque quia ut quaerat fugit harum. Velit quia quisquam consectetur blanditiis porro itaque perferendis. Voluptatibus fuga ipsam maxime, hic doloribus inventore, odio eos molestiae velit cum placeat! Est nostrum quas + veritatis deserunt itaque illum alias. Assumenda deleniti similique id. +

+
+ )} +
+ )} + + {isLoading ? ( +
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ ) : ( +
+ {heroData?.map((item: any) => ( +
+ {/*
+ +
*/} +
+

{item?.title}

+
+

{item?.categoryName}

+

+ {formatDateToIndonesian(new Date(item?.createdAt))} {item?.timezone ? item?.timezone : "WIB"}|{" "} + + + {" "} + {item?.clickCount}{" "} +

+
+
+
+ ))} +
+ )} +
+ + ); +}; + +export default LatestNews; diff --git a/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/national-news.tsx b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/national-news.tsx new file mode 100644 index 00000000..02fa936a --- /dev/null +++ b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/national-news.tsx @@ -0,0 +1,168 @@ +"use client"; + +import { Skeleton } from "@/components/ui/skeleton"; +import { getHeroData } from "@/service/landing/landing"; +import { formatDateToIndonesian } from "@/utils/globals"; +import Image from "next/image"; +import { useParams } from "next/navigation"; +import React, { useEffect, useState } from "react"; + +const NationalNews = () => { + const [isLoading, setIsLoading] = useState(true); + const params = useParams(); + const locale = params?.locale; + const [heroData, setHeroData] = useState(); + + useEffect(() => { + const timer = setTimeout(() => { + setIsLoading(false); + }, 3000); + + return () => clearTimeout(timer); + }, []); + + useEffect(() => { + async function fetchCategories() { + const url = "https://netidhub.com/api/csrf"; + + try { + const response = await fetch(url); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + const data = await response.json(); + return data; // Menampilkan data yang diterima dari API + } catch (error) { + console.error("Fetch error: ", error); + } + } + + fetchCategories(); + initFetch(); + }, []); + + const initFetch = async () => { + const response = await getHeroData(); + console.log(response); + setHeroData(response?.data?.data?.content); + }; + + return ( + <> +
+
+

Berita Nasional

+
+
+
+ {isLoading ? ( +
+ +
+ + +
+
+ ) : ( +
+ {heroData?.length > 0 && ( +
+ gambar-utama{" "} +

{heroData[0]?.title}

+
+

{heroData[0]?.categoryName}

+

+ {formatDateToIndonesian(new Date(heroData[0]?.createdAt))} {heroData[0]?.timezone ? heroData[0]?.timezone : "WIB"}|{" "} + + + {" "} + {heroData[0]?.clickCount}{" "} +

+
+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Repudiandae eum consectetur cum placeat non aperiam suscipit libero ipsa commodi. Quam dicta eligendi voluptate, ab sunt ratione accusamus esse animi vel libero + veniam nulla tenetur ipsum provident minus. Error ad eligendi quasi autem neque ex, iste perspiciatis magnam. Magni, quos sequi. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Velit rem veniam doloribus saepe + atque quia ut quaerat fugit harum. Velit quia quisquam consectetur blanditiis porro itaque perferendis. Voluptatibus fuga ipsam maxime, hic doloribus inventore, odio eos molestiae velit cum placeat! Est nostrum quas + veritatis deserunt itaque illum alias. Assumenda deleniti similique id. +

+
+ )} +
+ )} + + {isLoading ? ( +
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ ) : ( +
+ {heroData?.map((item: any) => ( +
+ {/*
+ +
*/} +
+

{item?.title}

+
+

{item?.categoryName}

+

+ {formatDateToIndonesian(new Date(item?.createdAt))} {item?.timezone ? item?.timezone : "WIB"}|{" "} + + + {" "} + {item?.clickCount}{" "} +

+
+
+
+ ))} +
+ )} +
+ + ); +}; + +export default NationalNews; diff --git a/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/navbar-kaltara.tsx b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/navbar-kaltara.tsx new file mode 100644 index 00000000..8b335174 --- /dev/null +++ b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/navbar-kaltara.tsx @@ -0,0 +1,101 @@ +import { Button } from "@/components/ui/button"; +import { Icon } from "@/components/ui/icon"; +import { Link } from "@/i18n/routing"; +import Image from "next/image"; +import React, { useState } from "react"; + +const category = [ + { + id: 1, + name: "Nasional", + }, + { + id: 2, + name: "Kaltara", + }, + { + id: 3, + name: "Keamanan", + }, + { + id: 4, + name: "Kesehatan", + }, + { + id: 5, + name: "Olahraga", + }, + { + id: 6, + name: "PPA", + }, + { + id: 7, + name: "MediaHub", + }, +]; + +const categoryLinks: any = { + Nasional: "/news/nasional", + Kaltara: "/news/kaltara", + Keamanan: "/security", + Kesehatan: "/health", + Olahraga: "/sports", + PPA: "/ppa", + MediaHub: "https://mediahub.polri.go.id/", +}; + +const NavbarKaltara = () => { + const [menuOpen, setMenuOpen] = useState(false); + + return ( +
+
+ image +
+ {category?.map((data: any) => ( + + {data?.name} + + ))} +
+ +
+ + {/* Mobile Menu Toggle */} + + + {/* Mobile Menu */} + {menuOpen && ( +
+
+ {category?.map((data: any) => ( + + {data?.name} + + ))} +
+ +
+ )} +
+ ); +}; + +export default NavbarKaltara; diff --git a/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/news-tickers-kaltara.tsx b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/news-tickers-kaltara.tsx new file mode 100644 index 00000000..26a18c7c --- /dev/null +++ b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/news-tickers-kaltara.tsx @@ -0,0 +1,87 @@ +"use client"; +import { Link } from "@/i18n/routing"; +import { getHeroData, listCarousel } from "@/service/landing/landing"; +import { formatDateToIndonesian, textEllipsis } from "@/utils/globals"; +import { useEffect, useState } from "react"; +import { useTranslations } from "next-intl"; +import { Icon } from "@/components/ui/icon"; + +export default function NewsTickerKaltara() { + const [article, setArticle] = useState([]); + const [currentNewsIndex, setCurrentNewsIndex] = useState(0); + const [animate, setAnimate] = useState(false); + const [tanggal, setTanggal] = useState(""); + const t = useTranslations("LandingPage"); + + useEffect(() => { + const options: Intl.DateTimeFormatOptions = { + weekday: "long", + day: "2-digit", + month: "long", + year: "numeric", + }; + const today = new Date().toLocaleDateString("id-ID", options); + setTanggal(today); + }, []); + + useEffect(() => { + async function getArticle() { + const response = await getHeroData(); + setArticle(response?.data?.data?.content); + } + getArticle(); + }, []); + + const triggerAnimation = (newIndex: number) => { + setAnimate(true); + setTimeout(() => { + setCurrentNewsIndex(newIndex); + setAnimate(false); + }, 300); + }; + + const handlePrev = () => { + const newIndex = (currentNewsIndex - 1 + article.length) % article.length; + triggerAnimation(newIndex); + }; + + const handleNext = () => { + const newIndex = (currentNewsIndex + 1) % article.length; + triggerAnimation(newIndex); + }; + + useEffect(() => { + const interval = setInterval(() => { + triggerAnimation((currentNewsIndex + 1) % article.length); + }, 7000); + + return () => clearInterval(interval); + }, [article?.length]); + + return ( +
+
+ {tanggal} +
+
+
{t("breakingNews")} :
+
+ +

{article[currentNewsIndex]?.title}

+ + +

{textEllipsis(article[currentNewsIndex]?.title, 28)}

+ +

{formatDateToIndonesian(article[currentNewsIndex]?.createdAt)}

+
+ +
+ ); +} diff --git a/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/popular-news.tsx b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/popular-news.tsx new file mode 100644 index 00000000..4a4c7cd4 --- /dev/null +++ b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/popular-news.tsx @@ -0,0 +1,168 @@ +"use client"; + +import { Skeleton } from "@/components/ui/skeleton"; +import { getHeroData } from "@/service/landing/landing"; +import { formatDateToIndonesian } from "@/utils/globals"; +import Image from "next/image"; +import { useParams } from "next/navigation"; +import React, { useEffect, useState } from "react"; + +const PopularNews = () => { + const [isLoading, setIsLoading] = useState(true); + const params = useParams(); + const locale = params?.locale; + const [heroData, setHeroData] = useState(); + + useEffect(() => { + const timer = setTimeout(() => { + setIsLoading(false); + }, 3000); + + return () => clearTimeout(timer); + }, []); + + useEffect(() => { + async function fetchCategories() { + const url = "https://netidhub.com/api/csrf"; + + try { + const response = await fetch(url); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + const data = await response.json(); + return data; // Menampilkan data yang diterima dari API + } catch (error) { + console.error("Fetch error: ", error); + } + } + + fetchCategories(); + initFetch(); + }, []); + + const initFetch = async () => { + const response = await getHeroData(); + console.log(response); + setHeroData(response?.data?.data?.content); + }; + + return ( + <> +
+
+

Berita Terpopuler

+
+
+
+ {isLoading ? ( +
+ +
+ + +
+
+ ) : ( +
+ {heroData?.length > 0 && ( +
+ gambar-utama{" "} +

{heroData[0]?.title}

+
+

{heroData[0]?.categoryName}

+

+ {formatDateToIndonesian(new Date(heroData[0]?.createdAt))} {heroData[0]?.timezone ? heroData[0]?.timezone : "WIB"}|{" "} + + + {" "} + {heroData[0]?.clickCount}{" "} +

+
+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Repudiandae eum consectetur cum placeat non aperiam suscipit libero ipsa commodi. Quam dicta eligendi voluptate, ab sunt ratione accusamus esse animi vel libero + veniam nulla tenetur ipsum provident minus. Error ad eligendi quasi autem neque ex, iste perspiciatis magnam. Magni, quos sequi. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Velit rem veniam doloribus saepe + atque quia ut quaerat fugit harum. Velit quia quisquam consectetur blanditiis porro itaque perferendis. Voluptatibus fuga ipsam maxime, hic doloribus inventore, odio eos molestiae velit cum placeat! Est nostrum quas + veritatis deserunt itaque illum alias. Assumenda deleniti similique id. +

+
+ )} +
+ )} + + {isLoading ? ( +
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ ) : ( +
+ {heroData?.map((item: any) => ( +
+ {/*
+ +
*/} +
+

{item?.title}

+
+

{item?.categoryName}

+

+ {formatDateToIndonesian(new Date(item?.createdAt))} {item?.timezone ? item?.timezone : "WIB"}|{" "} + + + {" "} + {item?.clickCount}{" "} +

+
+
+
+ ))} +
+ )} +
+ + ); +}; + +export default PopularNews; diff --git a/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/regional-news.tsx b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/regional-news.tsx new file mode 100644 index 00000000..93601642 --- /dev/null +++ b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/regional-news.tsx @@ -0,0 +1,168 @@ +"use client"; + +import { Skeleton } from "@/components/ui/skeleton"; +import { getHeroData } from "@/service/landing/landing"; +import { formatDateToIndonesian } from "@/utils/globals"; +import Image from "next/image"; +import { useParams } from "next/navigation"; +import React, { useEffect, useState } from "react"; + +const RegionalNews = () => { + const [isLoading, setIsLoading] = useState(true); + const params = useParams(); + const locale = params?.locale; + const [heroData, setHeroData] = useState(); + + useEffect(() => { + const timer = setTimeout(() => { + setIsLoading(false); + }, 3000); + + return () => clearTimeout(timer); + }, []); + + useEffect(() => { + async function fetchCategories() { + const url = "https://netidhub.com/api/csrf"; + + try { + const response = await fetch(url); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + const data = await response.json(); + return data; // Menampilkan data yang diterima dari API + } catch (error) { + console.error("Fetch error: ", error); + } + } + + fetchCategories(); + initFetch(); + }, []); + + const initFetch = async () => { + const response = await getHeroData(); + console.log(response); + setHeroData(response?.data?.data?.content); + }; + + return ( + <> +
+
+

Berita Wilayah

+
+
+
+ {isLoading ? ( +
+ +
+ + +
+
+ ) : ( +
+ {heroData?.length > 0 && ( +
+ gambar-utama{" "} +

{heroData[0]?.title}

+
+

{heroData[0]?.categoryName}

+

+ {formatDateToIndonesian(new Date(heroData[0]?.createdAt))} {heroData[0]?.timezone ? heroData[0]?.timezone : "WIB"}|{" "} + + + {" "} + {heroData[0]?.clickCount}{" "} +

+
+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Repudiandae eum consectetur cum placeat non aperiam suscipit libero ipsa commodi. Quam dicta eligendi voluptate, ab sunt ratione accusamus esse animi vel libero + veniam nulla tenetur ipsum provident minus. Error ad eligendi quasi autem neque ex, iste perspiciatis magnam. Magni, quos sequi. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Velit rem veniam doloribus saepe + atque quia ut quaerat fugit harum. Velit quia quisquam consectetur blanditiis porro itaque perferendis. Voluptatibus fuga ipsam maxime, hic doloribus inventore, odio eos molestiae velit cum placeat! Est nostrum quas + veritatis deserunt itaque illum alias. Assumenda deleniti similique id. +

+
+ )} +
+ )} + + {isLoading ? ( +
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ ) : ( +
+ {heroData?.map((item: any) => ( +
+ {/*
+ +
*/} +
+

{item?.title}

+
+

{item?.categoryName}

+

+ {formatDateToIndonesian(new Date(item?.createdAt))} {item?.timezone ? item?.timezone : "WIB"}|{" "} + + + {" "} + {item?.clickCount}{" "} +

+
+
+
+ ))} +
+ )} +
+ + ); +}; + +export default RegionalNews; diff --git a/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/social-media.tsx b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/social-media.tsx new file mode 100644 index 00000000..43426d80 --- /dev/null +++ b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/components/social-media.tsx @@ -0,0 +1,219 @@ +import React, { useState } from "react"; +import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs"; +import Image from "next/image"; +import { Icon } from "@/components/ui/icon"; +import { Link } from "@/i18n/routing"; + +const SocialMedia = () => { + const [selectedTab, setSelectedTab] = useState("x"); + + return ( +
+
Media Sosial
+
+ + + + X{" "} + +
|
+ + Instagram + +
|
+ + Facebook + +
|
+ + Tiktok + +
|
+ + Youtube + +
+
+
+
+ {selectedTab == "x" ? ( +
+
+
+ {" "} + +
+
+
+

Humas_PoldaKaltara

+ + + +
+

@HumasKaltara

+
+
+
+
+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Maxime quo fugiat soluta. Possimus est inventore, quidem eligendi fugit repudiandae dicta saepe perspiciatis corrupti quae sapiente accusantium cumque et dolor ut + ullam tempora deserunt dolore consequatur! +

+ {" "} +
+
+
+ ) : selectedTab == "instagram" ? ( +
+
+
+ {" "} + +
+
+
+

TBNews Mabes Polri

+ + + +
+

@TBNewsMabes

+
+
+
+
+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Maxime quo fugiat soluta. Possimus est inventore, quidem eligendi fugit repudiandae dicta saepe perspiciatis corrupti quae sapiente accusantium cumque et dolor ut + ullam tempora deserunt dolore consequatur! +

+ {" "} +
+
+
+ ) : selectedTab == "facebook" ? ( +
+
+
+ {" "} + +
+
+
+

TBNews Mabes Polri

+ + + +
+

@TBNewsMabes

+
+
+
+
+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Maxime quo fugiat soluta. Possimus est inventore, quidem eligendi fugit repudiandae dicta saepe perspiciatis corrupti quae sapiente accusantium cumque et dolor ut + ullam tempora deserunt dolore consequatur! +

+ {" "} +
+
+
+ ) : selectedTab == "tiktok" ? ( +
+
+
+ {" "} + +
+
+
+

TBNews Mabes Polri

+ + + +
+

@TBNewsMabes

+
+
+
+
+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Maxime quo fugiat soluta. Possimus est inventore, quidem eligendi fugit repudiandae dicta saepe perspiciatis corrupti quae sapiente accusantium cumque et dolor ut + ullam tempora deserunt dolore consequatur! +

+ {" "} +
+
+
+ ) : selectedTab == "youtube" ? ( +
+
+
+ {" "} + +
+
+
+

TBNews Mabes Polri

+ + + +
+

@TBNewsMabes

+
+
+
+
+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Maxime quo fugiat soluta. Possimus est inventore, quidem eligendi fugit repudiandae dicta saepe perspiciatis corrupti quae sapiente accusantium cumque et dolor ut + ullam tempora deserunt dolore consequatur! +

+ {" "} +
+
+
+ ) : ( +

+ empty +

+ )} +
+
+ + Lihat Semua + +
+
+ ); +}; + +export default SocialMedia; diff --git a/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/page.tsx b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/page.tsx new file mode 100644 index 00000000..25d49596 --- /dev/null +++ b/app/[locale]/(public)/(polda)/tbnews/polda-kaltara/page.tsx @@ -0,0 +1,30 @@ +"use client"; + +import React from "react"; +import NavbarKaltara from "./components/navbar-kaltara"; +import HeroKaltara from "./components/hero-kaltara"; +import LatestNews from "./components/latest-news"; +import PopularNews from "./components/popular-news"; +import NationalNews from "./components/national-news"; +import RegionalNews from "./components/regional-news"; +import ContactUs from "./components/contact-us"; +import SocialMedia from "./components/social-media"; +import NewsTickerKaltara from "./components/news-tickers-kaltara"; + +const PoldaKaltara = () => { + return ( +
+ + + + + + + + + +
+ ); +}; + +export default PoldaKaltara; diff --git a/app/[locale]/(public)/image/detail/[slug]/page.tsx b/app/[locale]/(public)/image/detail/[slug]/page.tsx index 6e74dac7..04149204 100644 --- a/app/[locale]/(public)/image/detail/[slug]/page.tsx +++ b/app/[locale]/(public)/image/detail/[slug]/page.tsx @@ -22,6 +22,7 @@ import { Skeleton } from "@/components/ui/skeleton"; import { useTranslations } from "next-intl"; import Image from "next/image"; + interface Size { label: string; value: string; @@ -60,6 +61,10 @@ const DetailInfo = () => { const [visibleInput, setVisibleInput] = useState(null); let typeString = "image"; const t = useTranslations("LandingPage"); + const poldaName = params?.polda_name; + const satkerName = params?.satker_name; + + let prefixPath = poldaName ? `/polda/${poldaName}` : satkerName ? `/satker/${satkerName}` : "/"; useEffect(() => { diff --git a/components/landing-page/coverage.tsx b/components/landing-page/coverage.tsx index 7c589838..2d4cf257 100644 --- a/components/landing-page/coverage.tsx +++ b/components/landing-page/coverage.tsx @@ -79,7 +79,9 @@ const Coverage: React.FC = () => { {/*

Liputan Wilayah

*/} +
+ {/* Pencarian */}
setSearchTerm(e.target.value)} type="text" placeholder={t("search")} className="w-4/5 px-4 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-[#bb3523] focus:outline-none" /> @@ -88,12 +90,19 @@ const Coverage: React.FC = () => {
+ {/* Grid Wilayah */}
+
+ + polda-kaltara + +

Polda Kalimantan Utara

+
{filteredList && filteredList.length > 0 ? ( filteredList.map((region, index) => !seeAllValue ? ( - index < 9 ? ( + index < 8 ? (
{region.name} @@ -116,7 +125,8 @@ const Coverage: React.FC = () => {

{t("notFound")}

)}
- {filteredList && filteredList.length > 9 && ( + + {filteredList && filteredList.length > 8 && (
diff --git a/components/landing-page/welcome-polda.tsx b/components/landing-page/welcome-polda.tsx index 2fbe316d..04289341 100644 --- a/components/landing-page/welcome-polda.tsx +++ b/components/landing-page/welcome-polda.tsx @@ -4,7 +4,7 @@ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigge import { FiFile, FiImage, FiMusic, FiYoutube } from "react-icons/fi"; import { Icon } from "@iconify/react/dist/iconify.js"; import { useTranslations } from "next-intl"; -import { Input } from "../ui/input"; +import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectTrigger, SelectValue } from "@/components/ui/select"; const WelcomePolda = () => { const router = useRouter(); @@ -13,6 +13,8 @@ const WelcomePolda = () => { const poldaName: any = params?.polda_name; const [categorySelect, setCategorySelect] = useState("0"); const t = useTranslations("LandingPage"); + const [contentType, setContentType] = useState("all"); + const [search, setSearch] = useState(""); useEffect(() => { function initState() { @@ -35,9 +37,9 @@ const WelcomePolda = () => {

{/* Search Form */} - diff --git a/components/landing-page/welcome-satker.tsx b/components/landing-page/welcome-satker.tsx index 9c76e8ff..1f49c430 100644 --- a/components/landing-page/welcome-satker.tsx +++ b/components/landing-page/welcome-satker.tsx @@ -6,6 +6,7 @@ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigge import { FiFile, FiImage, FiMusic, FiYoutube } from "react-icons/fi"; import { Icon } from "@iconify/react/dist/iconify.js"; import { useTranslations } from "next-intl"; +import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectTrigger, SelectValue } from "@/components/ui/select"; const WelcomeSatker = () => { const router = useRouter(); @@ -14,6 +15,8 @@ const WelcomeSatker = () => { const satkerName: any = params?.satker_name; const [categorySelect, setCategorySelect] = useState("0"); const t = useTranslations("LandingPage"); + const [contentType, setContentType] = useState("all"); + const [search, setSearch] = useState(""); useEffect(() => { function initState() { @@ -36,9 +39,9 @@ const WelcomeSatker = () => {

{/* Search Form */} -
diff --git a/public/assets/img/gbr-contoh.png b/public/assets/img/gbr-contoh.png new file mode 100644 index 00000000..f9fc1590 Binary files /dev/null and b/public/assets/img/gbr-contoh.png differ diff --git a/public/assets/img/logo-bawah.png b/public/assets/img/logo-bawah.png new file mode 100644 index 00000000..b68712d6 Binary files /dev/null and b/public/assets/img/logo-bawah.png differ diff --git a/public/assets/img/logo-humas.jpg b/public/assets/img/logo-humas.jpg new file mode 100644 index 00000000..ff3eca9b Binary files /dev/null and b/public/assets/img/logo-humas.jpg differ diff --git a/public/assets/img/logo-new-tbnews.png b/public/assets/img/logo-new-tbnews.png new file mode 100644 index 00000000..94c136db Binary files /dev/null and b/public/assets/img/logo-new-tbnews.png differ diff --git a/public/assets/img/logo-tbn.png b/public/assets/img/logo-tbn.png new file mode 100644 index 00000000..9af3771a Binary files /dev/null and b/public/assets/img/logo-tbn.png differ diff --git a/public/assets/img/logo-tbnews-kaltara.png b/public/assets/img/logo-tbnews-kaltara.png new file mode 100644 index 00000000..5959eabd Binary files /dev/null and b/public/assets/img/logo-tbnews-kaltara.png differ diff --git a/public/assets/img/video-sosmed.png b/public/assets/img/video-sosmed.png new file mode 100644 index 00000000..99893e86 Binary files /dev/null and b/public/assets/img/video-sosmed.png differ