diff --git a/src/assets/pics/photo-gallery/rmc/comp-team-2024.jpg b/src/assets/pics/photo-gallery/rmc/comp-team-2024.jpg
index eeb481d..b532dc1 100644
Binary files a/src/assets/pics/photo-gallery/rmc/comp-team-2024.jpg and b/src/assets/pics/photo-gallery/rmc/comp-team-2024.jpg differ
diff --git a/src/data/EventsDatabase.tsx b/src/data/EventsDatabase.tsx
index dc1d08b..80ed62f 100644
--- a/src/data/EventsDatabase.tsx
+++ b/src/data/EventsDatabase.tsx
@@ -1,46 +1,49 @@
import { EventObject } from '../tools/CustomTypes'
-const semesterEnd = '5/31/25'
+const semesterEnd = '5/08/25'
const EVENT_INFO: EventObject[] = [
{
title: 'Weekly SolidWorks Workshop',
description: `The goal of these classes is to equip you with the skills to model and design on a professional
level, as well as create a common ground for all engineers to work together more efficiently and effectively`,
- date: new Date('2025-02-17T17:30:00'),
+ date: new Date('2025-03-10T17:30:00'),
location: 'The ideas hub (second floor of the engineering building)',
weekly: true,
- endDate: new Date(semesterEnd)
+ endDate: new Date(semesterEnd),
+ duration: 90 // 1 hour 30 minutes
},
{
title: 'General Body Meeting',
description: 'Updates on what happened since the last GBM and the plan for the rest of the semester as well as an activity',
date: new Date('2025-02-05T17:00:00'),
- // location: 'The Fish Bowl (first floor pf the engineering building)'
location: '201A classroom (The ideas hub second floor of the engineering building)'
},
{
title: 'Weekly Programming Meeting',
description: 'The weekly meeting for the programming sub-team. Take a look at the code for the robot',
- date: new Date('2025-02-12T17:00:00'),
+ date: new Date('2025-03-12T17:00:00'),
location: 'The ideas hub (second floor of the engineering building)',
weekly: true,
- endDate: new Date(semesterEnd)
+ endDate: new Date(semesterEnd),
+ duration: 60 // 1 hour
},
{
title: 'Weekly Electrical Meeting',
description: 'The weekly meeting for the electrical sub-team. Talk about improved batteries, wiring, and more!',
- date: new Date('2025-02-12T18:00:00'),
+ date: new Date('2025-03-12T18:00:00'),
location: 'The ideas hub (second floor of the engineering building)',
weekly: true,
- endDate: new Date(semesterEnd)
+ endDate: new Date(semesterEnd),
+ duration: 60 // 1 hour
},
{
title: 'Weekly Mechanical Meeting',
description: 'The weekly meeting for the mechanical sub-team. Learn about the design aspects of robot and 3D model parts.',
- date: new Date('2025-02-12T16:00:00'),
+ date: new Date('2025-03-12T16:00:00'),
location: 'The ideas hub (second floor of the engineering building)',
weekly: true,
- endDate: new Date(semesterEnd)
+ endDate: new Date(semesterEnd),
+ duration: 60 // 1 hour
}
]
diff --git a/src/data/HomeCarouselInfo.tsx b/src/data/HomeCarouselInfo.tsx
index 16073fd..378259a 100644
--- a/src/data/HomeCarouselInfo.tsx
+++ b/src/data/HomeCarouselInfo.tsx
@@ -1,15 +1,24 @@
import React from 'react'
import { SlideInfo } from '../pages/general/carousel/CarouselStyles'
-import slide1 from '../assets/pics/carousel/rocksat17.jpeg'
-import slide2 from '../assets/pics/carousel/rmc-team.jpeg'
-import slide3 from '../assets/pics/carousel/balloon-team.jpeg'
+import slide1 from '../assets/pics/photo-gallery/rmc/comp-team-2024.jpg'
+import slide2 from '../assets/pics/carousel/rocksat17.jpeg'
+import slide3 from '../assets/pics/carousel/rmc-team.jpeg'
+import slide4 from '../assets/pics/carousel/balloon-team.jpeg'
import { COLORS, PATHS } from '../tools/Constants'
import Button from '../pages/general/button/Button'
const HOME_CAROUSEL_INFO: SlideInfo[] = [
{
image: slide1,
+ title: 'Robotics', description: `The Robotics teams designs, builds and competes with a mining robot every
+ year at the NASA Lunabotics Competition. Getting the chance to compete against other schools in Florida helps
+ us improve our skills and represent Temple at a big event.`,
+ color: COLORS.PRIMARY, otherContent:
+ },
+ {
+ image: slide2,
title: 'ROCKSAT', description: `The RockSat Team designed a payload that will be placed inside of a sounding
rocket which is provided by the Wallops Flight Facility. The rocket will launch at Wallops Island where it will follow a
sub-orbital flight path into the Atlantic Ocean, reaching an estimated maximum height of 72 miles.`,
@@ -17,7 +26,7 @@ const HOME_CAROUSEL_INFO: SlideInfo[] = [
size={'medium'} text={'Learn More'} local/>
},
{
- image: slide2, title: 'NASA RMC',
+ image: slide3, title: 'NASA RMC',
description: `The NASA Robotics Mining Competition is a university-level student competition
to design and build a mining robot that can traverse the challenging simulated Martian terrain.
The mining robot must then excavate the regolith simulant and/or the ice simulant (gravel) and
@@ -27,7 +36,7 @@ const HOME_CAROUSEL_INFO: SlideInfo[] = [
otherContent:
},
{
- image: slide3, title: 'NASA BALLOONING',
+ image: slide4, title: 'NASA BALLOONING',
description: `The Temple NASA Ballooning Team will participate as one of over fifty teams
responsible for the design and production of an HAB that is capable of recording and streaming live video footage to the NASA
website, a task which has never been attempted for a solar eclipse.`,
diff --git a/src/pages/events/EventListStyles.tsx b/src/pages/events/EventListStyles.tsx
index 9c0d8ab..7dc33eb 100644
--- a/src/pages/events/EventListStyles.tsx
+++ b/src/pages/events/EventListStyles.tsx
@@ -10,6 +10,16 @@ export default class EventListStyles {
grid-template-rows: repeat(${props => props.rows}, minmax(0, 1fr));
grid-row-gap: 5%;
justify-items: center;
+
+ @media (max-width: 718px) {
+ display: grid;
+ grid-template-columns: 100%;
+ grid-template-rows:
+ calc(var(--vh) * .2) /* Intro heading */
+ max(calc(var(--vh) * .15), 100px); /* Contact info */
+ justify-content: center;
+ align-content: center;
+ }
`
static readonly EventItemContainer = styled.div`
diff --git a/src/pages/general/contact/Contact.tsx b/src/pages/general/contact/Contact.tsx
index 4505495..95cdbd1 100644
--- a/src/pages/general/contact/Contact.tsx
+++ b/src/pages/general/contact/Contact.tsx
@@ -1,7 +1,7 @@
import React from 'react'
import { BsHeartFill } from 'react-icons/bs'
import { FiFacebook, FiInstagram, FiLinkedin, FiMail, FiTwitter, FiYoutube } from 'react-icons/fi'
-import { RiSnapchatLine } from 'react-icons/ri'
+// import { RiSnapchatLine } from 'react-icons/ri'
import IconButton from '../button/IconButton'
import Styles from './ContactStyles'
@@ -16,7 +16,7 @@ export default class Contact extends React.Component, neve
} source={'https://twitter.com/templerobotics'} />
} source={'https://www.facebook.com/templerobotics'} />
} source={'https://www.instagram.com/templerobotics/'} />
- } source={'https://snapchat.com/add/templerobotics'} />
+ {/* } source={'https://snapchat.com/add/templerobotics'} /> */}
} source={'https://www.youtube.com/channel/UCv59XUAVDLtgk0KA9r4RTsA'} />
} source={'Mailto:Temple.Robotics@outlook.com'} />
} source={ 'https://www.linkedin.com/company/temple-robotics/posts/?feedView=all'}/>
diff --git a/src/pages/general/navigation/Navigation.tsx b/src/pages/general/navigation/Navigation.tsx
index b74c3d8..e38de5a 100644
--- a/src/pages/general/navigation/Navigation.tsx
+++ b/src/pages/general/navigation/Navigation.tsx
@@ -1,8 +1,7 @@
// Third party
-import React from 'react'
-import { Navbar, NavLink } from 'react-bootstrap'
+import React, { useState } from 'react'
+import { Navbar, NavLink, NavDropdown } from 'react-bootstrap'
import { Link } from 'react-router-dom'
-//import {motion} from 'framer-motion'; framer motion bug (maybe this project is just too outdated)
// Custom styles
import Styles from './NavigationStyles'
@@ -17,39 +16,82 @@ import nasaLogo from '../../../assets/pics/logos/nasa.png'
const Navigation = (): React.ReactElement => {
const { scroll } = getScrollY()
const { width } = useWindowSize()
- const TEAMS = `https://teams.microsoft.com/l/team/19%3aeaf903fd81cd48eba95d8e769ed78544%40thread.tacv2/conversations?groupId=8f
+ const TEAMS = `https://teams.microsoft.com/l/team/19%3aeaf903fd81cd48eba95d8e769ed78544%40thread.tacv2/conversations?groupId=8f
78ecbb-62f3-4b2c-bda7-7488eca908ee&tenantId=716e81ef-b522-4473-8e31-10bd02ccf6e5`
- return (
+ // State for handling dropdown visibility
+ const [showDropdown, setShowDropdown] = useState(false)
+
+ // Timeout variable to prevent flickering
+ let hideDropdownTimeout: NodeJS.Timeout
+
+ // Open dropdown when hovering over "Projects"
+ const handleMouseEnter = (): void => {
+ clearTimeout(hideDropdownTimeout) // Cancel hide if mouse enters again
+ setShowDropdown(true)
+ }
+
+ // Close dropdown when mouse leaves (with small delay)
+ const handleMouseLeave = (): void => {
+ hideDropdownTimeout = setTimeout(() => {
+ setShowDropdown(false)
+ }, 400) // Small delay before closing
+ }
+
+ // Close dropdown when clicking a project
+ const handleItemClick = (): void => {
+ setShowDropdown(false) // Close dropdown when a project is clicked
+ scrollToTop()
+ }
+
+ return (
<>
- {/* The rest of the navigation bar. The className is dependent on whether the navbar is expanded or not */}
Constants.MOBILE_SIZE ? 1 : 0 }
- toggle={ width < Constants.MOBILE_SIZE ? 1 : 0 }
+ transparency={scroll <= 10 && width > Constants.MOBILE_SIZE ? 1 : 0}
+ toggle={width < Constants.MOBILE_SIZE ? 1 : 0}
sticky='top' bg='dark' variant='dark' expand='md' collapseOnSelect>
{/* Top left of the navigation bar */}
-
+