diff --git a/src/components/layout/avatar-loading.tsx b/src/components/layout/avatar-loading.tsx index 730038d..7a43cb1 100644 --- a/src/components/layout/avatar-loading.tsx +++ b/src/components/layout/avatar-loading.tsx @@ -1,27 +1,28 @@ import { CircularProgress, Stack, Typography } from "@mui/joy"; import { MockAvatar } from "../../api/mock-avatar"; +import { colors } from "../../utils/colors"; export const AvatarLoading = () => { return ( - - - - Hang on, superhero. + + + + + Hang on, superhero. + - + + - - + + + We’re putting the final touches on your Avatar’s powers. - + + diff --git a/src/components/layout/card-top-strengths.tsx b/src/components/layout/card-top-strengths.tsx index 14c8539..7b8404b 100644 --- a/src/components/layout/card-top-strengths.tsx +++ b/src/components/layout/card-top-strengths.tsx @@ -11,6 +11,8 @@ import { import { useState } from "react"; import { mockTopStrengths } from "../../api/mock-data"; import { PlusSignOutlined } from "../../assets/icons/plus-sign"; +import { addHexTransparency } from "../../utils/add-hex-transparency"; +import { colors } from "../../utils/colors"; const AccordionItem = ({ number, @@ -40,43 +42,38 @@ const AccordionItem = ({ button: { sx: { width: "100%", - bgcolor: "#F1F1F1", - py: 0.75, - pl: 0.75, + bgcolor: "neutral.lightest", + py: 0.5, + pl: 1, pr: 2.5, borderRadius: 20 } } }} > - + - {number} + + {number} + - {label} + {label} + - {details} + {details} ); }; const StrengthItem = ({ color, label, percentage }: { color: string; label: string; percentage: number }) => ( - - - + + + {label} {percentage}% @@ -101,28 +98,30 @@ const StrengthItem = ({ color, label, percentage }: { color: string; label: stri export const CardTopStrengths = () => { return ( - - Your Top 10 Strengths + + Your Top 10 Strengths - - {mockTopStrengths.map((item, index) => ( - - ))} + + + {mockTopStrengths.map((item, index) => ( + + ))} + - - + + - + diff --git a/src/components/navigation/navbar.tsx b/src/components/navigation/navbar.tsx index f289e89..2c5139c 100644 --- a/src/components/navigation/navbar.tsx +++ b/src/components/navigation/navbar.tsx @@ -14,22 +14,20 @@ export const Navbar = ({ hasSubvisualIcon }: NavbarProps) => { return ( {hasSubvisualIcon && } - + - + - + John setIsOpen(!isOpen)}> diff --git a/src/components/shared/containers.tsx b/src/components/shared/containers.tsx index 8d42126..227d150 100644 --- a/src/components/shared/containers.tsx +++ b/src/components/shared/containers.tsx @@ -11,16 +11,16 @@ type LayoutProps = { export const Layout = ({ children, hasSideBar = false, alignCenter = false }: LayoutProps) => { const LayoutChildren = () => ( - + - {children} + {children} ); return ( <> {hasSideBar ? ( - + diff --git a/src/pages/avatar-create.page.tsx b/src/pages/avatar-create.page.tsx index e02434e..2b57d72 100644 --- a/src/pages/avatar-create.page.tsx +++ b/src/pages/avatar-create.page.tsx @@ -5,42 +5,32 @@ import { ArrowRightOutlined } from "../assets/icons/arrow-right"; export const AvatarCreatePage = () => { return ( - - - - + + + + Your Strength-Based Avatar is Almost Ready! - Now, let's customize the core features to bring your Avatar to life. + + Now, let's customize the core features to bring your Avatar to life. + - + - + - + } - sx={{ - color: "neutral.black", - gap: 0.5 - }} + textColor="neutral.black" + gap={0.5} > Next diff --git a/src/pages/avatar-results.page.tsx b/src/pages/avatar-results.page.tsx index 3196bf8..d1dbce3 100644 --- a/src/pages/avatar-results.page.tsx +++ b/src/pages/avatar-results.page.tsx @@ -15,28 +15,25 @@ export const AvatarResultsPage = () => { {loading ? ( ) : ( - - - - - - - Your Strengths, - brought to life. + + + + + + + Your Strengths, brought to life. - + Meet your personalized avatar—a reflection of your unique talents and abilities. - + - - diff --git a/src/pages/home.page.tsx b/src/pages/home.page.tsx deleted file mode 100644 index 228ef30..0000000 --- a/src/pages/home.page.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { Typography } from "@mui/joy"; -import { Layout } from "../components/shared/containers"; - -export const HomePage = () => { - return ( - - Hello World - - ); -}; diff --git a/src/pages/signup.page.tsx b/src/pages/signup.page.tsx index bc4e369..e1b8884 100644 --- a/src/pages/signup.page.tsx +++ b/src/pages/signup.page.tsx @@ -1,44 +1,38 @@ -import { Button, Input, Link, Stack, Typography } from "@mui/joy"; +import { Box, Button, Input, Link, Stack, Typography } from "@mui/joy"; export const SignupPage = () => { return ( - - - Subvisual Strengths - + + + + Subvisual Strengths + + Explore your top talents and how they shape your role in the team. - - - - - Welcome to Subvisual Strengths! + + + + + + Welcome to Subvisual Strengths! + - You are one step away from seeing your strengths coming to life. + + You are one step away from seeing your strengths coming to life. + @@ -47,24 +41,11 @@ export const SignupPage = () => { - - By signing up you're agreeing to our
- - Terms of service - {" "} - &{" "} - - Privacy Policy - - . + + By signing up you're agreeing to our{" "} + + Terms of service & Privacy Policy. +
diff --git a/src/theme.ts b/src/theme.ts index 817c684..3b82062 100644 --- a/src/theme.ts +++ b/src/theme.ts @@ -1,32 +1,12 @@ import { extendTheme } from "@mui/joy/styles"; import { addHexTransparency } from "./utils/add-hex-transparency"; +import { colors } from "./utils/colors"; declare module "@mui/joy/styles" { interface Palette { - subvisual: { - primary: `#${string}`; - primaryDark: `#${string}`; - purple: `#${string}`; - pink: `#${string}`; - }; - strengths: { - purple: `#${string}`; - green: `#${string}`; - orange: `#${string}`; - blue: `#${string}`; - }; - neutral: { - white: `#${string}`; - lightest: `#${string}`; - lighter: `#${string}`; - light: `#${string}`; - baseLighter: `#${string}`; - baseDarker: `#${string}`; - dark: `#${string}`; - darker: `#${string}`; - darkest: `#${string}`; - black: `#${string}`; - }; + subvisual: typeof colors.subvisual; + strengths: typeof colors.strengths; + neutral: typeof colors.neutral; } } @@ -34,41 +14,51 @@ export const theme = extendTheme({ colorSchemes: { light: { palette: { - subvisual: { - primary: "#065BFB", - primaryDark: "#2521AB", - purple: "#FF7B9B", - pink: "#FF7B9B" - }, - strengths: { - purple: "#7B2381", // executing - green: "#00945C", // strategic thinking - orange: "#E97101", // influencing - blue: "#0070CD" // relationship building - }, - neutral: { - white: "#FFFFFF", - lightest: "#EAEAEA", - lighter: "#DDDDDF", - light: "#B5B6BA", - baseLighter: "#8F8F96", - baseDarker: "#6A6B73", - dark: "#48494F", - darker: "#29292D", - darkest: "#101113", - black: "#000000" - } + subvisual: colors.subvisual, + strengths: colors.strengths, + neutral: colors.neutral } } }, fontFamily: { - body: "'Inter', sans-serif" + body: "'Inter', sans-serif", + display: "'Colfax', sans-serif" + }, + typography: { + h1: { + fontSize: "48px" + }, + h2: { + fontSize: "40px" + }, + h3: { + fontSize: "36px" + }, + h4: { + fontSize: "24px" + }, + "title-lg": { fontSize: "20px", color: "neutral.black" }, + "title-md": { fontSize: "16px" }, + "title-sm": { fontSize: "12px" }, + "body-lg": { fontSize: "20px" }, + "body-md": { fontSize: "16px" }, + "body-sm": { fontSize: "12px", color: "neutral.light" }, + "body-xs": { fontSize: "10px" } }, components: { JoyTypography: { styleOverrides: { root: () => ({ - lineHeight: 1 + lineHeight: 1, + fontWeight: 400 + }) + } + }, + JoyLink: { + styleOverrides: { + root: ({ theme }) => ({ + color: theme.palette.neutral.black, + textDecorationColor: theme.palette.neutral.black }) } }, diff --git a/src/utils/add-hex-transparency.ts b/src/utils/add-hex-transparency.ts index aa96993..0b50085 100644 --- a/src/utils/add-hex-transparency.ts +++ b/src/utils/add-hex-transparency.ts @@ -1,8 +1,8 @@ -export const addHexTransparency = (hex: `#${string}`, percentage: `${number}%`) => { +export const addHexTransparency = (hex: string, percentage: `${number}%`) => { if (!hex.startsWith("#")) hex = `#${hex}`; const alphaValue = parseInt(percentage.replace("%", ""), 10); const alpha = Math.round((alphaValue / 100) * 255) .toString(16) .padStart(2, "0"); - return `${hex}${alpha}`; + return `${hex}${alpha}` as string; }; diff --git a/src/utils/colors.ts b/src/utils/colors.ts new file mode 100644 index 0000000..294bc45 --- /dev/null +++ b/src/utils/colors.ts @@ -0,0 +1,29 @@ +export const colors = { + subvisual: { + primary: "#065BFB", + primaryDark: "#2521AB", + purple: "#FF7B9B", + pink: "#FF7B9B" + }, + strengths: { + purple: "#7B2381", // executing + green: "#00945C", // strategic thinking + orange: "#E97101", // influencing + blue: "#0070CD" // relationship building + }, + neutral: { + white: "#FFFFFF", + lightest: "#EAEAEA", + lighter: "#DDDDDF", + light: "#B5B6BA", + baseLighter: "#8F8F96", + baseDarker: "#6A6B73", + dark: "#48494F", + darker: "#29292D", + darkest: "#101113", + black: "#000000" + }, + background: { + avatarLoading: "#038DEF" + } +};