https://nextjs.org/docs/app/building-your-application/rendering/composition-patterns#when-to-use-server-and-client-components