Skip to content
Snippets Groups Projects
safeS.tsx 6.6 KiB
Newer Older
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
import { useEffect } from "react";
import { NewHighlight, Highlight } from "../components/Highlight";
import { ScrollLink } from "../components/ScrollLink";
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
import { openAndCloseAndScroll } from "../components/openAndScroll";
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed


export function SafetySidebar(){
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
    let numsBig = ["Role", "Checks", "Lab", "BiosafetyH", "BiosecurityH", "BioethicsH"]
    let numsSub = [ "BS1", "BS2"]
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
    useEffect(() => {
        window.addEventListener('scroll', handleScroll);
        return () => window.removeEventListener('scroll', handleScroll);
      }, []);
      const handleScroll = () => {
        for(let idx in numsSub){
          
            const item = numsSub[idx];
            let ind = numsSub.findIndex((e) => e == item)
            let subdi = "newsubtitle" + ind 

            console.log("We are looking at 'item' = " + numsSub[idx])
            console.log("ind is: " + ind)
            console.log("subdi is: " + subdi)
            console.log("we use " +  document.getElementById(item)?.id + " and " + document.getElementById(subdi)?.id)
            NewHighlight({el: document.getElementById(item)!}, {subtitle: document.getElementById(subdi)!});
        }    
        for(let idx in numsBig){
          
          const item = numsBig[idx];
          let ind = numsBig.findIndex((e) => e == item)
          let subdi = "subtitle" + ind 

          console.log("We are looking at 'item' = " + numsBig[idx])
          console.log("ind is: " + ind)
          console.log("subdi is: " + subdi)
          console.log("we use " +  document.getElementById(item)?.id + " and " + document.getElementById(subdi)?.id)
          Highlight({el: document.getElementById(item)!}, {subtitle: document.getElementById(subdi)!});
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
          }       
        console.log("function HighlightCheck")
    }
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
      /* console.log(nums) */


    return(
        <div className="col-2 d-none d-lg-block">
            <br/>
            <div className="sticky-top">
            <nav className="sidebar">
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
            <div> 
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                <a onClick={openAndCloseAndScroll({ it: "tab-Role", scrollTarget: "Role", close: ["Bioethics", "Biosafety", "Biosecurity"]})}>
                    <div id="subtitle0" className="detail-sideitem">
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                        <div id="parent-Role" className="sideitem">
                            <summary>Role in iGem</summary>
                        </div>
                    </div>
                </a>
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
            </div>
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
            
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
            <div> 
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                <a onClick={openAndCloseAndScroll({ it: "tab-Checks", scrollTarget: "Checks", close: ["Bioethics", "Biosafety", "Biosecurity"] })}>
                    <div id="subtitle1" className="detail-sideitem">
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                        <div id="parent-Checks" className="sideitem">
                            <summary>Check-Ins</summary>
                        </div>
                    </div>
                </a>
            </div>
            <div> 
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                <a onClick={openAndCloseAndScroll({ it: "tab-Lab", scrollTarget: "Lab", close: ["Bioethics", "Biosafety", "Biosecurity"] })}>
                    <div id="subtitle2" className="detail-sideitem">
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                        <div id="parent-Lab" className="sideitem">
                            <summary>Our Lab</summary>
                        </div>
                    </div>
                </a>
            </div>            
                <div> 
                    {/* Fznktioniert:  <a onClick={openThem({it: "tab-Cystic-Fibrosis"})}  > */}
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                        <div className="detail-sideitem" id="subtitle3">
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                            <div id="parent-Biosafety" className="sideitem">
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                              <a  onClick={openAndCloseAndScroll({ it: "tab-Biosafety", scrollTarget: "Biosafety", close: ["Bioethics", "Biosecurity"] })}><summary>Biosafety</summary></a> 
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                                <span id="tab-Biosafety" className="sidesubtab" style={{display: "none"}}>
                                     <ul>
                                        <li id="newsubtitle0"><ScrollLink label="Mechanism" targetId="BS1"/></li>
                                        <li id="newsubtitle1"><ScrollLink label="Delivery" targetId="BS2"/></li>
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                                    </ul>
                                </span>
                            </div> 
                        </div>
                </div> 
                <div> 
                    {/* Fznktioniert:  <a onClick={openThem({it: "tab-Cystic-Fibrosis"})}  > */}
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                        <div className="detail-sideitem" id="subtitle4">
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                            <div id="parent-Biosecurity" className="sideitem">
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                              <a  onClick={openAndCloseAndScroll({ it: "tab-Biosecurity", scrollTarget: "Biosecurity", close: ["Biosafety", "Bioethics"]})}><summary>Biosecurity</summary></a> 
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                                <span id="tab-Biosecurity" className="sidesubtab" style={{display: "none"}}>
                                     <ul>
                                        <li><ScrollLink label="Our Project" targetId="BSec1"/></li>
                                        <li><ScrollLink label="Risk Assesment" targetId="BSec2"/></li>
                                        <li><ScrollLink label="Managing Risks" targetId="BSec3"/></li>
                                    </ul>
                                </span>
                            </div> 
                        </div>
                </div> 
                <div> 
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                        <div className="detail-sideitem"  id="subtitle5">
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                            <div id="parent-Bioethics" className="sideitem">
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                              <a onClick={openAndCloseAndScroll({ it: "tab-Bioethics", scrollTarget: "Bioethics", close: ["Biosafety", "Biosecurity"]})}><summary>Bioethics</summary></a> 
Liliana Sanfilippo's avatar
Liliana Sanfilippo committed
                                <span id="tab-Bioethics" className="sidesubtab" style={{display: "none"}}>
                                     <ul>
                                        <li><ScrollLink label="Gene Therapy" targetId="BE1"/></li>
                                        <li><ScrollLink label="Primary Cells" targetId="BE2"/></li>
                                        <li><ScrollLink label="Consent and Guidelines" targetId="BE3"/></li>
                                    </ul>
                                </span>
                            </div> 
                        </div>
                </div> 
            </nav>   
        <br/>
        <div className="col" style={{display: "flex", alignItems: "right"}}>
            <a href='#' className="backtotop">
                Back to Top &#8593;
            </a>
        </div>  
            </div>
        </div>
        
    )
}