Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
b0a3007
Hide tools page from navigation
jcblemai Jan 18, 2026
61af7e8
Add column mapping and filters for uploads
jcblemai Jan 19, 2026
a8bdff3
Rename reporting triangle route and fix slider
jcblemai Jan 19, 2026
0d7350c
Add pathogen snapshot graphs to forecast landing
jcblemai Jan 19, 2026
48a462b
Refine pathogen snapshot graphs on landing
jcblemai Jan 19, 2026
b7e30e7
Clean up pathogen snapshot chart labels
jcblemai Jan 19, 2026
222b57b
Improve reporting triangle controls
jcblemai Jan 19, 2026
ca2f2de
Refine reporting triangle flow and cutoff
jcblemai Jan 19, 2026
6d095a5
Reorder reporting triangle layout
jcblemai Jan 19, 2026
33834f0
Add tour and heatmap toggle
jcblemai Jan 20, 2026
095ad88
Use local driver assets and fix heatmap axis
jcblemai Jan 20, 2026
8d720d7
Add local driver tour stubs
jcblemai Jan 20, 2026
a8699fd
Use installed driver.js for tour
jcblemai Jan 20, 2026
e407a59
Wire driver.js and diagonal highlighting
jcblemai Jan 20, 2026
8f1288e
better package
jcblemai Jan 20, 2026
b7ad8fc
merge
jcblemai Jan 20, 2026
583827e
Gate analysis and adjust layout
jcblemai Jan 20, 2026
22e2ee7
merge
jcblemai Jan 20, 2026
a53a040
lint
jcblemai Jan 20, 2026
ad8721c
better page
jcblemai Jan 20, 2026
bb8955b
good changes
jcblemai Jan 20, 2026
71f25d4
Merge pull request #78 from ACCIDDA/codex/create-static-subpage-for-n…
jcblemai Jan 20, 2026
aa25cba
Link header logo/title to site root
jcblemai Jan 20, 2026
eff65ed
Merge branch 'ACCIDDA:main' into main
jcblemai Jan 20, 2026
4dc25d9
Merge pull request #81 from ACCIDDA/codex/add-navigation-to-home-page…
jcblemai Jan 20, 2026
e72d97b
ugly cap
jcblemai Jan 20, 2026
42ff54d
frontpage
jcblemai Jan 20, 2026
cf56a31
Merge pull request #79 from ACCIDDA/codex/create-front-page-for-all-3…
jcblemai Jan 20, 2026
f544618
link to frontpage
jcblemai Jan 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion app/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"@uiw/react-json-view": "^2.0.0-alpha.39",
"chart.js": "^4.5.0",
"dayjs": "^1.11.13",
"driver.js": "^1.4.0",
"patch-package": "^8.0.1",
"plotly.js": "^2.30.0",
"react": "^18.3.1",
Expand All @@ -47,4 +48,4 @@
"postcss-simple-vars": "^7.0.1",
"vite": "^6.0.1"
}
}
}
4 changes: 4 additions & 0 deletions app/src/App.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import MyRespiLensDashboard from './components/myrespi/MyRespiLensDashboard';
import TournamentDashboard from './components/tournament/TournamentDashboard';
import UnifiedAppShell from './components/layout/UnifiedAppShell';
import Documentation from './components/Documentation'
import ReportingDelayPage from './components/reporting/ReportingDelayPage';
import ToolsPage from './components/tools/ToolsPage';
import { Center, Text } from '@mantine/core';
// import ShutdownBanner from './components/ShutdownBanner';, no longer necessary

Expand Down Expand Up @@ -42,6 +44,8 @@ const AppLayout = () => {
<Route path="/forecastle" element={<ForecastleGame />} />
<Route path="/epidemics10" element={<TournamentDashboard />} />
<Route path="/myrespilens" element={<MyRespiLensDashboard />} />
<Route path="/toolbox" element={<ToolsPage />} />
<Route path="/reporting-triangle" element={<ReportingDelayPage />} />
<Route path="/documentation" element={<Documentation />} />
</Routes>
</UnifiedAppShell>
Expand Down
26 changes: 22 additions & 4 deletions app/src/components/DataVisualizationContainer.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import DateSelector from './DateSelector';
import ViewSwitchboard from './ViewSwitchboard';
import ErrorBoundary from './ErrorBoundary';
import AboutHubOverlay from './AboutHubOverlay';
import PathogenFrontPage from './PathogenFrontPage';
import { IconShare, IconBrandGithub } from '@tabler/icons-react';
import { useClipboard } from '@mantine/hooks';

Expand Down Expand Up @@ -253,15 +254,31 @@ const DataVisualizationContainer = () => {
setSelectedDates([singleDate]);
}
}, [viewType, selectedDates, activeDate, setSelectedDates]);

if (viewType === 'frontpage') {
return (
<ErrorBoundary onReset={() => window.location.reload()}>
<Helmet>
<title>RespiLens | Forecasts</title>
</Helmet>
<Container size="xl" py="xl" style={{ maxWidth: '1400px' }}>
<Stack gap="lg">
<PathogenFrontPage />
</Stack>
</Container>
</ErrorBoundary>
);
}

return (
<ErrorBoundary onReset={() => window.location.reload()}>
<Helmet>
<title>RespiLens | {currentDataset?.fullName || 'Forecasts'}</title>
</Helmet>
<Container size="xl" py="xl" style={{ maxWidth: '1400px' }}>
<Paper shadow="sm" p="lg" radius="md" withBorder>
<Stack gap="md" style={{ minHeight: '70vh' }}>
<Stack gap="lg">
<Paper shadow="sm" p="lg" radius="md" withBorder>
<Stack gap="md" style={{ minHeight: '70vh' }}>
<div style={{
display: 'grid',
gridTemplateColumns: windowSize.width > 800 ? 'auto 1fr auto' : '1fr',
Expand Down Expand Up @@ -362,8 +379,9 @@ const DataVisualizationContainer = () => {
availablePeakModels={availablePeakModels}
/>
</div>
</Stack>
</Paper>
</Stack>
</Paper>
</Stack>
</Container>
</ErrorBoundary>
);
Expand Down
22 changes: 22 additions & 0 deletions app/src/components/PathogenFrontPage.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import { SimpleGrid, Stack, Title, Paper } from '@mantine/core';
import PathogenOverviewGraph from './PathogenOverviewGraph';
import { useView } from '../hooks/useView';

const PathogenFrontPage = () => {
const { selectedLocation } = useView();

return (
<Paper shadow="sm" p="lg" radius="md" withBorder>
<Stack gap="md">
<Title order={3}>Explore forecasts by pathogen</Title>
<SimpleGrid cols={{ base: 1, sm: 2, lg: 3 }} spacing="md">
<PathogenOverviewGraph viewType="covid_projs" title="COVID-19" location={selectedLocation} />
<PathogenOverviewGraph viewType="flu_projs" title="Flu" location={selectedLocation} />
<PathogenOverviewGraph viewType="rsv_projs" title="RSV" location={selectedLocation} />
</SimpleGrid>
</Stack>
</Paper>
);
};

export default PathogenFrontPage;
Loading