From aea8d959754ad37ffc1980eb5e6618d3e0602dc8 Mon Sep 17 00:00:00 2001 From: "penify-dev[bot]" <146478655+penify-dev[bot]@users.noreply.github.com> Date: Thu, 10 Oct 2024 17:24:29 +0100 Subject: [PATCH] [Penify]: Documentation for commit - f390789 (#6) * [Penify]: Documentation for commit - f390789 * [Penify]: Documentation for commit - f390789 --------- Co-authored-by: penify-dev[bot] <146478655+penify-dev[bot]@users.noreply.github.com> --- src/components/HomepageFeatures/index.tsx | 38 +++++++++++++++++++++++ src/pages/index.tsx | 31 ++++++++++++++++++ 2 files changed, 69 insertions(+) diff --git a/src/components/HomepageFeatures/index.tsx b/src/components/HomepageFeatures/index.tsx index 50a9e6f..1d5009c 100644 --- a/src/components/HomepageFeatures/index.tsx +++ b/src/components/HomepageFeatures/index.tsx @@ -41,6 +41,27 @@ const FeatureList: FeatureItem[] = [ }, ]; +/** + * Renders a feature component displaying an SVG icon, title, and description. + * + * @param {Object} params - The parameters for the feature component. + * @param {string} params.title - The title of the feature. + * @param {React.ComponentType} params.Svg - The SVG component to be displayed. + * @param {string} params.description - A brief description of the feature. + * + * @returns {JSX.Element} The rendered feature component. + * + * @example + * const MyFeature = () => ( + * + * ); + * + * @throws {Error} Throws an error if the title or description is not provided. + */ function Feature({title, Svg, description}: FeatureItem) { return (
@@ -55,6 +76,23 @@ function Feature({title, Svg, description}: FeatureItem) { ); } +/** + * Renders the homepage features section. + * + * This function is a React functional component that generates a section + * containing a list of features. Each feature is rendered using the + * `Feature` component, which receives its properties from the `FeatureList`. + * + * @returns {JSX.Element} A JSX element representing the features section. + * + * @example + * // Example usage of HomepageFeatures in a parent component + * const App = () => ( + *
+ * + *
+ * ); + */ export default function HomepageFeatures(): JSX.Element { return (
diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 400a3e1..4d3a174 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -7,6 +7,21 @@ import Heading from '@theme/Heading'; import styles from './index.module.css'; +/** + * Renders the header section of the homepage. + * This component displays the site's title and tagline, along with a button + * that links to the Docusaurus tutorial. + * + * @returns {JSX.Element} The rendered header component. + * + * @example + * // Usage in a React component + * return ( + * + * ); + * + * @throws {Error} Throws an error if the site configuration is not available. + */ function HomepageHeader() { const {siteConfig} = useDocusaurusContext(); return ( @@ -28,6 +43,22 @@ function HomepageHeader() { ); } +/** + * Renders the home page of the application. + * + * This function utilizes the Docusaurus context to retrieve the site configuration + * and displays the homepage layout, including a header and features section. + * + * @returns {JSX.Element} The rendered home page component. + * + * @example + * // To use the Home component in your application: + * import Home from './path/to/Home'; + * + * function App() { + * return ; + * } + */ export default function Home(): JSX.Element { const {siteConfig} = useDocusaurusContext(); return (