Regarding custom login, this documentation would be a great place to start! It has various guides outlining how to create a custom login UI with Zitadel APIs. https://zitadel.com/docs/guides/integrate/login-ui
In the following guides you will learn how to create your own login UI with our APIs. The different scenarios like username/password, external identity provider, etc. will be shown.
This is our ZITADEL Next.js template. If shows how to authenticate as a user and retrieve user information from the OIDC endpoint. - zitadel/zitadel-nextjs
Just to understand a little better what you are doing. You build your own login ui with our session API? Do you build it based on our typescript repository or from scratch? and from your question above I assume you also want to have OIDC implemented in your login?