114 lines
6.5 KiB
TypeScript
114 lines
6.5 KiB
TypeScript
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'
|
|
import AdminLayout from './components/AdminLayout'
|
|
import DashboardPage from './pages/DashboardPage'
|
|
import ProductsPage from './pages/ProductsPage'
|
|
import ProductEditPage from './pages/ProductEditPage'
|
|
import ProductBomPage from './pages/ProductBomPage'
|
|
import ProductCmsPage from './pages/ProductCmsPage'
|
|
import CategoriesPage from './pages/CategoriesPage'
|
|
import CustomersPage from './pages/CustomersPage'
|
|
import PageBuilderPage from './pages/PageBuilderPage'
|
|
import CmsMockupPage from './pages/CmsMockupPage'
|
|
import RawMaterialsPage from './pages/RawMaterialsPage'
|
|
import LoginPage from './pages/LoginPage'
|
|
import ProtectedRoute from './components/ProtectedRoute'
|
|
import OrdersPage from './pages/OrdersPage'
|
|
import OrderDetailPage from './pages/OrderDetailPage'
|
|
import StoreSettingsPage from './pages/StoreSettingsPage'
|
|
import PaymentSettingsPage from './pages/PaymentSettingsPage'
|
|
import ThemeSettingsPage from './pages/ThemeSettingsPage'
|
|
import ContentSettingsPage from './pages/ContentSettingsPage'
|
|
import SystemMaintenancePage from './pages/SystemMaintenancePage'
|
|
import MainNavigationPage from './pages/menu-manager/MainNavigationPage'
|
|
import FooterExplorePage from './pages/menu-manager/FooterExplorePage'
|
|
import FooterSupportPage from './pages/menu-manager/FooterSupportPage'
|
|
import FooterBrandPage from './pages/menu-manager/FooterBrandPage'
|
|
import NewsletterSubscribersPage from './pages/NewsletterSubscribersPage'
|
|
import ArticlesPage from './pages/ArticlesPage'
|
|
import ArticleEditPage from './pages/ArticleEditPage'
|
|
import CouponsPage from './pages/CouponsPage'
|
|
import PromotionsPage from './pages/PromotionsPage'
|
|
import TiktokPage from './pages/TiktokPage'
|
|
import TiktokAnalysisPage from './pages/TiktokAnalysisPage'
|
|
import ShopeePage from './pages/ShopeePage'
|
|
import ShopeeOrderDetailPage from './pages/ShopeeOrderDetailPage'
|
|
import ShopeeAnalyticsPage from './pages/ShopeeAnalyticsPage'
|
|
import ShopeeOverviewPage from './pages/ShopeeOverviewPage'
|
|
import TiktokOrderPage from './pages/TiktokOrderPage'
|
|
import TiktokAnalyticsPage from './pages/TiktokAnalyticsPage'
|
|
import TiktokOverviewPage from './pages/TiktokOverviewPage'
|
|
import LazadaOrderPage from './pages/LazadaOrderPage'
|
|
import LazadaAnalyticsPage from './pages/LazadaAnalyticsPage'
|
|
import LazadaOverviewPage from './pages/LazadaOverviewPage'
|
|
import GlobalAnalyticsPage from './pages/GlobalAnalyticsPage'
|
|
import MediaLibraryPage from './pages/MediaLibraryPage'
|
|
import ContactMessagesPage from './pages/ContactMessagesPage'
|
|
import ProductAttributesPage from './pages/ProductAttributesPage'
|
|
import TiktokPriceSimulatorPage from './pages/TiktokPriceSimulatorPage'
|
|
import TiktokShopCasePage from './pages/TiktokShopCasePage'
|
|
|
|
function App() {
|
|
return (
|
|
<BrowserRouter>
|
|
<Routes>
|
|
{/* Public Route */}
|
|
<Route path="/login" element={<LoginPage />} />
|
|
|
|
{/* Guarded Admin Routes */}
|
|
<Route element={<ProtectedRoute />}>
|
|
<Route element={<AdminLayout />}>
|
|
<Route path="/" element={<DashboardPage />} />
|
|
<Route path="/products" element={<ProductsPage />} />
|
|
<Route path="/product-attributes" element={<ProductAttributesPage />} />
|
|
<Route path="/products/new" element={<ProductEditPage />} />
|
|
<Route path="/products/:id/edit" element={<ProductEditPage />} />
|
|
<Route path="/products/:id/cms" element={<ProductCmsPage />} />
|
|
<Route path="/products/:id/bom" element={<ProductBomPage />} />
|
|
<Route path="/categories" element={<CategoriesPage />} />
|
|
<Route path="/customers" element={<CustomersPage />} />
|
|
<Route path="/page-builder" element={<PageBuilderPage />} />
|
|
<Route path="/cms-mockup" element={<CmsMockupPage />} />
|
|
<Route path="/orders" element={<OrdersPage />} />
|
|
<Route path="/orders/:id" element={<OrderDetailPage />} />
|
|
<Route path="/media" element={<MediaLibraryPage />} />
|
|
<Route path="/promotions" element={<PromotionsPage />} />
|
|
<Route path="/coupons" element={<CouponsPage />} />
|
|
<Route path="/raw-materials" element={<RawMaterialsPage />} />
|
|
<Route path="/settings" element={<StoreSettingsPage />} />
|
|
<Route path="/settings/payments" element={<PaymentSettingsPage />} />
|
|
<Route path="/settings/theme" element={<ThemeSettingsPage />} />
|
|
<Route path="/settings/content" element={<ContentSettingsPage />} />
|
|
<Route path="/settings/system" element={<SystemMaintenancePage />} />
|
|
<Route path="/menu-manager" element={<Navigate to="/menu-manager/main-navigation" replace />} />
|
|
<Route path="/menu-manager/main-navigation" element={<MainNavigationPage />} />
|
|
<Route path="/menu-manager/footer-explore" element={<FooterExplorePage />} />
|
|
<Route path="/menu-manager/footer-support" element={<FooterSupportPage />} />
|
|
<Route path="/menu-manager/footer-brand" element={<FooterBrandPage />} />
|
|
<Route path="/subscribers" element={<NewsletterSubscribersPage />} />
|
|
<Route path="/articles" element={<ArticlesPage />} />
|
|
<Route path="/articles/:id" element={<ArticleEditPage />} />
|
|
<Route path="/contacts" element={<ContactMessagesPage />} />
|
|
<Route path="/tiktok" element={<TiktokPage />} />
|
|
<Route path="/tiktok-analysis" element={<TiktokAnalysisPage />} />
|
|
<Route path="/tiktok-price-simulator" element={<TiktokPriceSimulatorPage />} />
|
|
<Route path="/tiktok-shop-case" element={<TiktokShopCasePage />} />
|
|
<Route path="/shopee" element={<ShopeePage />} />
|
|
<Route path="/shopee/:orderId" element={<ShopeeOrderDetailPage />} />
|
|
<Route path="/shopee-analytics" element={<ShopeeAnalyticsPage />} />
|
|
<Route path="/shopee-overview" element={<ShopeeOverviewPage />} />
|
|
<Route path="/tiktok-order" element={<TiktokOrderPage />} />
|
|
<Route path="/tiktok-analytics" element={<TiktokAnalyticsPage />} />
|
|
<Route path="/tiktok-overview" element={<TiktokOverviewPage />} />
|
|
<Route path="/lazada-order" element={<LazadaOrderPage />} />
|
|
<Route path="/lazada-analytics" element={<LazadaAnalyticsPage />} />
|
|
<Route path="/lazada-overview" element={<LazadaOverviewPage />} />
|
|
<Route path="/global-analytics" element={<GlobalAnalyticsPage />} />
|
|
</Route>
|
|
</Route>
|
|
</Routes>
|
|
</BrowserRouter>
|
|
)
|
|
}
|
|
|
|
export default App
|