Custom Layouts and Pages
If you want to have full control over the layout and logic flow, you can build your own pages using our built-in components or low-level functions.
By default, StackHandler
creates all pages you need, however, you can replace them with your own pages.
Simple Example
For example, if you want to create a custom sign-in page with a customized title on the top, you can create a file at app/signin/page.tsx
:
Then you can instruct the Stack app in stack.ts
to use your custom sign in page:
You are now all set! If you visit the /signin
page, you should see your custom sign in page. If your user visits a protected page or the old /handler/sign-in
URL, they will be redirected to your new sign-in page.
For more examples, please refer to the Examples.
From scratch
We also provide the low-level functions powering our components, so that you can build your own logic. For example, to build a custom OAuth sign-in button, create a file at app/signin/page.tsx
:
Again, edit the Stack app in stack.ts
to use your custom sign in page:
As above, visit the /signin
page to see your newly created custom OAuth page.