diff --git a/apps/web/__tests__/__snapshots__/index.snapshot.tsx.snap b/apps/web/__tests__/__snapshots__/index.snapshot.tsx.snap
index 23e056bb..7653be8d 100644
--- a/apps/web/__tests__/__snapshots__/index.snapshot.tsx.snap
+++ b/apps/web/__tests__/__snapshots__/index.snapshot.tsx.snap
@@ -77,12 +77,12 @@ exports[`renders homepage unchanged 1`] = `
class="chakra-stack css-lha1ht"
>
Techterview 101: Navigating the Internship World
February 22, 2022
@@ -123,12 +123,12 @@ exports[`renders homepage unchanged 1`] = `
class="chakra-stack css-lha1ht"
>
21st Main Committee
March 31, 2021
diff --git a/apps/web/features/layout/components/WebLayout.tsx b/apps/web/features/layout/components/WebLayout.tsx
index 2d495585..9aacb24b 100644
--- a/apps/web/features/layout/components/WebLayout.tsx
+++ b/apps/web/features/layout/components/WebLayout.tsx
@@ -9,16 +9,15 @@ export const WebLayout = ({ children }: WebLayoutProps) => {
const navbarProps: NavBarProps = {
links: [
{ label: "Home", href: "/" },
- { label: "Academics", href: "/academics" },
+ { label: "About", href: "/about" },
{ label: "Events", href: "/events" },
+ { label: "Academics", href: "/academics" },
+ { label: "Learn", href: "/learn" },
{ label: "Sponsors", href: "/sponsors" },
- { label: "Contact", href: "/contact" },
- { label: "BLOG", href: "/blog", menuLinkStyle: "button.golden" },
],
logoProps: {
src: "/scse-logo.png",
alt: "scse logo",
- text: "NTU School of Computer Science & Engineering Club",
},
};
const footerProps: FooterProps = {
diff --git a/apps/web/pages/_app.tsx b/apps/web/pages/_app.tsx
index e1a4b017..4312a164 100644
--- a/apps/web/pages/_app.tsx
+++ b/apps/web/pages/_app.tsx
@@ -2,10 +2,12 @@ import "../styles/globals.css";
import type { AppProps } from "next/app";
import { ChakraProvider } from "@chakra-ui/react";
import { theme } from "ui/theme";
-import "@fontsource/roboto/400.css";
-import "@fontsource/roboto/700.css";
-import "@fontsource/roboto-slab/400.css";
-import "@fontsource/poppins/400.css";
+import "@fontsource/work-sans/300.css";
+import "@fontsource/work-sans/400.css";
+import "@fontsource/work-sans/600.css";
+import "@fontsource/work-sans/700.css";
+import "ui/fonts/styles.css"; // for custom fonts not available on @fontsource
+
import { WebLayout } from "@/features/layout";
const App = ({ Component, pageProps }: AppProps) => {
diff --git a/apps/web/pages/learn.tsx b/apps/web/pages/learn.tsx
new file mode 100644
index 00000000..9244c871
--- /dev/null
+++ b/apps/web/pages/learn.tsx
@@ -0,0 +1,17 @@
+import { Flex, Text } from "@chakra-ui/react";
+
+const Learn = () => {
+ return (
+
+
+ Coming Soon...
+
+
+ );
+};
+
+export default Learn;
diff --git a/packages/ui/components/blog-card/BlogCardContent.tsx b/packages/ui/components/blog-card/BlogCardContent.tsx
index bc5e8b29..eae628c3 100644
--- a/packages/ui/components/blog-card/BlogCardContent.tsx
+++ b/packages/ui/components/blog-card/BlogCardContent.tsx
@@ -19,13 +19,13 @@ export const BlogCardContent = ({
color="gray.700"
fontSize="2xl"
fontFamily="body"
- _hover={{ cursor: "pointer", color: "brand.blue" }}
+ _hover={{ cursor: "pointer", color: "brand.navy.medium" }}
>
{title}
{/* Date */}
-
+
{date}
diff --git a/packages/ui/components/blog-card/BlogCardImage.tsx b/packages/ui/components/blog-card/BlogCardImage.tsx
index 813c1796..33e4be16 100644
--- a/packages/ui/components/blog-card/BlogCardImage.tsx
+++ b/packages/ui/components/blog-card/BlogCardImage.tsx
@@ -33,7 +33,7 @@ export const BlogCardImage = ({ alt, src, ...props }: BlogCardImageProps) => {
{
return (
{
- {children}
+ {children}
-
- {text}
-
);
diff --git a/packages/ui/components/navbar/MenuItems.tsx b/packages/ui/components/navbar/MenuItems.tsx
index 1d29b0cc..5a361375 100644
--- a/packages/ui/components/navbar/MenuItems.tsx
+++ b/packages/ui/components/navbar/MenuItems.tsx
@@ -1,5 +1,5 @@
import React from "react";
-import { Box, Stack } from "@chakra-ui/react";
+import { Box, Link, Stack, Text } from "@chakra-ui/react";
import { MenuLink, MenuLinkProps } from "./MenuLink";
interface MenuItemProps {
@@ -10,9 +10,12 @@ interface MenuItemProps {
export const MenuItems = ({ isOpen = false, links }: MenuItemProps) => {
return (
{
justify={"flex-end"}
direction={{ base: "column", xl: "row" }}
pt={0}
- fontSize={{ base: 22, xl: 15 }}
fontWeight="bold"
>
{links.map((link) => {
@@ -29,11 +31,28 @@ export const MenuItems = ({ isOpen = false, links }: MenuItemProps) => {
key={link.label}
label={link.label}
href={link.href}
- menuLinkStyle={link.menuLinkStyle}
/>
);
})}
+
+ {/* CTA Button -> Contact */}
+
+ Contact
+
);
};
diff --git a/packages/ui/components/navbar/MenuLink.tsx b/packages/ui/components/navbar/MenuLink.tsx
index b22ef7e0..0fcc4b19 100644
--- a/packages/ui/components/navbar/MenuLink.tsx
+++ b/packages/ui/components/navbar/MenuLink.tsx
@@ -5,52 +5,24 @@ import { useRouter } from "next/router";
export interface MenuLinkProps {
label: string;
href: string;
- menuLinkStyle?: "default" | "button.golden";
}
-export const MenuLink = ({
- label,
- href = "/",
- menuLinkStyle = "default",
-}: MenuLinkProps) => {
- switch (menuLinkStyle) {
- case "button.golden":
- return ;
- default:
- return ;
- }
-};
-
-const DefaultMenuLink = ({ label, href }: MenuLinkProps) => {
+export const MenuLink = ({ label, href = "/" }: MenuLinkProps) => {
const router = useRouter();
return (
-
+
{label}
);
};
-
-const ButtonMenuLinkGolden = ({ label, href }: MenuLinkProps) => {
- return (
-
- {label}
-
- );
-};
diff --git a/packages/ui/components/navbar/MenuToggle.tsx b/packages/ui/components/navbar/MenuToggle.tsx
index 55d956bb..b01ff8b1 100644
--- a/packages/ui/components/navbar/MenuToggle.tsx
+++ b/packages/ui/components/navbar/MenuToggle.tsx
@@ -1,6 +1,6 @@
import React from "react";
import { Box } from "@chakra-ui/react";
-import { CloseIcon, HamburgerIcon } from "@chakra-ui/icons";
+import { HamburgerIcon } from "@chakra-ui/icons";
interface MenuToggleProps {
toggle: React.MouseEventHandler;
@@ -12,14 +12,14 @@ export const MenuToggle = ({ toggle, isOpen }: MenuToggleProps) => {
- {isOpen ? (
-
- ) : (
-
- )}
+
);
};
diff --git a/packages/ui/components/navbar/NavBar.stories.tsx b/packages/ui/components/navbar/NavBar.stories.tsx
index 2bc7813d..f117ac1d 100644
--- a/packages/ui/components/navbar/NavBar.stories.tsx
+++ b/packages/ui/components/navbar/NavBar.stories.tsx
@@ -22,22 +22,5 @@ Default.args = {
logoProps: {
src: "/scse-logo.png",
alt: "scse logo",
- text: "NTU School of Computer Science & Engineering Club",
- },
-};
-export const GoldenButton = Template.bind({});
-GoldenButton.args = {
- links: [
- { label: "Home", href: "/" },
- { label: "Academics", href: "/academics" },
- { label: "Events", href: "/events" },
- { label: "Sponsors", href: "/sponsors" },
- { label: "Contact", href: "/contact" },
- { label: "BLOG", href: "/blog", menuLinkStyle: "button.golden" },
- ],
- logoProps: {
- src: "/scse-logo.png",
- alt: "scse logo",
- text: "NTU School of Computer Science & Engineering Club",
},
};
diff --git a/packages/ui/components/navbar/NavBar.tsx b/packages/ui/components/navbar/NavBar.tsx
index 2a302cf1..97eb298f 100644
--- a/packages/ui/components/navbar/NavBar.tsx
+++ b/packages/ui/components/navbar/NavBar.tsx
@@ -4,7 +4,7 @@ import { Logo, LogoProps } from "./Logo";
import { MenuToggle } from "./MenuToggle";
import { MenuItems } from "./MenuItems";
import { NavDrawer } from "./NavDrawer";
-import { useDisclosure } from "@chakra-ui/react";
+import { HStack, useDisclosure } from "@chakra-ui/react";
import { MenuLinkProps } from "./MenuLink";
export interface NavBarProps {
@@ -17,8 +17,10 @@ export const NavBar = ({ links, logoProps }: NavBarProps) => {
return (
-
-
+
+
+
+
{/* For small screen sizes */}
diff --git a/packages/ui/components/navbar/NavBarContainer.tsx b/packages/ui/components/navbar/NavBarContainer.tsx
index 001235cc..7ac5ffc3 100644
--- a/packages/ui/components/navbar/NavBarContainer.tsx
+++ b/packages/ui/components/navbar/NavBarContainer.tsx
@@ -12,16 +12,16 @@ export const NavBarContainer = ({
return (
{children}
diff --git a/packages/ui/fonts/garet/Garet-Book.otf b/packages/ui/fonts/garet/Garet-Book.otf
new file mode 100644
index 00000000..abc496fc
Binary files /dev/null and b/packages/ui/fonts/garet/Garet-Book.otf differ
diff --git a/packages/ui/fonts/garet/Garet-Book.ttf b/packages/ui/fonts/garet/Garet-Book.ttf
new file mode 100644
index 00000000..3d3c7d0d
Binary files /dev/null and b/packages/ui/fonts/garet/Garet-Book.ttf differ
diff --git a/packages/ui/fonts/garet/Garet-Book.woff b/packages/ui/fonts/garet/Garet-Book.woff
new file mode 100644
index 00000000..f8fd6406
Binary files /dev/null and b/packages/ui/fonts/garet/Garet-Book.woff differ
diff --git a/packages/ui/fonts/garet/Garet-Book.woff2 b/packages/ui/fonts/garet/Garet-Book.woff2
new file mode 100644
index 00000000..ea391980
Binary files /dev/null and b/packages/ui/fonts/garet/Garet-Book.woff2 differ
diff --git a/packages/ui/fonts/garet/Garet-Heavy.otf b/packages/ui/fonts/garet/Garet-Heavy.otf
new file mode 100644
index 00000000..08fcaf56
Binary files /dev/null and b/packages/ui/fonts/garet/Garet-Heavy.otf differ
diff --git a/packages/ui/fonts/garet/Garet-Heavy.ttf b/packages/ui/fonts/garet/Garet-Heavy.ttf
new file mode 100644
index 00000000..9d36171c
Binary files /dev/null and b/packages/ui/fonts/garet/Garet-Heavy.ttf differ
diff --git a/packages/ui/fonts/garet/Garet-Heavy.woff b/packages/ui/fonts/garet/Garet-Heavy.woff
new file mode 100644
index 00000000..9344ae6b
Binary files /dev/null and b/packages/ui/fonts/garet/Garet-Heavy.woff differ
diff --git a/packages/ui/fonts/garet/Garet-Heavy.woff2 b/packages/ui/fonts/garet/Garet-Heavy.woff2
new file mode 100644
index 00000000..2f525f58
Binary files /dev/null and b/packages/ui/fonts/garet/Garet-Heavy.woff2 differ
diff --git a/packages/ui/fonts/styles.css b/packages/ui/fonts/styles.css
new file mode 100644
index 00000000..85efa300
--- /dev/null
+++ b/packages/ui/fonts/styles.css
@@ -0,0 +1,13 @@
+/* Custom Font */
+@font-face {
+ font-family: 'Garet';
+ src: url('./garet/Garet-Book.otf') format('opentype'), /* OpenType (.otf) */
+ url('./garet/Garet-Book.ttf') format('truetype'), /* TrueType (.ttf) */
+ url('./garet/Garet-Book.woff') format('woff'), /* Web Open Font Format (.woff) */
+ url('./garet/Garet-Book.woff2') format('woff2'), /* Web Open Font Format 2 (.woff2) */
+ /* Heavy */
+ url('./garet/Garet-Heavy.otf') format('opentype'), /* OpenType (.otf) */
+ url('./garet/Garet-Heavy.ttf') format('truetype'), /* TrueType (.ttf) */
+ url('./garet/Garet-Heavy.woff') format('woff'), /* Web Open Font Format (.woff) */
+ url('./garet/Garet-Heavy.woff2') format('woff2'); /* Web Open Font Format 2 (.woff2) */
+}
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 67092ab2..f58a47f3 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -42,6 +42,7 @@
"dependencies": {
"@fontsource/poppins": "^4.5.10",
"@fontsource/roboto": "^4.5.8",
- "@fontsource/roboto-slab": "^4.5.9"
+ "@fontsource/roboto-slab": "^4.5.9",
+ "@fontsource/work-sans": "^4.5.14"
}
}
diff --git a/packages/ui/theme/components/Button.ts b/packages/ui/theme/components/Button.ts
index bca47d97..3c328720 100644
--- a/packages/ui/theme/components/Button.ts
+++ b/packages/ui/theme/components/Button.ts
@@ -25,7 +25,7 @@ const Button = defineStyleConfig({
// Styles for the visual style variations
variants: {
'primary-blue': {
- bg: 'brand.blue',
+ bg: 'brand.navy.medium',
},
'primary-black': {
bg: 'black',
diff --git a/packages/ui/theme/foundations/colors.ts b/packages/ui/theme/foundations/colors.ts
index e4da0b24..bd3e20e7 100644
--- a/packages/ui/theme/foundations/colors.ts
+++ b/packages/ui/theme/foundations/colors.ts
@@ -1,22 +1,30 @@
const colors = {
brand: {
- blue: "#2B6CB0", //blue.600
+ // Main SCSE brand colors
+ navy: {
+ light: "#6181AB",
+ medium: "#254876",
+ dark: "#0F2B50",
+ },
+ red: {
+ light: "#EF8891",
+ medium: "#DD616B",
+ dark: "#DE4652",
+ },
+
+ // Other Colors
black: "#000000",
white: "#FFFFFF",
- orange: {
- light: "#ED8936", //300
- mid: "#ED8936", //400
- },
gray: {
light: "#F7FAFC", //gray.50
- midlight: "#E2E8F0", //gray.200
- mid: "#A0AEC0", //gray.400
- midDark: "#718096", //gray.500
+ mediumLight: "#E2E8F0", //gray.200
+ medium: "#A0AEC0", //gray.400
+ mediumDark: "#718096", //gray.500
dark: "#2D3748", //gray.700
},
blackAlpha: {
light: "RGBA(0, 0, 0, 0.04)", //50
- mid: "RGBA(0, 0, 0, 0.16)", //300
+ medium: "RGBA(0, 0, 0, 0.16)", //300
dark: "RGBA(0, 0, 0, 0.36)", //500
darker: "RGBA(0, 0, 0, 0.48)", //600
},
diff --git a/packages/ui/theme/foundations/fonts.ts b/packages/ui/theme/foundations/fonts.ts
index 025d9c50..0331b9a7 100644
--- a/packages/ui/theme/foundations/fonts.ts
+++ b/packages/ui/theme/foundations/fonts.ts
@@ -1,9 +1,9 @@
const fonts = {
- heading: `'Roboto', sans-serif`,
- body: `'Roboto', sans-serif`,
- title: `'Roboto', sans-serif`,
- navigation: `'Poppins', sans-serif`,
- timestamp: `'Roboto Slab', sans-serif`,
+ heading: `'Work Sans', sans-serif`,
+ body: `'Work Sans', sans-serif`,
+ title: `'Work Sans', sans-serif`,
+ navigation: `'Garet', sans-serif`,
+ timestamp: `'Work Sans', sans-serif`,
};
export default fonts;
diff --git a/yarn.lock b/yarn.lock
index 0f88830e..b34976d2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3386,6 +3386,11 @@
resolved "https://registry.yarnpkg.com/@fontsource/roboto/-/roboto-4.5.8.tgz#56347764786079838faf43f0eeda22dd7328437f"
integrity sha512-CnD7zLItIzt86q4Sj3kZUiLcBk1dSk81qcqgMGaZe7SQ1P8hFNxhMl5AZthK1zrDM5m74VVhaOpuMGIL4gagaA==
+"@fontsource/work-sans@^4.5.14":
+ version "4.5.14"
+ resolved "https://registry.yarnpkg.com/@fontsource/work-sans/-/work-sans-4.5.14.tgz#965bf103baa9f812d042b5f678a34f632fa76f2e"
+ integrity sha512-AFBSDBA3hnSCXHwb52qBOMEGqF5nfdbANp+y5/hbE1PMjYfFY0lUdtUwL5J7mRAdyn1NJwobJlhduHtlAyPzmA==
+
"@gar/promisify@^1.0.1":
version "1.1.3"
resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6"