mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2025-08-26 22:29:24 +00:00

# Description of Changes <!-- Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --> --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. --------- Co-authored-by: ConnorYoh <40631091+ConnorYoh@users.noreply.github.com> Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
55 lines
1.7 KiB
TypeScript
55 lines
1.7 KiB
TypeScript
import React, { Suspense } from "react";
|
|
import { RainbowThemeProvider } from "./components/shared/RainbowThemeProvider";
|
|
import { FileContextProvider } from "./contexts/FileContext";
|
|
import { NavigationProvider } from "./contexts/NavigationContext";
|
|
import { FilesModalProvider } from "./contexts/FilesModalContext";
|
|
import { ToolWorkflowProvider } from "./contexts/ToolWorkflowContext";
|
|
import { SidebarProvider } from "./contexts/SidebarContext";
|
|
import ErrorBoundary from "./components/shared/ErrorBoundary";
|
|
import HomePage from "./pages/HomePage";
|
|
|
|
// Import global styles
|
|
import "./styles/tailwind.css";
|
|
import "./index.css";
|
|
import { RightRailProvider } from "./contexts/RightRailContext";
|
|
|
|
// Loading component for i18next suspense
|
|
const LoadingFallback = () => (
|
|
<div
|
|
style={{
|
|
display: "flex",
|
|
justifyContent: "center",
|
|
alignItems: "center",
|
|
height: "100vh",
|
|
fontSize: "18px",
|
|
color: "#666",
|
|
}}
|
|
>
|
|
Loading...
|
|
</div>
|
|
);
|
|
|
|
export default function App() {
|
|
return (
|
|
<Suspense fallback={<LoadingFallback />}>
|
|
<RainbowThemeProvider>
|
|
<ErrorBoundary>
|
|
<FileContextProvider enableUrlSync={true} enablePersistence={true}>
|
|
<NavigationProvider>
|
|
<FilesModalProvider>
|
|
<ToolWorkflowProvider>
|
|
<SidebarProvider>
|
|
<RightRailProvider>
|
|
<HomePage />
|
|
</RightRailProvider>
|
|
</SidebarProvider>
|
|
</ToolWorkflowProvider>
|
|
</FilesModalProvider>
|
|
</NavigationProvider>
|
|
</FileContextProvider>
|
|
</ErrorBoundary>
|
|
</RainbowThemeProvider>
|
|
</Suspense>
|
|
);
|
|
}
|