From e9c7fa5f8ec9ec9a1b1649042d37bfd119a39bc3 Mon Sep 17 00:00:00 2001 From: jeydinpham Date: Mon, 28 Sep 2026 15:24:56 -0500 Subject: [PATCH 1/2] feat: Add Nexus ad --- client/public/Nexus-Logo.svg | 18 +++++++++++++++ client/src/components/Core.tsx | 8 +++---- client/src/components/NexusAd.tsx | 19 ++++++++++++++++ client/src/components/PartnerAds.tsx | 11 +++++++++ client/src/components/SageAd.tsx | 30 ++++++++++++------------- client/src/components/Search.tsx | 24 ++++---------------- client/src/components/SearchResults.tsx | 2 +- client/src/pages/index.tsx | 4 ++-- client/src/pages/results.tsx | 2 +- 9 files changed, 74 insertions(+), 44 deletions(-) create mode 100644 client/public/Nexus-Logo.svg create mode 100644 client/src/components/NexusAd.tsx create mode 100644 client/src/components/PartnerAds.tsx diff --git a/client/public/Nexus-Logo.svg b/client/public/Nexus-Logo.svg new file mode 100644 index 0000000..1b56982 --- /dev/null +++ b/client/public/Nexus-Logo.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/client/src/components/Core.tsx b/client/src/components/Core.tsx index c6393c9..a08c1c0 100644 --- a/client/src/components/Core.tsx +++ b/client/src/components/Core.tsx @@ -1,13 +1,13 @@ import type { ReactNode } from "react"; import { useEffect, useState } from "react"; -import SageAd from "./SageAd"; +import PartnerAds from "./PartnerAds"; interface CoreProps { children: ReactNode; - showSageAd?: boolean; + showAds?: boolean; } -function Core({ children, showSageAd = false }: CoreProps) { +function Core({ children, showAds = false }: CoreProps) { const [, setTheme] = useState<"light" | "dark" | null>(null); // Initialize theme on start @@ -86,7 +86,7 @@ function Core({ children, showSageAd = false }: CoreProps) {
{children}
- {showSageAd && } + {showAds && }

{/*Designed by Bharat Arimilli. Thanks to{" "} Garrett Gu,{" "} diff --git a/client/src/components/NexusAd.tsx b/client/src/components/NexusAd.tsx new file mode 100644 index 0000000..520fec5 --- /dev/null +++ b/client/src/components/NexusAd.tsx @@ -0,0 +1,19 @@ +export default function NexusAd() { + return ( + + +

+ Connect with classmates on Nexus +

+ + ); +} diff --git a/client/src/components/PartnerAds.tsx b/client/src/components/PartnerAds.tsx new file mode 100644 index 0000000..d2418e7 --- /dev/null +++ b/client/src/components/PartnerAds.tsx @@ -0,0 +1,11 @@ +import NexusAd from "./NexusAd"; +import SageAd from "./SageAd"; + +export default function PartnerAds() { + return ( +
+ + +
+ ); +} diff --git a/client/src/components/SageAd.tsx b/client/src/components/SageAd.tsx index affff47..a256213 100644 --- a/client/src/components/SageAd.tsx +++ b/client/src/components/SageAd.tsx @@ -1,20 +1,18 @@ export default function SageAd() { return ( - + + +

Get AI-powered UTD advising with

+ Sage +
); } diff --git a/client/src/components/Search.tsx b/client/src/components/Search.tsx index eca7a94..a727769 100644 --- a/client/src/components/Search.tsx +++ b/client/src/components/Search.tsx @@ -4,6 +4,7 @@ import React, { useEffect, useMemo, useState } from "react"; import type { SearchQuery } from "../types"; import { getSearchStringRank } from "../utils/index"; import { useDb } from "../utils/useDb"; +import PartnerAds from "./PartnerAds"; const autoCompleteStyle: React.CSSProperties = { width: "100%", @@ -12,10 +13,10 @@ const autoCompleteStyle: React.CSSProperties = { interface SearchProps { onSubmit: (query: SearchQuery) => void; initialSearchValue?: string; - showSage?: boolean; + showAds?: boolean; } -export default function Search({ onSubmit, initialSearchValue: initialSearch = "", showSage = true }: SearchProps) { +export default function Search({ onSubmit, initialSearchValue: initialSearch = "", showAds = true }: SearchProps) { const hintContent = (

You can search for:

@@ -88,24 +89,7 @@ export default function Search({ onSubmit, initialSearchValue: initialSearch = " - {showSage && ( - - )} + {showAds && } ); diff --git a/client/src/components/SearchResults.tsx b/client/src/components/SearchResults.tsx index 499b7d7..678b53e 100644 --- a/client/src/components/SearchResults.tsx +++ b/client/src/components/SearchResults.tsx @@ -459,7 +459,7 @@ const Results = React.memo(function Results({ search, sectionId, router }: Resul
- + diff --git a/client/src/pages/index.tsx b/client/src/pages/index.tsx index 02d68be..ae0f8ef 100644 --- a/client/src/pages/index.tsx +++ b/client/src/pages/index.tsx @@ -82,7 +82,7 @@ export default function Home() { } return ( - +
diff --git a/client/src/pages/results.tsx b/client/src/pages/results.tsx index 0a727dd..5409a96 100644 --- a/client/src/pages/results.tsx +++ b/client/src/pages/results.tsx @@ -16,7 +16,7 @@ export default function ResultsPage() { // https://github.com/zeit/next.js/issues/8259 if (router.asPath !== router.route) { return ( - +
From 1888084855a6b3f85a6dbf5cf5ce3638204606d3 Mon Sep 17 00:00:00 2001 From: jeydinpham Date: Mon, 28 Sep 2026 20:46:51 -0500 Subject: [PATCH 2/2] fix: Fix Professor Details hover bug --- client/src/components/SectionContent.tsx | 58 +++++++++--------------- 1 file changed, 22 insertions(+), 36 deletions(-) diff --git a/client/src/components/SectionContent.tsx b/client/src/components/SectionContent.tsx index e70119d..cc5428d 100644 --- a/client/src/components/SectionContent.tsx +++ b/client/src/components/SectionContent.tsx @@ -186,42 +186,28 @@ const options: ChartOptions<"bar"> = { Professor Details {instructor?.url && } {hovered && ( - <> -
- See more on - Rate My Professor Logo -
-
- +
+ See more on + Rate My Professor Logo +
)} {!instructor && (