| Server IP : 138.197.176.125 / Your IP : 216.73.216.41 Web Server : Apache/2.4.41 (Ubuntu) System : Linux SuiteCRM-8 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.3.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/smartsync/client/src/ |
Upload File : |
// import React from 'react';
// import { Router } from 'wouter';
// import { HelmetProvider } from 'react-helmet-async';
// import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
// import { renderToString } from 'react-dom/server';
// import App from './App';
// interface RenderOptions {
// url: string;
// }
// interface RenderResult {
// html: string;
// helmet: any;
// }
// export async function render({ url }: RenderOptions): Promise<RenderResult> {
// const helmetContext = {} as any;
// const queryClient = new QueryClient({
// defaultOptions: {
// queries: {
// staleTime: Infinity, // Don't refetch on server
// },
// },
// });
// // Extract path from URL for wouter SSR
// const path = new URL(url, 'http://localhost').pathname;
// const appElement = (
// <Router ssrPath={path}>
// <HelmetProvider context={helmetContext}>
// <QueryClientProvider client={queryClient}>
// <App />
// </QueryClientProvider>
// </HelmetProvider>
// </Router>
// );
// // Render to string to populate helmet context
// const html = renderToString(appElement);
// return {
// html,
// helmet: helmetContext.helmet,
// };
// }
import React from 'react';
import { Router } from 'wouter';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { renderToString } from 'react-dom/server';
import App from './App';
import { HelmetProvider } from 'react-helmet-async';
interface RenderOptions {
url: string;
}
interface RenderResult {
html: string;
helmet: any;
}
export async function render({ url }: RenderOptions): Promise<RenderResult> {
const helmetContext = {} as any;
const queryClient = new QueryClient({
defaultOptions: {
queries: {
staleTime: Infinity,
},
},
});
// Extract path from URL for wouter SSR
const path = new URL(url, 'http://localhost').pathname;
const appElement = (
<Router ssrPath={path}>
<HelmetProvider context={helmetContext}>
<QueryClientProvider client={queryClient}>
<App />
</QueryClientProvider>
</HelmetProvider>
</Router>
);
const html = renderToString(appElement);
return {
html,
helmet: helmetContext.helmet,
};
}