Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
131 changes: 69 additions & 62 deletions src/components/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -64,67 +64,73 @@ function ScrollUpButton() {
);
}

const links = [
{
name: 'For Organizations',
links: [
{
name: 'Astra',
href: 'https://www.aaiscloud.com/UTXDallas/default.aspx?home',
},
{ name: 'Mazevo', href: 'https://east.mymazevo.com/main-home' },
],
},
{
name: 'For Students',
links: [
{ name: 'Library', href: 'https://libcal.utdallas.edu/allspaces' },
{ name: 'CourseBook', href: 'https://coursebook.utdallas.edu/' },
{ name: 'Comet Calendar', href: 'https://calendar.utdallas.edu/' },
],
},
{
name: 'Projects',
links: [
{ name: 'Clubs', href: 'https://clubs.utdnebula.com/' },
{ name: 'Trends', href: 'https://trends.utdnebula.com/' },
{ name: 'Skedge', href: 'https://www.utdnebula.com/projects/skedge' },
{
name: 'API & Platform',
href: 'https://www.utdnebula.com/projects/api',
},
],
},
];

const linkClasses =
'underline decoration-transparent hover:decoration-inherit transition';

function ForOrganizations() {
return (
<div>
<h3 className="text-md md:text-lg font-bold">For Organizations</h3>
<div className="mt-6 flex flex-col gap-5 text-sm md:text-base">
<Link
className={linkClasses}
target="_blank"
href="https://www.aaiscloud.com/UTXDallas/default.aspx?home"
>
Astra
</Link>
<Link
className={linkClasses}
target="_blank"
href="https://east.mymazevo.com/main-home"
>
Mazevo
</Link>
</div>
</div>
);
interface LinkGroupProps {
name: string;
links: {
name: string;
href: string;
}[];
}

function ForStudents() {
function LinkGroup({ name, links }: LinkGroupProps) {
return (
<div>
<h3 className="text-md md:text-lg font-bold">For Students</h3>
<div className="mt-6 flex flex-col gap-5 text-sm md:text-base">
<Link
className={linkClasses}
target="_blank"
href="https://libcal.utdallas.edu/allspaces"
>
Library
</Link>
<Link
className={linkClasses}
target="_blank"
href="https://coursebook.utdallas.edu/"
>
CourseBook
</Link>
<Link
className={linkClasses}
target="_blank"
href="https://calendar.utdallas.edu/"
>
Comet Calendar
</Link>
<h3 className="text-md md:text-lg font-bold">{name}</h3>
<div className="mt-6 flex flex-col items-start gap-5 text-sm md:text-base">
{links.map(({ name, href }) => (
<Link
key={name + href}
className={linkClasses}
target={href.startsWith('http') ? '_blank' : undefined}
href={href}
>
{name}
</Link>
))}
</div>
</div>
);
}

function GetToKnowUs() {
return (
<div className="flex flex-col gap-5 text-sm md:text-base">
<div className="flex flex-col items-start gap-5 text-sm md:text-base">
<Link
className={
linkClasses +
Expand Down Expand Up @@ -181,29 +187,30 @@ export default function Footer() {
<footer className="lg:px-40 px-8 pt-6 bg-royal dark:bg-cornflower-300 text-white dark:text-haiti w-full">
<div className="flex gap-8 justify-between items-center">
{/* Logo */}
<div className="font-display flex flex-row items-center gap-4">
<UTDRoomsLogoCombination
className="h-22 w-auto shrink-0"
duotone
slotClassNames={{
nebulaLogo: 'fill-current',
projectLogo: 'fill-cornflower-300 dark:fill-royal',
}}
/>
<div className="font-display flex flex-row items-center gap-6">
<UTDRoomsLogoCombination className="h-22 w-auto shrink-0 fill-white dark:fill-haiti" />
<div className="flex flex-col max-sm:hidden">
<span className="whitespace-nowrap text-2xl md:text-4xl font-bold leading-tight">
<span className="whitespace-nowrap text-4xl font-bold leading-tight">
UTD ROOMS
</span>
<span className="whitespace-nowrap text-sm md:text-lg font-medium">
by Nebula Labs
<span className="whitespace-nowrap text-xl font-medium">
by{' '}
<Link
target="_blank"
href="https://www.utdnebula.com/"
className="underline decoration-transparent hover:decoration-inherit transition decoration-2"
>
Nebula Labs
</Link>
</span>
</div>
</div>
<ScrollUpButton />
</div>
<div className="flex flex-wrap gap-5 justify-between mt-10">
<ForOrganizations />
<ForStudents />
<div className="grid grid-cols-2 lg:grid-cols-4 gap-x-5 gap-y-10 mt-10">
{links.map(({ name, links }) => (
<LinkGroup key={name} name={name} links={links} />
))}
<GetToKnowUs />
</div>
<div className="pb-6 mt-10">
Expand Down
Loading