Skip to content

Commit 0125f41

Browse files
authored
Merge pull request #52 from templerobotics/Fixed_spelling
Fixed spelling
2 parents ca7dee0 + 8f65db5 commit 0125f41

File tree

14 files changed

+177
-59
lines changed

14 files changed

+177
-59
lines changed
Loading

src/data/EventsDatabase.tsx

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,49 @@
11
import { EventObject } from '../tools/CustomTypes'
22

3-
const semesterEnd = '5/31/25'
3+
const semesterEnd = '5/08/25'
44
const EVENT_INFO: EventObject[] = [
55
{
66
title: 'Weekly SolidWorks Workshop',
77
description: `The goal of these classes is to equip you with the skills to model and design on a professional
88
level, as well as create a common ground for all engineers to work together more efficiently and effectively`,
9-
date: new Date('2025-02-17T17:30:00'),
9+
date: new Date('2025-03-10T17:30:00'),
1010
location: 'The ideas hub (second floor of the engineering building)',
1111
weekly: true,
12-
endDate: new Date(semesterEnd)
12+
endDate: new Date(semesterEnd),
13+
duration: 90 // 1 hour 30 minutes
1314
},
1415
{
1516
title: 'General Body Meeting',
1617
description: 'Updates on what happened since the last GBM and the plan for the rest of the semester as well as an activity',
1718
date: new Date('2025-02-05T17:00:00'),
18-
// location: 'The Fish Bowl (first floor pf the engineering building)'
1919
location: '201A classroom (The ideas hub second floor of the engineering building)'
2020
},
2121
{
2222
title: 'Weekly Programming Meeting',
2323
description: 'The weekly meeting for the programming sub-team. Take a look at the code for the robot',
24-
date: new Date('2025-02-12T17:00:00'),
24+
date: new Date('2025-03-12T17:00:00'),
2525
location: 'The ideas hub (second floor of the engineering building)',
2626
weekly: true,
27-
endDate: new Date(semesterEnd)
27+
endDate: new Date(semesterEnd),
28+
duration: 60 // 1 hour
2829
},
2930
{
3031
title: 'Weekly Electrical Meeting',
3132
description: 'The weekly meeting for the electrical sub-team. Talk about improved batteries, wiring, and more!',
32-
date: new Date('2025-02-12T18:00:00'),
33+
date: new Date('2025-03-12T18:00:00'),
3334
location: 'The ideas hub (second floor of the engineering building)',
3435
weekly: true,
35-
endDate: new Date(semesterEnd)
36+
endDate: new Date(semesterEnd),
37+
duration: 60 // 1 hour
3638
},
3739
{
3840
title: 'Weekly Mechanical Meeting',
3941
description: 'The weekly meeting for the mechanical sub-team. Learn about the design aspects of robot and 3D model parts.',
40-
date: new Date('2025-02-12T16:00:00'),
42+
date: new Date('2025-03-12T16:00:00'),
4143
location: 'The ideas hub (second floor of the engineering building)',
4244
weekly: true,
43-
endDate: new Date(semesterEnd)
45+
endDate: new Date(semesterEnd),
46+
duration: 60 // 1 hour
4447
}
4548
]
4649

src/data/HomeCarouselInfo.tsx

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,32 @@
11
import React from 'react'
22

33
import { SlideInfo } from '../pages/general/carousel/CarouselStyles'
4-
import slide1 from '../assets/pics/carousel/rocksat17.jpeg'
5-
import slide2 from '../assets/pics/carousel/rmc-team.jpeg'
6-
import slide3 from '../assets/pics/carousel/balloon-team.jpeg'
4+
import slide1 from '../assets/pics/photo-gallery/rmc/comp-team-2024.jpg'
5+
import slide2 from '../assets/pics/carousel/rocksat17.jpeg'
6+
import slide3 from '../assets/pics/carousel/rmc-team.jpeg'
7+
import slide4 from '../assets/pics/carousel/balloon-team.jpeg'
78
import { COLORS, PATHS } from '../tools/Constants'
89
import Button from '../pages/general/button/Button'
910

