Compare commits

..

2 commits

Author SHA1 Message Date
aebc1c302b Merge pull request 'Fix the remaining type errors in src/' (#4) from types/remaining-errors into main
Reviewed-on: #4
2026-09-25 10:34:30 +01:00
Zaldimmar
1b2af2bfbd Fix the remaining type errors in src/
- Declare the --ig-fill custom property on React's CSSProperties once,
  instead of casting the style prop in Footer, Home and EventList-Cards.
- Type Footer's Get_In_Touch links as internal or external, so the
  external branch type-checks.
- Pass undefined rather than null for an absent gradient (Home) and
  Instagram URL (EventList-Cards).

tsc --noEmit is now clean, with and without --noImplicitAny.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 04:33:21 -05:00
4 changed files with 22 additions and 3 deletions

View file

@ -39,7 +39,13 @@ const Social_Links = [
// Only the label differs down here.
const giveAction = NAV_ACTIONS.find((a) => a.variant === "fancy");
const Get_In_Touch = [
/* An internal route, or an off-site address opened in a new tab. */
type TouchLink = { label: string } & (
| { external?: false; to: string }
| { external: true; href: string }
);
const Get_In_Touch: TouchLink[] = [
{ label: "Feedback", to: "/feedback"},
{ label: "Contact Us", to: "/leadership#contact" },
];

View file

@ -300,7 +300,7 @@ export default function Home() {
className="rounded-3xl text-black overflow-hidden shadow-2xl h-full"
style={{
border: `1px solid ${color}`,
background: ev.gradient,
background: ev.gradient ?? undefined,
filter: past ? "saturate(0.75)" : "none",
pointerEvents: active ? "auto" : "none",
}}

View file

@ -199,7 +199,7 @@ export function Card({
const igHandle = ev.instagram || null;
const igUrl = igHandle
? `https://instagram.com/${igHandle.replace(/^@/, "")}`
: null;
: undefined;
/* Off unless the caller says the band is mixed. A "Retreat" badge
on every card in a row of nothing but retreats is noise, and

13
src/react-css.d.ts vendored Normal file
View file

@ -0,0 +1,13 @@
/* CSS custom properties set through a `style` prop. React's
CSSProperties only knows the standard ones, so each variable the
site sets inline is declared here once rather than cast at every
use. */
import "react";
declare module "react" {
interface CSSProperties {
/** The Instagram icon's hover fill; read by .ig-icon in index.css. */
"--ig-fill"?: string;
}
}