File "index.js"
Full Path: /home/fresvfqn/waterdamagerestorationandrepairsmithtown.com/wp-content/plugins/surerank/src/apps/admin-dashboard/index.js
File size: 4.78 KB
MIME-type: text/x-java
Charset: utf-8
import { mountComponent } from '@Functions/utils';
import createAdminRouter, {
createRoute,
createChildRoute,
} from '@Functions/router';
import Dashboard from './dashboard';
import { Toaster, toast } from '@bsf/force-ui';
import { getNavLinks } from '@Global/constants/nav-links';
import { Navigate } from '@tanstack/react-router';
import SidebarLayout from '@AdminComponents/layout/sidebar-layout';
import SearchConsole from '../admin-search-console';
import {
ENABLE_GOOGLE_CONSOLE,
ENABLE_SCHEMAS,
ENABLE_MIGRATION,
} from '@Global/constants';
import { applyFilters } from '@wordpress/hooks';
// Import all the components directly
import TitleAndDescriptionRoute from '@AdminGeneral/general/title-and-description/title-and-description';
import HomePageRoute from '@AdminGeneral/general/home-page/home-page';
import ArchivePagesRoute from '@AdminGeneral/advanced/archive-pages/archive-pages';
import SocialGeneralRoute from '@AdminGeneral/social/general/general';
import FacebookRoute from '@AdminGeneral/social/facebook/facebook';
import TwitterRoute from '@AdminGeneral/social/twitter/twitter';
import AccountRoute from '@AdminGeneral/social/account/account';
import RobotInstructionsRoute from '@AdminGeneral/advanced/robot-instructions/robot-instructions';
import SitemapsRoute from '@AdminGeneral/advanced/sitemaps/sitemaps';
import FeaturesManagementRoute from '@AdminGeneral/advanced/features-management/features-management';
import ContentAnalysisRoute from '@AdminDashboard/content-analysis/content-analysis';
import SiteSeoChecksRoute from '@AdminDashboard/site-seo-checks/site-seo-checks-main';
import MigrationRoute from '@AdminGeneral/advanced/tools/migration';
import MiscellaneousRoute from '@AdminGeneral/advanced/tools/miscellaneous';
import RobotsTxtEditorRoute from '@AdminGeneral/advanced/tools/robots-txt-editor/robots-txt-editor';
import SchemaRoute from '@AdminGeneral/schema/schema';
import ImportExportSettingsRoute from '@AdminGeneral/advanced/tools/import-export-settings';
// Define toast globally for PRO plugin.
if ( window && ! window?.toast ) {
window.toast = toast;
}
// Routes
const dashboardRoutes = [
// Default route redirects to dashboard
createRoute( '/', () => <Navigate to="/dashboard" />, {
navbarOnly: true,
} ),
// Dashboard routes
createRoute( '/dashboard', Dashboard, { navbarOnly: true } ),
];
const generalAndAdvancedRoutes = [
// General routes
createRoute( '/general', TitleAndDescriptionRoute ),
createRoute( '/general/homepage', null, [
createChildRoute( '/', HomePageRoute ),
createChildRoute( '/social', HomePageRoute ),
createChildRoute( '/advanced', HomePageRoute ),
] ),
createChildRoute( '/general/archive_pages', ArchivePagesRoute ),
createRoute( '/general/social', null, [
createChildRoute( '/', SocialGeneralRoute ),
createChildRoute( '/facebook', FacebookRoute ),
createChildRoute( '/x', TwitterRoute ),
createChildRoute( '/accounts', AccountRoute ),
] ),
// Advanced routes
createRoute( '/advanced', null, [
createRoute( '/robot_instructions', null, [
createChildRoute( '/indexing', RobotInstructionsRoute ),
createChildRoute( '/following', RobotInstructionsRoute ),
createChildRoute( '/archiving', RobotInstructionsRoute ),
] ),
createChildRoute( '/sitemaps', SitemapsRoute ),
// Conditionally include schema route
...( ENABLE_SCHEMAS && SchemaRoute
? [ createChildRoute( '/schema', SchemaRoute ) ]
: [] ),
createChildRoute( '/robots-txt-editor', RobotsTxtEditorRoute ),
] ),
];
const searchConsoleRoutes = [
createRoute( '/search-console', SearchConsole, { navbarOnly: true } ),
createRoute( '/content-performance', ContentAnalysisRoute, {
navbarOnly: true,
} ),
];
const siteSeoAnalysisRoutes = [
createRoute( '/site-seo-analysis', SiteSeoChecksRoute, {
navbarOnly: true,
} ),
];
// Tools routes
const toolsRoutes = [
createRoute( '/tools', null, [
createChildRoute( '/manage-features', FeaturesManagementRoute ),
createChildRoute( '/import-export', ImportExportSettingsRoute ),
...( ENABLE_MIGRATION
? [ createChildRoute( '/migrate', MigrationRoute ) ]
: [] ),
createChildRoute( '/miscellaneous', MiscellaneousRoute ),
] ),
];
// Combine all routes
export const routes = applyFilters( 'surerank-pro.routes', [
...dashboardRoutes,
...generalAndAdvancedRoutes,
...toolsRoutes,
...siteSeoAnalysisRoutes,
// Conditionally include search console routes
...( ENABLE_GOOGLE_CONSOLE ? searchConsoleRoutes : [] ),
] );
// Navigation Links
export const navLinks = getNavLinks();
// Create router using the original createAdminRouter but with custom layout
const Router = createAdminRouter( {
navLinks,
routes,
defaultLayout: {
component: SidebarLayout,
props: {},
},
} );
const App = () => {
return (
<>
<Router />
<Toaster className="z-999999" />
</>
);
};
mountComponent( '#surerank-root', <App /> );