Newer
Older
import { useAppSelector } from '@/redux/hooks/useAppSelector';
import {
diseaseNameSelector,
projectNameSelector,
versionSelector,
organismNameSelector,
diseaseLinkSelector,
organismLinkSelector,
} from '@/redux/project/project.selectors';
import { DrawerHeading } from '@/shared/DrawerHeading';
import { apiPath } from '@/redux/apiPath';
import { LinkButton } from '@/shared/LinkButton';
import { mainMapModelDescriptionSelector } from '@/redux/models/models.selectors';
import './ProjectInfoDrawer.styles.css';
import { useAppDispatch } from '@/redux/hooks/useAppDispatch';
import { useEffect } from 'react';
import { openPublicationsModal } from '@/redux/modal/modal.slice';
export const ProjectInfoDrawer = (): JSX.Element => {
const dispatch = useAppDispatch();
const diseaseName = useAppSelector(diseaseNameSelector);
const diseaseLink = useAppSelector(diseaseLinkSelector);
const organismLink = useAppSelector(organismLinkSelector);
const organismName = useAppSelector(organismNameSelector);
const projectName = useAppSelector(projectNameSelector);
const version = useAppSelector(versionSelector);
const description = useAppSelector(mainMapModelDescriptionSelector);
const sourceDownloadLink = window.location.hostname + apiPath.getSourceFile();
useEffect(() => {
// dispatch(getPublications());
}, [dispatch]);
const onPublicationsClick = (): void => {
dispatch(openPublicationsModal());
};
return (
<div data-testid="export-drawer" className="h-full max-h-full">
<DrawerHeading title="Project info" />
<div className="h-[calc(100%-93px)] max-h-[calc(100%-93px)] overflow-y-auto px-6">
<p className="mt-6">
Name: <span className="font-semibold">{projectName}</span>
</p>
<p className="mt-4">
version: <span className="font-semibold">{version}</span>
</p>
<div className="mt-4">Data:</div>
<ul className="list-disc pl-6 ">
<li className="mt-2 text-hyperlink-blue">
<button type="button" onClick={onPublicationsClick} className="text-sm font-semibold">
mateusz-winiarczyk
committed
Publications
</button>
</li>
<li className="mt-2 text-hyperlink-blue">
<a
href="https://minerva.pages.uni.lu/doc/"
target="_blank"
rel="noopener noreferrer"
className="font-semibold hover:underline"
>
Manual
</a>
</li>
<li className="mt-2 text-hyperlink-blue">
<span className="text-black">Disease: </span>
<a
href={diseaseLink}
target="_blank"
rel="noopener noreferrer"
className="font-semibold hover:underline"
>
{diseaseName}
</a>
</li>
<li className="mt-2 text-hyperlink-blue">
<span className="text-black">Organism: </span>
<a
href={organismLink}
target="_blank"
rel="noopener noreferrer"
className="font-semibold hover:underline"
>
{organismName}
</a>
</li>
</ul>
<LinkButton className="mt-6" href={sourceDownloadLink} download="sourceFile.txt">
Download source file
</LinkButton>
{description && (
<div
data-testid="project-description"