restructure all folders and files
This commit is contained in:
parent
82cccdf94f
commit
149b434d22
|
|
@ -1,11 +0,0 @@
|
||||||
import ContentBlast from "@/components/form/broadcast/content-blast-form";
|
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
|
|
||||||
export default function CreateEmailBlast() {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<ContentBlast type="email" />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
import ContentBlast from "@/components/form/broadcast/content-blast-form";
|
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
|
|
||||||
export default function CreateWABlast() {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<ContentBlast type="wa" />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
import { Card, CardContent } from "@/components/ui/card";
|
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormTaskTa from "@/components/form/task-ta/task-ta-form";
|
|
||||||
import FormAskExpert from "@/components/form/shared/ask-expert-form";
|
|
||||||
import FormDoItYourself from "@/components/form/shared/do-it-yourself-form";
|
|
||||||
import FormMediaOnline from "@/components/form/media-tracking/media-tracking-form";
|
|
||||||
|
|
||||||
const MediaOnlineCreatePage = () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormMediaOnline />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default MediaOnlineCreatePage;
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import PerformancePolresViz from "@/components/visualization/performance-polres";
|
|
||||||
import PerformanceSatkerViz from "@/components/visualization/performance-satker";
|
|
||||||
|
|
||||||
export default function PerformanceSatker() {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<p className="font-semibold">PERFORMANCE KUMULATIF PER SATKER</p>
|
|
||||||
<PerformanceSatkerViz />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormBlogDetail from "@/components/form/blog/blog--detail-form";
|
|
||||||
import FormSurvey from "@/components/landing-page/survey";
|
|
||||||
import FormSurveyDetail from "@/components/form/survey/survey-detail";
|
|
||||||
|
|
||||||
const SurveyDetailPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormSurveyDetail />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default SurveyDetailPage;
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
|
|
||||||
import { redirect } from '@/components/navigation'
|
|
||||||
|
|
||||||
const ProjectPage = () => {
|
|
||||||
redirect('/app/projects/grid')
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
|
|
||||||
export default ProjectPage
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
import { Card, CardContent } from "@/components/ui/card";
|
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormTask from "@/components/form/task/task-form";
|
|
||||||
import FormImage from "@/components/form/content/image-form";
|
|
||||||
import FormBlog from "@/components/form/blog/blog-form";
|
|
||||||
|
|
||||||
const BlogCreatePage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormBlog />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default BlogCreatePage;
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormBlogDetail from "@/components/form/blog/blog--detail-form";
|
|
||||||
import FormSurveyDetailPage from "@/components/form/survey/survey-detail";
|
|
||||||
|
|
||||||
const BlogDetailPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormSurveyDetailPage />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default BlogDetailPage;
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormImageDetail from "@/components/form/content/image-detail-form";
|
|
||||||
import FormAudioDetail from "@/components/form/content/audio-detail-form";
|
|
||||||
|
|
||||||
const AudioDetailPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormAudioDetail />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default AudioDetailPage;
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormImageDetail from "@/components/form/content/image-detail-form";
|
|
||||||
import FormImageUpdate from "@/components/form/content/image-update-form";
|
|
||||||
import FormAudioUpdate from "@/components/form/content/audio-update-form";
|
|
||||||
import FormAudioSeo from "@/components/form/content/audio-update-seo";
|
|
||||||
|
|
||||||
const AudioUpdatePage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormAudioSeo />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default AudioUpdatePage;
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormImageDetail from "@/components/form/content/image-detail-form";
|
|
||||||
import FormImageUpdate from "@/components/form/content/image-update-form";
|
|
||||||
import FormAudioUpdate from "@/components/form/content/audio-update-form";
|
|
||||||
|
|
||||||
const AudioUpdatePage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormAudioUpdate />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default AudioUpdatePage;
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormImageDetail from "@/components/form/content/image-detail-form";
|
|
||||||
import FormImageUpdate from "@/components/form/content/image-update-form";
|
|
||||||
import FormImageSeo from "@/components/form/content/image-update-seo";
|
|
||||||
|
|
||||||
const ImageUpdateSeoPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormImageSeo />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default ImageUpdateSeoPage;
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormImageDetail from "@/components/form/content/image-detail-form";
|
|
||||||
import FormImageUpdate from "@/components/form/content/image-update-form";
|
|
||||||
|
|
||||||
const ImageUpdatePage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormImageUpdate />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default ImageUpdatePage;
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormImageDetail from "@/components/form/content/image-detail-form";
|
|
||||||
import FormConvertSPIT from "@/components/form/content/spit-convert-form";
|
|
||||||
|
|
||||||
const SPITConvertPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormConvertSPIT />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default SPITConvertPage;
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
import FormAudio from "@/components/form/content/audio-form";
|
|
||||||
import FormTeks from "@/components/form/content/teks-form";
|
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
|
|
||||||
const TeksCreatePage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormTeks />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default TeksCreatePage;
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormImageDetail from "@/components/form/content/image-detail-form";
|
|
||||||
import FormTeksDetail from "@/components/form/content/teks-detail-form";
|
|
||||||
|
|
||||||
const TeksDetailPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormTeksDetail />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default TeksDetailPage;
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormTeksUpdate from "@/components/form/content/teks-update-form";
|
|
||||||
import FormTeksSeo from "@/components/form/content/teks-update-seo";
|
|
||||||
|
|
||||||
const TeksUpdatePage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormTeksSeo />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default TeksUpdatePage;
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormImageDetail from "@/components/form/content/image-detail-form";
|
|
||||||
import FormImageUpdate from "@/components/form/content/image-update-form";
|
|
||||||
import FormTeksUpdate from "@/components/form/content/teks-update-form";
|
|
||||||
|
|
||||||
const TeksUpdatePage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormTeksUpdate />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default TeksUpdatePage;
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormImageDetail from "@/components/form/content/image-detail-form";
|
|
||||||
import FormVideoDetail from "@/components/form/content/video-detail-form";
|
|
||||||
|
|
||||||
const VideoDetailPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormVideoDetail />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default VideoDetailPage;
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormImageDetail from "@/components/form/content/image-detail-form";
|
|
||||||
import FormImageUpdate from "@/components/form/content/image-update-form";
|
|
||||||
import FormVideoUpdate from "@/components/form/content/video-update-form";
|
|
||||||
import FormVideoSeo from "@/components/form/content/video-update-seo";
|
|
||||||
|
|
||||||
const VideoUpdatePage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormVideoSeo />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default VideoUpdatePage;
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormImageDetail from "@/components/form/content/image-detail-form";
|
|
||||||
import FormImageUpdate from "@/components/form/content/image-update-form";
|
|
||||||
import FormVideoUpdate from "@/components/form/content/video-update-form";
|
|
||||||
|
|
||||||
const VideoUpdatePage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormVideoUpdate />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default VideoUpdatePage;
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
import { Card, CardContent } from "@/components/ui/card";
|
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormTask from "@/components/form/task/task-form";
|
|
||||||
import FormPressConference from "@/components/form/schedule/press-conference-form";
|
|
||||||
import FormEvent from "@/components/form/schedule/event-form";
|
|
||||||
|
|
||||||
const EventCreatePage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormEvent />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default EventCreatePage;
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
"use client";
|
|
||||||
import { Card, CardContent } from "@/components/ui/card";
|
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormTask from "@/components/form/task/task-form";
|
|
||||||
import FormPressConference from "@/components/form/schedule/press-conference-form";
|
|
||||||
import FormDetailPressConference from "@/components/form/schedule/press-conference-detail-form";
|
|
||||||
import { useParams } from "next/navigation";
|
|
||||||
import { id } from "date-fns/locale";
|
|
||||||
import FormEventDetail from "@/components/form/schedule/event-detail-form";
|
|
||||||
|
|
||||||
const EventDetailPage = () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormEventDetail />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default EventDetailPage;
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
"use client";
|
|
||||||
import { Card, CardContent } from "@/components/ui/card";
|
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormTask from "@/components/form/task/task-form";
|
|
||||||
import FormPressConference from "@/components/form/schedule/press-conference-form";
|
|
||||||
import FormDetailPressConference from "@/components/form/schedule/press-conference-detail-form";
|
|
||||||
import { useParams } from "next/navigation";
|
|
||||||
import { id } from "date-fns/locale";
|
|
||||||
import FormUpdatePressConference from "@/components/form/schedule/press-conference-update-form";
|
|
||||||
import FormEventUpdate from "@/components/form/schedule/event-update-form";
|
|
||||||
|
|
||||||
const EventUpdatePage = () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormEventUpdate />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default EventUpdatePage;
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
"use client";
|
|
||||||
import { Card, CardContent } from "@/components/ui/card";
|
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormTask from "@/components/form/task/task-form";
|
|
||||||
import FormPressConference from "@/components/form/schedule/press-conference-form";
|
|
||||||
import FormDetailPressConference from "@/components/form/schedule/press-conference-detail-form";
|
|
||||||
import { useParams } from "next/navigation";
|
|
||||||
import { id } from "date-fns/locale";
|
|
||||||
import FormUpdatePressConference from "@/components/form/schedule/press-conference-update-form";
|
|
||||||
|
|
||||||
const PressConUpdatePage = () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormUpdatePressConference />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default PressConUpdatePage;
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
import { Card, CardContent } from "@/components/ui/card";
|
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormTask from "@/components/form/task/task-form";
|
|
||||||
import FormPressConference from "@/components/form/schedule/press-conference-form";
|
|
||||||
import FormPressRelease from "@/components/form/schedule/pers-release-form";
|
|
||||||
|
|
||||||
const PressReleaseCreatePage = () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormPressRelease />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default PressReleaseCreatePage;
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
"use client";
|
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormDetailPressConference from "@/components/form/schedule/press-conference-detail-form";
|
|
||||||
import FormDetailPressRillis from "@/components/form/schedule/pers-release--detail-form";
|
|
||||||
|
|
||||||
const PressRilisDetailPage = () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormDetailPressRillis />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default PressRilisDetailPage;
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
"use client";
|
|
||||||
import { Card, CardContent } from "@/components/ui/card";
|
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormTask from "@/components/form/task/task-form";
|
|
||||||
import FormPressConference from "@/components/form/schedule/press-conference-form";
|
|
||||||
import FormDetailPressConference from "@/components/form/schedule/press-conference-detail-form";
|
|
||||||
import { useParams } from "next/navigation";
|
|
||||||
import { id } from "date-fns/locale";
|
|
||||||
import FormUpdatePressConference from "@/components/form/schedule/press-conference-update-form";
|
|
||||||
import FormUpdatePressRelease from "@/components/form/schedule/pers-release--update-form";
|
|
||||||
|
|
||||||
const PressRilisUpdatePage = () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormUpdatePressRelease />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default PressRilisUpdatePage;
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
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 FormTaskTaDetail from "@/components/form/task-ta/task-ta-detail-form";
|
|
||||||
|
|
||||||
const TaskTaDetailPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormTaskTaDetail />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default TaskTaDetailPage;
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
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";
|
|
||||||
import FormTaskTaEdit from "@/components/form/task-ta/task-ta-edit-form";
|
|
||||||
|
|
||||||
const TaskTaDetailPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormTaskTaEdit />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default TaskTaDetailPage;
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
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 FormTaskForward from "@/components/form/task/task-forward-form";
|
|
||||||
|
|
||||||
const TaskForwardPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormTaskForward />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default TaskForwardPage;
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
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,11 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import ContentProductionVisualization from "@/components/visualization/content-production";
|
|
||||||
|
|
||||||
export default function ContentProduction() {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<ContentProductionVisualization />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import PatternRelationVisualization from "@/components/visualization/pattern-relation-viz";
|
|
||||||
|
|
||||||
export default function PatternRelation() {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<PatternRelationVisualization />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
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={true}>
|
|
||||||
<LayoutProvider>
|
|
||||||
<ThemeCustomize />
|
|
||||||
<DashCodeHeader />
|
|
||||||
<DashCodeSidebar />
|
|
||||||
<LayoutContentProvider>{children}</LayoutContentProvider>
|
|
||||||
<DashCodeFooter />
|
|
||||||
</LayoutProvider>
|
|
||||||
</MountedProvider>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
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 FormDetailInternal from "@/components/form/communication/internal-detail-form";
|
|
||||||
import FormDetailEscalation from "@/components/form/communication/escalation-detail-form";
|
|
||||||
|
|
||||||
const EscalationDetailPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormDetailEscalation />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default EscalationDetailPage;
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
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 FormDetailInternal from "@/components/form/communication/internal-detail-form";
|
|
||||||
|
|
||||||
const InternalDetailPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormDetailInternal />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default InternalDetailPage;
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
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 FormDetailInternal from "@/components/form/communication/internal-detail-form";
|
|
||||||
import FormEditInternal from "@/components/form/communication/internal-edit-form";
|
|
||||||
|
|
||||||
const InternalUpdatePage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormEditInternal />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default InternalUpdatePage;
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
import { Card, CardContent } from "@/components/ui/card";
|
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormTaskTa from "@/components/form/task-ta/task-ta-form";
|
|
||||||
import FormAskExpert from "@/components/form/shared/ask-expert-form";
|
|
||||||
import FormDoItYourself from "@/components/form/shared/do-it-yourself-form";
|
|
||||||
import FormAcceptAssignment from "@/components/form/shared/accept-assignment-form";
|
|
||||||
|
|
||||||
const AcceptAssignmentPage = () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormAcceptAssignment />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default AcceptAssignmentPage;
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
import { Card, CardContent } from "@/components/ui/card";
|
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormTaskTa from "@/components/form/task-ta/task-ta-form";
|
|
||||||
import FormAskExpert from "@/components/form/shared/ask-expert-form";
|
|
||||||
import FormDoItYourself from "@/components/form/shared/do-it-yourself-form";
|
|
||||||
|
|
||||||
const DoItYourselfCreatePage = () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormDoItYourself />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default DoItYourselfCreatePage;
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
|
||||||
import FormBlogDetail from "@/components/form/blog/blog--detail-form";
|
|
||||||
import FormSurveyDetailPage from "@/components/form/survey/survey-detail";
|
|
||||||
import FormAccountReport from "@/components/form/account-report/account-report-form";
|
|
||||||
|
|
||||||
const AccountReportDetailPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormAccountReport />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default AccountReportDetailPage;
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
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 FormDetailInternal from "@/components/form/communication/internal-detail-form";
|
|
||||||
import FormDetailEscalation from "@/components/form/communication/escalation-detail-form";
|
|
||||||
import FormQuestionsForward from "@/components/form/communication/escalation-forward-form";
|
|
||||||
import FormQuestionsDetail from "@/components/form/communication/escalation-detail-new-form";
|
|
||||||
|
|
||||||
const EscalationDetailPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormQuestionsDetail />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default EscalationDetailPage;
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
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 FormDetailInternal from "@/components/form/communication/internal-detail-form";
|
|
||||||
import FormDetailEscalation from "@/components/form/communication/escalation-detail-form";
|
|
||||||
import FormQuestionsForward from "@/components/form/communication/escalation-forward-form";
|
|
||||||
|
|
||||||
const EscalationForwardPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormQuestionsForward />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default EscalationForwardPage;
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
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 FormDetailInternal from "@/components/form/communication/internal-detail-form";
|
|
||||||
import FormDetailEscalation from "@/components/form/communication/escalation-detail-form";
|
|
||||||
|
|
||||||
const EscalationDetailPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormDetailEscalation />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default EscalationDetailPage;
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
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 FormDetailInternal from "@/components/form/communication/internal-detail-form";
|
|
||||||
|
|
||||||
const InternalDetailPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormDetailInternal />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default InternalDetailPage;
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
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 FormDetailInternal from "@/components/form/communication/internal-detail-form";
|
|
||||||
import FormEditInternal from "@/components/form/communication/internal-edit-form";
|
|
||||||
|
|
||||||
const InternalUpdatePage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormEditInternal />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default InternalUpdatePage;
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
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 FormDetailInternal from "@/components/form/communication/internal-detail-form";
|
|
||||||
import FormDetailTicketing from "@/components/form/ticketing/ticketing-detail-form";
|
|
||||||
import FormQuestionsReply from "@/components/form/communication/questions-reply-form";
|
|
||||||
|
|
||||||
const QuestionsReplyPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormQuestionsReply />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default QuestionsReplyPage;
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
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 FormDetailInternal from "@/components/form/communication/internal-detail-form";
|
|
||||||
import FormDetailTicketing from "@/components/form/ticketing/ticketing-detail-form";
|
|
||||||
|
|
||||||
const TicketingDetailPage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormDetailTicketing />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default TicketingDetailPage;
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
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 FormDetailInternal from "@/components/form/communication/internal-detail-form";
|
|
||||||
import FormDetailTicketing from "@/components/form/ticketing/ticketing-detail-form";
|
|
||||||
import FormUpdateTicketing from "@/components/form/ticketing/ticketing-update-form";
|
|
||||||
|
|
||||||
const TicketingUpdatePage = async () => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<SiteBreadcrumb />
|
|
||||||
<div className="space-y-4">
|
|
||||||
<FormUpdateTicketing />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default TicketingUpdatePage;
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
"use client";
|
|
||||||
|
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
import NavbarKaltara from "@/components/landing-page/landing-polda-kaltara/navbar-polda-kaltara";
|
|
||||||
import { useParams } from "next/navigation";
|
|
||||||
import ContactUsKaltara from "@/components/landing-page/landing-polda-kaltara/contact-us-kaltara";
|
|
||||||
import NewsTickerKaltara from "../../../tbnews/[polda_name]/components/news-tickers-kaltara";
|
|
||||||
|
|
||||||
const layout = ({ children }: { children: React.ReactNode }) => {
|
|
||||||
const params = useParams();
|
|
||||||
const poldaName: any = params?.polda_name;
|
|
||||||
return poldaName === "kaltara" ? (
|
|
||||||
<>
|
|
||||||
<NavbarKaltara />
|
|
||||||
{children}
|
|
||||||
<ContactUsKaltara />
|
|
||||||
<NewsTickerKaltara />
|
|
||||||
</>
|
|
||||||
) : (
|
|
||||||
<>
|
|
||||||
<Navbar />
|
|
||||||
{children}
|
|
||||||
<Footer />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
"use client";
|
|
||||||
|
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
import NavbarKaltara from "@/components/landing-page/landing-polda-kaltara/navbar-polda-kaltara";
|
|
||||||
import { useParams } from "next/navigation";
|
|
||||||
import ContactUsKaltara from "@/components/landing-page/landing-polda-kaltara/contact-us-kaltara";
|
|
||||||
import NewsTickerKaltara from "../../../tbnews/[polda_name]/components/news-tickers-kaltara";
|
|
||||||
|
|
||||||
const layout = ({ children }: { children: React.ReactNode }) => {
|
|
||||||
const params = useParams();
|
|
||||||
const poldaName: any = params?.polda_name;
|
|
||||||
return poldaName === "kaltara" ? (
|
|
||||||
<>
|
|
||||||
<NavbarKaltara />
|
|
||||||
{children}
|
|
||||||
<ContactUsKaltara />
|
|
||||||
<NewsTickerKaltara />
|
|
||||||
</>
|
|
||||||
) : (
|
|
||||||
<>
|
|
||||||
<Navbar />
|
|
||||||
{children}
|
|
||||||
<Footer />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
"use client";
|
|
||||||
|
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
import NavbarKaltara from "@/components/landing-page/landing-polda-kaltara/navbar-polda-kaltara";
|
|
||||||
import { useParams } from "next/navigation";
|
|
||||||
import ContactUsKaltara from "@/components/landing-page/landing-polda-kaltara/contact-us-kaltara";
|
|
||||||
import NewsTickerKaltara from "../../../tbnews/[polda_name]/components/news-tickers-kaltara";
|
|
||||||
|
|
||||||
const layout = ({ children }: { children: React.ReactNode }) => {
|
|
||||||
const params = useParams();
|
|
||||||
const poldaName: any = params?.polda_name;
|
|
||||||
return poldaName === "kaltara" ? (
|
|
||||||
<>
|
|
||||||
<NavbarKaltara />
|
|
||||||
{children}
|
|
||||||
<ContactUsKaltara />
|
|
||||||
<NewsTickerKaltara />
|
|
||||||
</>
|
|
||||||
) : (
|
|
||||||
<>
|
|
||||||
<Navbar />
|
|
||||||
{children}
|
|
||||||
<Footer />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
{children}
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
"use client";
|
|
||||||
|
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
import NavbarKaltara from "@/components/landing-page/landing-polda-kaltara/navbar-polda-kaltara";
|
|
||||||
import { useParams } from "next/navigation";
|
|
||||||
|
|
||||||
const layout = ({ children }: { children: React.ReactNode }) => {
|
|
||||||
const params = useParams();
|
|
||||||
const poldaName: any = params?.polda_name;
|
|
||||||
return poldaName === "kaltara" ? (
|
|
||||||
children
|
|
||||||
) : (
|
|
||||||
<>
|
|
||||||
<Navbar />
|
|
||||||
{children}
|
|
||||||
<Footer />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
"use client";
|
|
||||||
|
|
||||||
import ContentCategory from "@/components/landing-page/content-category";
|
|
||||||
import HeaderBanner from "@/components/landing-page/header-banner";
|
|
||||||
import NewContent from "@/components/landing-page/new-content";
|
|
||||||
import WelcomePolda from "@/components/landing-page/welcome-polda";
|
|
||||||
import React from "react";
|
|
||||||
import { useParams } from "next/navigation";
|
|
||||||
import NavbarKaltara from "@/components/landing-page/landing-polda-kaltara/navbar-polda-kaltara";
|
|
||||||
import HeaderBannerKaltara from "@/components/landing-page/landing-polda-kaltara/header-banner-kaltara";
|
|
||||||
import SearchSectionKaltara from "@/components/landing-page/landing-polda-kaltara/search-section-kaltara";
|
|
||||||
import LatestContentKaltara from "@/components/landing-page/landing-polda-kaltara/latest-content-kaltara";
|
|
||||||
import ContactUsKaltara from "@/components/landing-page/landing-polda-kaltara/contact-us-kaltara";
|
|
||||||
import NewsTickerKaltara from "../../tbnews/[polda_name]/components/news-tickers-kaltara";
|
|
||||||
import ContentCategoryKaltara from "@/components/landing-page/landing-polda-kaltara/content-category-kaltara";
|
|
||||||
|
|
||||||
const page = () => {
|
|
||||||
const params = useParams();
|
|
||||||
const poldaName: any = params?.polda_name;
|
|
||||||
return poldaName === "kaltara" ? (
|
|
||||||
<div>
|
|
||||||
<NavbarKaltara />
|
|
||||||
<HeaderBannerKaltara />
|
|
||||||
{/* <SearchSectionKaltara /> */}
|
|
||||||
<WelcomePolda />
|
|
||||||
<LatestContentKaltara group="polda" type="latest" />
|
|
||||||
<LatestContentKaltara group="polda" type="popular" />
|
|
||||||
<ContentCategoryKaltara type="" group="polda" />
|
|
||||||
<ContactUsKaltara />
|
|
||||||
<NewsTickerKaltara />
|
|
||||||
</div>
|
|
||||||
) : (
|
|
||||||
<div>
|
|
||||||
<HeaderBanner />
|
|
||||||
<WelcomePolda />
|
|
||||||
<NewContent group="polda" type="latest" />
|
|
||||||
<NewContent group="polda" type="popular" />
|
|
||||||
<ContentCategory type="" group="polda" />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default page;
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
{children}
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
"use client";
|
|
||||||
|
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
import NavbarKaltara from "@/components/landing-page/landing-polda-kaltara/navbar-polda-kaltara";
|
|
||||||
import { useParams } from "next/navigation";
|
|
||||||
import ContactUsKaltara from "@/components/landing-page/landing-polda-kaltara/contact-us-kaltara";
|
|
||||||
import NewsTickerKaltara from "../../../tbnews/[polda_name]/components/news-tickers-kaltara";
|
|
||||||
|
|
||||||
const layout = ({ children }: { children: React.ReactNode }) => {
|
|
||||||
const params = useParams();
|
|
||||||
const poldaName: any = params?.polda_name;
|
|
||||||
return poldaName === "kaltara" ? (
|
|
||||||
<>
|
|
||||||
<NavbarKaltara />
|
|
||||||
{children}
|
|
||||||
<ContactUsKaltara />
|
|
||||||
<NewsTickerKaltara />
|
|
||||||
</>
|
|
||||||
) : (
|
|
||||||
<>
|
|
||||||
<Navbar />
|
|
||||||
{children}
|
|
||||||
<Footer />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
{children}
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
{children}
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
{children}
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
{children}
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
{children}
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Navbar />
|
|
||||||
{children}
|
|
||||||
<Footer />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Navbar />
|
|
||||||
{children}
|
|
||||||
<Footer />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Navbar />
|
|
||||||
{children}
|
|
||||||
<Footer />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Navbar />
|
|
||||||
|
|
||||||
{children}
|
|
||||||
<Footer />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Navbar />
|
|
||||||
{children}
|
|
||||||
<Footer />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Navbar />
|
|
||||||
{children}
|
|
||||||
<Footer />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Navbar />
|
|
||||||
{children}
|
|
||||||
<Footer />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Navbar />
|
|
||||||
{children}
|
|
||||||
<Footer />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Navbar />
|
|
||||||
{children}
|
|
||||||
<Footer />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
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,22 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Navbar />
|
|
||||||
{children}
|
|
||||||
<Footer />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Navbar />
|
|
||||||
{children}
|
|
||||||
<Footer />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
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 { redirect } from "@/components/navigation";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
|
|
||||||
const layout = async ({ children }: { children: React.ReactNode }) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Navbar />
|
|
||||||
{children}
|
|
||||||
<Footer />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default layout;
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
"use client";
|
|
||||||
|
|
||||||
import SearchSection from "@/components/landing-page/search-section";
|
|
||||||
import NewContent from "@/components/landing-page/new-content";
|
|
||||||
import PopularContent from "@/components/landing-page/popular-content";
|
|
||||||
import ContentCategory from "@/components/landing-page/content-category";
|
|
||||||
import Coverage from "@/components/landing-page/coverage";
|
|
||||||
import Hero from "@/components/landing-page/hero";
|
|
||||||
import Footer from "@/components/landing-page/footer";
|
|
||||||
import Division from "@/components/landing-page/division";
|
|
||||||
import Navbar from "@/components/landing-page/navbar";
|
|
||||||
import { ReactLenis } from "@studio-freight/react-lenis";
|
|
||||||
import MountedProvider from "@/providers/mounted.provider";
|
|
||||||
import NewsTicker from "@/components/landing-page/news-tickers";
|
|
||||||
import AreaCoverageWorkUnits from "@/components/landing-page/area-coverage-and-work-units";
|
|
||||||
import HeroNew from "@/components/landing-page/hero-new";
|
|
||||||
|
|
||||||
const Home = ({ params: { locale } }: { params: { locale: string } }) => {
|
|
||||||
return (
|
|
||||||
<MountedProvider isProtected={false}>
|
|
||||||
<ReactLenis root>
|
|
||||||
<div className="">
|
|
||||||
<Navbar />
|
|
||||||
<HeroNew group="mabes" />
|
|
||||||
<div className="flex-1 ">
|
|
||||||
<SearchSection />
|
|
||||||
</div>
|
|
||||||
<Footer />
|
|
||||||
</div>
|
|
||||||
</ReactLenis>
|
|
||||||
</MountedProvider>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default Home;
|
|
||||||
|
|
@ -12,6 +12,6 @@
|
||||||
},
|
},
|
||||||
"aliases": {
|
"aliases": {
|
||||||
"components": "@/components",
|
"components": "@/components",
|
||||||
"utils": "@/lib/utils"
|
"utils": "@/lib/utils/utils"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,27 +1,13 @@
|
||||||
import createMiddleware from "next-intl/middleware";
|
import createMiddleware from "next-intl/middleware";
|
||||||
import { NextRequest, NextResponse } from "next/server";
|
import { locales, defaultLocale } from "@/config/locales";
|
||||||
import { locales } from "@/config";
|
|
||||||
import { routing } from "./i18n/routing";
|
|
||||||
|
|
||||||
// export default async function middleware(request: NextRequest) {
|
// This middleware intercepts requests and handles locale-based routing
|
||||||
// // Step 1: Use the incoming request (example)
|
export default createMiddleware({
|
||||||
// const defaultLocale = "in";
|
locales,
|
||||||
// // const defaultLocale = request.headers.get("dashcode-locale") || "in";
|
defaultLocale,
|
||||||
|
// Always require a locale prefix
|
||||||
// // Step 2: Create and call the next-intl middleware (example)
|
localePrefix: 'always'
|
||||||
// const handleI18nRouting = createMiddleware({
|
});
|
||||||
// locales: ["in", "en"],
|
|
||||||
// defaultLocale: "in",
|
|
||||||
// });
|
|
||||||
// const response = handleI18nRouting(request);
|
|
||||||
|
|
||||||
// // Step 3: Alter the response (example)
|
|
||||||
// response.headers.set("dashcode-locale", defaultLocale);
|
|
||||||
|
|
||||||
// return response;
|
|
||||||
// }
|
|
||||||
|
|
||||||
export default createMiddleware(routing);
|
|
||||||
|
|
||||||
export const config = {
|
export const config = {
|
||||||
// Match only internationalized pathnames
|
// Match only internationalized pathnames
|
||||||
|
|
|
||||||
|
|
@ -43,10 +43,6 @@ const nextConfig = {
|
||||||
hostname: "i.pravatar.cc",
|
hostname: "i.pravatar.cc",
|
||||||
},
|
},
|
||||||
{ protocol: "https", hostname: "netidhub.com" },
|
{ protocol: "https", hostname: "netidhub.com" },
|
||||||
{
|
|
||||||
protocol: "https",
|
|
||||||
hostname: "netidhub.com",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
// eslint: {
|
// eslint: {
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@
|
||||||
"axios": "^1.7.8",
|
"axios": "^1.7.8",
|
||||||
"chart": "^0.1.2",
|
"chart": "^0.1.2",
|
||||||
"chart.js": "^4.4.3",
|
"chart.js": "^4.4.3",
|
||||||
"ckeditor5-custom-build": "file:vendor/ckeditor5",
|
"ckeditor5-custom-build": "file:src/vendor/ckeditor5",
|
||||||
"class-variance-authority": "^0.7.0",
|
"class-variance-authority": "^0.7.0",
|
||||||
"cleave.js": "^1.6.0",
|
"cleave.js": "^1.6.0",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
|
|
@ -5891,7 +5891,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ckeditor5-custom-build": {
|
"node_modules/ckeditor5-custom-build": {
|
||||||
"resolved": "vendor/ckeditor5",
|
"resolved": "src/vendor/ckeditor5",
|
||||||
"link": true
|
"link": true
|
||||||
},
|
},
|
||||||
"node_modules/class-variance-authority": {
|
"node_modules/class-variance-authority": {
|
||||||
|
|
@ -19544,8 +19544,7 @@
|
||||||
"url": "https://github.com/sponsors/wooorm"
|
"url": "https://github.com/sponsors/wooorm"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"vendor/ckeditor5": {
|
"src/vendor/ckeditor5": {
|
||||||
"name": "ckeditor5-custom-build",
|
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"license": "SEE LICENSE IN LICENSE.md",
|
"license": "SEE LICENSE IN LICENSE.md",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
@ -19589,7 +19588,7 @@
|
||||||
"webpack-cli": "^4.10.0"
|
"webpack-cli": "^4.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"vendor/ckeditor5/node_modules/typescript": {
|
"src/vendor/ckeditor5/node_modules/typescript": {
|
||||||
"version": "5.0.4",
|
"version": "5.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz",
|
||||||
"integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==",
|
"integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==",
|
||||||
|
|
@ -19601,6 +19600,52 @@
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12.20"
|
"node": ">=12.20"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"vendor/ckeditor5": {
|
||||||
|
"name": "ckeditor5-custom-build",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"extraneous": true,
|
||||||
|
"license": "SEE LICENSE IN LICENSE.md",
|
||||||
|
"dependencies": {
|
||||||
|
"@ckeditor/ckeditor5-alignment": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-autoformat": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-basic-styles": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-block-quote": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-cloud-services": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-code-block": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-editor-classic": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-essentials": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-font": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-heading": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-image": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-indent": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-link": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-list": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-media-embed": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-paragraph": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-paste-from-office": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-source-editing": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-table": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-typing": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-undo": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-upload": "41.3.1"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@ckeditor/ckeditor5-core": "41.3.1",
|
||||||
|
"@ckeditor/ckeditor5-dev-translations": "^32.1.2",
|
||||||
|
"@ckeditor/ckeditor5-dev-utils": "^32.1.2",
|
||||||
|
"@ckeditor/ckeditor5-theme-lark": "41.3.1",
|
||||||
|
"css-loader": "^5.2.7",
|
||||||
|
"postcss": "^8.4.38",
|
||||||
|
"postcss-loader": "^4.3.0",
|
||||||
|
"raw-loader": "^4.0.2",
|
||||||
|
"style-loader": "^2.0.0",
|
||||||
|
"terser-webpack-plugin": "^4.2.3",
|
||||||
|
"ts-loader": "^9.5.1",
|
||||||
|
"typescript": "5.0.4",
|
||||||
|
"webpack": "^5.91.0",
|
||||||
|
"webpack-cli": "^4.10.0"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@
|
||||||
"axios": "^1.7.8",
|
"axios": "^1.7.8",
|
||||||
"chart": "^0.1.2",
|
"chart": "^0.1.2",
|
||||||
"chart.js": "^4.4.3",
|
"chart.js": "^4.4.3",
|
||||||
"ckeditor5-custom-build": "file:vendor/ckeditor5",
|
"ckeditor5-custom-build": "file:src/vendor/ckeditor5",
|
||||||
"class-variance-authority": "^0.7.0",
|
"class-variance-authority": "^0.7.0",
|
||||||
"cleave.js": "^1.6.0",
|
"cleave.js": "^1.6.0",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,99 @@
|
||||||
|
# Project Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
src/
|
||||||
|
├── app/ # Next.js App Router pages and layouts
|
||||||
|
│ ├── (auth)/ # Authentication required routes
|
||||||
|
│ ├── (public)/ # Public routes
|
||||||
|
│ └── layout.tsx # Root layout
|
||||||
|
│
|
||||||
|
├── components/ # React components
|
||||||
|
│ ├── ui/ # Reusable UI components (buttons, inputs, etc.)
|
||||||
|
│ │ ├── button/
|
||||||
|
│ │ ├── form/
|
||||||
|
│ │ └── layout/
|
||||||
|
│ └── features/ # Feature-specific components
|
||||||
|
│ ├── auth/
|
||||||
|
│ ├── media/
|
||||||
|
│ └── tracking/
|
||||||
|
│
|
||||||
|
├── lib/ # Shared utilities and core functionality
|
||||||
|
│ ├── api/ # API related code
|
||||||
|
│ │ ├── client.ts
|
||||||
|
│ │ └── endpoints.ts
|
||||||
|
│ ├── auth/ # Authentication utilities
|
||||||
|
│ ├── utils/ # General utilities
|
||||||
|
│ ├── hooks/ # Shared React hooks
|
||||||
|
│ ├── constants/ # Application constants
|
||||||
|
│ └── types/ # TypeScript type definitions
|
||||||
|
│
|
||||||
|
├── styles/ # Global styles and theme configuration
|
||||||
|
│ ├── globals.css
|
||||||
|
│ └── theme/
|
||||||
|
│
|
||||||
|
├── config/ # Application configuration
|
||||||
|
│ ├── env.ts
|
||||||
|
│ └── site.ts
|
||||||
|
│
|
||||||
|
└── i18n/ # Internationalization
|
||||||
|
├── locales/
|
||||||
|
└── config.ts
|
||||||
|
```
|
||||||
|
|
||||||
|
## Directory Purposes
|
||||||
|
|
||||||
|
### app/
|
||||||
|
- Contains Next.js App Router pages and layouts
|
||||||
|
- Organized by route groups and features
|
||||||
|
- Each route can have its own loading, error, and layout components
|
||||||
|
|
||||||
|
### components/
|
||||||
|
- `ui/`: Reusable UI components that are not specific to any feature
|
||||||
|
- `features/`: Components that are specific to features/domains of the application
|
||||||
|
|
||||||
|
### lib/
|
||||||
|
- Shared utilities and core functionality
|
||||||
|
- No component logic, only pure functions and utilities
|
||||||
|
- Organized by domain (api, auth, etc.)
|
||||||
|
|
||||||
|
### styles/
|
||||||
|
- Global styles and theme configuration
|
||||||
|
- CSS modules and styled components
|
||||||
|
- Theme variables and configurations
|
||||||
|
|
||||||
|
### config/
|
||||||
|
- Application-wide configuration
|
||||||
|
- Environment variables
|
||||||
|
- Site metadata
|
||||||
|
|
||||||
|
### i18n/
|
||||||
|
- Internationalization configuration
|
||||||
|
- Translation files
|
||||||
|
- Language utilities
|
||||||
|
|
||||||
|
## Best Practices
|
||||||
|
|
||||||
|
1. **Component Organization**
|
||||||
|
- Keep components small and focused
|
||||||
|
- Use index.ts files for clean exports
|
||||||
|
- Co-locate tests with components
|
||||||
|
|
||||||
|
2. **Code Splitting**
|
||||||
|
- Use dynamic imports for large components
|
||||||
|
- Lazy load routes and features
|
||||||
|
- Keep bundle sizes small
|
||||||
|
|
||||||
|
3. **Type Safety**
|
||||||
|
- Use TypeScript strictly
|
||||||
|
- Define types in appropriate domains
|
||||||
|
- Share types across related features
|
||||||
|
|
||||||
|
4. **State Management**
|
||||||
|
- Use React Context for global state
|
||||||
|
- Keep state close to where it's used
|
||||||
|
- Avoid prop drilling
|
||||||
|
|
||||||
|
5. **Testing**
|
||||||
|
- Co-locate tests with implementation
|
||||||
|
- Use meaningful test descriptions
|
||||||
|
- Test user interactions and edge cases
|
||||||
|
|
@ -2,7 +2,7 @@ import * as React from "react";
|
||||||
import { ColumnDef } from "@tanstack/react-table";
|
import { ColumnDef } from "@tanstack/react-table";
|
||||||
|
|
||||||
import { Eye, MoreVertical, SquarePen, Trash2 } from "lucide-react";
|
import { Eye, MoreVertical, SquarePen, Trash2 } from "lucide-react";
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils/utils"
|
||||||
import {
|
import {
|
||||||
DropdownMenu,
|
DropdownMenu,
|
||||||
DropdownMenuContent,
|
DropdownMenuContent,
|
||||||
|
|
@ -15,7 +15,7 @@ import {
|
||||||
formatDateToIndonesian,
|
formatDateToIndonesian,
|
||||||
getOnlyDate,
|
getOnlyDate,
|
||||||
htmlToString,
|
htmlToString,
|
||||||
} from "@/utils/globals";
|
} from "@/lib/utils/globals";
|
||||||
import { Link, useRouter } from "@/i18n/routing";
|
import { Link, useRouter } from "@/i18n/routing";
|
||||||
import {
|
import {
|
||||||
Accordion,
|
Accordion,
|
||||||
|
|
@ -25,7 +25,7 @@ import {
|
||||||
TableRow,
|
TableRow,
|
||||||
} from "@/components/ui/table";
|
} from "@/components/ui/table";
|
||||||
import { UserIcon } from "lucide-react";
|
import { UserIcon } from "lucide-react";
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils/utils"
|
||||||
import {
|
import {
|
||||||
DropdownMenu,
|
DropdownMenu,
|
||||||
DropdownMenuContent,
|
DropdownMenuContent,
|
||||||
|
|
@ -36,24 +36,24 @@ import {
|
||||||
} from "@/components/ui/dropdown-menu";
|
} from "@/components/ui/dropdown-menu";
|
||||||
import { Input } from "@/components/ui/input";
|
import { Input } from "@/components/ui/input";
|
||||||
import { InputGroup, InputGroupText } from "@/components/ui/input-group";
|
import { InputGroup, InputGroupText } from "@/components/ui/input-group";
|
||||||
import { paginationBlog } from "@/service/blog/blog";
|
import { paginationBlog } from "@/lib/services/blog/blog";
|
||||||
import { ticketingPagination } from "@/service/ticketing/ticketing";
|
import { ticketingPagination } from "@/lib/services/ticketing/ticketing";
|
||||||
import { Badge } from "@/components/ui/badge";
|
import { Badge } from "@/components/ui/badge";
|
||||||
import { useRouter, useSearchParams } from "next/navigation";
|
import { useRouter, useSearchParams } from "next/navigation";
|
||||||
import TablePagination from "@/components/table/table-pagination";
|
import TablePagination from "@/components/features/table/table-pagination";
|
||||||
import columns from "./column";
|
import columns from "./column";
|
||||||
import { getPlanningPagination } from "@/service/agenda-setting/agenda-setting";
|
import { getPlanningPagination } from "@/lib/services/agenda-setting/agenda-setting";
|
||||||
import {
|
import {
|
||||||
Popover,
|
Popover,
|
||||||
PopoverContent,
|
PopoverContent,
|
||||||
PopoverTrigger,
|
PopoverTrigger,
|
||||||
} from "@/components/ui/popover";
|
} from "@/components/ui/popover";
|
||||||
import { listDataMedia } from "@/service/broadcast/broadcast";
|
import { listDataMedia } from "@/lib/services/broadcast/broadcast";
|
||||||
import { listEnableCategory } from "@/service/content/content";
|
import { listEnableCategory } from "@/lib/services/content/content";
|
||||||
import { Checkbox } from "@/components/ui/checkbox";
|
import { Checkbox } from "@/components/ui/checkbox";
|
||||||
import { close, loading } from "@/config/swal";
|
import { close, loading } from "@/config/swal";
|
||||||
import { Link } from "@/i18n/routing";
|
import { Link } from "@/i18n/routing";
|
||||||
import { listDataExperts } from "@/service/experts/experts";
|
import { listDataExperts } from "@/lib/services/experts/experts";
|
||||||
|
|
||||||
const dummyData = [
|
const dummyData = [
|
||||||
{
|
{
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
"use client";
|
"use client";
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
import SiteBreadcrumb from "@/components/ui/structures/site-breadcrumb";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import {
|
import {
|
||||||
Form,
|
Form,
|
||||||
|
|
@ -30,7 +30,7 @@ import {
|
||||||
getListExperiences,
|
getListExperiences,
|
||||||
saveUserInternal,
|
saveUserInternal,
|
||||||
saveUserRolePlacements,
|
saveUserRolePlacements,
|
||||||
} from "@/service/management-user/management-user";
|
} from "@/lib/services/management-user/management-user";
|
||||||
import { loading } from "@/config/swal";
|
import { loading } from "@/config/swal";
|
||||||
import { Eye, EyeOff } from "lucide-react";
|
import { Eye, EyeOff } from "lucide-react";
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
import SiteBreadcrumb from "@/components/ui/structures/site-breadcrumb";
|
||||||
import AddExpertTable from "./component/table";
|
import AddExpertTable from "./component/table";
|
||||||
|
|
||||||
export default function AddExpert() {
|
export default function AddExpert() {
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
"use client";
|
"use client";
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
import SiteBreadcrumb from "@/components/ui/structures/site-breadcrumb";
|
||||||
import {
|
import {
|
||||||
Accordion,
|
Accordion,
|
||||||
AccordionContent,
|
AccordionContent,
|
||||||
|
|
@ -11,7 +11,7 @@ import { addDays, format } from "date-fns";
|
||||||
import { Calendar as CalendarIcon } from "lucide-react";
|
import { Calendar as CalendarIcon } from "lucide-react";
|
||||||
import { DateRange } from "react-day-picker";
|
import { DateRange } from "react-day-picker";
|
||||||
import Cookies from "js-cookie";
|
import Cookies from "js-cookie";
|
||||||
import { cn, getCookiesDecrypt } from "@/lib/utils";
|
import { cn, getCookiesDecrypt } from "@/lib/utils/utils";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { Calendar } from "@/components/ui/calendar";
|
import { Calendar } from "@/components/ui/calendar";
|
||||||
import {
|
import {
|
||||||
|
|
@ -19,7 +19,7 @@ import {
|
||||||
PopoverContent,
|
PopoverContent,
|
||||||
PopoverTrigger,
|
PopoverTrigger,
|
||||||
} from "@/components/ui/popover";
|
} from "@/components/ui/popover";
|
||||||
import { generateTicket } from "@/service/tableau/tableau-service";
|
import { generateTicket } from "@/lib/services/tableau/tableau-service";
|
||||||
|
|
||||||
const users = [
|
const users = [
|
||||||
{ id: 1, name: "POLRI" },
|
{ id: 1, name: "POLRI" },
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
"use client";
|
"use client";
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
import SiteBreadcrumb from "@/components/ui/structures/site-breadcrumb";
|
||||||
import {
|
import {
|
||||||
Accordion,
|
Accordion,
|
||||||
AccordionContent,
|
AccordionContent,
|
||||||
|
|
@ -11,7 +11,7 @@ import { addDays, format } from "date-fns";
|
||||||
import { Calendar as CalendarIcon } from "lucide-react";
|
import { Calendar as CalendarIcon } from "lucide-react";
|
||||||
import { DateRange } from "react-day-picker";
|
import { DateRange } from "react-day-picker";
|
||||||
import Cookies from "js-cookie";
|
import Cookies from "js-cookie";
|
||||||
import { cn, getCookiesDecrypt } from "@/lib/utils";
|
import { cn, getCookiesDecrypt } from "@/lib/utils/utils";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { Calendar } from "@/components/ui/calendar";
|
import { Calendar } from "@/components/ui/calendar";
|
||||||
import {
|
import {
|
||||||
|
|
@ -19,7 +19,7 @@ import {
|
||||||
PopoverContent,
|
PopoverContent,
|
||||||
PopoverTrigger,
|
PopoverTrigger,
|
||||||
} from "@/components/ui/popover";
|
} from "@/components/ui/popover";
|
||||||
import { generateTicket } from "@/service/tableau/tableau-service";
|
import { generateTicket } from "@/lib/services/tableau/tableau-service";
|
||||||
|
|
||||||
const users = [
|
const users = [
|
||||||
{ id: 1, name: "POLRI" },
|
{ id: 1, name: "POLRI" },
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
"use client";
|
"use client";
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
import SiteBreadcrumb from "@/components/ui/structures/site-breadcrumb";
|
||||||
import {
|
import {
|
||||||
Accordion,
|
Accordion,
|
||||||
AccordionContent,
|
AccordionContent,
|
||||||
|
|
@ -11,7 +11,7 @@ import { addDays, format } from "date-fns";
|
||||||
import { Calendar as CalendarIcon } from "lucide-react";
|
import { Calendar as CalendarIcon } from "lucide-react";
|
||||||
import { DateRange } from "react-day-picker";
|
import { DateRange } from "react-day-picker";
|
||||||
import Cookies from "js-cookie";
|
import Cookies from "js-cookie";
|
||||||
import { cn, getCookiesDecrypt } from "@/lib/utils";
|
import { cn, getCookiesDecrypt } from "@/lib/utils/utils";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { Calendar } from "@/components/ui/calendar";
|
import { Calendar } from "@/components/ui/calendar";
|
||||||
import {
|
import {
|
||||||
|
|
@ -19,7 +19,7 @@ import {
|
||||||
PopoverContent,
|
PopoverContent,
|
||||||
PopoverTrigger,
|
PopoverTrigger,
|
||||||
} from "@/components/ui/popover";
|
} from "@/components/ui/popover";
|
||||||
import { generateTicket } from "@/service/tableau/tableau-service";
|
import { generateTicket } from "@/lib/services/tableau/tableau-service";
|
||||||
|
|
||||||
const users = [
|
const users = [
|
||||||
{ id: 1, name: "POLRI" },
|
{ id: 1, name: "POLRI" },
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
"use client";
|
"use client";
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
import SiteBreadcrumb from "@/components/ui/structures/site-breadcrumb";
|
||||||
import {
|
import {
|
||||||
Accordion,
|
Accordion,
|
||||||
AccordionContent,
|
AccordionContent,
|
||||||
|
|
@ -11,7 +11,7 @@ import { addDays, format } from "date-fns";
|
||||||
import { Calendar as CalendarIcon } from "lucide-react";
|
import { Calendar as CalendarIcon } from "lucide-react";
|
||||||
import { DateRange } from "react-day-picker";
|
import { DateRange } from "react-day-picker";
|
||||||
import Cookies from "js-cookie";
|
import Cookies from "js-cookie";
|
||||||
import { cn, getCookiesDecrypt } from "@/lib/utils";
|
import { cn, getCookiesDecrypt } from "@/lib/utils/utils";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { Calendar } from "@/components/ui/calendar";
|
import { Calendar } from "@/components/ui/calendar";
|
||||||
import {
|
import {
|
||||||
|
|
@ -19,7 +19,7 @@ import {
|
||||||
PopoverContent,
|
PopoverContent,
|
||||||
PopoverTrigger,
|
PopoverTrigger,
|
||||||
} from "@/components/ui/popover";
|
} from "@/components/ui/popover";
|
||||||
import { generateTicket } from "@/service/tableau/tableau-service";
|
import { generateTicket } from "@/lib/services/tableau/tableau-service";
|
||||||
|
|
||||||
export default function ContentManagement() {
|
export default function ContentManagement() {
|
||||||
const [startDate, setStartDate] = useState<any>(new Date());
|
const [startDate, setStartDate] = useState<any>(new Date());
|
||||||
|
|
@ -2,7 +2,7 @@ import * as React from "react";
|
||||||
import { ColumnDef } from "@tanstack/react-table";
|
import { ColumnDef } from "@tanstack/react-table";
|
||||||
|
|
||||||
import { Eye, MoreVertical, SquarePen, Trash2 } from "lucide-react";
|
import { Eye, MoreVertical, SquarePen, Trash2 } from "lucide-react";
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils/utils"
|
||||||
import {
|
import {
|
||||||
DropdownMenu,
|
DropdownMenu,
|
||||||
DropdownMenuContent,
|
DropdownMenuContent,
|
||||||
|
|
@ -16,7 +16,7 @@ import Swal from "sweetalert2";
|
||||||
import { Link, useRouter } from "@/i18n/routing";
|
import { Link, useRouter } from "@/i18n/routing";
|
||||||
import withReactContent from "sweetalert2-react-content";
|
import withReactContent from "sweetalert2-react-content";
|
||||||
import { close, error, loading } from "@/config/swal";
|
import { close, error, loading } from "@/config/swal";
|
||||||
import { deleteMediaBlastAccount } from "@/service/broadcast/broadcast";
|
import { deleteMediaBlastAccount } from "@/lib/services/broadcast/broadcast";
|
||||||
import { useToast } from "@/components/ui/use-toast";
|
import { useToast } from "@/components/ui/use-toast";
|
||||||
|
|
||||||
const columns: ColumnDef<any>[] = [
|
const columns: ColumnDef<any>[] = [
|
||||||
|
|
@ -27,14 +27,14 @@ import {
|
||||||
import { UserIcon } from "lucide-react";
|
import { UserIcon } from "lucide-react";
|
||||||
|
|
||||||
import { useRouter, useSearchParams } from "next/navigation";
|
import { useRouter, useSearchParams } from "next/navigation";
|
||||||
import TablePagination from "@/components/table/table-pagination";
|
import TablePagination from "@/components/features/table/table-pagination";
|
||||||
import columns from "./column";
|
import columns from "./column";
|
||||||
import {
|
import {
|
||||||
Popover,
|
Popover,
|
||||||
PopoverContent,
|
PopoverContent,
|
||||||
PopoverTrigger,
|
PopoverTrigger,
|
||||||
} from "@/components/ui/popover";
|
} from "@/components/ui/popover";
|
||||||
import { getMediaBlastAccountPage } from "@/service/broadcast/broadcast";
|
import { getMediaBlastAccountPage } from "@/lib/services/broadcast/broadcast";
|
||||||
import { Checkbox } from "@/components/ui/checkbox";
|
import { Checkbox } from "@/components/ui/checkbox";
|
||||||
import { close, loading } from "@/config/swal";
|
import { close, loading } from "@/config/swal";
|
||||||
import { Link } from "@/i18n/routing";
|
import { Link } from "@/i18n/routing";
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
"use client";
|
"use client";
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
import SiteBreadcrumb from "@/components/ui/structures/site-breadcrumb";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
import { useForm } from "react-hook-form";
|
import { useForm } from "react-hook-form";
|
||||||
import { zodResolver } from "@hookform/resolvers/zod";
|
import { zodResolver } from "@hookform/resolvers/zod";
|
||||||
|
|
@ -21,15 +21,15 @@ import {
|
||||||
} from "@/components/ui/popover";
|
} from "@/components/ui/popover";
|
||||||
import { Input } from "@/components/ui/input";
|
import { Input } from "@/components/ui/input";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils/utils"
|
||||||
import { format } from "date-fns";
|
import { format } from "date-fns";
|
||||||
import { CalendarIcon } from "lucide-react";
|
import { CalendarIcon } from "lucide-react";
|
||||||
import { Calendar } from "@/components/ui/calendar";
|
import { Calendar } from "@/components/ui/calendar";
|
||||||
import { getOnlyDate } from "@/utils/globals";
|
import { getOnlyDate } from "@/lib/utils/globals";
|
||||||
import {
|
import {
|
||||||
saveMediaBlastAccount,
|
saveMediaBlastAccount,
|
||||||
saveMediaBlastCampaign,
|
saveMediaBlastCampaign,
|
||||||
} from "@/service/broadcast/broadcast";
|
} from "@/lib/services/broadcast/broadcast";
|
||||||
import { error } from "@/config/swal";
|
import { error } from "@/config/swal";
|
||||||
import { useRouter } from "@/i18n/routing";
|
import { useRouter } from "@/i18n/routing";
|
||||||
import { Checkbox } from "@/components/ui/checkbox";
|
import { Checkbox } from "@/components/ui/checkbox";
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
"use client";
|
"use client";
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
import SiteBreadcrumb from "@/components/ui/structures/site-breadcrumb";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
import { useForm } from "react-hook-form";
|
import { useForm } from "react-hook-form";
|
||||||
import { zodResolver } from "@hookform/resolvers/zod";
|
import { zodResolver } from "@hookform/resolvers/zod";
|
||||||
|
|
@ -21,16 +21,16 @@ import {
|
||||||
} from "@/components/ui/popover";
|
} from "@/components/ui/popover";
|
||||||
import { Input } from "@/components/ui/input";
|
import { Input } from "@/components/ui/input";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils/utils"
|
||||||
import { format } from "date-fns";
|
import { format } from "date-fns";
|
||||||
import { CalendarIcon } from "lucide-react";
|
import { CalendarIcon } from "lucide-react";
|
||||||
import { Calendar } from "@/components/ui/calendar";
|
import { Calendar } from "@/components/ui/calendar";
|
||||||
import { getOnlyDate } from "@/utils/globals";
|
import { getOnlyDate } from "@/lib/utils/globals";
|
||||||
import {
|
import {
|
||||||
getMediaBlastAccount,
|
getMediaBlastAccount,
|
||||||
saveMediaBlastAccount,
|
saveMediaBlastAccount,
|
||||||
saveMediaBlastCampaign,
|
saveMediaBlastCampaign,
|
||||||
} from "@/service/broadcast/broadcast";
|
} from "@/lib/services/broadcast/broadcast";
|
||||||
import { error } from "@/config/swal";
|
import { error } from "@/config/swal";
|
||||||
import { useRouter } from "@/i18n/routing";
|
import { useRouter } from "@/i18n/routing";
|
||||||
import { Checkbox } from "@/components/ui/checkbox";
|
import { Checkbox } from "@/components/ui/checkbox";
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
import SiteBreadcrumb from "@/components/ui/structures/site-breadcrumb";
|
||||||
import AccountListTable from "./component/table";
|
import AccountListTable from "./component/table";
|
||||||
|
|
||||||
export default function AdminCampaignList() {
|
export default function AdminCampaignList() {
|
||||||
|
|
@ -2,7 +2,7 @@ import * as React from "react";
|
||||||
import { ColumnDef } from "@tanstack/react-table";
|
import { ColumnDef } from "@tanstack/react-table";
|
||||||
|
|
||||||
import { Eye, MoreVertical, SquarePen, Trash2 } from "lucide-react";
|
import { Eye, MoreVertical, SquarePen, Trash2 } from "lucide-react";
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils/utils"
|
||||||
import {
|
import {
|
||||||
DropdownMenu,
|
DropdownMenu,
|
||||||
DropdownMenuContent,
|
DropdownMenuContent,
|
||||||
|
|
@ -37,7 +37,7 @@ import {
|
||||||
TrendingUp,
|
TrendingUp,
|
||||||
UserIcon,
|
UserIcon,
|
||||||
} from "lucide-react";
|
} from "lucide-react";
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils/utils"
|
||||||
import {
|
import {
|
||||||
DropdownMenu,
|
DropdownMenu,
|
||||||
DropdownMenuContent,
|
DropdownMenuContent,
|
||||||
|
|
@ -48,13 +48,13 @@ import {
|
||||||
} from "@/components/ui/dropdown-menu";
|
} from "@/components/ui/dropdown-menu";
|
||||||
import { Input } from "@/components/ui/input";
|
import { Input } from "@/components/ui/input";
|
||||||
import { InputGroup, InputGroupText } from "@/components/ui/input-group";
|
import { InputGroup, InputGroupText } from "@/components/ui/input-group";
|
||||||
import { paginationBlog } from "@/service/blog/blog";
|
import { paginationBlog } from "@/lib/services/blog/blog";
|
||||||
import { ticketingPagination } from "@/service/ticketing/ticketing";
|
import { ticketingPagination } from "@/lib/services/ticketing/ticketing";
|
||||||
import { Badge } from "@/components/ui/badge";
|
import { Badge } from "@/components/ui/badge";
|
||||||
import { useRouter, useSearchParams } from "next/navigation";
|
import { useRouter, useSearchParams } from "next/navigation";
|
||||||
import TablePagination from "@/components/table/table-pagination";
|
import TablePagination from "@/components/features/table/table-pagination";
|
||||||
import columns from "./column";
|
import columns from "./column";
|
||||||
import { getPlanningPagination } from "@/service/agenda-setting/agenda-setting";
|
import { getPlanningPagination } from "@/lib/services/agenda-setting/agenda-setting";
|
||||||
import {
|
import {
|
||||||
Popover,
|
Popover,
|
||||||
PopoverContent,
|
PopoverContent,
|
||||||
|
|
@ -63,12 +63,12 @@ import {
|
||||||
import {
|
import {
|
||||||
getMediaBlastCampaignPage,
|
getMediaBlastCampaignPage,
|
||||||
listDataMedia,
|
listDataMedia,
|
||||||
} from "@/service/broadcast/broadcast";
|
} from "@/lib/services/broadcast/broadcast";
|
||||||
import { listEnableCategory } from "@/service/content/content";
|
import { listEnableCategory } from "@/lib/services/content/content";
|
||||||
import { Checkbox } from "@/components/ui/checkbox";
|
import { Checkbox } from "@/components/ui/checkbox";
|
||||||
import { close, loading } from "@/config/swal";
|
import { close, loading } from "@/config/swal";
|
||||||
import { Link } from "@/i18n/routing";
|
import { Link } from "@/i18n/routing";
|
||||||
import { NewCampaignIcon } from "@/components/icon";
|
import { NewCampaignIcon } from "/components/icon";
|
||||||
|
|
||||||
const CampaignListTable = () => {
|
const CampaignListTable = () => {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
"use client";
|
"use client";
|
||||||
import SiteBreadcrumb from "@/components/site-breadcrumb";
|
import SiteBreadcrumb from "@/components/ui/structures/site-breadcrumb";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
import { useForm } from "react-hook-form";
|
import { useForm } from "react-hook-form";
|
||||||
import { zodResolver } from "@hookform/resolvers/zod";
|
import { zodResolver } from "@hookform/resolvers/zod";
|
||||||
|
|
@ -21,12 +21,12 @@ import {
|
||||||
} from "@/components/ui/popover";
|
} from "@/components/ui/popover";
|
||||||
import { Input } from "@/components/ui/input";
|
import { Input } from "@/components/ui/input";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils/utils"
|
||||||
import { format } from "date-fns";
|
import { format } from "date-fns";
|
||||||
import { CalendarIcon } from "lucide-react";
|
import { CalendarIcon } from "lucide-react";
|
||||||
import { Calendar } from "@/components/ui/calendar";
|
import { Calendar } from "@/components/ui/calendar";
|
||||||
import { getOnlyDate } from "@/utils/globals";
|
import { getOnlyDate } from "@/lib/utils/globals";
|
||||||
import { saveMediaBlastCampaign } from "@/service/broadcast/broadcast";
|
import { saveMediaBlastCampaign } from "@/lib/services/broadcast/broadcast";
|
||||||
import { error } from "@/config/swal";
|
import { error } from "@/config/swal";
|
||||||
import { useRouter } from "@/i18n/routing";
|
import { useRouter } from "@/i18n/routing";
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue