diff --git a/app/[locale]/(protected)/agenda-setting/calender-view.tsx b/app/[locale]/(protected)/contributor/agenda-setting/calender-view.tsx similarity index 100% rename from app/[locale]/(protected)/agenda-setting/calender-view.tsx rename to app/[locale]/(protected)/contributor/agenda-setting/calender-view.tsx diff --git a/app/[locale]/(protected)/agenda-setting/data.ts b/app/[locale]/(protected)/contributor/agenda-setting/data.ts similarity index 100% rename from app/[locale]/(protected)/agenda-setting/data.ts rename to app/[locale]/(protected)/contributor/agenda-setting/data.ts diff --git a/app/[locale]/(protected)/agenda-setting/dragging-events.tsx b/app/[locale]/(protected)/contributor/agenda-setting/dragging-events.tsx similarity index 100% rename from app/[locale]/(protected)/agenda-setting/dragging-events.tsx rename to app/[locale]/(protected)/contributor/agenda-setting/dragging-events.tsx diff --git a/app/[locale]/(protected)/agenda-setting/event-modal.tsx b/app/[locale]/(protected)/contributor/agenda-setting/event-modal.tsx similarity index 99% rename from app/[locale]/(protected)/agenda-setting/event-modal.tsx rename to app/[locale]/(protected)/contributor/agenda-setting/event-modal.tsx index c84fdc07..864ea8d2 100644 --- a/app/[locale]/(protected)/agenda-setting/event-modal.tsx +++ b/app/[locale]/(protected)/contributor/agenda-setting/event-modal.tsx @@ -112,7 +112,7 @@ const EventModal = ({ confirmButtonColor: "#3085d6", confirmButtonText: "OK", }).then(() => { - router.push("/en/agenda-setting"); + router.push("/contributor/agenda-setting"); }); }; diff --git a/app/[locale]/(protected)/agenda-setting/layout.tsx b/app/[locale]/(protected)/contributor/agenda-setting/layout.tsx similarity index 100% rename from app/[locale]/(protected)/agenda-setting/layout.tsx rename to app/[locale]/(protected)/contributor/agenda-setting/layout.tsx diff --git a/app/[locale]/(protected)/agenda-setting/page.tsx b/app/[locale]/(protected)/contributor/agenda-setting/page.tsx similarity index 100% rename from app/[locale]/(protected)/agenda-setting/page.tsx rename to app/[locale]/(protected)/contributor/agenda-setting/page.tsx diff --git a/app/[locale]/(protected)/agenda-setting/utils.ts b/app/[locale]/(protected)/contributor/agenda-setting/utils.ts similarity index 100% rename from app/[locale]/(protected)/agenda-setting/utils.ts rename to app/[locale]/(protected)/contributor/agenda-setting/utils.ts diff --git a/app/[locale]/(protected)/blog/components/blog-table.tsx b/app/[locale]/(protected)/contributor/blog/components/blog-table.tsx similarity index 100% rename from app/[locale]/(protected)/blog/components/blog-table.tsx rename to app/[locale]/(protected)/contributor/blog/components/blog-table.tsx diff --git a/app/[locale]/(protected)/blog/components/columns.tsx b/app/[locale]/(protected)/contributor/blog/components/columns.tsx similarity index 100% rename from app/[locale]/(protected)/blog/components/columns.tsx rename to app/[locale]/(protected)/contributor/blog/components/columns.tsx diff --git a/app/[locale]/(protected)/blog/layout.tsx b/app/[locale]/(protected)/contributor/blog/layout.tsx similarity index 100% rename from app/[locale]/(protected)/blog/layout.tsx rename to app/[locale]/(protected)/contributor/blog/layout.tsx diff --git a/app/[locale]/(protected)/blog/page.tsx b/app/[locale]/(protected)/contributor/blog/page.tsx similarity index 100% rename from app/[locale]/(protected)/blog/page.tsx rename to app/[locale]/(protected)/contributor/blog/page.tsx diff --git a/app/[locale]/(protected)/content/image/components/columns.tsx b/app/[locale]/(protected)/contributor/content/audio/components/columns.tsx similarity index 98% rename from app/[locale]/(protected)/content/image/components/columns.tsx rename to app/[locale]/(protected)/contributor/content/audio/components/columns.tsx index f2dcd85f..4984ce42 100644 --- a/app/[locale]/(protected)/content/image/components/columns.tsx +++ b/app/[locale]/(protected)/contributor/content/audio/components/columns.tsx @@ -139,7 +139,7 @@ const columns: ColumnDef[] = [ - + View diff --git a/app/[locale]/(protected)/content/audio/components/table-audio.tsx b/app/[locale]/(protected)/contributor/content/audio/components/table-audio.tsx similarity index 100% rename from app/[locale]/(protected)/content/audio/components/table-audio.tsx rename to app/[locale]/(protected)/contributor/content/audio/components/table-audio.tsx diff --git a/app/[locale]/(protected)/content/audio-visual/layout.tsx b/app/[locale]/(protected)/contributor/content/audio/layout.tsx similarity index 100% rename from app/[locale]/(protected)/content/audio-visual/layout.tsx rename to app/[locale]/(protected)/contributor/content/audio/layout.tsx diff --git a/app/[locale]/(protected)/content/audio/page.tsx b/app/[locale]/(protected)/contributor/content/audio/page.tsx similarity index 97% rename from app/[locale]/(protected)/content/audio/page.tsx rename to app/[locale]/(protected)/contributor/content/audio/page.tsx index 7b5f1a8a..a0f31679 100644 --- a/app/[locale]/(protected)/content/audio/page.tsx +++ b/app/[locale]/(protected)/contributor/content/audio/page.tsx @@ -5,7 +5,6 @@ import { Link, UploadIcon } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Icon } from "@iconify/react/dist/iconify.js"; import TableAudio from "./components/table-audio"; -import TableVideo from "../audio-visual/components/table-video"; const ReactTableAudioPage = () => { return ( diff --git a/app/[locale]/(protected)/content/audio/components/columns.tsx b/app/[locale]/(protected)/contributor/content/image/components/columns.tsx similarity index 98% rename from app/[locale]/(protected)/content/audio/components/columns.tsx rename to app/[locale]/(protected)/contributor/content/image/components/columns.tsx index f2dcd85f..4984ce42 100644 --- a/app/[locale]/(protected)/content/audio/components/columns.tsx +++ b/app/[locale]/(protected)/contributor/content/image/components/columns.tsx @@ -139,7 +139,7 @@ const columns: ColumnDef[] = [ - + View diff --git a/app/[locale]/(protected)/content/image/components/table-image.tsx b/app/[locale]/(protected)/contributor/content/image/components/table-image.tsx similarity index 100% rename from app/[locale]/(protected)/content/image/components/table-image.tsx rename to app/[locale]/(protected)/contributor/content/image/components/table-image.tsx diff --git a/app/[locale]/(protected)/content/image/create/page.tsx b/app/[locale]/(protected)/contributor/content/image/create/page.tsx similarity index 100% rename from app/[locale]/(protected)/content/image/create/page.tsx rename to app/[locale]/(protected)/contributor/content/image/create/page.tsx diff --git a/app/[locale]/(protected)/content/audio/layout.tsx b/app/[locale]/(protected)/contributor/content/image/layout.tsx similarity index 100% rename from app/[locale]/(protected)/content/audio/layout.tsx rename to app/[locale]/(protected)/contributor/content/image/layout.tsx diff --git a/app/[locale]/(protected)/content/image/page.tsx b/app/[locale]/(protected)/contributor/content/image/page.tsx similarity index 96% rename from app/[locale]/(protected)/content/image/page.tsx rename to app/[locale]/(protected)/contributor/content/image/page.tsx index 9d929942..d58f7f98 100644 --- a/app/[locale]/(protected)/content/image/page.tsx +++ b/app/[locale]/(protected)/contributor/content/image/page.tsx @@ -6,7 +6,6 @@ import { UploadIcon } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Icon } from "@iconify/react/dist/iconify.js"; import { Link } from "@/components/navigation"; -import TicketingTable from "../../ticketing/components/table"; const ReactTableImagePage = () => { return ( @@ -58,7 +57,7 @@ const ReactTableImagePage = () => { Konten Foto
- + - + View diff --git a/app/[locale]/(protected)/content/nulis-ai/components/table-nulis.tsx b/app/[locale]/(protected)/contributor/content/nulis-ai/components/table-nulis.tsx similarity index 100% rename from app/[locale]/(protected)/content/nulis-ai/components/table-nulis.tsx rename to app/[locale]/(protected)/contributor/content/nulis-ai/components/table-nulis.tsx diff --git a/app/[locale]/(protected)/content/image/layout.tsx b/app/[locale]/(protected)/contributor/content/nulis-ai/layout.tsx similarity index 100% rename from app/[locale]/(protected)/content/image/layout.tsx rename to app/[locale]/(protected)/contributor/content/nulis-ai/layout.tsx diff --git a/app/[locale]/(protected)/content/nulis-ai/page.tsx b/app/[locale]/(protected)/contributor/content/nulis-ai/page.tsx similarity index 100% rename from app/[locale]/(protected)/content/nulis-ai/page.tsx rename to app/[locale]/(protected)/contributor/content/nulis-ai/page.tsx diff --git a/app/[locale]/(protected)/content/nulis-ai/layout.tsx b/app/[locale]/(protected)/contributor/content/spit/layout.tsx similarity index 100% rename from app/[locale]/(protected)/content/nulis-ai/layout.tsx rename to app/[locale]/(protected)/contributor/content/spit/layout.tsx diff --git a/app/[locale]/(protected)/content/spit/page.tsx b/app/[locale]/(protected)/contributor/content/spit/page.tsx similarity index 100% rename from app/[locale]/(protected)/content/spit/page.tsx rename to app/[locale]/(protected)/contributor/content/spit/page.tsx diff --git a/app/[locale]/(protected)/content/spit/table-spit/columns.tsx b/app/[locale]/(protected)/contributor/content/spit/table-spit/columns.tsx similarity index 100% rename from app/[locale]/(protected)/content/spit/table-spit/columns.tsx rename to app/[locale]/(protected)/contributor/content/spit/table-spit/columns.tsx diff --git a/app/[locale]/(protected)/content/spit/table-spit/data.ts b/app/[locale]/(protected)/contributor/content/spit/table-spit/data.ts similarity index 100% rename from app/[locale]/(protected)/content/spit/table-spit/data.ts rename to app/[locale]/(protected)/contributor/content/spit/table-spit/data.ts diff --git a/app/[locale]/(protected)/content/spit/table-spit/page.tsx b/app/[locale]/(protected)/contributor/content/spit/table-spit/page.tsx similarity index 99% rename from app/[locale]/(protected)/content/spit/table-spit/page.tsx rename to app/[locale]/(protected)/contributor/content/spit/table-spit/page.tsx index b343e6a3..8b51bf27 100644 --- a/app/[locale]/(protected)/content/spit/table-spit/page.tsx +++ b/app/[locale]/(protected)/contributor/content/spit/table-spit/page.tsx @@ -177,7 +177,7 @@ const columns: ColumnDef[] = [ - + View diff --git a/app/[locale]/(protected)/content/spit/table-spit/table-pagination.tsx b/app/[locale]/(protected)/contributor/content/spit/table-spit/table-pagination.tsx similarity index 100% rename from app/[locale]/(protected)/content/spit/table-spit/table-pagination.tsx rename to app/[locale]/(protected)/contributor/content/spit/table-spit/table-pagination.tsx diff --git a/app/[locale]/(protected)/content/teks/components/columns.tsx b/app/[locale]/(protected)/contributor/content/teks/components/columns.tsx similarity index 98% rename from app/[locale]/(protected)/content/teks/components/columns.tsx rename to app/[locale]/(protected)/contributor/content/teks/components/columns.tsx index f2dcd85f..4984ce42 100644 --- a/app/[locale]/(protected)/content/teks/components/columns.tsx +++ b/app/[locale]/(protected)/contributor/content/teks/components/columns.tsx @@ -139,7 +139,7 @@ const columns: ColumnDef[] = [ - + View diff --git a/app/[locale]/(protected)/content/teks/components/table-teks.tsx b/app/[locale]/(protected)/contributor/content/teks/components/table-teks.tsx similarity index 100% rename from app/[locale]/(protected)/content/teks/components/table-teks.tsx rename to app/[locale]/(protected)/contributor/content/teks/components/table-teks.tsx diff --git a/app/[locale]/(protected)/content/spit/layout.tsx b/app/[locale]/(protected)/contributor/content/teks/layout.tsx similarity index 100% rename from app/[locale]/(protected)/content/spit/layout.tsx rename to app/[locale]/(protected)/contributor/content/teks/layout.tsx diff --git a/app/[locale]/(protected)/content/teks/page.tsx b/app/[locale]/(protected)/contributor/content/teks/page.tsx similarity index 100% rename from app/[locale]/(protected)/content/teks/page.tsx rename to app/[locale]/(protected)/contributor/content/teks/page.tsx diff --git a/app/[locale]/(protected)/content/audio-visual/components/columns.tsx b/app/[locale]/(protected)/contributor/content/video/components/columns.tsx similarity index 98% rename from app/[locale]/(protected)/content/audio-visual/components/columns.tsx rename to app/[locale]/(protected)/contributor/content/video/components/columns.tsx index f2dcd85f..4984ce42 100644 --- a/app/[locale]/(protected)/content/audio-visual/components/columns.tsx +++ b/app/[locale]/(protected)/contributor/content/video/components/columns.tsx @@ -139,7 +139,7 @@ const columns: ColumnDef[] = [ - + View diff --git a/app/[locale]/(protected)/content/audio-visual/components/table-video.tsx b/app/[locale]/(protected)/contributor/content/video/components/table-video.tsx similarity index 100% rename from app/[locale]/(protected)/content/audio-visual/components/table-video.tsx rename to app/[locale]/(protected)/contributor/content/video/components/table-video.tsx diff --git a/app/[locale]/(protected)/content/audio-visual/create/page.tsx b/app/[locale]/(protected)/contributor/content/video/create/page.tsx similarity index 100% rename from app/[locale]/(protected)/content/audio-visual/create/page.tsx rename to app/[locale]/(protected)/contributor/content/video/create/page.tsx diff --git a/app/[locale]/(protected)/content/teks/layout.tsx b/app/[locale]/(protected)/contributor/content/video/layout.tsx similarity index 100% rename from app/[locale]/(protected)/content/teks/layout.tsx rename to app/[locale]/(protected)/contributor/content/video/layout.tsx diff --git a/app/[locale]/(protected)/content/audio-visual/page.tsx b/app/[locale]/(protected)/contributor/content/video/page.tsx similarity index 97% rename from app/[locale]/(protected)/content/audio-visual/page.tsx rename to app/[locale]/(protected)/contributor/content/video/page.tsx index affcc207..264adef7 100644 --- a/app/[locale]/(protected)/content/audio-visual/page.tsx +++ b/app/[locale]/(protected)/contributor/content/video/page.tsx @@ -58,7 +58,7 @@ const ReactTableVideoPage = () => { Konten Video
- +
- + - +
+ +
diff --git a/app/[locale]/(protected)/task/create/page.tsx b/app/[locale]/(protected)/contributor/task/create/page.tsx similarity index 90% rename from app/[locale]/(protected)/task/create/page.tsx rename to app/[locale]/(protected)/contributor/task/create/page.tsx index 8531305f..2897575a 100644 --- a/app/[locale]/(protected)/task/create/page.tsx +++ b/app/[locale]/(protected)/contributor/task/create/page.tsx @@ -2,7 +2,7 @@ import { Card, CardContent } from "@/components/ui/card"; import SiteBreadcrumb from "@/components/site-breadcrumb"; import FormTask from "@/components/form/task/task-form"; -const TaskCreatePage = async () => { +const TaskCreatePage = () => { return (
diff --git a/app/[locale]/(protected)/task/detail/[id]/page.tsx b/app/[locale]/(protected)/contributor/task/detail/[id]/page.tsx similarity index 100% rename from app/[locale]/(protected)/task/detail/[id]/page.tsx rename to app/[locale]/(protected)/contributor/task/detail/[id]/page.tsx diff --git a/app/[locale]/(protected)/task/layout.tsx b/app/[locale]/(protected)/contributor/task/layout.tsx similarity index 100% rename from app/[locale]/(protected)/task/layout.tsx rename to app/[locale]/(protected)/contributor/task/layout.tsx diff --git a/app/[locale]/(protected)/task/page.tsx b/app/[locale]/(protected)/contributor/task/page.tsx similarity index 93% rename from app/[locale]/(protected)/task/page.tsx rename to app/[locale]/(protected)/contributor/task/page.tsx index 4564e125..00f328ef 100644 --- a/app/[locale]/(protected)/task/page.tsx +++ b/app/[locale]/(protected)/contributor/task/page.tsx @@ -7,7 +7,6 @@ import SiteBreadcrumb from "@/components/site-breadcrumb"; import { Link } from "@/components/navigation"; import { checkAuthorization, checkLoginSession } from "@/lib/utils"; import React, { useEffect } from "react"; -import TicketingTable from "../ticketing/components/table"; const TaskPage = () => { useEffect(() => { @@ -31,7 +30,7 @@ const TaskPage = () => { Table Penugasan
- +
); diff --git a/components/landing-page/Footer.tsx b/components/landing-page/footer.tsx similarity index 100% rename from components/landing-page/Footer.tsx rename to components/landing-page/footer.tsx diff --git a/components/landing-page/Hero.tsx b/components/landing-page/hero.tsx similarity index 97% rename from components/landing-page/Hero.tsx rename to components/landing-page/hero.tsx index 5de0e3a4..67bef1eb 100644 --- a/components/landing-page/Hero.tsx +++ b/components/landing-page/hero.tsx @@ -6,8 +6,6 @@ import "swiper/css/navigation"; import { getHeroData } from "@/service/landing/landing"; import Link from "next/link"; import { useParams, usePathname, useRouter } from "next/navigation"; -import { Navigation, Pagination } from "swiper/modules"; -import { Card, CardContent } from "@/components/ui/card"; import { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from "@/components/ui/carousel"; const Hero: React.FC = () => { @@ -28,7 +26,6 @@ const Hero: React.FC = () => { return (
{/* Section Gambar Utama */} - {heroData?.map((list: any) => ( diff --git a/components/landing-page/Navbar.tsx b/components/landing-page/navbar.tsx similarity index 73% rename from components/landing-page/Navbar.tsx rename to components/landing-page/navbar.tsx index 0dda790e..1d44516f 100644 --- a/components/landing-page/Navbar.tsx +++ b/components/landing-page/navbar.tsx @@ -7,6 +7,8 @@ import { FiFile, FiImage, FiMusic, FiYoutube } from "react-icons/fi"; import { useParams, usePathname, useRouter } from "next/navigation"; import { generateLocalizedPath } from "@/utils/globals"; import { Link } from "@/i18n/routing"; +import { cn } from "@/lib/utils"; +import { NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, navigationMenuTriggerStyle } from "@/components/ui/navigation-menu"; const Navbar = () => { const [menuOpen, setMenuOpen] = useState(false); @@ -24,7 +26,7 @@ const Navbar = () => { return (
-
+
{/* Logo */} Media Hub Logo @@ -45,7 +47,7 @@ const Navbar = () => { {/* Desktop Navigation */}
- + {/* @@ -86,8 +88,86 @@ const Navbar = () => { - - + */} + + {/* Nav Menu */} + + + + + + + + + Konten + + + + router.push(generateLocalizedPath("/video/filter", String(locale)))} className="flex items-start gap-1.5 p-2 hover:bg-white"> + + + Video + + + router.push(generateLocalizedPath("/audio/filter", String(locale)))} className="flex place-items-start gap-1.5 p-2 hover:bg-white"> + + + Audio + + + router.push(generateLocalizedPath("/image/filter", String(locale)))} className="flex place-items-start gap-1.5 p-2 hover:bg-white"> + + + Foto + + + router.push(generateLocalizedPath("/document/filter", String(locale)))} className="flex place-items-start gap-1.5 p-2 hover:bg-white"> + + + Teks + + + + + + + + + + + + + Jadwal + + + + + + + + + + + + Indeks + + + + + + + {/* { Jadwal - + */} + {/* @@ -109,7 +190,7 @@ const Navbar = () => { Jadwal */} - + {/* { Indeks - + */} Live @@ -131,6 +212,7 @@ const Navbar = () => {
+
{/* Tombol Utama */} + + {generatePageNumbers().map((pageIndex) => ( + + ))} + + +
+
+ ); +}; + +export default LandingPagination; \ No newline at end of file diff --git a/components/partials/footer/index.tsx b/components/partials/footer/index.tsx index 4d54d40f..c55c1e85 100644 --- a/components/partials/footer/index.tsx +++ b/components/partials/footer/index.tsx @@ -1,3 +1,5 @@ +"use client" + import React from 'react' import FooterContent from './footer-content' import { Link } from "@/components/navigation" @@ -5,8 +7,15 @@ import Image from 'next/image' import { Icon } from "@/components/ui/icon"; import { auth } from '@/lib/auth' -const DashCodeFooter = async () => { - const session = await auth() +const DashCodeFooter = () => { + + const [session, setSession] = React.useState(); + + const initSession = async () => { + const ses = await auth(); + setSession(ses); + } + return (
diff --git a/components/partials/header/index.tsx b/components/partials/header/index.tsx index 8f6314a6..7ad108a1 100644 --- a/components/partials/header/index.tsx +++ b/components/partials/header/index.tsx @@ -1,3 +1,5 @@ +"use client" + import React from "react"; import HeaderContent from "./header-content"; import HeaderSearch from "./header-search"; @@ -12,7 +14,7 @@ import HorizontalMenu from "./horizontal-menu"; import LocalSwitcher from "./locale-switcher"; import HeaderLogo from "./header-logo"; -const DashCodeHeader = async () => { +const DashCodeHeader = () => { return ( <> diff --git a/components/partials/header/profile-info.tsx b/components/partials/header/profile-info.tsx index 097272f5..66e48c8f 100644 --- a/components/partials/header/profile-info.tsx +++ b/components/partials/header/profile-info.tsx @@ -15,10 +15,16 @@ import { Icon } from "@/components/ui/icon"; import { signOut, auth } from "@/lib/auth"; import Image from "next/image"; import { Link } from "@/i18n/routing"; -import { Button } from "@/components/ui/button"; +import React from "react"; -const ProfileInfo = async () => { - const session = await auth(); +const ProfileInfo = () => { + + const [session, setSession] = React.useState(); + + const initSession = async () => { + const ses = await auth(); + setSession(ses); + } return (
diff --git a/lib/menus.ts b/lib/menus.ts index 2ead339f..8aacc1dd 100644 --- a/lib/menus.ts +++ b/lib/menus.ts @@ -57,50 +57,50 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "content", - href: "/content/image", + href: "/contributor/content/image", label: t("content"), active: pathname.includes("/content"), icon: "line-md:youtube", submenus: [ { - href: "/content/image", + href: "/contributor/content/image", label: t("image"), - active: pathname === "/content/image", + active: pathname.includes("/content/image"), icon: "ic:outline-image", children: [], }, { - href: "/content/audio-visual", + href: "/contributor/content/video", label: t("video"), - active: pathname === "/content/audio-visual", + active: pathname.includes("/content/video"), icon: "line-md:youtube", children: [], }, { - href: "/content/teks", + href: "/contributor/content/teks", label: t("text"), - active: pathname === "/content/teks", + active: pathname.includes("/content/text"), icon: "heroicons:document", children: [], }, { - href: "/content/audio", + href: "/contributor/content/audio", label: t("audio"), - active: pathname === "/content/audio", + active: pathname.includes("/content/audio"), icon: "heroicons:share", children: [], }, { - href: "/content/spit", + href: "/contributor/content/spit", label: "spit", - active: pathname === "/content/spit", + active: pathname.includes("/content/spit"), icon: "heroicons:credit-card", children: [], }, { - href: "/content/nulis-ai", + href: "/contributor/content/nulis-ai", label: "nulis ai", - active: pathname === "/content/nulisai", + active: pathname.includes("/content/nulisai"), icon: "heroicons:credit-card", children: [], }, @@ -114,7 +114,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "agenda-setting", - href: "/agenda-setting", + href: "/contributor/agenda-setting", label: t("agenda-setting"), active: pathname.includes("/agenda-setting"), icon: "iconoir:journal-page", @@ -128,22 +128,22 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "planning", - href: "/planning", + href: "/contributor/planning", label: t("planning"), active: pathname.includes("/planning"), icon: "pajamas:planning", submenus: [ { - href: "/planning/mediahub", + href: "/contributor/planning/mediahub", label: "mediaHub", - active: pathname === "/planning/mediahub", + active: pathname.includes("/planning/mediahub"), icon: "heroicons:arrow-trending-up", children: [], }, { - href: "/planning/medsos-mediahub", + href: "/contributor/planning/medsos-mediahub", label: "medsos mediahub", - active: pathname === "/planning/medsos-mediahub", + active: pathname.includes("/planning/medsos-mediahub"), icon: "heroicons:shopping-cart", children: [], }, @@ -157,7 +157,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "task", - href: "/task", + href: "/contributor/task", label: t("task"), active: pathname.includes("/task"), icon: "fluent:clipboard-task-add-24-regular", @@ -171,29 +171,29 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "schedule", - href: "/schedule", + href: "/contributor/schedule", label: t("schedule"), active: pathname.includes("/schedule"), icon: "uil:schedule", submenus: [ { - href: "/schedule/press-conference", - label: "konfesensi pers", - active: pathname === "/schedule/press-conference", + href: "/contributor/schedule/press-conference", + label: "konferensi pers", + active: pathname.includes("/schedule/press-conference"), icon: "heroicons:arrow-trending-up", children: [], }, { - href: "/schedule/event", + href: "/contributor/schedule/event", label: "event", - active: pathname === "/schedule/event", + active: pathname.includes("/schedule/event"), icon: "heroicons:shopping-cart", children: [], }, { - href: "/schedule/press-release", + href: "/contributor/schedule/press-release", label: "pers rilis", - active: pathname === "/schedule/press-release", + active: pathname.includes("/schedule/press-release"), icon: "heroicons:shopping-cart", children: [], }, @@ -207,7 +207,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "blog", - href: "/blog", + href: "/contributor/blog", label: t("blog"), active: pathname.includes("/blog"), icon: "fluent:clipboard-text-32-regular", @@ -221,7 +221,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "curatedcontent", - href: "/curated-content", + href: "/shared/curated-content", label: t("curated-content"), active: pathname.includes("/curated-content"), icon: "pixelarticons:calendar-text", @@ -235,7 +235,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "communication", - href: "/communication", + href: "/shared/communication", label: t("communication"), active: pathname.includes("/communication"), icon: "token:chat", @@ -249,7 +249,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "contest", - href: "/contest", + href: "/shared/contest", label: t("contest"), active: pathname.includes("/contest"), icon: "ic:outline-emoji-events", @@ -1403,7 +1403,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "ticketing", - href: "/ticketing", + href: "/supervisor/ticketing", label: t("ticketing"), active: pathname.includes("/ticketing"), icon: "mdi:ticket-outline", @@ -1417,7 +1417,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "knowledge-base", - href: "/knowledge-base", + href: "/supervisor/knowledge-base", label: t("knowledge-base"), active: pathname.includes("/knowledge-base"), icon: "hugeicons:knowledge-02", @@ -1431,7 +1431,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "faq", - href: "/frequently-asked-question", + href: "/supervisor/faq", label: t("faq"), active: pathname.includes("/frequently-asked-question"), icon: "wpf:faq", @@ -1445,41 +1445,41 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "communication", - href: "/communications", + href: "/supervisor/communications", label: t("communication"), active: pathname.includes("/communications"), icon: "icon-park-outline:communication", submenus: [ { - href: "/communications/questions", + href: "/supervisor/communications/questions", label: t("questions"), active: pathname.includes("/communications/questions"), icon: "solar:inbox-line-outline", children: [], }, { - href: "/communications/internal", + href: "/supervisor/communications/internal", label: t("internal"), active: pathname.includes("/communications/internal"), icon: "ri:chat-private-line", children: [], }, { - href: "/communications/forward", + href: "/supervisor/communications/forward", label: t("forward"), active: pathname.includes("/communications/forward"), icon: "ri:share-forward-2-fill", children: [], }, { - href: "/communications/collaboration", + href: "/supervisor/communications/collaboration", label: t("collaboration"), active: pathname.includes("/communications/collaboration"), icon: "clarity:employee-group-line", children: [], }, { - href: "/communications/account-report", + href: "/supervisor/communications/account-report", label: t("account-report"), active: pathname.includes("/communications/account-report"), icon: "uiw:user-delete", @@ -1495,7 +1495,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "settings", - href: "/settings", + href: "/supervisor/settings", label: t("settings"), active: pathname.includes("/settings"), icon: "uil:setting", @@ -1541,7 +1541,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "content-production", - href: "/content-production", + href: "/curator/content-production", label: t("content-production"), active: pathname.includes("/content-production"), icon: "fluent:content-view-gallery-16-regular", @@ -1555,7 +1555,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "pattern-relation", - href: "/pattern-relation", + href: "/curator/pattern-relation", label: t("pattern-relation"), active: pathname.includes("/pattern-relation"), icon: "oui:app-index-pattern", @@ -1569,7 +1569,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "agenda-setting", - href: "/agenda-setting", + href: "/curator/agenda-setting", label: t("agenda-setting"), active: pathname.includes("/agenda-setting"), icon: "iconoir:journal-page", @@ -1583,20 +1583,20 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "task-plan", - href: "/task-plan", + href: "/curator/task-plan", label: t("task-plan"), active: pathname.includes("/task-plan"), icon: "pajamas:planning", submenus: [ { - href: "/task-plan/mediahub", + href: "/curator/task-plan/mediahub", label: "mediaHub", active: pathname === "/task-plan/mediahub", icon: "heroicons:arrow-trending-up", children: [], }, { - href: "/task-plan/medsos-mediahub", + href: "/curator/task-plan/medsos-mediahub", label: "medsos mediahub", active: pathname === "/task-plan/medsos-mediahub", icon: "heroicons:shopping-cart", @@ -1612,7 +1612,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "curatedcontent", - href: "/curated-content", + href: "/shared/curated-content", label: t("curated-content"), active: pathname.includes("/curated-content"), icon: "pixelarticons:calendar-text", @@ -1626,7 +1626,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "media-tracking", - href: "/media-tracking", + href: "/curator/media-tracking", label: t("media-tracking"), active: pathname.includes("/media-tracking"), icon: "material-symbols:map-search-outline", @@ -1640,7 +1640,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "communication", - href: "/communication", + href: "/shared/communication", label: t("communication"), active: pathname.includes("/communication"), icon: "token:chat", @@ -1654,7 +1654,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "contest", - href: "/contest", + href: "/shared/contest", label: t("contest"), active: pathname.includes("/contest"), icon: "ic:outline-emoji-events", @@ -1668,7 +1668,7 @@ export function getMenuList(pathname: string, t: any): Group[] { menus: [ { id: "feedback", - href: "/feedback", + href: "/curator/feedback", label: t("feedback"), active: pathname.includes("/feedback"), icon: "mdi:feedback-outline", diff --git a/package-lock.json b/package-lock.json index 028d6889..57ec96fc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -108,6 +108,7 @@ "react-hot-toast": "^2.4.1", "react-icons": "^5.3.0", "react-leaflet": "^4.2.1", + "react-player": "^2.16.0", "react-quill": "^0.0.2", "react-resizable-panels": "^2.0.19", "react-responsive": "^10.0.0", @@ -149,7 +150,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, "engines": { "node": ">=10" }, @@ -1215,7 +1215,6 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -1232,7 +1231,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, "engines": { "node": ">=12" }, @@ -1244,7 +1242,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -1775,7 +1772,6 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -1788,7 +1784,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, "engines": { "node": ">= 8" } @@ -1797,7 +1792,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -1827,7 +1821,6 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, "optional": true, "engines": { "node": ">=14" @@ -3693,7 +3686,7 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==", - "dev": true, + "devOptional": true, "dependencies": { "@types/react": "*" } @@ -3987,7 +3980,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -4001,7 +3993,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -4015,14 +4006,12 @@ "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -4067,8 +4056,7 @@ "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, "node_modules/argparse": { "version": "2.0.1", @@ -4359,14 +4347,12 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, "engines": { "node": ">=8" }, @@ -4388,7 +4374,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, "dependencies": { "fill-range": "^7.1.1" }, @@ -4448,7 +4433,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true, "engines": { "node": ">= 6" } @@ -4548,7 +4532,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -4572,7 +4555,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -4757,7 +4739,6 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -4781,7 +4762,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, "bin": { "cssesc": "bin/cssesc" }, @@ -5356,6 +5336,14 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", @@ -5449,8 +5437,7 @@ "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" }, "node_modules/diff": { "version": "5.2.0", @@ -5475,8 +5462,7 @@ "node_modules/dlv": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" }, "node_modules/doctrine": { "version": "3.0.0", @@ -5577,8 +5563,7 @@ "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, "node_modules/elkjs": { "version": "0.9.3", @@ -5626,8 +5611,7 @@ "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, "node_modules/enhanced-resolve": { "version": "5.17.1", @@ -6467,7 +6451,6 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -6483,7 +6466,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -6507,7 +6489,6 @@ "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, "dependencies": { "reusify": "^1.0.4" } @@ -6551,7 +6532,6 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -6642,7 +6622,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -6711,7 +6690,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -6867,7 +6845,6 @@ "version": "10.3.10", "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^2.3.5", @@ -6889,7 +6866,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, "dependencies": { "is-glob": "^4.0.3" }, @@ -6901,7 +6877,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -6910,7 +6885,6 @@ "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -7878,7 +7852,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -8010,7 +7983,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -8034,7 +8006,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -8058,7 +8029,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -8103,7 +8073,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, "engines": { "node": ">=0.12.0" } @@ -8352,7 +8321,6 @@ "version": "2.3.6", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -8370,7 +8338,6 @@ "version": "1.21.6", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", - "dev": true, "bin": { "jiti": "bin/jiti.js" } @@ -8629,7 +8596,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", - "dev": true, "engines": { "node": ">=14" }, @@ -8642,6 +8608,11 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, + "node_modules/load-script": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", + "integrity": "sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==" + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -8733,8 +8704,7 @@ "node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "node_modules/lucide-react": { "version": "0.390.0", @@ -9448,7 +9418,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, "engines": { "node": ">= 8" } @@ -10236,7 +10205,6 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -10297,7 +10265,6 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, "engines": { "node": ">=16 || 14 >=14.17" } @@ -10346,7 +10313,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -10641,7 +10607,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -10696,7 +10661,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true, "engines": { "node": ">= 6" } @@ -10995,7 +10959,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, "engines": { "node": ">=8" } @@ -11009,7 +10972,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -11048,7 +11010,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, "engines": { "node": ">=8.6" }, @@ -11060,7 +11021,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -11069,7 +11029,6 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, "engines": { "node": ">= 6" } @@ -11087,7 +11046,6 @@ "version": "8.4.49", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", - "dev": true, "funding": [ { "type": "opencollective", @@ -11115,7 +11073,6 @@ "version": "15.1.0", "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", @@ -11132,7 +11089,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, "dependencies": { "camelcase-css": "^2.0.1" }, @@ -11151,7 +11107,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", - "dev": true, "funding": [ { "type": "opencollective", @@ -11186,7 +11141,6 @@ "version": "2.6.1", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", - "dev": true, "bin": { "yaml": "bin.mjs" }, @@ -11198,7 +11152,6 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", - "dev": true, "funding": [ { "type": "opencollective", @@ -11223,7 +11176,6 @@ "version": "6.1.2", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", - "dev": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -11235,8 +11187,7 @@ "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, "node_modules/preact": { "version": "10.12.1", @@ -11341,7 +11292,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, "funding": [ { "type": "github", @@ -11535,6 +11485,11 @@ "react": ">= 16.8 || 18.0.0" } }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, "node_modules/react-fit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/react-fit/-/react-fit-2.0.1.tgz", @@ -11629,6 +11584,26 @@ "react-dom": "^18.0.0" } }, + "node_modules/react-player": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/react-player/-/react-player-2.16.0.tgz", + "integrity": "sha512-mAIPHfioD7yxO0GNYVFD1303QFtI3lyyQZLY229UEAp/a10cSW+hPcakg0Keq8uWJxT2OiT/4Gt+Lc9bD6bJmQ==", + "dependencies": { + "deepmerge": "^4.0.0", + "load-script": "^1.0.0", + "memoize-one": "^5.1.1", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.0.1" + }, + "peerDependencies": { + "react": ">=16.6.0" + } + }, + "node_modules/react-player/node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, "node_modules/react-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/react-property/-/react-property-2.0.2.tgz", @@ -11853,7 +11828,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, "dependencies": { "pify": "^2.3.0" } @@ -11862,7 +11836,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -12285,7 +12258,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -12358,7 +12330,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "funding": [ { "type": "github", @@ -12550,7 +12521,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, "dependencies": { "shebang-regex": "^3.0.0" }, @@ -12562,7 +12532,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, "engines": { "node": ">=8" } @@ -12599,7 +12568,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, "engines": { "node": ">=14" }, @@ -12729,7 +12697,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -12747,7 +12714,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -12760,14 +12726,12 @@ "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, "engines": { "node": ">=12" }, @@ -12779,7 +12743,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -12915,7 +12878,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -12928,7 +12890,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -13033,7 +12994,6 @@ "version": "3.35.0", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", - "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", @@ -13055,7 +13015,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, "engines": { "node": ">= 6" } @@ -13229,7 +13188,6 @@ "version": "3.4.16", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.16.tgz", "integrity": "sha512-TI4Cyx7gDiZ6r44ewaJmt0o6BrMCT5aK5e0rmJ/G9Xq3w7CX/5VXl/zIPEJZFUK5VEqwByyhqNPycPlvcK4ZNw==", - "dev": true, "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", @@ -13289,7 +13247,6 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, "dependencies": { "any-promise": "^1.0.0" } @@ -13298,7 +13255,6 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dev": true, "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -13406,7 +13362,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -13464,8 +13419,7 @@ "node_modules/ts-interface-checker": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" }, "node_modules/tsconfig-paths": { "version": "3.15.0", @@ -13943,8 +13897,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/uuid": { "version": "9.0.1", @@ -14183,7 +14136,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "dependencies": { "isexe": "^2.0.0" }, @@ -14290,7 +14242,6 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -14308,7 +14259,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -14324,14 +14274,12 @@ "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -14345,7 +14293,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, "engines": { "node": ">=12" }, @@ -14357,7 +14304,6 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, "engines": { "node": ">=12" }, @@ -14369,7 +14315,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, "dependencies": { "ansi-regex": "^6.0.1" }, diff --git a/package.json b/package.json index 4ee8087b..47b2112f 100644 --- a/package.json +++ b/package.json @@ -109,6 +109,7 @@ "react-hot-toast": "^2.4.1", "react-icons": "^5.3.0", "react-leaflet": "^4.2.1", + "react-player": "^2.16.0", "react-quill": "^0.0.2", "react-resizable-panels": "^2.0.19", "react-responsive": "^10.0.0", diff --git a/service/landing/landing.ts b/service/landing/landing.ts index 32437893..90912e27 100644 --- a/service/landing/landing.ts +++ b/service/landing/landing.ts @@ -8,10 +8,20 @@ export async function getCategoryData() { return await httpGetInterceptor(`media/categories/list/publish?enablePage=1&sort=desc&sortBy=updatedAt&size=12&type=`); } -export async function getListContent(data: { sortBy: string; contentTypeId: string }) { - return await httpGetInterceptor(`media/public/list?enablePage=1&sort=desc&sortBy=${data.sortBy}&size=5&page=0&typeId=${data.contentTypeId}&title=&categoryId=&fileFormats=&tags=&group=&startDate=&endDate=&month=&year=`); +export async function getListContent(props: any) { + return await httpGetInterceptor( + `media/public/list?enablePage=1&sort=desc&sortBy=${props.sortBy}&size=${props.size}&page=${props.page}&typeId=${props.contentTypeId}&title=&categoryId=&fileFormats=&tags=&group=&startDate=&endDate=&month=&year=` + ); } export async function getPrivacy() { return await httpGetInterceptor(`general/privacy-policy/1`); } + +export async function getIndeksData() { + return await httpGetInterceptor(`blog/public/pagination?enablePage=1&page=0&size=20`); +} + +export async function getDetail(slug: string) { + return await httpGetInterceptor(`media/public?slug=${slug}&state=mabes`); +} \ No newline at end of file diff --git a/service/schedule/schedule.ts b/service/schedule/schedule.ts index e514a861..be28b318 100644 --- a/service/schedule/schedule.ts +++ b/service/schedule/schedule.ts @@ -3,15 +3,8 @@ import { httpGetInterceptor } from "../http-config/http-interceptor-service"; import { type } from "os"; import { getAPI, getAPIInterceptor, postAPIInterceptor } from "@/config/api"; -export async function paginationSchedule( - size: number, - page: number, - type: any, - title: string = "" -) { - return await httpGetInterceptor( - `schedule/pagination?enablePage=1&scheduleTypeId=${type}&page=${page}&size=${size}&title=${title}` - ); +export async function paginationSchedule(size: number, page: number, type: any, title: string = "") { + return await httpGetInterceptor(`schedule/pagination?enablePage=1&scheduleTypeId=${type}&page=${page}&size=${size}&title=${title}`); } export async function postSchedule(data: any) { @@ -23,3 +16,5 @@ export async function detailSchedule(id: any) { const url = `public/schedule?id=${id}`; return getAPIInterceptor({ url }); } + + diff --git a/utils/video-player.tsx b/utils/video-player.tsx new file mode 100644 index 00000000..1275fd25 --- /dev/null +++ b/utils/video-player.tsx @@ -0,0 +1,29 @@ +import React from "react"; +import ReactPlayer from "react-player"; + +type VideoPlayerProps = { + url: string; +}; + +const VideoPlayer: React.FC = ({ url }) => { + return ( + + ); +}; + +export default VideoPlayer; \ No newline at end of file