components
2 weeks ago
hooks
2 weeks ago
lib
1 month ago
pages
2 weeks ago
router
1 month ago
utils
1 month ago
App.js
1 month ago
Routes.js
1 month ago
common.scss
1 month ago
index.js
1 month ago
main.scss
1 month ago
Routes.js
57 lines
| 1 | const { __ } = wp.i18n; |
| 2 | |
| 3 | import { useLocation } from "./router/router"; |
| 4 | import Navbar from "./components/Navbar"; |
| 5 | import Dashboard from "./pages/Dashboard"; |
| 6 | import Emails from "./pages/Emails"; |
| 7 | import MediaHub from "./pages/MediaHub"; |
| 8 | import Analytics from "./pages/Analytics"; |
| 9 | import AnalyticsDetail from "./pages/AnalyticsDetail"; |
| 10 | import UserAnalyticsDetail from "./pages/UserAnalyticsDetail"; |
| 11 | import Settings from "./pages/Settings"; |
| 12 | import Learn from "./pages/Learn"; |
| 13 | import AdminMenuSync from "./components/AdminMenuSync"; |
| 14 | |
| 15 | const Routes = () => { |
| 16 | const location = useLocation(); |
| 17 | const currentTab = location.params?.tab || "dashboard"; |
| 18 | const detail = location.params?.detail; |
| 19 | const id = location.params?.id; |
| 20 | |
| 21 | const render = () => { |
| 22 | switch (currentTab) { |
| 23 | case "dashboard": |
| 24 | case "Dashboard": |
| 25 | return <Dashboard />; |
| 26 | case "Emails": |
| 27 | return <Emails />; |
| 28 | case "MediaHub": |
| 29 | return <MediaHub />; |
| 30 | case "Analytics": |
| 31 | if (detail === "user" && id) { |
| 32 | return <UserAnalyticsDetail />; |
| 33 | } |
| 34 | if (detail === "media" && id) { |
| 35 | return <AnalyticsDetail />; |
| 36 | } |
| 37 | return <Analytics />; |
| 38 | case "Settings": |
| 39 | return <Settings />; |
| 40 | case "Learn": |
| 41 | return <Learn />; |
| 42 | default: |
| 43 | return <Dashboard />; |
| 44 | } |
| 45 | }; |
| 46 | |
| 47 | return ( |
| 48 | <div className="presto-dashboard flex flex-col flex-1 min-h-0"> |
| 49 | <AdminMenuSync /> |
| 50 | <Navbar /> |
| 51 | {render()} |
| 52 | </div> |
| 53 | ); |
| 54 | }; |
| 55 | |
| 56 | export default Routes; |
| 57 |