From 676d41c6f8a81c8fcb4028175a192c2bdc87a91d Mon Sep 17 00:00:00 2001 From: ItzTJSV2 Date: Sat, 25 Oct 2025 00:52:00 +0100 Subject: [PATCH 1/6] Footer base --- client/public/assets/graphics/DurhackLogo.svg | 4 + client/src/app/(home)/page.tsx | 2 +- client/src/components/footer.tsx | 119 +++++++++++++----- .../src/components/graphics/clouds-footer.tsx | 15 +++ client/src/components/icons.tsx | 13 ++ client/src/config/site.ts | 3 +- client/src/lib/google-fonts.ts | 3 +- 7 files changed, 123 insertions(+), 36 deletions(-) create mode 100644 client/public/assets/graphics/DurhackLogo.svg create mode 100644 client/src/components/graphics/clouds-footer.tsx diff --git a/client/public/assets/graphics/DurhackLogo.svg b/client/public/assets/graphics/DurhackLogo.svg new file mode 100644 index 00000000..05cbda0a --- /dev/null +++ b/client/public/assets/graphics/DurhackLogo.svg @@ -0,0 +1,4 @@ + + + + diff --git a/client/src/app/(home)/page.tsx b/client/src/app/(home)/page.tsx index 33349e61..a798cd07 100644 --- a/client/src/app/(home)/page.tsx +++ b/client/src/app/(home)/page.tsx @@ -50,7 +50,7 @@ export default function HomePage() { {/* Medium */}
-

Medium

+

Medium TEST ESTTEUHEUFHE

{/* Footer - temporarily using the dashboard one */} diff --git a/client/src/components/footer.tsx b/client/src/components/footer.tsx index 16d3ef0f..31cced92 100644 --- a/client/src/components/footer.tsx +++ b/client/src/components/footer.tsx @@ -1,48 +1,101 @@ import Link from "next/link" +import { CloudsFooterGraphic } from "./graphics/clouds-footer" +import { cn } from "@/lib/utils" +import Image from "next/image"; +import { patrickHand, spaceGrotesk } from "@/lib/google-fonts" +import { siteConfig } from "@/config/site"; -export function Footer() { +function SocialsBar() { + return ( +
+ {siteConfig.socials.map((social) => { + const Icon = social.icon; + return ( + + + + ); + })} +
+ ); +} + +export function Footer ({ className, ...props }: React.HTMLAttributes) { const mlhCodeOfConduct = ( - + MLH Code of Conduct ) - const compsoc = ( - + const CompSoc = ( + compsoc.tech ) - const durhamStudentsUnion = ( - - durhamsu.com - - ) - const durhamStudentsUnionCompany = ( - - 07689815 - - ) - const durhamStudentsUnionCharity = ( - - 1145400 - - ) +
+ +
- return ( -
-
-

DurHack follows the {mlhCodeOfConduct}.

-

- DurHack is an event hosted by Durham University Computing Society ({compsoc}), which is a student society - affiliated with Durham Students' Union ({durhamStudentsUnion}). Durham Students' Union is registered in - England as a company limited by guarantee ({durhamStudentsUnionCompany}) and a charity ( - {durhamStudentsUnionCharity}), with VAT number 119733690 and registered office Dunelm House, New Elvet, Durham - DH1 3AN. -

+
+ +
+ +
+ +
+ Durhack Logo + +
+

CONTACT US!

+

+

hello@durhack.com

+
+ +
+
+
+
+
+

+ DurHack follows the {mlhCodeOfConduct}. Photos and videos taken at events in 2024 . +

+

+

+ DurHack is an event hosted by Durham University Computing Society ({CompSoc}), which is a student society affiliated with Durham Students' Union (__durhamsu.com__). Durham Students' Union is registered in England as a company limited by guarantee (07689815) and a charity (1145400), with VAT number 119733690 and registered office Dunelm House, New Elvet, Durham DH1 3AN. +

+
+
-
+ ) } diff --git a/client/src/components/graphics/clouds-footer.tsx b/client/src/components/graphics/clouds-footer.tsx new file mode 100644 index 00000000..17dda27f --- /dev/null +++ b/client/src/components/graphics/clouds-footer.tsx @@ -0,0 +1,15 @@ +import type * as React from "react" + +export function CloudsFooterGraphic({ ...props }: React.ComponentProps<"svg">) { + return ( + + + + ) +} diff --git a/client/src/components/icons.tsx b/client/src/components/icons.tsx index 4cfac9cf..c50fc9b8 100644 --- a/client/src/components/icons.tsx +++ b/client/src/components/icons.tsx @@ -73,3 +73,16 @@ export function GitHubIcon(props: IconProps) { ) } + + +/** + * @see https://simpleicons.org/?q=medium + */ +export function MediumIcon(props: IconProps) { + return ( + + Medium + + + ) +} \ No newline at end of file diff --git a/client/src/config/site.ts b/client/src/config/site.ts index df554439..856ea5dd 100644 --- a/client/src/config/site.ts +++ b/client/src/config/site.ts @@ -1,6 +1,6 @@ import type * as React from "react" -import { FacebookIcon, GitHubIcon, InstagramIcon, LinkedInIcon, TikTokIcon, XIcon } from "@/components/icons" +import { FacebookIcon, GitHubIcon, InstagramIcon, LinkedInIcon, MediumIcon, TikTokIcon, XIcon } from "@/components/icons" import { isDevelopment, isStaging, noLocalServer } from "@/lib/environment" type socialLink = { key: string; href: string; icon: React.FC } @@ -21,6 +21,7 @@ export const siteConfig = { { key: "tiktok", href: "https://www.tiktok.com/@durhack", icon: TikTokIcon }, { key: "linkedin", href: "https://www.linkedin.com/company/durhack/mycompany/", icon: LinkedInIcon }, { key: "x", href: "https://x.com/durhackevent", icon: XIcon }, + { key: "medium", href: "https://durhack.medium.com/", icon: MediumIcon }, ] as const satisfies readonly socialLink[], sessionCookieName: "__Secure-durhack-session", } diff --git a/client/src/lib/google-fonts.ts b/client/src/lib/google-fonts.ts index 2875aecf..75f00ebb 100644 --- a/client/src/lib/google-fonts.ts +++ b/client/src/lib/google-fonts.ts @@ -1,6 +1,7 @@ -import { Audiowide, Darker_Grotesque, Electrolize, Space_Grotesk } from "next/font/google" +import { Audiowide, Darker_Grotesque, Electrolize, Space_Grotesk, Patrick_Hand } from "next/font/google" export const spaceGrotesk = Space_Grotesk({ subsets: ["latin"] }) export const audiowide = Audiowide({ weight: "400", subsets: ["latin"], fallback: ["sans-serif"] }) export const electrolize = Electrolize({ weight: "400", subsets: ["latin"] }) export const darkerGrotesk = Darker_Grotesque({ weight: "variable", subsets: ["latin"] }) +export const patrickHand = Patrick_Hand({ weight: "400", subsets: ["latin"] }) From d786d9286cb8b5214d519c17b36e4105e9d1444a Mon Sep 17 00:00:00 2001 From: ItzTJSV2 Date: Sat, 25 Oct 2025 01:38:59 +0100 Subject: [PATCH 2/6] Small width upgrade --- client/src/components/footer.tsx | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/client/src/components/footer.tsx b/client/src/components/footer.tsx index 31cced92..f838c1c3 100644 --- a/client/src/components/footer.tsx +++ b/client/src/components/footer.tsx @@ -7,7 +7,7 @@ import { siteConfig } from "@/config/site"; function SocialsBar() { return ( -
+
{siteConfig.socials.map((social) => { const Icon = social.icon; return ( @@ -16,9 +16,9 @@ function SocialsBar() { href={social.href} target="_blank" rel="noopener noreferrer" - className="p-3 rounded-full hover:bg-gray-200 transition-colors" + className="p-1 sm:p-2 md:p-3 rounded-full hover:bg-gray-200 transition-colors" > - + ); })} @@ -37,10 +37,15 @@ export function Footer ({ className, ...props }: React.HTMLAttributes ) + const StudentUnion = ( + + durhamsu.com + + ) return (
-
+
Durhack Logo -
+

CONTACT US!



-

hello@durhack.com

+

hello@durhack.com

@@ -81,16 +86,16 @@ export function Footer ({ className, ...props }: React.HTMLAttributes

- DurHack follows the {mlhCodeOfConduct}. Photos and videos taken at events in 2024 . + DurHack follows the {mlhCodeOfConduct}. Photos and videos taken at events in 2024.



- DurHack is an event hosted by Durham University Computing Society ({CompSoc}), which is a student society affiliated with Durham Students' Union (__durhamsu.com__). Durham Students' Union is registered in England as a company limited by guarantee (07689815) and a charity (1145400), with VAT number 119733690 and registered office Dunelm House, New Elvet, Durham DH1 3AN. + DurHack is an event hosted by Durham University Computing Society ({CompSoc}), which is a student society affiliated with Durham Students' Union ({StudentUnion}). Durham Students' Union is registered in England as a company limited by guarantee (07689815) and a charity (1145400), with VAT number 119733690 and registered office Dunelm House, New Elvet, Durham DH1 3AN.

From b9888934d295e23d3e44e0bc951b53e8ab5e6cc8 Mon Sep 17 00:00:00 2001 From: ItzTJSV2 Date: Mon, 27 Oct 2025 22:13:40 +0000 Subject: [PATCH 3/6] Fix medium link --- client/src/config/site.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/config/site.ts b/client/src/config/site.ts index 856ea5dd..971e03ad 100644 --- a/client/src/config/site.ts +++ b/client/src/config/site.ts @@ -21,7 +21,7 @@ export const siteConfig = { { key: "tiktok", href: "https://www.tiktok.com/@durhack", icon: TikTokIcon }, { key: "linkedin", href: "https://www.linkedin.com/company/durhack/mycompany/", icon: LinkedInIcon }, { key: "x", href: "https://x.com/durhackevent", icon: XIcon }, - { key: "medium", href: "https://durhack.medium.com/", icon: MediumIcon }, + { key: "medium", href: "https://medium.com/@DurHack_press", icon: MediumIcon }, ] as const satisfies readonly socialLink[], sessionCookieName: "__Secure-durhack-session", } From e4f09f071524e23f248291cbed26665bf1f98694 Mon Sep 17 00:00:00 2001 From: ItzTJSV2 Date: Tue, 28 Oct 2025 00:44:33 +0000 Subject: [PATCH 4/6] Adaptable text size --- client/src/components/footer.tsx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/client/src/components/footer.tsx b/client/src/components/footer.tsx index f838c1c3..818f1f25 100644 --- a/client/src/components/footer.tsx +++ b/client/src/components/footer.tsx @@ -7,7 +7,7 @@ import { siteConfig } from "@/config/site"; function SocialsBar() { return ( -
+
{siteConfig.socials.map((social) => { const Icon = social.icon; return ( @@ -16,7 +16,7 @@ function SocialsBar() { href={social.href} target="_blank" rel="noopener noreferrer" - className="p-1 sm:p-2 md:p-3 rounded-full hover:bg-gray-200 transition-colors" + className="p-1 sm:p-2 md:p-3 rounded-full" > @@ -45,20 +45,20 @@ export function Footer ({ className, ...props }: React.HTMLAttributes
- +
-
+
Durhack Logo -
+

DurHack follows the {mlhCodeOfConduct}. Photos and videos taken at events in 2024.



DurHack is an event hosted by Durham University Computing Society ({CompSoc}), which is a student society affiliated with Durham Students' Union ({StudentUnion}). Durham Students' Union is registered in England as a company limited by guarantee (07689815) and a charity (1145400), with VAT number 119733690 and registered office Dunelm House, New Elvet, Durham DH1 3AN.

From bddc951c99a9e06ea15ec11c8375b03505cb936b Mon Sep 17 00:00:00 2001 From: ItzTJSV2 Date: Tue, 28 Oct 2025 01:03:52 +0000 Subject: [PATCH 5/6] Cloud gradient fix --- client/src/components/footer.tsx | 8 ++--- .../src/components/graphics/clouds-footer.tsx | 34 ++++++++++++++----- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/client/src/components/footer.tsx b/client/src/components/footer.tsx index 818f1f25..46bbf966 100644 --- a/client/src/components/footer.tsx +++ b/client/src/components/footer.tsx @@ -45,13 +45,13 @@ export function Footer ({ className, ...props }: React.HTMLAttributes
- +
@@ -72,7 +72,7 @@ export function Footer ({ className, ...props }: React.HTMLAttributes

CONTACT US!



@@ -83,7 +83,7 @@ export function Footer ({ className, ...props }: React.HTMLAttributes
-
+

) { return ( - - - + + + + + + + + + ) } From 8ca6f42d215f58a3d3317336ea55eb72eb690075 Mon Sep 17 00:00:00 2001 From: ItzTJSV2 Date: Tue, 28 Oct 2025 15:03:33 +0000 Subject: [PATCH 6/6] Fix small width --- client/src/components/footer.tsx | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/client/src/components/footer.tsx b/client/src/components/footer.tsx index 46bbf966..61c45e16 100644 --- a/client/src/components/footer.tsx +++ b/client/src/components/footer.tsx @@ -45,17 +45,13 @@ export function Footer ({ className, ...props }: React.HTMLAttributes -

- -
- -
- +
+