diff --git a/public/api/icons8-crowd-100.png b/public/api/icons8-crowd-100.png new file mode 100644 index 0000000..8e45212 Binary files /dev/null and b/public/api/icons8-crowd-100.png differ diff --git a/public/api/icons8-expand-100.png b/public/api/icons8-expand-100.png new file mode 100644 index 0000000..538c068 Binary files /dev/null and b/public/api/icons8-expand-100.png differ diff --git a/public/api/icons8-support-100.png b/public/api/icons8-support-100.png new file mode 100644 index 0000000..d138d59 Binary files /dev/null and b/public/api/icons8-support-100.png differ diff --git a/public/filled-chevron-up-royal.svg b/public/filled-chevron-up-royal.svg new file mode 100644 index 0000000..6bea4b5 --- /dev/null +++ b/public/filled-chevron-up-royal.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/icon-royal.svg b/public/icon-royal.svg new file mode 100644 index 0000000..904f225 --- /dev/null +++ b/public/icon-royal.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + diff --git a/public/jupiter/cover.png b/public/jupiter/cover.png new file mode 100644 index 0000000..7ff39a2 Binary files /dev/null and b/public/jupiter/cover.png differ diff --git a/public/jupiter/icons8-calendar-100.png b/public/jupiter/icons8-calendar-100.png new file mode 100644 index 0000000..a7efcc7 Binary files /dev/null and b/public/jupiter/icons8-calendar-100.png differ diff --git a/public/jupiter/icons8-community-100.png b/public/jupiter/icons8-community-100.png new file mode 100644 index 0000000..4c64dd2 Binary files /dev/null and b/public/jupiter/icons8-community-100.png differ diff --git a/public/jupiter/icons8-search-100.png b/public/jupiter/icons8-search-100.png new file mode 100644 index 0000000..b524ecb Binary files /dev/null and b/public/jupiter/icons8-search-100.png differ diff --git a/public/map.svg b/public/map.svg deleted file mode 100644 index 410ce86..0000000 --- a/public/map.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/public/menu-alt-3.svg b/public/menu-alt-3.svg deleted file mode 100644 index 1c2741b..0000000 --- a/public/menu-alt-3.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/public/menu-royal.svg b/public/menu-royal.svg new file mode 100644 index 0000000..d26652c --- /dev/null +++ b/public/menu-royal.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/menu-white.svg b/public/menu-white.svg new file mode 100644 index 0000000..4e74f41 --- /dev/null +++ b/public/menu-white.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/planner/cover.png b/public/planner/cover.png new file mode 100644 index 0000000..d302e63 Binary files /dev/null and b/public/planner/cover.png differ diff --git a/public/planner/icons8-browser-100.png b/public/planner/icons8-browser-100.png new file mode 100644 index 0000000..9d2fca1 Binary files /dev/null and b/public/planner/icons8-browser-100.png differ diff --git a/public/planner/icons8-stopwatch-100.png b/public/planner/icons8-stopwatch-100.png new file mode 100644 index 0000000..755e307 Binary files /dev/null and b/public/planner/icons8-stopwatch-100.png differ diff --git a/public/planner/icons8-sword-100.png b/public/planner/icons8-sword-100.png new file mode 100644 index 0000000..8c01668 Binary files /dev/null and b/public/planner/icons8-sword-100.png differ diff --git a/public/rectangle.png b/public/rectangle.png new file mode 100644 index 0000000..af231ab Binary files /dev/null and b/public/rectangle.png differ diff --git a/public/sitemap.xml b/public/sitemap.xml index f025792..b5fcdd1 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -1,19 +1,17 @@ -https://www.utdnebula.com2024-02-07T02:40:06.849Zdaily0.7 -https://www.utdnebula.com/about2024-02-07T02:40:06.849Zdaily0.7 -https://www.utdnebula.com/about/governance2024-02-07T02:40:06.849Zdaily0.7 -https://www.utdnebula.com/about/mission2024-02-07T02:40:06.849Zdaily0.7 -https://www.utdnebula.com/contact2024-02-07T02:40:06.849Zdaily0.7 -https://www.utdnebula.com/membership2024-02-07T02:40:06.849Zdaily0.7 -https://www.utdnebula.com/newsletter2024-02-07T02:40:06.849Zdaily0.7 -https://www.utdnebula.com/projects2024-02-07T02:40:06.849Zdaily0.7 -https://www.utdnebula.com/projects/api2024-02-07T02:40:06.849Zdaily0.7 -https://www.utdnebula.com/projects/jupiter2024-02-07T02:40:06.849Zdaily0.7 -https://www.utdnebula.com/projects/planner2024-02-07T02:40:06.849Zdaily0.7 -https://www.utdnebula.com/projects/skedge2024-02-07T02:40:06.849Zdaily0.7 -https://www.utdnebula.com/projects/trends2024-02-07T02:40:06.849Zdaily0.7 -https://www.utdnebula.com/resources/design-guide2024-02-07T02:40:06.849Zdaily0.7 -https://www.utdnebula.com/resources/meetings2024-02-07T02:40:06.849Zdaily0.7 -https://www.utdnebula.com/resources/roles2024-02-07T02:40:06.849Zdaily0.7 +https://www.utdnebula.com2024-05-16T23:10:45.383Zdaily0.7 +https://www.utdnebula.com/about/governance2024-05-16T23:10:45.384Zdaily0.7 +https://www.utdnebula.com/about/mission2024-05-16T23:10:45.384Zdaily0.7 +https://www.utdnebula.com/contact2024-05-16T23:10:45.384Zdaily0.7 +https://www.utdnebula.com/membership2024-05-16T23:10:45.384Zdaily0.7 +https://www.utdnebula.com/projects/api2024-05-16T23:10:45.384Zdaily0.7 +https://www.utdnebula.com/projects/jupiter2024-05-16T23:10:45.384Zdaily0.7 +https://www.utdnebula.com/projects/planner2024-05-16T23:10:45.384Zdaily0.7 +https://www.utdnebula.com/projects/skedge2024-05-16T23:10:45.384Zdaily0.7 +https://www.utdnebula.com/projects/trends2024-05-16T23:10:45.384Zdaily0.7 +https://www.utdnebula.com/resources/calendar2024-05-16T23:10:45.384Zdaily0.7 +https://www.utdnebula.com/resources/design-guide2024-05-16T23:10:45.384Zdaily0.7 +https://www.utdnebula.com/resources/meetings2024-05-16T23:10:45.384Zdaily0.7 +https://www.utdnebula.com/about/governance/2022-20232024-05-16T23:10:45.384Zdaily0.7 \ No newline at end of file diff --git a/public/skedge/chrome.png b/public/skedge/chrome.png new file mode 100644 index 0000000..5fadc9c Binary files /dev/null and b/public/skedge/chrome.png differ diff --git a/public/skedge/cover.png b/public/skedge/cover.png new file mode 100644 index 0000000..4ac2946 Binary files /dev/null and b/public/skedge/cover.png differ diff --git a/public/skedge/firefox.png b/public/skedge/firefox.png new file mode 100644 index 0000000..8f5172c Binary files /dev/null and b/public/skedge/firefox.png differ diff --git a/public/skedge/icons8-aggregate-100.png b/public/skedge/icons8-aggregate-100.png new file mode 100644 index 0000000..b83edad Binary files /dev/null and b/public/skedge/icons8-aggregate-100.png differ diff --git a/public/skedge/icons8-calendar-100.png b/public/skedge/icons8-calendar-100.png new file mode 100644 index 0000000..a7efcc7 Binary files /dev/null and b/public/skedge/icons8-calendar-100.png differ diff --git a/public/skedge/icons8-input-100.png b/public/skedge/icons8-input-100.png new file mode 100644 index 0000000..0cff58f Binary files /dev/null and b/public/skedge/icons8-input-100.png differ diff --git a/public/trends/cover.png b/public/trends/cover.png new file mode 100644 index 0000000..97863ce Binary files /dev/null and b/public/trends/cover.png differ diff --git a/public/trends/icons8-aggregate-100.png b/public/trends/icons8-aggregate-100.png new file mode 100644 index 0000000..b83edad Binary files /dev/null and b/public/trends/icons8-aggregate-100.png differ diff --git a/public/trends/icons8-input-100.png b/public/trends/icons8-input-100.png new file mode 100644 index 0000000..0cff58f Binary files /dev/null and b/public/trends/icons8-input-100.png differ diff --git a/public/trends/icons8-scale-100.png b/public/trends/icons8-scale-100.png new file mode 100644 index 0000000..26233f9 Binary files /dev/null and b/public/trends/icons8-scale-100.png differ diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index 63799c4..82e31f9 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -39,32 +39,22 @@ const Footer = () => {
- -

