feat: add api and adjust spacing ui
This commit is contained in:
commit
f9eb9a2f41
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import {
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { Badge } from "@/components/ui/badge";
|
import { Badge } from "@/components/ui/badge";
|
||||||
import { format } from "date-fns";
|
import { format } from "date-fns";
|
||||||
|
import { Link } from "@/components/navigation";
|
||||||
|
|
||||||
const columns: ColumnDef<any>[] = [
|
const columns: ColumnDef<any>[] = [
|
||||||
{
|
{
|
||||||
|
|
@ -139,12 +140,12 @@ const columns: ColumnDef<any>[] = [
|
||||||
</Button>
|
</Button>
|
||||||
</DropdownMenuTrigger>
|
</DropdownMenuTrigger>
|
||||||
<DropdownMenuContent className="p-0" align="end">
|
<DropdownMenuContent className="p-0" align="end">
|
||||||
<a href="/contributor/task/detail/[id]">
|
<Link href={`/contributor/content/image/detail/${row.original.id}`}>
|
||||||
<DropdownMenuItem className="p-2 border-b text-default-700 group focus:bg-default focus:text-primary-foreground rounded-none">
|
<DropdownMenuItem className="p-2 border-b text-default-700 group focus:bg-default focus:text-primary-foreground rounded-none">
|
||||||
<Eye className="w-4 h-4 me-1.5" />
|
<Eye className="w-4 h-4 me-1.5" />
|
||||||
View
|
View
|
||||||
</DropdownMenuItem>
|
</DropdownMenuItem>
|
||||||
</a>
|
</Link>
|
||||||
<DropdownMenuItem className="p-2 border-b text-destructive bg-destructive/30 focus:bg-destructive focus:text-destructive-foreground rounded-none">
|
<DropdownMenuItem className="p-2 border-b text-destructive bg-destructive/30 focus:bg-destructive focus:text-destructive-foreground rounded-none">
|
||||||
<Trash2 className="w-4 h-4 me-1.5" />
|
<Trash2 className="w-4 h-4 me-1.5" />
|
||||||
Delete
|
Delete
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
||||||
|
import FormImageDetail from "@/components/form/content/image-detail-form";
|
||||||
|
|
||||||
|
const ImageDetailPage = async () => {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<SiteBreadcrumb />
|
||||||
|
<div className="space-y-4">
|
||||||
|
<FormImageDetail />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default ImageDetailPage;
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -118,10 +118,12 @@ const columns: ColumnDef<any>[] = [
|
||||||
View
|
View
|
||||||
</DropdownMenuItem>
|
</DropdownMenuItem>
|
||||||
</Link>
|
</Link>
|
||||||
<DropdownMenuItem className="p-2 border-b text-default-700 group focus:bg-default focus:text-primary-foreground rounded-none">
|
<Link href={`/contributor/task/update/${row.original.id}`}>
|
||||||
<SquarePen className="w-4 h-4 me-1.5" />
|
<DropdownMenuItem className="p-2 border-b text-default-700 group focus:bg-default focus:text-primary-foreground rounded-none">
|
||||||
Edit
|
<SquarePen className="w-4 h-4 me-1.5" />
|
||||||
</DropdownMenuItem>
|
Edit
|
||||||
|
</DropdownMenuItem>
|
||||||
|
</Link>
|
||||||
<DropdownMenuItem className="p-2 border-b text-destructive bg-destructive/30 focus:bg-destructive focus:text-destructive-foreground rounded-none">
|
<DropdownMenuItem className="p-2 border-b text-destructive bg-destructive/30 focus:bg-destructive focus:text-destructive-foreground rounded-none">
|
||||||
<Trash2 className="w-4 h-4 me-1.5" />
|
<Trash2 className="w-4 h-4 me-1.5" />
|
||||||
Delete
|
Delete
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
import { Card, CardContent } from "@/components/ui/card";
|
||||||
|
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
||||||
|
import FormTask from "@/components/form/task/task-form";
|
||||||
|
import FormTaskDetail from "@/components/form/task/task-detail-form";
|
||||||
|
import FormTaskEdit from "@/components/form/task/task-edit-form";
|
||||||
|
|
||||||
|
const TaskDetailPage = async () => {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<SiteBreadcrumb />
|
||||||
|
<div className="space-y-4">
|
||||||
|
<FormTaskEdit />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default TaskDetailPage;
|
||||||
|
|
@ -1,14 +1,16 @@
|
||||||
import PageTitle from "@/components/page-title";
|
import PageTitle from "@/components/page-title";
|
||||||
import { Metadata } from "next";
|
import { Metadata } from "next";
|
||||||
|
import { Suspense } from "react";
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Dashcode Next Js",
|
title: "Media Hub | POLRI",
|
||||||
description: "Dashcode is a popular dashboard template.",
|
description: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
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;
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
'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";
|
||||||
|
|
@ -11,162 +13,165 @@ import BlogTable from "../contributor/blog/components/blog-table";
|
||||||
import ContentTable from "./routine-task/components/content-table";
|
import ContentTable from "./routine-task/components/content-table";
|
||||||
import RecentActivity from "./routine-task/components/recent-activity";
|
import RecentActivity from "./routine-task/components/recent-activity";
|
||||||
import { Link } from "@/components/navigation";
|
import { Link } from "@/components/navigation";
|
||||||
|
import { Suspense } from "react";
|
||||||
|
|
||||||
const DashboardPage = () => {
|
const DashboardPage = () => {
|
||||||
const t = useTranslations("AnalyticsDashboard");
|
const t = useTranslations("AnalyticsDashboard");
|
||||||
return (
|
return (
|
||||||
<div>
|
<Suspense>
|
||||||
<div className="my-3">
|
<div>
|
||||||
<Tabs defaultValue="routine-task" className="w-full">
|
<div className="my-3">
|
||||||
<Card className="py-3 px-2 my-4">
|
<Tabs defaultValue="routine-task" className="w-full">
|
||||||
<TabsList className="flex-wrap">
|
<Card className="py-3 px-2 my-4">
|
||||||
<TabsTrigger
|
<TabsList className="flex-wrap">
|
||||||
value="routine-task"
|
<TabsTrigger
|
||||||
className="data-[state=active]:bg-primary data-[state=active]:text-primary-foreground rounded-md px-6"
|
value="routine-task"
|
||||||
>
|
className="data-[state=active]:bg-primary data-[state=active]:text-primary-foreground rounded-md px-6"
|
||||||
Tugas Rutin
|
>
|
||||||
</TabsTrigger>
|
Tugas Rutin
|
||||||
<TabsTrigger
|
</TabsTrigger>
|
||||||
value="task"
|
<TabsTrigger
|
||||||
className="data-[state=active]:bg-primary data-[state=active]:text-primary-foreground rounded-md px-6"
|
value="task"
|
||||||
>
|
className="data-[state=active]:bg-primary data-[state=active]:text-primary-foreground rounded-md px-6"
|
||||||
Penugasan
|
>
|
||||||
</TabsTrigger>
|
Penugasan
|
||||||
<TabsTrigger
|
</TabsTrigger>
|
||||||
value="schedule"
|
<TabsTrigger
|
||||||
className="data-[state=active]:bg-primary data-[state=active]:text-primary-foreground rounded-md px-6"
|
value="schedule"
|
||||||
>
|
className="data-[state=active]:bg-primary data-[state=active]:text-primary-foreground rounded-md px-6"
|
||||||
Jadwal
|
>
|
||||||
</TabsTrigger>
|
Jadwal
|
||||||
<TabsTrigger
|
</TabsTrigger>
|
||||||
value="indeks"
|
<TabsTrigger
|
||||||
className="data-[state=active]:bg-primary data-[state=active]:text-primary-foreground rounded-md px-6"
|
value="indeks"
|
||||||
>
|
className="data-[state=active]:bg-primary data-[state=active]:text-primary-foreground rounded-md px-6"
|
||||||
Indeks
|
>
|
||||||
</TabsTrigger>
|
Indeks
|
||||||
</TabsList>
|
</TabsTrigger>
|
||||||
</Card>
|
</TabsList>
|
||||||
<TabsContent value="routine-task">
|
</Card>
|
||||||
<div className="grid grid-cols-12 items-center gap-5 mb-5">
|
<TabsContent value="routine-task">
|
||||||
<div className="2xl:col-span-12 lg:col-span-12 col-span-12">
|
<div className="grid grid-cols-12 items-center gap-5 mb-5">
|
||||||
<Card>
|
<div className="2xl:col-span-12 lg:col-span-12 col-span-12">
|
||||||
<CardContent className="p-4">
|
<Card>
|
||||||
<div className="grid md:grid-cols-3 gap-4">
|
<CardContent className="p-4">
|
||||||
<StatisticsBlock
|
<div className="grid md:grid-cols-3 gap-4">
|
||||||
title={"Hasil unggah disetujui hari ini"}
|
<StatisticsBlock
|
||||||
total="3,564"
|
title={"Hasil unggah disetujui hari ini"}
|
||||||
className="bg-info/10 border-none shadow-none"
|
total="3,564"
|
||||||
/>
|
className="bg-info/10 border-none shadow-none"
|
||||||
<StatisticsBlock
|
/>
|
||||||
title={"Hasil unggah direvisi hari ini"}
|
<StatisticsBlock
|
||||||
total="564"
|
title={"Hasil unggah direvisi hari ini"}
|
||||||
className="bg-warning/10 border-none shadow-none"
|
total="564"
|
||||||
chartColor="#FB8F65"
|
className="bg-warning/10 border-none shadow-none"
|
||||||
/>
|
chartColor="#FB8F65"
|
||||||
<StatisticsBlock
|
/>
|
||||||
title={"Hasil unggah ditolak hari ini"}
|
<StatisticsBlock
|
||||||
total="+5.0%"
|
title={"Hasil unggah ditolak hari ini"}
|
||||||
className="bg-primary/10 border-none shadow-none"
|
total="+5.0%"
|
||||||
chartColor="#2563eb"
|
className="bg-primary/10 border-none shadow-none"
|
||||||
/>
|
chartColor="#2563eb"
|
||||||
</div>
|
/>
|
||||||
</CardContent>
|
|
||||||
</Card>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="grid grid-cols-12 gap-5">
|
|
||||||
<div className="lg:col-span-4 col-span-12">
|
|
||||||
<Card>
|
|
||||||
<CardHeader className="flex flex-row items-center">
|
|
||||||
<CardTitle className="flex-1 text-lg">
|
|
||||||
{"Total Produksi Konten"}
|
|
||||||
</CardTitle>
|
|
||||||
<DashboardDropdown />
|
|
||||||
</CardHeader>
|
|
||||||
<CardContent>
|
|
||||||
<RecentActivity />
|
|
||||||
</CardContent>
|
|
||||||
</Card>
|
|
||||||
</div>
|
|
||||||
<div className="lg:col-span-8 col-span-12">
|
|
||||||
<Card>
|
|
||||||
<CardHeader className="flex flex-row items-center">
|
|
||||||
<CardTitle className="flex-1">{"Table"}</CardTitle>
|
|
||||||
<DashboardDropdown />
|
|
||||||
</CardHeader>
|
|
||||||
<CardContent className="p-0">
|
|
||||||
<ContentTable />
|
|
||||||
</CardContent>
|
|
||||||
</Card>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</TabsContent>
|
|
||||||
<TabsContent value="task">
|
|
||||||
<div className="grid grid-cols-12 gap-5">
|
|
||||||
<div className="lg:col-span-12 col-span-12">
|
|
||||||
<Card>
|
|
||||||
<Card className="py-4 px-3">
|
|
||||||
<div className="flex flex-row justify-between items-center">
|
|
||||||
<div className="flex-1 text-xl font-medium text-default-900">
|
|
||||||
Table Penugasan
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
</CardContent>
|
||||||
<Link href={"/contributor/task/create"}>
|
|
||||||
<Button color="primary" className="text-white">
|
|
||||||
<UploadIcon />
|
|
||||||
Buat Penugasan
|
|
||||||
</Button>
|
|
||||||
</Link>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</Card>
|
</Card>
|
||||||
<CardContent className="p-0 mt-3">
|
</div>
|
||||||
<TaskTable />
|
|
||||||
</CardContent>
|
|
||||||
</Card>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div className="grid grid-cols-12 gap-5">
|
||||||
</TabsContent>
|
<div className="lg:col-span-4 col-span-12">
|
||||||
<TabsContent value="schedule">
|
<Card>
|
||||||
<div className="grid grid-cols-12 gap-5">
|
<CardHeader className="flex flex-row items-center">
|
||||||
<div className="lg:col-span-12 col-span-12">
|
<CardTitle className="flex-1 text-lg">
|
||||||
<Card>
|
{"Total Produksi Konten"}
|
||||||
<CardContent className="p-0 ">
|
</CardTitle>
|
||||||
<PressConferenceTable />
|
<DashboardDropdown />
|
||||||
</CardContent>
|
</CardHeader>
|
||||||
</Card>
|
<CardContent>
|
||||||
</div>
|
<RecentActivity />
|
||||||
</div>
|
</CardContent>
|
||||||
</TabsContent>
|
|
||||||
<TabsContent value="indeks">
|
|
||||||
<div className="grid grid-cols-12 gap-5">
|
|
||||||
<div className="lg:col-span-12 col-span-12">
|
|
||||||
<Card>
|
|
||||||
<Card className="py-4 px-3">
|
|
||||||
<div className="flex flex-row justify-between items-center">
|
|
||||||
<div className="flex-1 text-xl font-medium text-default-900">
|
|
||||||
Table Indeks
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<Link href={"/contributor/blog/create"}>
|
|
||||||
<Button color="primary" className="text-white">
|
|
||||||
<UploadIcon />
|
|
||||||
Tambah Indeks
|
|
||||||
</Button>
|
|
||||||
</Link>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</Card>
|
</Card>
|
||||||
<CardContent className="p-0 mt-3">
|
</div>
|
||||||
<BlogTable />
|
<div className="lg:col-span-8 col-span-12">
|
||||||
</CardContent>
|
<Card>
|
||||||
</Card>
|
<CardHeader className="flex flex-row items-center">
|
||||||
|
<CardTitle className="flex-1">{"Table"}</CardTitle>
|
||||||
|
<DashboardDropdown />
|
||||||
|
</CardHeader>
|
||||||
|
<CardContent className="p-0">
|
||||||
|
<ContentTable />
|
||||||
|
</CardContent>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</TabsContent>
|
||||||
</TabsContent>
|
<TabsContent value="task">
|
||||||
</Tabs>
|
<div className="grid grid-cols-12 gap-5">
|
||||||
|
<div className="lg:col-span-12 col-span-12">
|
||||||
|
<Card>
|
||||||
|
<Card className="py-4 px-3">
|
||||||
|
<div className="flex flex-row justify-between items-center">
|
||||||
|
<div className="flex-1 text-xl font-medium text-default-900">
|
||||||
|
Table Penugasan
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<Link href={"/contributor/task/create"}>
|
||||||
|
<Button color="primary" className="text-white">
|
||||||
|
<UploadIcon />
|
||||||
|
Buat Penugasan
|
||||||
|
</Button>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
<CardContent className="p-0 mt-3">
|
||||||
|
<TaskTable />
|
||||||
|
</CardContent>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</TabsContent>
|
||||||
|
<TabsContent value="schedule">
|
||||||
|
<div className="grid grid-cols-12 gap-5">
|
||||||
|
<div className="lg:col-span-12 col-span-12">
|
||||||
|
<Card>
|
||||||
|
<CardContent className="p-0 ">
|
||||||
|
<PressConferenceTable />
|
||||||
|
</CardContent>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</TabsContent>
|
||||||
|
<TabsContent value="indeks">
|
||||||
|
<div className="grid grid-cols-12 gap-5">
|
||||||
|
<div className="lg:col-span-12 col-span-12">
|
||||||
|
<Card>
|
||||||
|
<Card className="py-4 px-3">
|
||||||
|
<div className="flex flex-row justify-between items-center">
|
||||||
|
<div className="flex-1 text-xl font-medium text-default-900">
|
||||||
|
Table Indeks
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<Link href={"/contributor/blog/create"}>
|
||||||
|
<Button color="primary" className="text-white">
|
||||||
|
<UploadIcon />
|
||||||
|
Tambah Indeks
|
||||||
|
</Button>
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
<CardContent className="p-0 mt-3">
|
||||||
|
<BlogTable />
|
||||||
|
</CardContent>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</TabsContent>
|
||||||
|
</Tabs>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</Suspense>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -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 session = await auth();
|
|
||||||
|
|
||||||
if (!session) {
|
const layout = async ({ children }: { children: React.ReactNode }) => {
|
||||||
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>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -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`);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ import "swiper/css/navigation";
|
||||||
import { FreeMode, Navigation, Pagination, Thumbs } from "swiper/modules";
|
import { FreeMode, Navigation, Pagination, Thumbs } from "swiper/modules";
|
||||||
import { Avatar, AvatarImage } from "@/components/ui/avatar";
|
import { Avatar, AvatarImage } from "@/components/ui/avatar";
|
||||||
import JoditEditor from "jodit-react";
|
import JoditEditor from "jodit-react";
|
||||||
|
import { Badge } from "@/components/ui/badge";
|
||||||
|
|
||||||
const detailSchema = z.object({
|
const detailSchema = z.object({
|
||||||
title: z.string().min(1, { message: "Judul diperlukan" }),
|
title: z.string().min(1, { message: "Judul diperlukan" }),
|
||||||
|
|
@ -286,12 +287,19 @@ export default function DetailDocument() {
|
||||||
</div>
|
</div>
|
||||||
</RadioGroup>
|
</RadioGroup>
|
||||||
</div>
|
</div>
|
||||||
<div className=" py-3">
|
<div className="py-3">
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
<Label>Tag</Label>
|
<Label>Tag</Label>
|
||||||
<p className="border rounded-md text-blue-600 px-2 py-2">
|
<div className="flex flex-wrap gap-2">
|
||||||
{detail?.tags}
|
{detail?.tags?.split(",").map((tag, index) => (
|
||||||
</p>
|
<Badge
|
||||||
|
key={index}
|
||||||
|
className="border rounded-md px-2 py-2"
|
||||||
|
>
|
||||||
|
{tag.trim()}
|
||||||
|
</Badge>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className=" py-3">
|
<div className=" py-3">
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@ import "swiper/css";
|
||||||
import "swiper/css/navigation";
|
import "swiper/css/navigation";
|
||||||
import { FreeMode, Navigation, Pagination, Thumbs } from "swiper/modules";
|
import { FreeMode, Navigation, Pagination, Thumbs } from "swiper/modules";
|
||||||
import { Avatar, AvatarImage } from "@/components/ui/avatar";
|
import { Avatar, AvatarImage } from "@/components/ui/avatar";
|
||||||
|
import { Badge } from "@/components/ui/badge";
|
||||||
|
|
||||||
const detailSchema = z.object({
|
const detailSchema = z.object({
|
||||||
title: z.string().min(1, { message: "Judul diperlukan" }),
|
title: z.string().min(1, { message: "Judul diperlukan" }),
|
||||||
|
|
@ -285,12 +286,19 @@ export default function DetailImage() {
|
||||||
</div>
|
</div>
|
||||||
</RadioGroup>
|
</RadioGroup>
|
||||||
</div>
|
</div>
|
||||||
<div className=" py-3">
|
<div className="py-3">
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
<Label>Tag</Label>
|
<Label>Tag</Label>
|
||||||
<p className="border rounded-md text-blue-600 px-2 py-2">
|
<div className="flex flex-wrap gap-2">
|
||||||
{detail?.tags}
|
{detail?.tags?.split(",").map((tag, index) => (
|
||||||
</p>
|
<Badge
|
||||||
|
key={index}
|
||||||
|
className="border rounded-md px-2 py-2"
|
||||||
|
>
|
||||||
|
{tag.trim()}
|
||||||
|
</Badge>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className=" py-3">
|
<div className=" py-3">
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@ import "swiper/css";
|
||||||
import "swiper/css/navigation";
|
import "swiper/css/navigation";
|
||||||
import { FreeMode, Navigation, Pagination, Thumbs } from "swiper/modules";
|
import { FreeMode, Navigation, Pagination, Thumbs } from "swiper/modules";
|
||||||
import { Avatar, AvatarImage } from "@/components/ui/avatar";
|
import { Avatar, AvatarImage } from "@/components/ui/avatar";
|
||||||
|
import { Badge } from "@/components/ui/badge";
|
||||||
|
|
||||||
const detailSchema = z.object({
|
const detailSchema = z.object({
|
||||||
title: z.string().min(1, { message: "Judul diperlukan" }),
|
title: z.string().min(1, { message: "Judul diperlukan" }),
|
||||||
|
|
@ -292,12 +293,19 @@ export default function DetailImage() {
|
||||||
</div>
|
</div>
|
||||||
</RadioGroup>
|
</RadioGroup>
|
||||||
</div>
|
</div>
|
||||||
<div className=" py-3">
|
<div className="py-3">
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
<Label>Tag</Label>
|
<Label>Tag</Label>
|
||||||
<p className="border rounded-md text-blue-600 px-2 py-2">
|
<div className="flex flex-wrap gap-2">
|
||||||
{detail?.tags}
|
{detail?.tags?.split(",").map((tag, index) => (
|
||||||
</p>
|
<Badge
|
||||||
|
key={index}
|
||||||
|
className="border rounded-md px-2 py-2"
|
||||||
|
>
|
||||||
|
{tag.trim()}
|
||||||
|
</Badge>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className=" py-3">
|
<div className=" py-3">
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
export const metadata = {
|
export const metadata = {
|
||||||
title: "Dashcode Next Js",
|
title: "Media Hub | POLRI",
|
||||||
description: "Dashcode is a popular dashboard template.",
|
description: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
export const metadata = {
|
export const metadata = {
|
||||||
title: "Dashcode Next Js",
|
title: "Media Hub | POLRI",
|
||||||
description: "Dashcode is a popular dashboard template.",
|
description: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -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;
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
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: "Dashcode is a popular dashboard template.",
|
||||||
};
|
};
|
||||||
const Layout = ({ children }: { children: React.ReactNode }) => {
|
const Layout = ({ children }: { children: React.ReactNode }) => {
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue