403Webshell
Server IP : 103.88.176.108  /  Your IP : 216.73.216.211
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux webserver 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64
User : www-data ( 33)
PHP Version : 7.4.3-4ubuntu2.18
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/wp-content/plugins/wp-cloudflare-page-cache/assets/src/router/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/wp-content/plugins/wp-cloudflare-page-cache/assets/src/router/Main.tsx
import PageWrap from "@/layout/PageWrap";
import { ROOT_PAGES } from "@/lib/constants";
import Dashboard from "@/pages/dashboard/Dashboard";
import HelpPlaceholder from "@/pages/placeholders/HelpPlaceholder";
import ImportExportPlaceholder from "@/pages/placeholders/ImportExportPlaceholder";
import LicensePlaceholder from "@/pages/placeholders/LicensePlaceholder";
import SettingsPlaceholder from "@/pages/placeholders/SettingsPlaceholder";
import { useAppStore } from "@/store/store";
import { lazy, Suspense, useEffect } from "@wordpress/element";
import { Loader2 } from "lucide-react";

const Settings = lazy(() => import("@/pages/settings/Settings"));
const License = lazy(() => import("@/pages/license/License"));
const Help = lazy(() => import("@/pages/help/Help"));
const ImportExport = lazy(() => import("@/pages/import-export/ImportExport"));

const Main = () => {
  const { rootPage, setRootPage, showWizard } = useAppStore();
  const { rootPagePrefix } = window.SPCDash;

  const getPageFromUrl = (url: string) => {
    const searchParams = new URL(url, window.location.href).searchParams;
    const pageParam = searchParams.get('page');
    if (!pageParam || pageParam === 'super-page-cache') return ROOT_PAGES.DASHBOARD;

    const page = pageParam.replace(rootPagePrefix, '').toLowerCase();
    return ROOT_PAGES[page.replace('-', '_').toUpperCase()] || ROOT_PAGES.DASHBOARD;
  }

  const listenToInternalPages = (e: MouseEvent) => {
    e.preventDefault();
    let target = e.target as HTMLElement;

    if (target.tagName !== 'A') {
      target = target.closest('a');
    }

    const href = target.getAttribute('href');

    if (!href) return;

    setRootPage(getPageFromUrl(href));
  }

  useEffect(() => {
    const menuWrapper = document.querySelectorAll('.toplevel_page_super-page-cache a[href*="page=super-page-cache"]');

    menuWrapper.forEach((wrapper) => {
      wrapper.addEventListener('click', listenToInternalPages);
    });

    return () => {
      menuWrapper.forEach((wrapper) => {
        wrapper.removeEventListener('click', listenToInternalPages);
      });
    }
  }, []);


  useEffect(() => {
    if (!showWizard) {
      return;
    }

    if (![ROOT_PAGES.DASHBOARD, ROOT_PAGES.HELP].includes(rootPage)) {
      setRootPage(ROOT_PAGES.DASHBOARD);
    }
  }, []);

  const getPlaceholder = (page: string) => {
    switch (page) {
    case ROOT_PAGES.SETTINGS:
      return <SettingsPlaceholder />;
    case ROOT_PAGES.IMPORT_EXPORT:
      return <ImportExportPlaceholder />;
    case ROOT_PAGES.LICENSE:
      return <LicensePlaceholder />;
    case ROOT_PAGES.HELP:
      return <HelpPlaceholder />;
    default:
      return (
        <PageWrap className="py-10 text-muted-foreground flex items-center justify-center grow">
          <Loader2 className="size-10 animate-spin mx-auto" />
        </PageWrap>
      );
    }
  };

  const getPage = (page: string) => {
    switch (page) {
    case ROOT_PAGES.SETTINGS:
      return <Settings />;
    case ROOT_PAGES.IMPORT_EXPORT:
      return <ImportExport />;
    case ROOT_PAGES.LICENSE:
      return <License />;
    case ROOT_PAGES.HELP:
      return <Help />;
    default:
      return <Dashboard />;
    }
  };

  if (rootPage === ROOT_PAGES.DASHBOARD) {
    return (
      <Dashboard />
    );
  }

  return (
    <Suspense fallback={getPlaceholder(rootPage)}>
      {getPage(rootPage)}
    </Suspense>
  );
}

export default Main;

Youez - 2016 - github.com/yon3zu
LinuXploit