diff --git a/packages/react/components/Admin/index.mjs b/packages/react/components/Admin/index.mjs
index 06781d5d447..cc3c94da275 100644
--- a/packages/react/components/Admin/index.mjs
+++ b/packages/react/components/Admin/index.mjs
@@ -18,7 +18,13 @@ import { Markdown } from '@freesewing/react/components/Markdown'
import { ModalWrapper } from '@freesewing/react/components/Modal'
import { AccountStatus, UserRole } from '@freesewing/react/components/Account'
-export const SubscriberAdministration = ({ page }) => {
+/**
+ * A component to manage FreeSewing newsletter subscribers (requires admin role)
+ *
+ * @component
+ * @returns {JSX.Element}
+ */
+export const SubscriberAdministration = () => {
const [subscribers, setSubscribers] = useState()
const [q, setQ] = useState()
const [hits, setHits] = useState([])
@@ -106,6 +112,14 @@ export const SubscriberAdministration = ({ page }) => {
)
}
+/**
+ * A component to manage FreeSewing users (requires the admin role)
+ *
+ * @component
+ * @param {object} props - All component props
+ * @param {React.Component} props.Link - A framework specific Link component for client-side routing
+ * @returns {JSX.Element}
+ */
export const UserAdministration = ({ Link = false }) => {
const backend = useBackend()
@@ -154,7 +168,7 @@ export const UserAdministration = ({ Link = false }) => {
)
}
-export const Hits = ({ results, Link = false }) => {
+const Hits = ({ results, Link = false }) => {
if (!Link) Link = WebLink
return (
@@ -179,7 +193,7 @@ export const Hits = ({ results, Link = false }) => {
)
}
-export const User = ({ user, Link }) => {
+const User = ({ user, Link }) => {
const { setModal } = useContext(ModalContext)
const { setLoadingStatus } = useContext(LoadingStatusContext)
const backend = useBackend()
@@ -274,7 +288,7 @@ export const User = ({ user, Link }) => {
)
}
-export const ImpersonateButton = ({ userId }) => {
+const ImpersonateButton = ({ userId }) => {
const backend = useBackend()
const { setLoadingStatus } = useContext(LoadingStatusContext)
const { impersonate } = useAccount()
@@ -300,14 +314,14 @@ export const ImpersonateButton = ({ userId }) => {
)
}
-export const Row = ({ title, val }) => (
+const Row = ({ title, val }) => (
{title} |
{val} |
)
-export const ManageUser = ({ userId }) => {
+const ManageUser = ({ userId }) => {
// Hooks
const backend = useBackend()
const { setLoadingStatus } = useContext(LoadingStatusContext)
diff --git a/packages/react/mkdocs.sh b/packages/react/mkdocs.sh
index 6884d49772b..98c34734b6f 100755
--- a/packages/react/mkdocs.sh
+++ b/packages/react/mkdocs.sh
@@ -2,4 +2,5 @@
mkdir -p ./docs/components
jsdoc -c jsdoc.json components/Account/* > ../../sites/dev/prebuild/jsdoc/react/components/account.json
+jsdoc -c jsdoc.json components/Admin/* > ../../sites/dev/prebuild/jsdoc/react/components/admin.json
jsdoc -c jsdoc.json components/Button/* > ../../sites/dev/prebuild/jsdoc/react/components/button.json
diff --git a/sites/dev/docs/reference/packages/react/components/account/_examples.js b/sites/dev/docs/reference/packages/react/components/account/_examples.js
index 42beab42cf3..4937246d6be 100644
--- a/sites/dev/docs/reference/packages/react/components/account/_examples.js
+++ b/sites/dev/docs/reference/packages/react/components/account/_examples.js
@@ -21,6 +21,23 @@ import {
MsetCard,
NewSet as NewSetExample,
Newsletter as NewsletterExample,
+ Password as PasswordExample,
+ Pattern,
+ PatternCard,
+ Patterns as PatternsExample,
+ Reddit as RedditExample,
+ Reload as ReloadExample,
+ Remove as RemoveExample,
+ Restrict as RestrictExample,
+ Set as SetExample,
+ Sets as SetsExample,
+ Tiktok as TiktokExample,
+ Twitch as TwitchExample,
+ Units as UnitsExample,
+ UserId as UserIdExample,
+ Username as UsernameExample,
+ UserRole as UserRoleExample,
+ Website as WebsiteExample,
} from '@freesewing/react/components/Account'
const AccountStatusExample = () => (
@@ -32,10 +49,30 @@ const AccountStatusExample = () => (
- -2 | |
- -1 | |
- 0 | |
- 1 | |
+
+ -2 |
+
+
+ |
+
+
+ -1 |
+
+
+ |
+
+
+ 0 |
+
+
+ |
+
+
+ 1 |
+
+
+ |
+
)
@@ -48,9 +85,10 @@ const BookmarkButtonExample = () => (
/>
)
-const MsetCardExample = () => (
-
-)
+const MsetCardExample = () =>
+
+const PatternExample = () =>
+const PatternCardExample = () =>
export {
AccountStatusExample,
@@ -74,5 +112,21 @@ export {
MsetCardExample,
NewSetExample,
NewsletterExample,
+ PasswordExample,
+ PatternExample,
+ PatternCardExample,
+ PatternsExample,
+ RedditExample,
+ ReloadExample,
+ RemoveExample,
+ RestrictExample,
+ SetExample,
+ SetsExample,
+ TiktokExample,
+ TwitchExample,
+ UnitsExample,
+ UserIdExample,
+ UsernameExample,
+ UserRoleExample,
+ WebsiteExample,
}
-
diff --git a/sites/dev/docs/reference/packages/react/components/account/readme.mdx b/sites/dev/docs/reference/packages/react/components/account/readme.mdx
index 2756140513c..1289cc344ad 100644
--- a/sites/dev/docs/reference/packages/react/components/account/readme.mdx
+++ b/sites/dev/docs/reference/packages/react/components/account/readme.mdx
@@ -4,7 +4,7 @@ title: Account
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { ComponentDocs } from '@site/src/components/component-docs.js'
-import { MiniNote} from '@freesewing/react/components/Mini'
+import { MiniNote } from '@freesewing/react/components/Mini'
import {
jsdocAccountStatus as jsdocAccount,
jsdocAccountStatus,
@@ -28,6 +28,23 @@ import {
jsdocMsetCard,
jsdocNewSet,
jsdocNewsletter,
+ jsdocPassword,
+ jsdocPattern,
+ jsdocPatternCard,
+ jsdocPatterns,
+ jsdocReddit,
+ jsdocReload,
+ jsdocRemove,
+ jsdocRestrict,
+ jsdocSet,
+ jsdocSets,
+ jsdocTiktok,
+ jsdocTwitch,
+ jsdocUnits,
+ jsdocUserId,
+ jsdocUsername,
+ jsdocUserRole,
+ jsdocWebsite,
} from '@site/prebuild/jsdoc/components.account.mjs'
import {
AccountStatusExample,
@@ -51,154 +68,224 @@ import {
MsetCardExample,
NewSetExample,
NewsletterExample,
+ PasswordExample,
+ PatternExample,
+ PatternCardExample,
+ PatternsExample,
+ RedditExample,
+ ReloadExample,
+ RemoveExample,
+ RestrictExample,
+ SetExample,
+ SetsExample,
+ TiktokExample,
+ TwitchExample,
+ UnitsExample,
+ UserIdExample,
+ UsernameExample,
+ UserRoleExample,
+ WebsiteExample,
} from './_examples.js'
The **Account** component family provides the following components:
-- [AccountStatus ](#accountstatus)
-- [Apikeys ](#apikeys)
-- [Avatar ](#avatar)
-- [Bio ](#bio)
-- [BookmarkButton ](#bookmarkbutton)
-- [Bookmarks ](#bookmarks)
-- [Compare ](#compare)
-- [Consent ](#consent)
-- [Control ](#control)
-- [Email ](#email)
+- [AccountStatus ](#accountstatus)
+- [Apikeys ](#apikeys)
+- [Avatar ](#avatar)
+- [Bio ](#bio)
+- [BookmarkButton ](#bookmarkbutton)
+- [Bookmarks ](#bookmarks)
+- [Compare ](#compare)
+- [Consent ](#consent)
+- [Control ](#control)
+- [Email ](#email)
- [EmailChangeConfirmation](#emailchanfirmation)
-- [Export ](#export)
-- [Github ](#github)
-- [ImportSet ](#importset)
-- [Instagram ](#instagram)
-- [Links ](#links)
-- [Mastodon ](#mastodon)
-- [Mfa ](#mfa)
-- [MsetCard ](#msetcard)
-- [NewSet ](#newset)
-- [Newsletter ](#newslett)
-- [Password ](#password)
-- [Pattern ](#pattern)
-- [PatternCard ](#patterncard)
-- [Patterns ](#patterns)
-- [Reddit ](#reddit)
-- [Reload ](#reload)
-- [Remove ](#remove)
-- [Restrict ](#restrict)
-- [Set ](#set)
-- [Sets ](#sets)
-- [Tiktok ](#tiktok)
-- [Twitch ](#twitch)
-- [Units ](#units)
-- [UserId ](#userid)
-- [Username ](#username)
-- [UserRole ](#userrole)
-- [Website ](#website)
-
+- [Export ](#export)
+- [Github ](#github)
+- [ImportSet ](#importset)
+- [Instagram ](#instagram)
+- [Links ](#links)
+- [Mastodon ](#mastodon)
+- [Mfa ](#mfa)
+- [MsetCard ](#msetcard)
+- [NewSet ](#newset)
+- [Newsletter ](#newslett)
+- [Password ](#password)
+- [Pattern ](#pattern)
+- [PatternCard ](#patterncard)
+- [Patterns ](#patterns)
+- [Reddit ](#reddit)
+- [Reload ](#reload)
+- [Remove ](#remove)
+- [Restrict ](#restrict)
+- [Set ](#set)
+- [Sets ](#sets)
+- [Tiktok ](#tiktok)
+- [Twitch ](#twitch)
+- [Units ](#units)
+- [UserId ](#userid)
+- [Username ](#username)
+- [UserRole ](#userrole)
+- [Website ](#website)
## AccountStatus
+
## Apikeys
+
## Avatar
+
## Bio
+
## BookmarkButton
+
## Bookmarks
+
## Compare
+
## Consent
+
## Control
+
## Email
+
## EmailChangeConfirmation
+
-#### Requires a valid callback URL
-This component will not work without the proper id
and check
URL paramters
-that come from a email confirmation link sent out from the FreeSewing backend.
+ #### Requires a valid callback URL This component will not work without the proper id
{' '}
+ and check
URL paramters that come from a email confirmation link sent out from the
+ FreeSewing backend.
## Export
+
## Github
+
## ImportSet
+
## Instagram
+
## Links
+
## Mastodon
+
## Mfa
+
## MsetCard
+
## NewSet
+
## Newsletter
+
## Password
+
+
## Pattern
+
+
## PatternCard
+
+
## Patterns
+
+
## Reddit
+
+
## Reload
+
+
## Remove
+
+
## Restrict
+
+
## Set
+
+
## Sets
+
+
## Tiktok
+
+
## Twitch
+
+
## Units
+
+
## UserId
+
+
## Username
+
+
## UserRole
+
+
## Website
-
+
+
diff --git a/sites/dev/docs/reference/packages/react/components/admin/readme.mdx b/sites/dev/docs/reference/packages/react/components/admin/readme.mdx
index 4c333d24f6d..1501ee4d0f9 100644
--- a/sites/dev/docs/reference/packages/react/components/admin/readme.mdx
+++ b/sites/dev/docs/reference/packages/react/components/admin/readme.mdx
@@ -2,6 +2,31 @@
title: Admin
---
-:::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 {
+ jsdocSubscriberAdministration,
+ jsdocUserAdministration,
+} from '@site/prebuild/jsdoc/components.admin.mjs'
+import {
+ UserAdministration,
+ SubscriberAdministration
+} from '@freesewing/react/components/Admin'
+
+
+
+The **Admin** component family provides the following components:
+
+- [SubscriberAdministration ](#subscriberadministration)
+- [UserAdministration ](#useradministration)
+
+## SubscriberAdministration
+
+
+
+## UserAdministration
+
+
+
+
+
diff --git a/sites/dev/docs/reference/packages/react/components/button/_examples.js b/sites/dev/docs/reference/packages/react/components/button/_examples.js
index 60572763547..a1b670443d5 100644
--- a/sites/dev/docs/reference/packages/react/components/button/_examples.js
+++ b/sites/dev/docs/reference/packages/react/components/button/_examples.js
@@ -6,9 +6,7 @@ import { MiniNote } from '@freesewing/react/components/Mini'
export const IconButtonExample = () => (
<>
-
- Note that this component will take up the full width made available to it.
-
+ Note that this component will take up the full width made available to it.
{[
`import { FingerprintIcon, WarningIcon } from '@freesewing/react/components/Icon'`,
@@ -36,4 +34,3 @@ export const IconButtonExample = () => (
>
)
-
diff --git a/sites/dev/src/components/component-docs.js b/sites/dev/src/components/component-docs.js
index eb7d141d48a..00512c6cdd3 100644
--- a/sites/dev/src/components/component-docs.js
+++ b/sites/dev/src/components/component-docs.js
@@ -6,7 +6,8 @@ import { IconButton } from '@freesewing/react/components/Button'
import { MiniNote } from '@freesewing/react/components/Mini'
export const ComponentDocs = ({ docs, example }) => {
- const Example = example || null
+ if (!docs) return No docs passed in
+ const Example = example || null
return (
<>
{docs.desc}
@@ -19,10 +20,14 @@ export const ComponentDocs = ({ docs, example }) => {
{docs.importAs}
- {docs.params
- ? The {docs.name}
component takes the following props:
- : This component does not take any props
- }
+ {docs.params ? (
+
+ {' '}
+ The {docs.name}
component takes the following props:
+
+ ) : (
+ This component does not take any props
+ )}
{docs.params ? : null}
@@ -68,7 +73,9 @@ const PropsTable = ({ docs }) => (
{prop.description} |
{prop.optional ? 'yes' : 'no'} |
-
+
+
+
|
))}