1011
const HOME_CAROUSEL_INFO: SlideInfo[] = [
1112
{
1213
image: slide1,
14+
title: 'Robotics', description: `The Robotics teams designs, builds and competes with a mining robot every
15+
year at the NASA Lunabotics Competition. Getting the chance to compete against other schools in Florida helps
16+
us improve our skills and represent Temple at a big event.`,
17+
color: COLORS.PRIMARY, otherContent: <Button source={PATHS.ROBOTICS}
18+
size={'medium'} text={'Learn More'} local/>
19+
},
20+
{
21+
image: slide2,
1322
title: 'ROCKSAT', description: `The RockSat Team designed a payload that will be placed inside of a sounding
1423
rocket which is provided by the Wallops Flight Facility. The rocket will launch at Wallops Island where it will follow a
1524
sub-orbital flight path into the Atlantic Ocean, reaching an estimated maximum height of 72 miles.`,
1625
color: COLORS.GREEN, otherContent: <Button source={PATHS.ROCKSAT}
1726
size={'medium'} text={'Learn More'} local/>
1827
},
1928
{
20-
image: slide2, title: 'NASA RMC',
29+
image: slide3, title: 'NASA RMC',
2130
description: `The NASA Robotics Mining Competition is a university-level student competition
2231
to design and build a mining robot that can traverse the challenging simulated Martian terrain.
2332
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[] = [
2736
otherContent: <Button source={PATHS.ROBOTICS} text={'Learn More'} size={'medium'} local/>
2837
},
2938
{
30-
image: slide3, title: 'NASA BALLOONING',
39+
image: slide4, title: 'NASA BALLOONING',
3140
description: `The Temple NASA Ballooning Team will participate as one of over fifty teams
3241
responsible for the design and production of an HAB that is capable of recording and streaming live video footage to the NASA
3342
website, a task which has never been attempted for a solar eclipse.`,

src/pages/events/EventList.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class EventList extends React.Component<{events: EventObject[], loading: boolean
1919
<div className='date' style={{display: 'flex', flexDirection: 'column', rowGap: '13%'}}>
2020
<p>{!isNaN(event.date.getMonth()) ? `${event.date.getMonth() + 1}/${event.date.getDate()}` : 'TBD'}</p>
2121
<p className='day-of-week' style={{margin: '0'}}>
22-
{event?.weekly ? `Weekly on ${dayOfWeek[event.date.getDay()]}'s` : ''}
22+
{event?.weekly ? `Weekly on ${dayOfWeek[event.date.getDay()]}s` : ''}
2323
</p>
2424
</div>
2525
<div className='location'>

src/pages/events/EventListStyles.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,16 @@ export default class EventListStyles {
1010
grid-template-rows: repeat(${props => props.rows}, minmax(0, 1fr));
1111
grid-row-gap: 5%;
1212
justify-items: center;
13+
14+
@media (max-width: 718px) {
15+
display: grid;
16+
grid-template-columns: 100%;
17+
grid-template-rows:
18+
calc(var(--vh) * .2) /* Intro heading */
19+
max(calc(var(--vh) * .15), 100px); /* Contact info */
20+
justify-content: center;
21+
align-content: center;
22+
}
1323
`
1424

1525
static readonly EventItemContainer = styled.div`

src/pages/general/contact/Contact.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React from 'react'
22
import { BsHeartFill } from 'react-icons/bs'
33
import { FiFacebook, FiInstagram, FiLinkedin, FiMail, FiTwitter, FiYoutube } from 'react-icons/fi'
4-
import { RiSnapchatLine } from 'react-icons/ri'
4+
// import { RiSnapchatLine } from 'react-icons/ri'
55

66
import IconButton from '../button/IconButton'
77
import Styles from './ContactStyles'
@@ -16,7 +16,7 @@ export default class Contact extends React.Component<Record<string, never>, neve
1616
<IconButton icon={<FiTwitter/>} source={'https://twitter.com/templerobotics'} />
1717
<IconButton icon={<FiFacebook/>} source={'https://www.facebook.com/templerobotics'} />
1818
<IconButton icon={<FiInstagram/>} source={'https://www.instagram.com/templerobotics/'} />
19-
<IconButton icon={<RiSnapchatLine/>} source={'https://snapchat.com/add/templerobotics'} />
19+
{/* <IconButton icon={<RiSnapchatLine/>} source={'https://snapchat.com/add/templerobotics'} /> */}
2020
<IconButton icon={<FiYoutube/>} source={'https://www.youtube.com/channel/UCv59XUAVDLtgk0KA9r4RTsA'} />
2121
<IconButton icon={<FiMail/>} source={'Mailto:Temple.Robotics@outlook.com'} />
2222
<IconButton icon={<FiLinkedin/>} source={ 'https://www.linkedin.com/company/temple-robotics/posts/?feedView=all'}/>

src/pages/general/navigation/Navigation.tsx

Lines changed: 59 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
// Third party
2-
import React from 'react'
3-
import { Navbar, NavLink } from 'react-bootstrap'
2+
import React, { useState } from 'react'
3+
import { Navbar, NavLink, NavDropdown } from 'react-bootstrap'
44
import { Link } from 'react-router-dom'
5-
//import {motion} from 'framer-motion'; framer motion bug (maybe this project is just too outdated)
65

76
// Custom styles
87
import Styles from './NavigationStyles'
@@ -17,39 +16,82 @@ import nasaLogo from '../../../assets/pics/logos/nasa.png'
1716
const Navigation = (): React.ReactElement => {
1817
const { scroll } = getScrollY()
1918
const { width } = useWindowSize()
20-
const TEAMS = `https://teams.microsoft.com/l/team/19%3aeaf903fd81cd48eba95d8e769ed78544%40thread.tacv2/conversations?groupId=8f
19+
const TEAMS = `https://teams.microsoft.com/l/team/19%3aeaf903fd81cd48eba95d8e769ed78544%40thread.tacv2/conversations?groupId=8f
2120
78ecbb-62f3-4b2c-bda7-7488eca908ee&tenantId=716e81ef-b522-4473-8e31-10bd02ccf6e5`
22-
return (
2321

22+
// State for handling dropdown visibility
23+
const [showDropdown, setShowDropdown] = useState(false)
24+
25+
// Timeout variable to prevent flickering
26+
let hideDropdownTimeout: NodeJS.Timeout
27+
28+
// Open dropdown when hovering over "Projects"
29+
const handleMouseEnter = (): void => {
30+
clearTimeout(hideDropdownTimeout) // Cancel hide if mouse enters again
31+
setShowDropdown(true)
32+
}
33+
34+
// Close dropdown when mouse leaves (with small delay)
35+
const handleMouseLeave = (): void => {
36+
hideDropdownTimeout = setTimeout(() => {
37+
setShowDropdown(false)
38+
}, 400) // Small delay before closing
39+
}
40+
41+
// Close dropdown when clicking a project
42+
const handleItemClick = (): void => {
43+
setShowDropdown(false) // Close dropdown when a project is clicked
44+
scrollToTop()
45+
}
46+
47+
return (
2448
<>
25-
{/* The rest of the navigation bar. The className is dependent on whether the navbar is expanded or not */}
2649
<Styles.NavigationBar id='navbar-transition'
27-
transparency={ scroll <= 10 && width > Constants.MOBILE_SIZE ? 1 : 0 }
28-
toggle={ width < Constants.MOBILE_SIZE ? 1 : 0 }
50+
transparency={scroll <= 10 && width > Constants.MOBILE_SIZE ? 1 : 0}
51+
toggle={width < Constants.MOBILE_SIZE ? 1 : 0}
2952
sticky='top' bg='dark' variant='dark' expand='md' collapseOnSelect>
3053
{/* Top left of the navigation bar */}
3154
<Styles.Logo className='logo-and-title'>
3255
<Link className='logo-container' to='/home'>
33-
<img alt='logo' src={nasaLogo} id='web-logo' onClick={scrollToTop}/>
56+
<img alt='logo' src={nasaLogo} id='web-logo' onClick={scrollToTop} />
3457
<div>
3558
<p>Temple Space</p>
3659
<p>Exploration</p>
3760
</div>
3861
</Link>
3962
</Styles.Logo>
63+
4064
<Navbar.Toggle aria-controls='basic-navbar-nav' />
4165
<Navbar.Collapse className='basic-navbar-links'>
42-
<Styles.NavbarLinks variant='pills' toggle={ width < Constants.MOBILE_SIZE ? 1 : 0 }>
43-
<NavLink eventKey='7' as={Link} to={Constants.PATHS.HOME} onClick={() => location.href = TEAMS}>Teams</NavLink>
66+
<Styles.NavbarLinks variant='pills' toggle={width < Constants.MOBILE_SIZE ? 1 : 0}>
4467
<NavLink eventKey='1' as={Link} to={Constants.PATHS.HOME} onClick={scrollToTop}>Home</NavLink>
4568
<NavLink eventKey='2' as={Link} to={Constants.PATHS.EVENTS} onClick={scrollToTop}>Events</NavLink>
4669
<NavLink eventKey='3' as={Link} to={Constants.PATHS.SPONSORS} onClick={scrollToTop}>Sponsors</NavLink>
47-
<NavLink eventKey='4' as={Link} to={Constants.PATHS.ROBOTICS} onClick={scrollToTop}>Robotics</NavLink>
48-
<NavLink eventKey='5' as={Link} to={Constants.PATHS.ROCKSAT} onClick={scrollToTop}>RockSat</NavLink>
49-
<NavLink eventKey='6' as={Link} to={Constants.PATHS.BALLOONING} onClick={scrollToTop}>NASA Ballooning</NavLink>
50-
<NavLink eventKey='8' as={Link} to={Constants.PATHS.MEETTHELEADS} onClick={scrollToTop}>
51-
Meet Our Robotics Leads
52-
</NavLink>
70+
71+
{/* Projects Dropdown - Opens on Hover, Closes on Click */}
72+
<div className='nav-item'
73+
onMouseEnter={handleMouseEnter}
74+
onMouseLeave={handleMouseLeave}>
75+
<NavDropdown
76+
title='Projects'
77+
id='projects-dropdown'
78+
show={showDropdown}
79+
className='nav-link'>
80+
<div onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>
81+
<NavDropdown.Item as={Link} to={Constants.PATHS.ROBOTICS} onClick={handleItemClick}>
82+
Robotics
83+
</NavDropdown.Item>
84+
<NavDropdown.Item as={Link} to={Constants.PATHS.ROCKSAT} onClick={handleItemClick}>
85+
RockSat
86+
</NavDropdown.Item>
87+
<NavDropdown.Item as={Link} to={Constants.PATHS.BALLOONING} onClick={handleItemClick}>
88+
NASA Ballooning
89+
</NavDropdown.Item>
90+
</div>
91+
</NavDropdown>
92+
</div>
93+
94+
<NavLink eventKey='7' as={Link} to={Constants.PATHS.HOME} onClick={() => location.href = TEAMS}>Teams</NavLink>
5395
</Styles.NavbarLinks>
5496
</Navbar.Collapse>
5597
</Styles.NavigationBar>

src/pages/general/navigation/NavigationStyles.tsx

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,5 +73,43 @@ export default class NavigationStyles {
7373
padding-left: 5%;
7474
font-size: 18px;
7575
}
76+
77+
/* Dropdown Styling */
78+
.nav-item {
79+
position: relative;
80+
padding: 4px 8px 8px 8px;
81+
}
82+
83+
div.nav-item{
84+
position: relative;
85+
padding: 2px 0px 0px 0px;
86+
}
87+
88+
a.dropdown-toggle {
89+
background-color: ${props => props.toggle ? `${COLORS.SELECTED}` : 'transparent'} !important;
90+
color: ${COLORS.TEXT} !important;
91+
font-size: 17px;
92+
padding: 6px 8px 8px 8px;
93+
}
94+
95+
.dropdown-menu {
96+
position: absolute;
97+
background-color: ${COLORS.PRIMARY} !important;
98+
padding: 0px 8px 8px 16px;
99+
border: none;
100+
}
101+
102+
.dropdown-item {
103+
color: ${COLORS.TEXT} !important;
104+
background-color: ${props => props.toggle ? `${COLORS.SELECTED}` : 'transparent'} !important;
105+
font-size: 15px;
106+
border: none;
107+
padding: 0px
108+
}
109+
110+
.dropdown-item:hover {
111+
background-color: ${props => props.toggle ? `${COLORS.SELECTED}` : 'transparent'} !important;
112+
color: ${COLORS.HOVER_TEXT} !important;
113+
}
76114
`
77115
}

src/pages/home/Home.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ const Home = (): React.ReactElement => {
3838

3939
<Styles.SectionHeaderGradient>
4040
<Styles.SectionHeader>
41-
<h2>Sign up for volunteering and contact us on teams!</h2>
41+
<h2>Contact us on teams!</h2>
4242
<div className='button-container'>
43-
<Button text={'Sign up to Volunteer'} size={'large'} source={'https://forms.gle/1RcJw5DNXHVX2YzD8'}/>
43+
{/* <Button text={'Sign up to Volunteer'} size={'large'} source={'https://forms.gle/1RcJw5DNXHVX2YzD8'}/> */}
4444
<Button text='Join Teams Here!' source={TEAMS}/>
4545
</div>
4646
</Styles.SectionHeader>

src/pages/robotic-mining/RoboticMiningStyles.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ export const MEET_THE_TEAM: GalleryImage[] = [
88
{ image: RMC_TEAM[0], title: 'Dr. John Helferty', description: 'Head Advisor' },
99
{ image: RMC_TEAM[1], title: 'Rocco Gruzman', description: 'Robotic\'s President' },
1010
{ image: RMC_TEAM[2], title: 'Malin Kussi', description: 'Vice President' },
11-
{ image: RMC_TEAM[3], title: 'Javier Price-Butler', description: 'Chief of Development' },
12-
{ image: RMC_TEAM[4], title: 'Jaden Howard', description: 'Electrical Lead' },
13-
{ image: RMC_TEAM[5], title: 'Alessia Smith', description: 'Mechanical Lead' },
14-
{ image: RMC_TEAM[6], title: 'Brian Ervin', description: 'Programming Lead' },
15-
{ image: RMC_TEAM[7], title: 'Tanishka Shah', description: 'Project Manager' },
11+
{ image: RMC_TEAM[3], title: 'Jaden Howard', description: 'Electrical Lead' },
12+
{ image: RMC_TEAM[4], title: 'Alessia Smith', description: 'Mechanical Lead' },
13+
{ image: RMC_TEAM[5], title: 'Brian Ervin', description: 'Programming Lead' },
14+
{ image: RMC_TEAM[6], title: 'Tanishka Shah', description: 'Project Manager' },
15+
{ image: RMC_TEAM[7], title: 'Javier Price-Butler', description: 'Chief of Development' },
1616
{ image: RMC_TEAM[8], title: 'Jonah Tesler', description: 'Shop Manager' }
1717
]
1818

0 commit comments

Comments
 (0)