Projects

- - - Planner - - +

Projects

+ Jupiter - + Trends - + Skedge - + API & Platform + + Planner +

Resources

diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx index f85a5f8..e3b6090 100644 --- a/src/components/Navbar.tsx +++ b/src/components/Navbar.tsx @@ -4,16 +4,17 @@ import type { StaticImageData } from 'next/image'; import Link from 'next/link'; import { Disclosure, Transition, TransitionRootProps } from '@headlessui/react'; import { Fragment, useCallback, useEffect, useRef, useState } from 'react'; -import FilledChevronUp from '@/../public/filled-chevron-up-white.svg'; +import FilledChevronUpWhite from '@/../public/filled-chevron-up-white.svg'; +import FilledChevronUpRoyal from '@/../public/filled-chevron-up-royal.svg'; import Arrow from '@/../public/arrow-white.svg'; import X from '@/../public/x.svg'; -import Hamburger from '@/../public/menu-alt-3.svg'; +import HamburgerWhite from '@/../public/menu-white.svg'; +import HamburgerRoyal from '@/../public/menu-royal.svg'; import Puzzle from '@/../public/puzzle.svg'; import Users from '@/../public/users.svg'; import UserGroup from '@/../public/user-group.svg'; import TrendingUp from '@/../public/trending-up.svg'; import Pencil from '@/../public/pencil.svg'; -import Map from '@/../public/map.svg'; import Star from '@/../public/star.svg'; type BaseItem = { name: string }; @@ -52,42 +53,39 @@ const parentItems: Array = [ { name: 'Our Projects', children: [ - { - name: 'Overview', - link: '/projects', - description: 'Get a rundown on all our projects', - iconSrc: Map, - }, - { - name: 'Planner', - link: 'https://planner.utdnebula.com/', - description: 'Help plan degree and course requirements', - iconSrc: Pencil, - }, { name: 'Jupiter', - link: 'https://jupiter.utdnebula.com/', + link: '/projects/jupiter', description: 'Find and connect with student organizations', iconSrc: Users, }, { name: 'Trends', - link: 'https://trends.utdnebula.com/', + link: '/projects/trends', description: 'Help plan coursework through grade and professor stats', iconSrc: TrendingUp, }, { name: 'Skedge', - link: 'https://chromewebstore.google.com/detail/skedge/ghipfanpcodcmkjacmmfjdmccdiaahab', + link: '/projects/skedge', description: 'Integrate grade and professor stats into Schedule Planner', iconSrc: TrendingUp, }, { name: 'API & Platform', - link: 'https://github.com/UTDNebula/nebula-api', - description: 'Integrate X+ years of historical UTD data into your applications', + link: '/projects/api', + description: + 'Integrate ' + + (new Date().getFullYear() - 2017) + + '+ years of historical UTD data into your applications', iconSrc: Puzzle, }, + { + name: 'Planner', + link: '/projects/planner', + description: 'Help plan degree and course requirements', + iconSrc: Pencil, + }, ], }, ]; @@ -116,6 +114,7 @@ const transitionProps: TransitionRootProps = { interface Props { className?: string; shadow?: boolean; + royal?: boolean; } const Navbar = (props: Props) => { @@ -146,8 +145,8 @@ const Navbar = (props: Props) => { }; }, [ref]); - const textShadow = props.shadow === true ? '[text-shadow:_0_0_4px_rgb(0_0_0_/_0.4)]' : ''; - const dropShadow = props.shadow === true ? '[filter:_drop-shadow(0_0_4px_rgb(0_0_0_/_0.4))]' : ''; + const dropShadow = props.shadow ? 'drop-shadow' : ''; + const textShadow = props.shadow ? 'text-shadow' : ''; return ( { /> {'logo'} { /> - + { 'w-full flex gap-1 items-center', )} > -

{item.name}

+

+ {item.name} +

{ className={clsx( displayMobileMenu && 'flex place-content-between w-full', textShadow, + props.royal && !displayMobileMenu && 'text-royal', )} > {item.name} @@ -312,6 +327,7 @@ const Navbar = (props: Props) => { className={clsx( 'justify-self-end w-max px-4 py-2 rounded-full border whitespace-nowrap', textShadow, + props.royal && !displayMobileMenu ? 'text-royal border-royal' : 'border-white', )} > Get Involved diff --git a/src/components/Projects.tsx b/src/components/Projects.tsx index 9b47616..540fded 100644 --- a/src/components/Projects.tsx +++ b/src/components/Projects.tsx @@ -1,6 +1,7 @@ import ArrowButton from '@/../public/testimonials/arrow-button.svg'; import { createRef, useEffect, useState } from 'react'; -import Image, { StaticImageData } from 'next/image'; +import Image from 'next/image'; +import type { StaticImageData } from 'next/image'; import Carousel from './Carousel'; import Planner from '@/../public/projects/planner.png'; import Skedge from '@/../public/projects/skedge.png'; @@ -21,21 +22,21 @@ type Project = { const PROJECTS_INFO: Project[] = [ { - title: 'Planner', - shortName: 'Planner', + title: 'Jupiter', + shortName: 'Jupiter', description: - 'Planner is a student-focused tool for creating and tracking degree plans, offering a user-friendly interface to simplify course mapping and progress tracking.', - url: 'https://planner.utdnebula.com/', - image: Planner, - alt: "A laptop displaying Planner's dashboard, showing a list of degree plan cards", - color: '#523DFF', + 'Jupiter is the best way to get involved on campus. It’s easy to discover new organizations or exciting events to make the most of the on-campus experience.', + url: '/projects/jupiter', + image: Jupiter, + alt: "A laptop displaying Jupiter's dashboard, with a list of clubs and organizations.", + color: '#926FDB', }, { title: 'Sk.edge/Trends', shortName: 'Sk.edge/Trends', description: 'Sk.edge and Trends are tools designed to simplify the course selection and registration process by providing students with valuable data, all in one place.', - url: 'https://trends.utdnebula.com/', + url: '/projects/skedge', image: Skedge, alt: "A mockup of Sk.edge's dashboard, displaying statistics for a professor", color: '#6366F1', @@ -45,20 +46,20 @@ const PROJECTS_INFO: Project[] = [ shortName: 'API', description: 'The Nebula API serves as the authoritative data source for UTD information such as courses, student organizations, and more.', - url: 'https://github.com/UTDNebula/nebula-api', + url: '/projects/api', // image: API, alt: '', color: '#FF6B4A', }, { - title: 'Jupiter', - shortName: 'Jupiter', + title: 'Planner', + shortName: 'Planner', description: - 'Jupiter is the best way to get involved on campus. It’s easy to discover new organizations or exciting events to make the most of the on-campus experience.', - url: 'https://jupiter.utdnebula.com/', - image: Jupiter, - alt: "A laptop displaying Jupiter's dashboard, with a list of clubs and organizations.", - color: '#926FDB', + 'Planner is a student-focused tool for creating and tracking degree plans, offering a user-friendly interface to simplify course mapping and progress tracking.', + url: '/projects/planner', + image: Planner, + alt: "A laptop displaying Planner's dashboard, showing a list of degree plan cards", + color: '#523DFF', }, ]; diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index b91ec26..45f4e67 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -25,7 +25,7 @@ export default function Document() { - +
diff --git a/src/pages/projects/api.tsx b/src/pages/projects/api.tsx index 0c00356..1f52afc 100644 --- a/src/pages/projects/api.tsx +++ b/src/pages/projects/api.tsx @@ -1,6 +1,35 @@ -import Header from '@/components/Header'; +import Navbar from '@/components/Navbar'; import Footer from '@/components/Footer'; import Head from 'next/head'; +import Rectangle from '@/../public/rectangle.png'; +import Image from 'next/image'; + +import expand from '@/../public/api/icons8-expand-100.png'; +import crowd from '@/../public/api/icons8-crowd-100.png'; +import support from '@/../public/api/icons8-support-100.png'; + +const features = [ + { + title: 'Size', + description: 'The largest dataset of university data on campus.', + img: expand, + alt: 'expanding icon', + }, + { + title: 'Public API', + description: + 'A public API for Nebula products and external developers making data easily accessible.', + img: crowd, + alt: 'crowd', + }, + { + title: 'Support', + description: + 'Continuously improving and up-to-date data as well as personal support in the Nebula Discord.', + img: support, + alt: 'wrench', + }, +]; const API = () => ( <> @@ -9,7 +38,59 @@ const API = () => ( -
+ +
+ project background +

+ API & Platform +

+

+ The Backbone +
+ of Nebula Labs +

+

+ Providing reliable and feature-rich data infrastructure for all of Nebula’s projects. +

+
+
+ +
+

Features

+

+ Discover a realm of possibilities with Nebula API & Platform, where data integration meets + streamlined authentication. +

+
+
+ {features.map((feature) => ( +
+
+ {feature.alt} +
+

{feature.title}

+

{feature.description}

+
+ ))} +
+
+

Interested? Learn more about our project

+ + Learn More + +