60 lines
2.3 KiB
TypeScript
60 lines
2.3 KiB
TypeScript
import { useEffect } from 'react'
|
|
import { BrowserRouter, Routes, Route } from 'react-router-dom'
|
|
import ScrollToTop from './components/ScrollToTop'
|
|
import { initLiff } from './lib/liff'
|
|
import HomePage from './pages/HomePage'
|
|
import ShopPage from './pages/ShopPage'
|
|
import CategoryPage from './pages/CategoryPage'
|
|
import ProductDetailPage from './pages/ProductDetailPage'
|
|
import SearchPage from './pages/SearchPage'
|
|
import FaqPage from './pages/FaqPage'
|
|
import ScentGuidePage from './pages/ScentGuidePage'
|
|
import ArticleReaderPage from './pages/ArticleReaderPage'
|
|
import ContactPage from './pages/ContactPage'
|
|
import AboutPage from './pages/AboutPage'
|
|
import NotFoundPage from './pages/NotFoundPage'
|
|
import CheckoutPage from './pages/CheckoutPage'
|
|
import CouponsPage from './pages/CouponsPage'
|
|
import OrderSuccessPage from './pages/OrderSuccessPage'
|
|
import TrackOrderPage from './pages/TrackOrderPage'
|
|
import WishlistPage from './pages/WishlistPage'
|
|
import CartDrawer from './components/CartDrawer'
|
|
|
|
function App() {
|
|
useEffect(() => {
|
|
const liffId = import.meta.env.VITE_LIFF_ID;
|
|
if (liffId) {
|
|
initLiff(liffId);
|
|
} else {
|
|
console.warn("VITE_LIFF_ID is not defined in environment variables. LINE Login won't work.");
|
|
}
|
|
}, []);
|
|
|
|
return (
|
|
<BrowserRouter>
|
|
<ScrollToTop />
|
|
<CartDrawer />
|
|
<Routes>
|
|
<Route path="/" element={<HomePage />} />
|
|
<Route path="/shop" element={<ShopPage />} />
|
|
<Route path="/category/:id" element={<CategoryPage />} />
|
|
<Route path="/products/:id" element={<ProductDetailPage />} />
|
|
<Route path="/coupons" element={<CouponsPage />} />
|
|
<Route path="/checkout" element={<CheckoutPage />} />
|
|
<Route path="/order/:id" element={<OrderSuccessPage />} />
|
|
<Route path="/track" element={<TrackOrderPage />} />
|
|
<Route path="/wishlist" element={<WishlistPage />} />
|
|
<Route path="/search" element={<SearchPage />} />
|
|
<Route path="/faq" element={<FaqPage />} />
|
|
<Route path="/scent-guide" element={<ScentGuidePage />} />
|
|
<Route path="/article/:slug" element={<ArticleReaderPage />} />
|
|
<Route path="/contact" element={<ContactPage />} />
|
|
<Route path="/about" element={<AboutPage />} />
|
|
<Route path="*" element={<NotFoundPage />} />
|
|
</Routes>
|
|
</BrowserRouter>
|
|
)
|
|
}
|
|
|
|
export default App
|