diff --git a/src/components/SponsorLogo.tsx b/src/components/SponsorLogo.tsx
index 59ab6d9..3091739 100644
--- a/src/components/SponsorLogo.tsx
+++ b/src/components/SponsorLogo.tsx
@@ -1,25 +1,47 @@
+import Image, { StaticImageData } from "next/image";
import Link from "next/link";
+import { motion } from "framer-motion";
type SponsorLogoProps = {
sponsorLink: string;
- sponsorImage: string;
+ sponsorImage: StaticImageData | string;
+ alt: string;
};
-const SponsorLogo = (props: SponsorLogoProps) => {
+const SponsorLogo = ({ alt, sponsorImage, sponsorLink }: SponsorLogoProps) => {
+ const resolvedSrc =
+ typeof sponsorImage === "string" ? sponsorImage : sponsorImage.src;
+ const isSvg = resolvedSrc?.toLowerCase().endsWith(".svg");
+
+ const sharedProps = {
+ alt,
+ className: "mx-auto h-auto w-full max-w-[260px]",
+ loading: "lazy" as const,
+ };
+
return (
-
+
+ {isSvg ? (
+
+ ) : typeof sponsorImage === "string" ? (
+
+ ) : (
+
+ )}
+
);
};
diff --git a/src/components/SponsorSection/SponsorSection.tsx b/src/components/SponsorSection/SponsorSection.tsx
index 7966247..4fb2053 100644
--- a/src/components/SponsorSection/SponsorSection.tsx
+++ b/src/components/SponsorSection/SponsorSection.tsx
@@ -19,6 +19,7 @@ const SponsorSection = () => {
key={sponsor.sponsorLink}
>
diff --git a/src/components/SponsorSection/SponsorsInfo.ts b/src/components/SponsorSection/SponsorsInfo.ts
index d826d64..b051aa3 100644
--- a/src/components/SponsorSection/SponsorsInfo.ts
+++ b/src/components/SponsorSection/SponsorsInfo.ts
@@ -1,23 +1,34 @@
import sponsorLogoArcurve from "../../images/sponsors/sponsor-logo-arcurve.png";
import sponsorPason from "../../images/sponsors/sponsor-logo-pason.svg";
import sponsorIEEE from "../../images/sponsors/sponsor-logo-ieee.png";
+import sponsorSeisware from "../../images/sponsors/sponsor-logo-seisware.png";
+import type { StaticImageData } from "next/image";
export type Organization = {
sponsorLink: string;
- sponsorImage: string;
+ sponsorImage: StaticImageData | string;
+ alt: string;
};
export const SponsorList: Organization[] = [
{
- sponsorImage: sponsorPason.src,
+ alt: "Pason logo",
+ sponsorImage: sponsorPason,
sponsorLink: "https://www.pason.com/",
},
{
- sponsorImage: sponsorLogoArcurve.src,
+ alt: "Arcurve logo",
+ sponsorImage: sponsorLogoArcurve,
sponsorLink: "https://www.arcurve.com/",
},
{
- sponsorImage: sponsorIEEE.src,
+ alt: "IEEE logo",
+ sponsorImage: sponsorIEEE,
sponsorLink: "https://www.ieee.org/",
},
+ {
+ alt: "Seisware logo",
+ sponsorImage: sponsorSeisware,
+ sponsorLink: "https://www.seisware.com/",
+ },
];
diff --git a/src/images/sponsors/sponsor-logo-seisware.png b/src/images/sponsors/sponsor-logo-seisware.png
new file mode 100644
index 0000000..4aaf389
Binary files /dev/null and b/src/images/sponsors/sponsor-logo-seisware.png differ
diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx
index c9628cd..6079fa0 100644
--- a/src/pages/_app.tsx
+++ b/src/pages/_app.tsx
@@ -15,7 +15,10 @@ const inter = Inter({ subsets: ["latin"] });
export default function App({ Component, pageProps }: AppProps) {
useEffect(() => {
- Aos.init({ duration: 1000 }); // Init AOS. Sets AOS default duration as 1s
+ Aos.init({
+ duration: 1000, // default duration 1s
+ offset: 50, // start animations sooner after entering viewport
+ });
}, []);
return (