App.jsx 3.77 KB
Newer Older
fisherdaddy's avatar
fisherdaddy committed
1
import React, { Suspense, lazy } from 'react';
fisherdaddy's avatar
fisherdaddy committed
2 3 4
import { Routes, Route } from 'react-router-dom';
import Home from './pages/Home';
import Header from './components/Header';
fisherdaddy's avatar
fisherdaddy committed
5
import NotFound from './pages/NotFound';
fisherdaddy's avatar
fisherdaddy committed
6
import Login from './pages/Login';
fisherdaddy's avatar
fisherdaddy committed
7

fisherdaddy's avatar
fisherdaddy committed
8 9 10 11 12
const DevTools = lazy(() => import('./pages/DevTools'));
const ImageTools = lazy(() => import('./pages/ImageTools'));
const Blog = lazy(() => import('./pages/Blog'));
const AIProduct = lazy(() => import('./pages/AIProduct'));

fisherdaddy's avatar
fisherdaddy committed
13
const JsonFormatter = lazy(() => import('./components/JsonFormatter'));
14
const MarkdownToImage = lazy(() => import('./components/MarkdownToImage'));
fisherdaddy's avatar
fisherdaddy committed
15
const UrlEnDecode = lazy(() => import('./components/UrlEnDecode'));
fisherdaddy's avatar
fisherdaddy committed
16
const About = lazy(() => import('./pages/About'));
fisherdaddy's avatar
fisherdaddy committed
17
const OpenAITimeline = lazy(() => import('./components/OpenAITimeline'));
18
const PricingCharts  = lazy(() => import('./components/PricingCharts'));
19
const HandwriteGen  = lazy(() => import('./components/HandwriteGen'));
20
const ImageBase64Converter  = lazy(() => import('./components/ImageBase64Converter'));
21
const QuoteCard = lazy(() => import('./components/QuoteCard'));
22
const LatexToImage = lazy(() => import('./components/LatexToImage'));
fisherdaddy's avatar
fisherdaddy committed
23
const TextDiff = lazy(() => import('./components/TextDiff'));
24
const SubtitleGenerator = lazy(() => import('./components/SubtitleGenerator'));
25
const ImageCompressor = lazy(() => import('./components/ImageCompressor'));
26
const ImageWatermark = lazy(() => import('./components/ImageWatermark'));
27
const TextBehindImage = lazy(() => import('./components/TextBehindImage'));
28
const BackgroundRemover = lazy(() => import('./components/BackgroundRemover'));
29 30
const AnthropicTimeline = lazy(() => import('./components/AnthropicTimeline'));

fisherdaddy's avatar
fisherdaddy committed
31
function App() {
fisherdaddy's avatar
fisherdaddy committed
32 33 34
  return (
    <div className="app-container">
      <Header />
35 36 37 38 39 40 41 42
      <div className="pt-4">
        <div className="content-wrapper">
          <main>
            <Suspense fallback={<div>Loading...</div>}>
              <Routes>
                <Route path="/" element={<Home />} />
                <Route path="/login" element={<Login />} />
                <Route path="/about" element={<About />} />
fisherdaddy's avatar
fisherdaddy committed
43

44 45 46 47
                <Route path="/dev-tools" element={<DevTools />} />
                <Route path="/image-tools" element={<ImageTools />} />
                <Route path="/ai-products" element={<AIProduct />} />
                <Route path="/blog" element={<Blog />} />
fisherdaddy's avatar
fisherdaddy committed
48

49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
                <Route path="/markdown-to-image" element={<MarkdownToImage />} />
                <Route path="/json-formatter" element={<JsonFormatter />} />
                <Route path="/url-encode-and-decode" element={<UrlEnDecode />} />
                <Route path="/openai-timeline" element={<OpenAITimeline />} />
                <Route path="/llm-model-price" element={<PricingCharts />} />
                <Route path="/handwriting" element={<HandwriteGen />} />
                <Route path="/image-base64" element={<ImageBase64Converter />} />
                <Route path="/quote-card" element={<QuoteCard />} />
                <Route path="/latex-to-image" element={<LatexToImage />} />
                <Route path="/text-diff" element={<TextDiff />} />
                <Route path="/subtitle-to-image" element={<SubtitleGenerator />} />
                <Route path="/image-compressor" element={<ImageCompressor />} />
                <Route path="/image-watermark" element={<ImageWatermark />} />
                <Route path="/text-behind-image" element={<TextBehindImage />} /> 
                <Route path="/background-remover" element={<BackgroundRemover />} />
                <Route path="/anthropic-timeline" element={<AnthropicTimeline />} />
                <Route path="*" element={<NotFound />} />
fisherdaddy's avatar
fisherdaddy committed
66

67 68 69 70
              </Routes>
            </Suspense>
          </main>-
        </div>
fisherdaddy's avatar
fisherdaddy committed
71 72 73 74 75 76
      </div>
    </div>
  );
}

export default App;