Files
payloadcms/examples/custom-components
Jacob Fletcher f6eb027f23 chore: repairs auto-generated file comments (#8549)
The comments injected into auto-generated files have gotten misformatted
due to linting. Here is the proper format, where both comments are
adjacent to one another:

```js
/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */
/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */
```

Some comments were also written with casing issues, here's an example:

```js
/* DO NOT MODIFY it because it could be re-written at any time. */
```
2024-10-03 23:37:08 -04:00
..

Payload Custom Components Example

This example demonstrates how to use Custom Components in Payload Admin Panel. This example includes custom components for every field type available in Payload, including both server and client components. It also includes custom views, custom nav links, and more.

Quick Start

To spin up this example locally, follow these steps:

  1. Clone this repo

  2. cd into this directory and run pnpm i --ignore-workspace*, yarn, or npm install

    *If you are running using pnpm within the Payload Monorepo, the --ignore-workspace flag is needed so that pnpm generates a lockfile in this example's directory despite the fact that one exists in root.

  3. pnpm dev, yarn dev or npm run dev to start the server

    • Press y when prompted to seed the database
  4. open http://localhost:3000 to access the home page

  5. open http://localhost:3000/admin to access the admin panel

    • Login with email demo@payloadcms.com and password demo

How it works

Collections

See the Collections docs for details on how to extend any of this functionality.

  • Users

    The users collection is auth-enabled which provides access to the admin panel.

    For additional help with authentication, see the official Auth Example or the Authentication docs.

  • Fields

    The fields collection contains every field type available in Payload, each with custom components filled in every available "slot", i.e. admin.components.Field, admin.components.Label, etc. There are two of every field, one for server components, and the other for client components. This pattern shows how to use custom components in both environments, no matter which field type you are using.

  • Views

    The views collection demonstrates how to add collection-level views, including the default view and custom tabs.

  • Root Views

    The root-views collection demonstrates how to add a root document-level view to the admin panel.

Questions

If you have any issues or questions, reach out to us on Discord or start a GitHub discussion.