From 57d09c1956e0f6e612922024569a80c7bafd3c09 Mon Sep 17 00:00:00 2001 From: gonzoblasco Date: Tue, 14 Jul 2026 22:59:33 -0300 Subject: [PATCH] refactor(templates): remove React.FC usage from landing page components (#277) Replace React.FC and FC type annotations with plain function components and inline prop types across all 9 landing page template components. Components updated: - Link, Paragraph, Container, InlineCode, Subtitle - TechnologyGrid, Section, TechnologyGridItem, headings (H1-H4) --- .../templates/LandingPage/components/Container.tsx | 8 ++++---- .../templates/LandingPage/components/InlineCode.tsx | 8 ++++---- .../templates/LandingPage/components/Link.tsx | 6 +++--- .../templates/LandingPage/components/Paragraph.tsx | 6 +++--- .../templates/LandingPage/components/Section.tsx | 8 ++++---- .../templates/LandingPage/components/Subtitle.tsx | 6 +++--- .../LandingPage/components/TechnologyGrid.tsx | 7 +++---- .../LandingPage/components/TechnologyGridItem.tsx | 7 +++---- .../templates/LandingPage/components/headings.tsx | 12 ++++++------ 9 files changed, 33 insertions(+), 35 deletions(-) diff --git a/packages/create-next-stack/prod-assets/templates/LandingPage/components/Container.tsx b/packages/create-next-stack/prod-assets/templates/LandingPage/components/Container.tsx index f70a8834..95361487 100644 --- a/packages/create-next-stack/prod-assets/templates/LandingPage/components/Container.tsx +++ b/packages/create-next-stack/prod-assets/templates/LandingPage/components/Container.tsx @@ -1,4 +1,4 @@ -import { ComponentProps, FC } from "react"; +import { ComponentProps } from "react"; import { classNames } from "../utils/class-names"; import styles from "./Container.module.css"; @@ -7,13 +7,13 @@ type ContainerProps = ComponentProps<"div"> & { center?: boolean; }; -export const Container: FC = ({ +export const Container = ({ wide = false, center = false, className, children, ...props -}) => { +}: ContainerProps) => { return (
= ({ {children}
); -}; +}; \ No newline at end of file diff --git a/packages/create-next-stack/prod-assets/templates/LandingPage/components/InlineCode.tsx b/packages/create-next-stack/prod-assets/templates/LandingPage/components/InlineCode.tsx index eb746f06..d7b4d391 100644 --- a/packages/create-next-stack/prod-assets/templates/LandingPage/components/InlineCode.tsx +++ b/packages/create-next-stack/prod-assets/templates/LandingPage/components/InlineCode.tsx @@ -1,12 +1,12 @@ -import { ComponentProps, FC } from "react"; +import { ComponentProps } from "react"; import { classNames } from "../utils/class-names"; import styles from "./InlineCode.module.css"; -export const InlineCode: FC> = ({ +export const InlineCode = ({ className, ...props -}) => { +}: ComponentProps<"code">) => { return ( ); -}; +}; \ No newline at end of file diff --git a/packages/create-next-stack/prod-assets/templates/LandingPage/components/Link.tsx b/packages/create-next-stack/prod-assets/templates/LandingPage/components/Link.tsx index eb9f621f..fa1456af 100644 --- a/packages/create-next-stack/prod-assets/templates/LandingPage/components/Link.tsx +++ b/packages/create-next-stack/prod-assets/templates/LandingPage/components/Link.tsx @@ -1,8 +1,8 @@ -import React, { ComponentProps } from "react"; +import { ComponentProps } from "react"; import { classNames } from "../utils/class-names"; import styles from "./Link.module.css"; type LinkProps = ComponentProps<"a">; -export const Link: React.FC = ({ className, ...restProps }) => { +export const Link = ({ className, ...restProps }: LinkProps) => { return ; -}; +}; \ No newline at end of file diff --git a/packages/create-next-stack/prod-assets/templates/LandingPage/components/Paragraph.tsx b/packages/create-next-stack/prod-assets/templates/LandingPage/components/Paragraph.tsx index 14208295..63dfe345 100644 --- a/packages/create-next-stack/prod-assets/templates/LandingPage/components/Paragraph.tsx +++ b/packages/create-next-stack/prod-assets/templates/LandingPage/components/Paragraph.tsx @@ -1,7 +1,7 @@ -import { ComponentProps, FC } from "react"; +import { ComponentProps } from "react"; import { classNames } from "../utils/class-names"; import styles from "./Paragraph.module.css"; -export const Paragraph: FC> = ({ className, ...props }) => { +export const Paragraph = ({ className, ...props }: ComponentProps<"p">) => { return

; -}; +}; \ No newline at end of file diff --git a/packages/create-next-stack/prod-assets/templates/LandingPage/components/Section.tsx b/packages/create-next-stack/prod-assets/templates/LandingPage/components/Section.tsx index 19c20175..b20e0f07 100644 --- a/packages/create-next-stack/prod-assets/templates/LandingPage/components/Section.tsx +++ b/packages/create-next-stack/prod-assets/templates/LandingPage/components/Section.tsx @@ -1,15 +1,15 @@ -import { ComponentProps, FC } from "react"; +import { ComponentProps } from "react"; import { classNames } from "../utils/class-names"; import styles from "./Section.module.css"; -export const Section: FC> = ({ +export const Section = ({ className, children, ...props -}) => { +}: ComponentProps<"section">) => { return (

{children}
); -}; +}; \ No newline at end of file diff --git a/packages/create-next-stack/prod-assets/templates/LandingPage/components/Subtitle.tsx b/packages/create-next-stack/prod-assets/templates/LandingPage/components/Subtitle.tsx index bbcdc4c4..1e1b98f8 100644 --- a/packages/create-next-stack/prod-assets/templates/LandingPage/components/Subtitle.tsx +++ b/packages/create-next-stack/prod-assets/templates/LandingPage/components/Subtitle.tsx @@ -1,7 +1,7 @@ -import { ComponentProps, FC } from "react"; +import { ComponentProps } from "react"; import { classNames } from "../utils/class-names"; import styles from "./Subtitle.module.css"; -export const Subtitle: FC> = ({ className, ...props }) => { +export const Subtitle = ({ className, ...props }: ComponentProps<"p">) => { return

; -}; +}; \ No newline at end of file diff --git a/packages/create-next-stack/prod-assets/templates/LandingPage/components/TechnologyGrid.tsx b/packages/create-next-stack/prod-assets/templates/LandingPage/components/TechnologyGrid.tsx index cece706c..aa769013 100644 --- a/packages/create-next-stack/prod-assets/templates/LandingPage/components/TechnologyGrid.tsx +++ b/packages/create-next-stack/prod-assets/templates/LandingPage/components/TechnologyGrid.tsx @@ -1,4 +1,3 @@ -import { FC } from "react"; import { Technology } from "../technologies"; import { classNames } from "../utils/class-names"; import styles from "./TechnologyGrid.module.css"; @@ -8,10 +7,10 @@ type TechnologyGridProps = { technologies: Technology[]; className: string; }; -export const TechnologyGrid: FC = ({ +export const TechnologyGrid = ({ technologies, className, -}) => { +}: TechnologyGridProps) => { return (

{technologies.map((technology) => ( @@ -19,4 +18,4 @@ export const TechnologyGrid: FC = ({ ))}
); -}; +}; \ No newline at end of file diff --git a/packages/create-next-stack/prod-assets/templates/LandingPage/components/TechnologyGridItem.tsx b/packages/create-next-stack/prod-assets/templates/LandingPage/components/TechnologyGridItem.tsx index 9ccf7930..65e4cfce 100644 --- a/packages/create-next-stack/prod-assets/templates/LandingPage/components/TechnologyGridItem.tsx +++ b/packages/create-next-stack/prod-assets/templates/LandingPage/components/TechnologyGridItem.tsx @@ -1,4 +1,3 @@ -import { FC } from "react"; import { H3 } from "./headings"; import { Link } from "./Link"; import { Paragraph } from "./Paragraph"; @@ -12,11 +11,11 @@ type TechnologyGridItemProps = { url: string; }>; }; -export const TechnologyGridItem: FC = ({ +export const TechnologyGridItem = ({ name, description, links, -}) => { +}: TechnologyGridItemProps) => { return (

{name}

@@ -30,4 +29,4 @@ export const TechnologyGridItem: FC = ({
); -}; +}; \ No newline at end of file diff --git a/packages/create-next-stack/prod-assets/templates/LandingPage/components/headings.tsx b/packages/create-next-stack/prod-assets/templates/LandingPage/components/headings.tsx index f3ed909a..61af942a 100644 --- a/packages/create-next-stack/prod-assets/templates/LandingPage/components/headings.tsx +++ b/packages/create-next-stack/prod-assets/templates/LandingPage/components/headings.tsx @@ -1,19 +1,19 @@ -import { ComponentProps, FC } from "react"; +import { ComponentProps } from "react"; import { classNames } from "../utils/class-names"; import styles from "./headings.module.css"; -export const H1: FC> = ({ className, ...props }) => { +export const H1 = ({ className, ...props }: ComponentProps<"h1">) => { return

; }; -export const H2: FC> = ({ className, ...props }) => { +export const H2 = ({ className, ...props }: ComponentProps<"h2">) => { return

; }; -export const H3: FC> = ({ className, ...props }) => { +export const H3 = ({ className, ...props }: ComponentProps<"h3">) => { return

; }; -export const H4: FC> = ({ className, ...props }) => { +export const H4 = ({ className, ...props }: ComponentProps<"h4">) => { return

; -}; +}; \ No newline at end of file