Replace all class components with function components and move server-state
polling to @tanstack/react-query.
- add @tanstack/react-query; generate query helpers via the hey-api
@tanstack/react-query plugin (src/client/@tanstack)
- QueryClientProvider + one-time client.setConfig({ baseUrl: '' }) in index.tsx
- App polls statistics with useQuery(getStatisticsOptions, refetchInterval),
DataProcessingPlot uses getPreviewPlotOptions; manual setInterval polling gone
- memo() on presentational children; with TanStack structural sharing this
re-renders a child only when its own statistics slice changes
- PreviewImage stays imperative (binary JPEG -> object URL) using useEffect +
a ref for the object-URL lifecycle
- fix AzIntSettings correction checkboxes that mutated state in place (relied on
the poll re-render); they now use setState
- drop dead code uncovered during the port (unused upload/deactivate handlers
and imports in ImageFormatSettings, DetectorSettings, ROI)
Build (tsc + vite) passes; dev server transforms all entry modules.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
61 lines
1.6 KiB
JSON
61 lines
1.6 KiB
JSON
{
|
|
"name": "jungfraujoch-frontend",
|
|
"version": "1.0.0-rc.153",
|
|
"license": "GPL-3.0",
|
|
"private": true,
|
|
"homepage": "/frontend",
|
|
"type": "module",
|
|
"dependencies": {
|
|
"@emotion/react": "^11.10.4",
|
|
"@emotion/styled": "^11.10.4",
|
|
"@mui/icons-material": "^6.1.2",
|
|
"@mui/material": "^6.1.2",
|
|
"@mui/x-data-grid": "^7.19.0",
|
|
"@tanstack/react-query": "^5.101.0",
|
|
"@types/node": "^25.2.3",
|
|
"@types/react": "^19.2.14",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@vitejs/plugin-react-swc": "^4.2.3",
|
|
"lodash": "^4.17.23",
|
|
"plotly.js-cartesian-dist-min": "^3.3.1",
|
|
"react": "^19.2.4",
|
|
"react-dom": "^19.2.4",
|
|
"react-plotly.js": "^2.6.0",
|
|
"react-zoom-pan-pinch": "^3.4.3",
|
|
"typescript": "^5.9.3",
|
|
"vite": "^7.3.1",
|
|
"vite-plugin-svgr": "^4.5.0",
|
|
"vite-tsconfig-paths": "^6.1.1"
|
|
},
|
|
"scripts": {
|
|
"start": "vite",
|
|
"build": "tsc && vite build",
|
|
"serve": "vite preview",
|
|
"redocly": "redocly build-docs ../broker/jfjoch_api.yaml --output=dist/openapi.html",
|
|
"redocly4broker": "redocly build-docs ../broker/jfjoch_api.yaml --output=../broker/redoc-static.html",
|
|
"openapi": "openapi-ts"
|
|
},
|
|
"overrides": {
|
|
"styled-components": "5.3.11"
|
|
},
|
|
"browserslist": {
|
|
"production": [
|
|
">0.2%",
|
|
"not dead",
|
|
"not op_mini all"
|
|
],
|
|
"development": [
|
|
"last 1 chrome version",
|
|
"last 1 firefox version",
|
|
"last 1 safari version"
|
|
]
|
|
},
|
|
"devDependencies": {
|
|
"@hey-api/openapi-ts": "^0.98.2",
|
|
"@redocly/cli": "^2.28.1",
|
|
"@types/lodash": "^4.17.10",
|
|
"@types/react-plotly.js": "^2.6.3",
|
|
"esbuild-style-plugin": "^1.6.3"
|
|
}
|
|
}
|