-
-
- {CAL_VIEW_ARRAY.map((item) => {
+ {!dataFuture &&
No event data
}
+ {view === "Upcoming" && (
+
+ {dataFuture &&
+ dataFuture.slice(0, 4).map((e: DataProps, i: number) => {
return (
-
setView(item)}
+
- {item}
-
+
+
)
})}
-
- {isLoading &&
Loading...
}
- {!dataFuture &&
No event data
}
- {view === "Upcoming" && (
-
- {dataFuture &&
- dataFuture.slice(0, 4).map((e: DataProps, i) => {
- return (
-
-
-
- )
- })}
-
- )}
- {view === "Weekly" && (
-
-
-
- )}
- {view === "Monthly" && (
-
-
-
- )}
-
-
-
-
+ )}
+ {view === "Weekly" && (
+
+
+
+ )}
+ {view === "Monthly" && (
+
+
+
+ )}
+ >
)
}
diff --git a/components/LinkCard.tsx b/components/LinkCard.tsx
new file mode 100644
index 0000000..003ad34
--- /dev/null
+++ b/components/LinkCard.tsx
@@ -0,0 +1,19 @@
+import React from "react"
+
+type CardProps = {
+ className?: string
+}
+
+export function LinkCard({
+ className = "",
+ children,
+}: React.PropsWithChildren
) {
+ return (
+
+ )
+}
diff --git a/components/Opportunities.tsx b/components/Opportunities.tsx
new file mode 100644
index 0000000..998eda5
--- /dev/null
+++ b/components/Opportunities.tsx
@@ -0,0 +1,58 @@
+"use client"
+import React, { use, useState, useEffect } from "react"
+import Link from "next/link"
+import { LinkCard } from "@/components/LinkCard"
+import {
+ MapPinIcon,
+ ArrowRightIcon,
+ UserPlusIcon,
+} from "@heroicons/react/24/solid"
+import Spinner from "@/components/assets/Spinner"
+
+interface PositionProps {
+ title: string
+ externalPath: string
+ locationsText: string
+ postedOn: string
+ bulletFields: string[]
+}
+
+export function Opportunities({ data }: { data: Promise }) {
+ const opportunities = use(data)
+ return (
+ <>
+ {opportunities.jobPostings.length > 0 &&
+ opportunities.jobPostings.map((position: PositionProps) => {
+ return (
+
+ )
+ })}
+ >
+ )
+}
diff --git a/components/SectionHeader.tsx b/components/SectionHeader.tsx
new file mode 100644
index 0000000..9635d95
--- /dev/null
+++ b/components/SectionHeader.tsx
@@ -0,0 +1,21 @@
+"use client"
+import Link from "next/link"
+import React from "react"
+
+interface SectionHeaderProps {
+ title: string
+ href: string
+ icon?: React.ReactNode
+}
+
+const SectionHeader = ({ title, href, icon }: SectionHeaderProps) => {
+ return (
+
+
+ {icon && icon} {title}
+
+
+ )
+}
+
+export default SectionHeader
diff --git a/components/assets/Spinner.tsx b/components/assets/Spinner.tsx
new file mode 100644
index 0000000..13eb77b
--- /dev/null
+++ b/components/assets/Spinner.tsx
@@ -0,0 +1,28 @@
+import React from "react"
+import { LogoProps } from "@/components/assets/types"
+
+const Spinner: React.FC = ({ width = 75 }) => {
+ return (
+
+ )
+}
+
+export default Spinner
diff --git a/components/calendar/CalendarHeading.tsx b/components/calendar/CalendarHeading.tsx
index b1e5ec5..1fab7cf 100644
--- a/components/calendar/CalendarHeading.tsx
+++ b/components/calendar/CalendarHeading.tsx
@@ -29,7 +29,7 @@ export const CalendarHeading: React.FC = ({