Skip to content

Commit

Permalink
Updated members page, some UI and logic changes
Browse files Browse the repository at this point in the history
* Updated project details 2024
  • Loading branch information
mana-sg committed Oct 14, 2024
1 parent 867366e commit fd0cc39
Show file tree
Hide file tree
Showing 3 changed files with 111 additions and 63 deletions.
33 changes: 4 additions & 29 deletions app/members/page.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@ import MemberCard from '../../components/MemberCard'
import LayoutAlt from '../../components/LayoutAlt'

function Members() {
const [currentYear, setCurrentYear] = useState(2024)

const [showYears, setShowYears] = useState(false)
const years = [2024, 2023, 2022, 2020, 2019, 2018, 2017, 2016, 2015]
const [currentYear, setCurrentYear] = useState(years.sort((a, b) => { b - a })[0])
const yearElementsMd = years.map((year, ind) => {
return (
<button
Expand All @@ -34,39 +35,13 @@ function Members() {
return (
<>
<div className="mt-10 flex flex-col gap-10 px-12 pb-20 pt-20">
<div className="flex items-center justify-between">
<div className="flex md:flex-row flex-col items-center gap-8 justify-between">
<div className="font-martian-mono md:text-4xl text-3xl text-lab-green">
MEMBERS
</div>
<div className="gap-4 rounded-md border-2 border-lab-green p-2 text-lg text-gray-400 md:flex hidden">
<div className="md:gap-4 gap-2 rounded-md border-2 border-lab-green p-2 text-lg text-gray-400 flex flex-wrap md:flex-row justify-center ">
{yearElementsMd}
</div>
<div className="relative md:hidden">
<div className="flex gap-4 items-center rounded-md border-2 border-lab-green p-2 text-lg text-gray-400 cursor-pointer">
<button
className="text-gray-400 text-xs px-4 py-1"
onClick={() => setShowYears(!showYears)}
>
{currentYear}
</button>
</div>
{showYears && (
<div className="absolute left-0 right-0 mt-2 bg-black shadow-lg rounded-md border-2 border-lab-green z-20 transition-all duration-300 ease-in-out max-h-48 overflow-y-auto">
{years.map((year, ind) => (
<button
key={ind}
onClick={() => {
setCurrentYear(year);
setShowYears(false);
}}
className={`block w-full text-center py-2 text-xs ${year === currentYear ? 'text-green-600' : 'text-gray-400'} hover:bg-gray-100`}
>
{year}
</button>
))}
</div>
)}
</div>
</div>
</div>
<div className="bg-neutral-1000 flex min-h-screen items-center justify-center">
Expand Down
63 changes: 31 additions & 32 deletions app/projects/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,17 @@ export default function NewProjects() {
const [selectedId, setSelectedId] = useState(-1)
const containerRefs = useRef(new Array())

const [currentYear, setCurrentYear] = useState(2023)
const years = [2024, 2023, 2022, 2020, 2019, 2018, 2017, 2016]

const years = [2023, 2022, 2020, 2019, 2018, 2017, 2016]
const [currentYear, setCurrentYear] = useState(years.sort((a, b) => { return b - a })[0])

const yearElements = years.map((year, ind) => {
return (
<button
key={ind}
onClick={() => setCurrentYear(year)}
className={`text-sm lg:text-base ${
year == currentYear ? 'font-bold text-lab-green' : ''
}`}
className={`text-sm lg:text-base ${year == currentYear ? 'font-bold text-lab-green' : ''
}`}
>
{year}
</button>
Expand All @@ -53,7 +52,7 @@ export default function NewProjects() {
// const FlattenedAllProjects = AllProjects.flat(1);

const cardLayout = (
<div className="flex flex-wrap justify-around gap-8 lg:justify-start">
<div className="flex flex-wrap justify-around gap-8 lg:justify-center">
{currentProjects.map((card, i) => {
return (
<motion.div
Expand Down Expand Up @@ -130,33 +129,33 @@ export default function NewProjects() {
)}
{i !=
currentProjects.length -
1 && (
<button
className="relative h-6 w-6 shrink-0 lg:h-8 lg:w-8"
onClick={(e) => {
e.stopPropagation()
setSelectedId(
(prev) =>
prev + 1
)
}}
>
<svg
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
strokeWidth={1.5}
stroke="currentColor"
className="h-full w-full text-white"
1 && (
<button
className="relative h-6 w-6 shrink-0 lg:h-8 lg:w-8"
onClick={(e) => {
e.stopPropagation()
setSelectedId(
(prev) =>
prev + 1
)
}}
>
<path
strokeLinecap="round"
strokeLinejoin="round"
d="M8.25 4.5l7.5 7.5-7.5 7.5"
/>
</svg>
</button>
)}
<svg
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
strokeWidth={1.5}
stroke="currentColor"
className="h-full w-full text-white"
>
<path
strokeLinecap="round"
strokeLinejoin="round"
d="M8.25 4.5l7.5 7.5-7.5 7.5"
/>
</svg>
</button>
)}
<button
className="relative h-6 w-6 shrink-0 text-white lg:h-8 lg:w-8"
onClick={(e) => {
Expand Down
78 changes: 76 additions & 2 deletions public/data/projects.json
Original file line number Diff line number Diff line change
Expand Up @@ -621,7 +621,6 @@
"interns": "Darsh Agarwal, Rashi Bandi, Shreesh Bajpai",
"poster_url": "https://pil-web.web.app/images/projects/posters2023/AQVis.png"
},

{
"year": "2023",
"title": "BIT* Connect",
Expand Down Expand Up @@ -704,5 +703,80 @@
}
],
"length": 9
},
"2024": {
"projects": [
{
"year": "2024",
"title": "CASNAV",
"short_description": "",
"long_description": "The goal is to enable seamless navigation through dense social crowds by developing a novel approach that integrates human trajectory prediction with Deep Reinforcement Learning techniques. The objective is for the robot to reach its destination while avoiding human paths in a socially appropriate manner. By adhering to social norms, the robot can smoothly and safely navigate within crowded environments, ensuring minimal disruption to human movement.",
"keywords": "Robotics, Social Navigation, RL",
"mentors": "Shayak Bhadraray, Harshith Kumar, Himank Bansal, Samuel Thomas",
"interns": "Jayant Anand, Kriti Bharadwaj, Samprith Jagtap D",
"poster_url": "https://pil-web.web.app/images/projects/posters2024/CASNAV.jpeg"
},
{
"year": "2024",
"title": "(c)early data",
"short_description": "",
"long_description": "Implementing TLS 1.3 early data into libcurl, an open-source library for making network requests using URL syntax. This feature completely eliminates the TLS handshake overhead on resumed connections.",
"keywords": "Curl, Security, Early Data, C",
"mentors": "Murali Krishna, Anirudh Lakhotia, Akshobhya Jamadagni",
"interns": "Kiran Rajpurohit, Prajwal M, Varun Shenoy, Vibhav Tiwari",
"poster_url": "https://pil-web.web.app/images/projects/posters2024/CEARLY_DATA.svg"
},
{
"year": "2024",
"title": "FredBots 2.0",
"short_description": "",
"long_description": "FRedBots 2.0 is a multi agent Automated Storage and Retrieval System for 3D environments.",
"keywords": "Robotics, ML, Autonomous Robots, Warehouse Managemnet, 3D Space",
"mentors": "Sriram Radhakrishna, Samuel Thomas, Vikas Menezes, Amulya Marali, Ashvin Bhat",
"interns": "Aditya Naskar, D L Rameshwar, Manisha Venkatesha, Sharanya Madhusudhan",
"poster_url": "https://pil-web.web.app/images/projects/posters2024/FRED_BOTS.png"
},
{
"year": "2024",
"title": "RepViz",
"short_description": "",
"long_description": "Benchmarking a novel clock mechanism for keeping time in distributed systems - replay clocks - against the industry standard vector clocks in terms of time and space efficiency.",
"keywords": "Time, Vector Clocks, Synchronisation, Clocks, Physical Clocks",
"mentors": "Ishaan Lagwankar, Anirudh Rowjee, Smarak Jawalkar, Animesh ND",
"interns": "Sriprad Potukuchi, Suparna S Prasad",
"poster_url": "https://pil-web.web.app/images/projects/posters2024/REPVIZ.jpeg"
},
{
"year": "2024",
"title": "Edge Bundle Based MAPF",
"short_description": "",
"long_description": "This project tackles the challenge of fast and optimal kinodynamic motion planning in Multi-Agent Path Finding (MAPF) by shifting from state sampling to edge sampling. Utilising Edge Bundles, which represent randomly selected viable paths between states, this approach enhances the efficiency of finding time-optimal, collision-free routes for multiple agents. It builds upon sampling-based motion planners like RRT* and SST* to address the persistent issues in kinodynamic MAPF.",
"keywords": "Kinodynamic Motion, Motion Planning, Robotics, Autonomous Robots",
"mentors": "SriKrishna Bangalore Raghu, Ayush Kale, Vikas Paul Menezes, Himank Bansal",
"interns": "Sanjana M, Pranav Muppuru",
"poster_url": "https://pil-web.web.app/images/projects/posters2024/MAPF.jpeg"
},
{
"year": "2024",
"title": "Willow-Go",
"short_description": "",
"long_description": "Peer-to-Peer Data Storage Protocol Developed in Go and powered by QUIC, this protocol ensures fault-tolerant, decentralized data storage. It maintains network stability even when peers leave, ensuring high availability. Designed for efficiency, it operates with low complexity and can run smoothly on low-power machines.",
"keywords": "Distributed, Storage, 3D, Synchronisation, Partial, Sneakernets, Fault, Tolerance",
"mentors": "Rishit Chaudhary, Murali Krishna, Anirudh Lakhotia, Smaran Jawalkar",
"interns": "Achyuth Y Sosale, Samarth Bhat Y, Samar Garg, Manas G Mutalikdesai, Suyog Sampangi",
"poster_url": "https://pil-web.web.app/images/projects/posters2024/WILLOW_GO.jpeg"
},
{
"year": "2024",
"title": "C.O.R.E",
"short_description": "",
"long_description": "CORE (Code Optimization and Review Evaluation) is a system that analyzes GitHub PRs in GoLang to identify custom functions that can be replaced with more efficient, standardized library functions or popular Go packages. Using a combination of Tree-sitter for code parsing and LLMs through RAG pipelines, CORE provides optimized suggestions to improve code performance and maintainability. The project’s novelty lies in its use of Tree-sitter, ensuring precise code analysis and minimization of hallucinations in LLM outputs.",
"keywords": "AST, ML, Code, Review, Github, Actions",
"mentors": "Rishit Chaudhary, Varuni H K, Gautham Krithiwas, Dhriti Krishnan, Akash Kamalesh",
"interns": "Nikita Anup, Prathamesh Devadiga, Siddhi Zanwar, Vishal Srinivasa ",
"poster_url": "https://pil-web.web.app/images/projects/posters2024/CORE.jpeg"
}
],
"length": 7
}
}
}

0 comments on commit fd0cc39

Please sign in to comment.