1
0
Fork 0

[react] feat: Added docs for components/Newsletter

This commit is contained in:
joostdecock 2025-05-25 13:37:24 +02:00
parent 0ecb1c8fd2
commit 4c582bf26f
3 changed files with 36 additions and 11 deletions

View file

@ -17,11 +17,16 @@ import { Popout } from '@freesewing/react/components/Popout'
import { IconButton } from '@freesewing/react/components/Button'
import { MiniTip } from '@freesewing/react/components/Mini'
/*
* Component for newsletter signup (by visitors)
/**
* Component for newsletter signup by visitors (not logged-in users)
*
* @params {object} props - All React props
* @param {function} props.Link - An optional framework-specific Link component
* @component
* @param {object} props - All component props
* @param {React.FC} [props.Link = false] - An optional framework-specific Link component
* @param {boolean} [props.noP = false] - Set this to true to not display the signup message paragraph
* @param {boolean} [props.noTitle = false] - Set this to true to not display the signup title
* @param {boolean} [props.noBox = false] - Set this to true to not apply the box style
* @returns {JSX.Element}
*/
export const NewsletterSignup = ({ Link = false, noP = false, noTitle = false, noBox = false }) => {
if (!Link) Link = WebLink
@ -120,11 +125,13 @@ export const NewsletterSignup = ({ Link = false, noP = false, noTitle = false, n
)
}
/*
* Component to handle newsletter unsubscribe links
/**
* Component for handling newsletter unsubscribe links
*
* @params {object} props - All React props
* @param {function} props.Link - An optional framework-specific Link component
* @component
* @param {object} props - All component props
* @param {React.FC} [props.Link = false] - An optional framework-specific Link component
* @returns {JSX.Element}
*/
export const NewsletterUnsubscribe = ({ Link = false }) => {
if (!Link) Link = WebLink

View file

@ -23,3 +23,4 @@ jsdoc -c jsdoc.json components/Link/* > ../../sites/dev/prebuild/jsdoc/react/com
jsdoc -c jsdoc.json components/Logo/* > ../../sites/dev/prebuild/jsdoc/react/components/logo.json
jsdoc -c jsdoc.json components/Mini/* > ../../sites/dev/prebuild/jsdoc/react/components/mini.json
jsdoc -c jsdoc.json components/Modal/* > ../../sites/dev/prebuild/jsdoc/react/components/modal.json
jsdoc -c jsdoc.json components/Newsletter/* > ../../sites/dev/prebuild/jsdoc/react/components/newsletter.json

View file

@ -2,6 +2,23 @@
title: Newsletter
---
:::note
This page is yet to be created
:::
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { ComponentDocs } from '@site/src/components/component-docs.js'
import * as jsdoc from '@site/prebuild/jsdoc/components.newsletter.mjs'
import { NewsletterSignup, NewsletterUnsubscribe } from '@freesewing/react/components/Newsletter'
<DocusaurusDoc>
The __Newsletter__ component family provides the following components:
- [NewsletterSignup](#newslettersignup)
- [NewsletterUnsubscribe](#newsletterunsubscribe)
## NewsletterSignup
<ComponentDocs docs={jsdoc.jsdocNewsletterSignup} example={NewsletterSignup} />
## NewsletterUnsubscribe
<ComponentDocs docs={jsdoc.jsdocNewsletterUnsubscribe} example={NewsletterUnsubscribe} />
</DocusaurusDoc>