diff --git a/src/components/widgets/StaffCard.astro b/src/components/widgets/StaffCard.astro
index badbf8a..f37bf1f 100644
--- a/src/components/widgets/StaffCard.astro
+++ b/src/components/widgets/StaffCard.astro
@@ -8,10 +8,11 @@ import { twMerge } from "tailwind-merge";
export interface Props {
name: string;
noSocials?: boolean;
- forceAspectRatio?: boolean,
+ forceAspectRatio?: boolean;
+ title?: string;
}
-const { name, noSocials, forceAspectRatio } = Astro.props;
+const { name, noSocials, forceAspectRatio, title } = Astro.props;
const basePath = "/src/assets/images/staff/";
let leadershipData = getStaffRecord(name);
@@ -48,7 +49,7 @@ const image = images[imagePath]();
{name}
-
{leadershipData.title}
+
{title || leadershipData.title}
{leadershipData.major || }
diff --git a/src/components/widgets/SubteamInfo.astro b/src/components/widgets/SubteamInfo.astro
index 620a770..69d0bdf 100644
--- a/src/components/widgets/SubteamInfo.astro
+++ b/src/components/widgets/SubteamInfo.astro
@@ -1,6 +1,6 @@
---
import Socials from "./Socials.astro";
-import { Image} from "astro:assets";
+import { Image } from "astro:assets";
import { type TeamMember } from "~/types";
import { type ImageProps } from "~/utils/images-optimization";
import getStaffRecord from "~/staffData";
@@ -8,42 +8,48 @@ import getStaffRecord from "~/staffData";
export interface Props {
title: string;
leads: string[];
- images: Array<{src: Promise
, alt: string}>;
+ images: Array<{ src: Promise; alt: string }>;
+ content?: string;
}
-const { title, leads = [], images = [] } = Astro.props;
+const {
+ title,
+ leads = [],
+ images = [],
+ content = await Astro.slots.render("content"),
+} = Astro.props;
---
-
-
-
{title}
+
+
+
+
{title}
-
-
- {leads.length > 1 ? "Team Leads: " : "Team Lead: "}
-
- {
- leads.map((name) => (
-
- {name}
-
-
- ))
- }
-
-
+
+
+ {leads.length > 1 ? "Team Leads: " : "Team Lead: "}
+
+ {
+ leads.map((name) => (
+
+ {name}
+
+
+ ))
+ }
+
+
+
+
+
+
+
-
-
+
+ {images.map((i) => )}
-
- {
- images.map((i) => (
-
- ))
- }
-
+
diff --git a/src/pages/leadership.astro b/src/pages/leadership.astro
index 8942349..194f4a6 100644
--- a/src/pages/leadership.astro
+++ b/src/pages/leadership.astro
@@ -25,23 +25,27 @@ for (let { sectionShort, sectionId } of leadershipPageLayout) {
- {
- leadershipPageLayout.map(({ section, sectionId, staff }) => (
-
-
-
{section}
-
-
- {staff.map((name) => (
-
- ))}
+
+ {
+ leadershipPageLayout.map(({ section, sectionId, staff }) => (
+
+
+
+ {section}
+
+
+
+ {staff.map((name) => (
+
+ ))}
+
+ ))
+ }
-
-
-
-
- ))
- }
+
+
+
+
diff --git a/src/pages/projects/sac.astro b/src/pages/projects/sac.astro
index 9263e50..6169ce3 100644
--- a/src/pages/projects/sac.astro
+++ b/src/pages/projects/sac.astro
@@ -8,6 +8,8 @@ import MeetTheTeams from "~/components/widgets/MeetTheTeams.astro";
import TeamOverview from "~/components/widgets/TeamOverview.astro";
import TeamOverviewLeader from "~/components/widgets/TeamOverviewLeader.astro";
import SubteamInfo from "~/components/widgets/SubteamInfo.astro";
+import StaffCard from "~/components/widgets/StaffCard.astro";
+import { flightSoftwareResponsibleEngineers } from "~/staffData";
const metadata = {
title: "BSLI — The Ohio State University",
@@ -158,6 +160,22 @@ const metadata = {
teams to collect proper data for a successful flight. Additionally, they
work closely with Recovery and Payload to assist and ensure the proper
systems and data collection systems work for their needs.
+
+
+
+ Responsible Engineers
+
+
+
+ {
+ flightSoftwareResponsibleEngineers.map(({ name, title }) =>
+
+ )
+ }
+
+