merge main

This commit is contained in:
Rama Priyanto 2024-12-25 01:19:39 +07:00
commit aa9cedb7e8
139 changed files with 11252 additions and 1109 deletions

View File

@ -1,24 +1,26 @@
FROM node:21-alpine FROM node:23.5.0-alpine
ENV PORT 3000 ENV PORT 3000
# Install pnpm globally
RUN npm install -g pnpm
# Create app directory # Create app directory
RUN mkdir -p /usr/src/app RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app WORKDIR /usr/src/app
# Installing dependencies # Installing dependencies
COPY package*.json /usr/src/app/ COPY package*.json pnpm-lock.yaml* /usr/src/app/
# RUN npm install --force # Install dependencies using pnpm
RUN npm install -g npm@latest RUN pnpm install --frozen-lockfile
RUN npm install next --legacy-peer-deps
# Copying source files # Copying source files
COPY . /usr/src/app COPY . /usr/src/app
# Building app # Building app
RUN npm run build RUN pnpm run build
EXPOSE 3000 EXPOSE 3000
# Running the app # Running the app
CMD "npm" "run" "start" CMD ["pnpm", "run", "start"]

View File

@ -1,14 +1,14 @@
'use server' 'use server'
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
import { revalidatePath } from "next/cache"; import { revalidatePath } from "next/cache";
import {signIn} from "@/lib/auth";
export const loginUser = async (data: any) => { export const loginUser = async (data: any) => {
try { try {
const response = await signIn("credentials", { const response = undefined;
email: data.email, // await signIn("credentials", {
password: data.password, // email: data.email,
redirect: false, // password: data.password,
}); // redirect: false,
// });
return response; return response;
} catch (error) { } catch (error) {
throw new Error(error as string); throw new Error(error as string);

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -14,7 +14,7 @@ import {
import { SortableContext, arrayMove } from "@dnd-kit/sortable"; import { SortableContext, arrayMove } from "@dnd-kit/sortable";
import ColumnContainer from "./column" import ColumnContainer from "./column"
import TaskCard from './task'; import TaskCard from './task';
import { createPortal } from "react-dom"; // import { createPortal } from "react-dom";
import AddBoard from './add-board'; import AddBoard from './add-board';
import CreateTask from "./create-task"; import CreateTask from "./create-task";
import { useTranslations } from 'next-intl'; import { useTranslations } from 'next-intl';
@ -147,7 +147,7 @@ const KanBanApp = ({ defaultCols, defaultTasks }: { defaultCols: Column[], defau
</div> </div>
</div> </div>
{createPortal( {/* {createPortal(
<DragOverlay> <DragOverlay>
{activeColumn && ( {activeColumn && (
<ColumnContainer <ColumnContainer
@ -159,7 +159,7 @@ const KanBanApp = ({ defaultCols, defaultTasks }: { defaultCols: Column[], defau
{activeTask && <TaskCard task={activeTask} />} {activeTask && <TaskCard task={activeTask} />}
</DragOverlay>, </DragOverlay>,
document.body document.body
)} )} */}
</DndContext> </DndContext>
</div> </div>
<CreateTask <CreateTask

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -2,13 +2,14 @@ import PageTitle from "@/components/page-title";
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <> return <>
<PageTitle className="mb-6" /> <PageTitle className="mb-6" />
{children}</>; {children}
</>
}; };
export default Layout; export default Layout;

View File

@ -1,4 +1,5 @@
"use client"; "use client";
import { StatisticsBlock } from "@/components/blocks/statistics-block"; import { StatisticsBlock } from "@/components/blocks/statistics-block";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import DashboardDropdown from "@/components/dashboard-dropdown"; import DashboardDropdown from "@/components/dashboard-dropdown";

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -4,22 +4,22 @@ import DashCodeSidebar from "@/components/partials/sidebar";
import DashCodeFooter from "@/components/partials/footer"; import DashCodeFooter from "@/components/partials/footer";
import ThemeCustomize from "@/components/partials/customizer"; import ThemeCustomize from "@/components/partials/customizer";
import DashCodeHeader from "@/components/partials/header"; import DashCodeHeader from "@/components/partials/header";
import { auth } from "@/lib/auth"; import MountedProvider from "@/providers/mounted.provider";
import { redirect } from "@/components/navigation";
const layout = async ({ children }: { children: React.ReactNode }) => { const layout = async ({ children }: { children: React.ReactNode }) => {
const session = await auth();
if (!session) {
redirect("/");
}
return ( return (
<LayoutProvider> <MountedProvider
<ThemeCustomize /> isProtected={true}
<DashCodeHeader /> >
<DashCodeSidebar /> <LayoutProvider>
<LayoutContentProvider>{children}</LayoutContentProvider> <ThemeCustomize />
<DashCodeFooter /> <DashCodeHeader />
</LayoutProvider> <DashCodeSidebar />
<LayoutContentProvider>{children}</LayoutContentProvider>
<DashCodeFooter />
</LayoutProvider>
</MountedProvider>
); );
}; };

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -8,7 +8,7 @@ const LayerLinks = ({ height = 350 }: { height?: number }) => {
const onClick = (event: React.MouseEvent<SVGPathElement>) => { const onClick = (event: React.MouseEvent<SVGPathElement>) => {
const name = event.currentTarget.getAttribute("name"); const name = event.currentTarget.getAttribute("name");
if (name) { if (name) {
window.open(`https://www.google.com/search?q=${name}%20nz`); // window.open(`https://www.google.com/search?q=${name}%20nz`);
} }
}; };

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,6 +1,6 @@
export const metadata = { export const metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const layout = ({ children }: { children: React.ReactNode }) => { const layout = ({ children }: { children: React.ReactNode }) => {

View File

@ -1,6 +1,6 @@
export const metadata = { export const metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const layout = ({ children }: { children: React.ReactNode }) => { const layout = ({ children }: { children: React.ReactNode }) => {

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Media Hub | POLRI",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -2,7 +2,7 @@ import { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Dashcode Next Js", title: "Dashcode Next Js",
description: "Dashcode is a popular dashboard template.", description: "Media Hub merupakan situs resmi milik Divisi Humas Polri di mana di dalamnya berisi konten-konten yang dapat diakses secara gratis oleh Internal Polri, Jurnalis, Masyarakat Umum, dan KSP.",
}; };
const Layout = ({ children }: { children: React.ReactNode }) => { const Layout = ({ children }: { children: React.ReactNode }) => {
return <>{children}</>; return <>{children}</>;

View File

@ -4,7 +4,7 @@ import DashCodeSidebar from "@/components/partials/sidebar";
import DashCodeFooter from "@/components/partials/footer"; import DashCodeFooter from "@/components/partials/footer";
import ThemeCustomize from "@/components/partials/customizer"; import ThemeCustomize from "@/components/partials/customizer";
import DashCodeHeader from "@/components/partials/header"; import DashCodeHeader from "@/components/partials/header";
import { auth } from "@/lib/auth";
import { redirect } from "@/components/navigation"; import { redirect } from "@/components/navigation";
import Footer from "@/components/landing-page/Footer"; import Footer from "@/components/landing-page/Footer";
import Navbar from "@/components/landing-page/Navbar"; import Navbar from "@/components/landing-page/Navbar";

View File

@ -4,7 +4,7 @@ import DashCodeSidebar from "@/components/partials/sidebar";
import DashCodeFooter from "@/components/partials/footer"; import DashCodeFooter from "@/components/partials/footer";
import ThemeCustomize from "@/components/partials/customizer"; import ThemeCustomize from "@/components/partials/customizer";
import DashCodeHeader from "@/components/partials/header"; import DashCodeHeader from "@/components/partials/header";
import { auth } from "@/lib/auth";
import { redirect } from "@/components/navigation"; import { redirect } from "@/components/navigation";
import Navbar from "@/components/landing-page/Navbar"; import Navbar from "@/components/landing-page/Navbar";
import Footer from "@/components/landing-page/Footer"; import Footer from "@/components/landing-page/Footer";

View File

@ -4,7 +4,7 @@ import DashCodeSidebar from "@/components/partials/sidebar";
import DashCodeFooter from "@/components/partials/footer"; import DashCodeFooter from "@/components/partials/footer";
import ThemeCustomize from "@/components/partials/customizer"; import ThemeCustomize from "@/components/partials/customizer";
import DashCodeHeader from "@/components/partials/header"; import DashCodeHeader from "@/components/partials/header";
import { auth } from "@/lib/auth";
import { redirect } from "@/components/navigation"; import { redirect } from "@/components/navigation";
import Footer from "@/components/landing-page/Footer"; import Footer from "@/components/landing-page/Footer";
import Navbar from "@/components/landing-page/Navbar"; import Navbar from "@/components/landing-page/Navbar";

View File

@ -0,0 +1,24 @@
"use client"; // Error components must be Client Components
import { useEffect } from "react";
import { Button } from "@/components/ui/button";
import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert";
import { Info } from "lucide-react";
export default function Error({ error, reset }: {
error: Error & { digest?: string }
reset: () => void
}) {
return (
<div className="space-y-4">
<Alert color="destructive" variant="soft">
<Info className="h-5 w-5" />
<AlertDescription>Something went wrong!</AlertDescription>
</Alert>
<Button onClick={() => reset()} color="destructive" size="sm">
Try again
</Button>
</div>
);
}

View File

@ -4,7 +4,7 @@ import DashCodeSidebar from "@/components/partials/sidebar";
import DashCodeFooter from "@/components/partials/footer"; import DashCodeFooter from "@/components/partials/footer";
import ThemeCustomize from "@/components/partials/customizer"; import ThemeCustomize from "@/components/partials/customizer";
import DashCodeHeader from "@/components/partials/header"; import DashCodeHeader from "@/components/partials/header";
import { auth } from "@/lib/auth";
import { redirect } from "@/components/navigation"; import { redirect } from "@/components/navigation";
import Navbar from "@/components/landing-page/Navbar"; import Navbar from "@/components/landing-page/Navbar";
import Footer from "@/components/landing-page/Footer"; import Footer from "@/components/landing-page/Footer";

View File

@ -4,7 +4,7 @@ import DashCodeSidebar from "@/components/partials/sidebar";
import DashCodeFooter from "@/components/partials/footer"; import DashCodeFooter from "@/components/partials/footer";
import ThemeCustomize from "@/components/partials/customizer"; import ThemeCustomize from "@/components/partials/customizer";
import DashCodeHeader from "@/components/partials/header"; import DashCodeHeader from "@/components/partials/header";
import { auth } from "@/lib/auth";
import { redirect } from "@/components/navigation"; import { redirect } from "@/components/navigation";
import Navbar from "@/components/landing-page/Navbar"; import Navbar from "@/components/landing-page/Navbar";
import Footer from "@/components/landing-page/Footer"; import Footer from "@/components/landing-page/Footer";

View File

@ -90,8 +90,8 @@ const DetailInfo = () => {
</Link> </Link>
<div className="flex justify-center flex-wrap gap-2 mb-4"> <div className="flex justify-center flex-wrap gap-2 mb-4">
{detailDataImage?.tags?.split(",").map((tag: string) => ( {detailDataImage?.tags?.split(",").map((tag: string, index: number) => (
<p className="bg-gray-200 text-gray-700 text-xs px-3 py-1 rounded-full cursor-pointer hover:bg-gray-500">{tag}</p> <p key={index} className="bg-gray-200 text-gray-700 text-xs px-3 py-1 rounded-full cursor-pointer hover:bg-gray-500">{tag}</p>
))} ))}
</div> </div>

View File

@ -4,7 +4,7 @@ import DashCodeSidebar from "@/components/partials/sidebar";
import DashCodeFooter from "@/components/partials/footer"; import DashCodeFooter from "@/components/partials/footer";
import ThemeCustomize from "@/components/partials/customizer"; import ThemeCustomize from "@/components/partials/customizer";
import DashCodeHeader from "@/components/partials/header"; import DashCodeHeader from "@/components/partials/header";
import { auth } from "@/lib/auth";
import { redirect } from "@/components/navigation"; import { redirect } from "@/components/navigation";
import Footer from "@/components/landing-page/Footer"; import Footer from "@/components/landing-page/Footer";
import Navbar from "@/components/landing-page/Navbar"; import Navbar from "@/components/landing-page/Navbar";

View File

@ -4,7 +4,7 @@ import DashCodeSidebar from "@/components/partials/sidebar";
import DashCodeFooter from "@/components/partials/footer"; import DashCodeFooter from "@/components/partials/footer";
import ThemeCustomize from "@/components/partials/customizer"; import ThemeCustomize from "@/components/partials/customizer";
import DashCodeHeader from "@/components/partials/header"; import DashCodeHeader from "@/components/partials/header";
import { auth } from "@/lib/auth";
import { redirect } from "@/components/navigation"; import { redirect } from "@/components/navigation";
import Footer from "@/components/landing-page/Footer"; import Footer from "@/components/landing-page/Footer";
import Navbar from "@/components/landing-page/Navbar"; import Navbar from "@/components/landing-page/Navbar";

View File

@ -0,0 +1,20 @@
import LayoutProvider from "@/providers/layout.provider";
import LayoutContentProvider from "@/providers/content.provider";
import DashCodeSidebar from "@/components/partials/sidebar";
import DashCodeFooter from "@/components/partials/footer";
import ThemeCustomize from "@/components/partials/customizer";
import DashCodeHeader from "@/components/partials/header";
import MountedProvider from "@/providers/mounted.provider";
const layout = async ({ children }: { children: React.ReactNode }) => {
return (
<MountedProvider
isProtected={false}
>
{children}
</MountedProvider>
);
};
export default layout;

Some files were not shown because too many files have changed in this diff Show More