import { onMount, ParentComponent } from "solid-js"; import { A, Location, Navigator, useLocation, useNavigate } from "@solidjs/router"; import { DatasetDropdown } from "./components/DatasetDropdown"; import { fetchSampleProbandIds, isDatasetSupport } from "./utils/api.ts"; import { href } from "./utils/utils.ts"; import { getMetadata } from "./views/data/data.tsx"; import { HtsFileMetadata } from "@molgenis/vip-report-api"; // export for development purposes export function init(navigate: Navigator, location?: Location) { (async () => { document.title = `VCF Report (${((await getMetadata()).app.htsFile as HtsFileMetadata).uri})`; const sampleIds = await fetchSampleProbandIds(); if (location === undefined || location.pathname === "/") { let components: (string | number)[]; if (sampleIds.length === 1) { components = ["samples", sampleIds[0]!, "variants"]; } else if (sampleIds.length === 0) { components = ["variants"]; } else { components = ["samples"]; } navigate(href(components)); } })(); } const App: ParentComponent = (props) => { const navigate = useNavigate(); const location = useLocation(); onMount(() => init(navigate, location)); return ( <>