Skip to content

Commit c6ec838

Browse files
committed
Add services page, update to collapse menu on mobile
1 parent e6a2551 commit c6ec838

21 files changed

+260
-58
lines changed

bun.lock

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"embla-carousel-react": "^8.6.0",
3131
"fast-glob": "^3.3.3",
3232
"gray-matter": "^4.0.3",
33+
"hamburger-react": "^2.5.2",
3334
"highlight.js": "^11.11.1",
3435
"husky": "^9.1.7",
3536
"js-yaml": "^4.1.0",

public/img/dots.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

public/img/services/hero.svg

Lines changed: 1 addition & 0 deletions
Loading

src/components/CheckList.tsx

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,24 @@ export const CheckList: React.FC<{
1010
className?: string;
1111
variant?: ColorVariant;
1212
icon?: LucideIcon;
13-
}> = ({ listItems = [], className, variant, icon: Icon = Check, ...props }) => {
13+
columns?: boolean;
14+
}> = ({
15+
listItems = [],
16+
className,
17+
variant,
18+
columns = false,
19+
icon: Icon = Check,
20+
...props
21+
}) => {
1422
return (
15-
<ul className={clsx(styles.check_list, className)} {...props}>
23+
<ul
24+
className={clsx(
25+
styles.check_list,
26+
columns && styles["check_list--columns"],
27+
className
28+
)}
29+
{...props}
30+
>
1631
{listItems.map((item, i) => (
1732
<li key={i}>
1833
<Icon

src/components/Navbar.tsx

Lines changed: 50 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
import styles from "styles/components/Navbar.module.scss";
21
import clsx from "clsx";
3-
import Link from "next/link";
42
import { LogoType } from "components/LogoType";
3+
import { Cross as Hamburger } from "hamburger-react";
4+
import Link from "next/link";
5+
import { useState } from "react";
6+
import styles from "styles/components/Navbar.module.scss";
57

68
const NAV_ITEMS = [
79
{ href: "/", label: "Home", hideMobile: true },
10+
{ href: "/services", label: "Services" },
811
{ href: "/team", label: "Team" },
912
{ href: "/mission", label: "Mission" },
1013
{
@@ -17,43 +20,57 @@ export const Navbar: React.FC<{
1720
showTagline?: boolean;
1821
actions?: React.ReactNode;
1922
}> = ({ showTagline = true, actions }) => {
23+
const [expanded, setExpanded] = useState(false);
24+
2025
return (
2126
<nav className={styles.navbar}>
22-
<Link href="/" className={styles.navbar__logo}>
23-
<LogoType />
24-
</Link>
27+
<div className={styles.navbar__header}>
28+
<Link href="/" className={styles.navbar__logo}>
29+
<LogoType />
30+
</Link>
2531

26-
<nav className={styles.navbar__nav}>
27-
{NAV_ITEMS.map((n) => {
28-
return (
29-
<Link
30-
key={n.href}
31-
href={n.href}
32-
className={clsx(
33-
styles.navbar__nav_item,
34-
n.hideMobile && styles["navbar__nav_item--hide_mobile"],
35-
)}
36-
>
37-
{n.label}
38-
</Link>
39-
);
40-
})}
41-
</nav>
42-
43-
<div className={styles.navbar__right}>
44-
{actions && <div className={styles.navbar__actions}>{actions}</div>}
32+
<span
33+
className={clsx(styles.navbar__toggle, "text-primary text-muted")}
34+
>
35+
<Hamburger size={24} toggled={expanded} toggle={setExpanded} />
36+
</span>
37+
</div>
4538

46-
{showTagline && (
47-
<a
48-
href="/team"
49-
className={styles.navbar__tagline}
50-
>
51-
<span className={styles.navbar__attention}>
52-
small but <span className={styles.navbar__highlight}>mighty</span>
53-
</span>
54-
</a>
39+
<div
40+
className={clsx(
41+
styles.navbar__body,
42+
expanded && styles["navbar__body--expanded"]
5543
)}
44+
>
45+
<nav className={clsx(styles.navbar__nav)}>
46+
{NAV_ITEMS.map((n) => {
47+
return (
48+
<Link
49+
key={n.href}
50+
href={n.href}
51+
className={clsx(
52+
styles.navbar__nav_item,
53+
n.hideMobile && styles["navbar__nav_item--hide_mobile"]
54+
)}
55+
>
56+
{n.label}
57+
</Link>
58+
);
59+
})}
60+
</nav>
61+
62+
<div className={styles.navbar__right}>
63+
{actions && <div className={styles.navbar__actions}>{actions}</div>}
64+
</div>
5665
</div>
66+
67+
{showTagline && (
68+
<a href="/team" className={styles.navbar__tagline}>
69+
<span className={styles.navbar__attention}>
70+
small but <span className={styles.navbar__highlight}>mighty</span>
71+
</span>
72+
</a>
73+
)}
5774
</nav>
5875
);
5976
};

0 commit comments

Comments
 (0)