diff --git a/app/root.tsx b/app/root.tsx
index d012220..6f47e42 100644
--- a/app/root.tsx
+++ b/app/root.tsx
@@ -1,3 +1,4 @@
+import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import type { ReactNode } from 'react'
import {
isRouteErrorResponse,
@@ -57,8 +58,14 @@ export function Layout({ children }: { children: ReactNode }) {
)
}
+const queryClient = new QueryClient()
+
export default function App() {
- return
+ return (
+
+
+
+ )
}
export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) {
diff --git a/package.json b/package.json
index 823cc73..e0a1981 100644
--- a/package.json
+++ b/package.json
@@ -22,6 +22,8 @@
"@tanstack/react-query": "^5.66.9",
"chart.js": "^4.4.8",
"class-variance-authority": "^0.7.1",
+ "datatables.net-dt": "^2.2.2",
+ "datatables.net-react": "^1.0.0",
"html-react-parser": "^5.2.2",
"isbot": "^5.1.17",
"react": "^19.0.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7c984fd..9fcbe75 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -32,6 +32,12 @@ importers:
class-variance-authority:
specifier: ^0.7.1
version: 0.7.1
+ datatables.net-dt:
+ specifier: ^2.2.2
+ version: 2.2.2
+ datatables.net-react:
+ specifier: ^1.0.0
+ version: 1.0.0
html-react-parser:
specifier: ^5.2.2
version: 5.2.2(@types/react@19.0.8)(react@19.0.0)
@@ -1901,6 +1907,15 @@ packages:
resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
engines: {node: '>= 0.4'}
+ datatables.net-dt@2.2.2:
+ resolution: {integrity: sha512-Qfe9g/E3yAPTHoDASc1J0r5Yx++3Y3VdcEOFCupvfGJ8LhRrreebUC70UYEzO8vPOKnkutoRanW/VBMRIbXKXA==}
+
+ datatables.net-react@1.0.0:
+ resolution: {integrity: sha512-Rhuxu5KEnEHC8rCbXhwcLZ+tbjWkCiI7X8nj5p6+6UT5RHqJpKYjDxLQZnva0sLLOCSvmjHS+3TatzckTAk+Pw==}
+
+ datatables.net@2.2.2:
+ resolution: {integrity: sha512-gfODIKE3gpgbVeZy2QGj2Dq9roO6hy00S+k1knklrqlMyAMrh1wt0Q6ryBUM7gU96U77ysbq8dYhxFdmcC/oPQ==}
+
date-fns@4.1.0:
resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==}
@@ -2736,6 +2751,9 @@ packages:
resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
hasBin: true
+ jquery@3.7.1:
+ resolution: {integrity: sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==}
+
js-beautify@1.15.1:
resolution: {integrity: sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==}
engines: {node: '>=14'}
@@ -6046,6 +6064,17 @@ snapshots:
es-errors: 1.3.0
is-data-view: 1.0.2
+ datatables.net-dt@2.2.2:
+ dependencies:
+ datatables.net: 2.2.2
+ jquery: 3.7.1
+
+ datatables.net-react@1.0.0: {}
+
+ datatables.net@2.2.2:
+ dependencies:
+ jquery: 3.7.1
+
date-fns@4.1.0: {}
debug@2.6.9:
@@ -7065,6 +7094,8 @@ snapshots:
jiti@2.4.2: {}
+ jquery@3.7.1: {}
+
js-beautify@1.15.1:
dependencies:
config-chain: 1.1.13