stack/docs-mintlify/docs/getting-started/components.mdx
Madison 13fccd32b6
Some checks failed
all-good: Did all the other checks pass? / all-good (push) Has been cancelled
Ensure Prisma migrations are in sync with the schema / check_prisma_migrations (22.x) (push) Has been cancelled
DB migration compat / Check if migrations changed (push) Has been cancelled
Docker Server Build and Push / Docker Build and Push Server (push) Has been cancelled
Docker Server Build and Run / docker (push) Has been cancelled
Runs E2E API Tests (Local Emulator) / E2E Tests (Local Emulator, Node ${{ matrix.node-version }}) (22.x) (push) Has been cancelled
Runs E2E API Tests / E2E Tests (Node ${{ matrix.node-version }}, Freestyle ${{ matrix.freestyle-mode }}) (mock, 22.x) (push) Has been cancelled
Runs E2E API Tests / E2E Tests (Node ${{ matrix.node-version }}, Freestyle ${{ matrix.freestyle-mode }}) (prod, 22.x) (push) Has been cancelled
Runs E2E API Tests with custom port prefix / build (22.x) (push) Has been cancelled
Lint & build / lint_and_build (latest) (push) Has been cancelled
Dev Environment Test With Custom Base Port / restart-dev-and-test-with-custom-base-port (push) Has been cancelled
Dev Environment Test / restart-dev-and-test (push) Has been cancelled
Run setup tests with custom base port / setup-tests-with-custom-base-port (push) Has been cancelled
Run setup tests / setup-tests (push) Has been cancelled
TOC Generator / TOC Generator (push) Has been cancelled
DB migration compat / Back-compat — Current branch migrations with ${{ needs.check-migrations-changed.outputs.base_branch }} branch code (push) Has been cancelled
DB migration compat / Forward-compat — Current branch code with ${{ needs.check-migrations-changed.outputs.base_branch }} branch migrations (push) Has been cancelled
DB migration compat / No migration changes (skipped) (push) Has been cancelled
Add docs-mintlify to root
2026-04-01 14:58:41 -05:00

67 lines
2.0 KiB
Plaintext

---
title: Components
description: Pre-built Next.js components to make your life easier
sidebarTitle: Components
icon: "puzzle-piece"
---
# Components
In [the last guide](./setup), we initialized Stack. This time, we will take a quick look at some of the most useful Next.js components.
For the full documentation of all available components, please refer to the [components reference](../components).
## `<UserButton />`
The `<UserButton />` component shows the user's avatar that opens a dropdown with various user settings on click.
<Frame>
<img src="/images/user-button.png" alt="UserButton" width={200} height={200} />
</Frame>
```tsx title="page.tsx"
import { UserButton } from '@stackframe/stack';
export default function Page() {
return (
<UserButton />
);
}
```
## `<SignIn />` and `<SignUp />`
These components show a sign-in and sign-up form, respectively.
<Frame>
<img src="/images/sign-in.png" alt="SignIn" width={350} height={350} />
</Frame>
```tsx title="page.tsx"
import { SignIn } from '@stackframe/stack';
export default function Page() {
return (
<SignIn />
);
}
```
All of Stack's components are modular and built from smaller primitives. For example, the `<SignIn />` component is composed of the following:
- An `<OAuthButtonGroup />`, which itself is composed of multiple `<OAuthButton />` components
- A `<MagicLinkSignIn />`, which has a text field and calls `useStackApp().signInWithMagicLink()`
- A `<CredentialSignIn />`, which has two text fields and calls `useStackApp().signInWithCredential()`
You can use these components individually to build a custom sign-in component.
To change the default sign-in URL to your own, see the documentation on [custom pages](../customization/custom-pages).
## Others
Stack has many more components available. For a comprehensive list, please check the documentation on [components](../components).
## Next steps
In the next guide, we will do a deep-dive into retrieving and modifying user objects, as well as how to protect a page.